compute_target_flux Interface

interface
public module subroutine compute_target_flux(self, comm_handler, mesh, penalisation, equi_storage, g, flux_fwd, flux_bwd, mode)

Arguments

Type IntentOptional Attributes Name
class(parallel_target_flux_t), intent(in) :: self

Instance of class

type(comm_handler_t), intent(in) :: comm_handler

Communicator

type(mesh_cart_t), intent(in) :: mesh

Mesh

type(penalisation_t), intent(in) :: penalisation

Penalisation

type(equilibrium_storage_t), intent(in) :: equi_storage

Equilibrium storage

real(kind=GP), intent(in), dimension(mesh%get_n_points()) :: g

Parallel flux in plane

real(kind=GP), intent(out) :: flux_fwd

Resulting flux into forward plane penalisation

real(kind=GP), intent(out) :: flux_bwd

Resulting flux into backward plane penalisation

character(len=*), intent(in), optional :: mode

Mode of flux computation, may select between: 'DEFAULT' : Fluxes are NOT weighted by local penalisation value 'WEIGHTED' : Fluxes are weighted by local penalisation value

Description

Compute parallel fluxes into penalisation region flux_fwd is defined as [g * dS] integrated over the set of points which map into the penalisation region in the forward plane. flux_bwd is defined analogously for penalisation in the backward plane. g is a parallel flux, e.g. ne * upar_cano, B the magnetic field, dS the boundary surface Note that input parameters must be consistent with the grid choice when building the marked points, e.g. only staggered or only canonical