compute_diagnostics_packet Subroutine

public subroutine compute_diagnostics_packet(self, comm_handler, equi, equi_on_cano, equi_on_stag, mesh_cano, mesh_stag, map, penalisation_cano, penalisation_stag, polars_cano, polars_stag, parflux_utils_cano, parflux_utils_stag, perp_bnd_flux_cano, perp_bnd_flux_stag, opsinplane_cano, opsinplane_stag, boundaries, boundaries_neutrals, cf_buffer_cano, cf_buffer_stag, cf_diss_cano, cf_diss_stag, tau, ne, te, ti, pot, vort, upar, jpar, apar, apar_fluct, gstress, neutrals_dens, neutrals_parmom, neutrals_pressure, sources_external, src_upar, src_vort, multistep_storage_cano, multistep_storage_stag)

Compute diagnostics Only work for tratio=1

Type Bound

diagnostics_packet_t

Arguments

Type IntentOptional Attributes Name
class(diagnostics_packet_t), intent(inout) :: self

Instance of class

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

MPI communicators

class(equilibrium_t), intent(inout) :: equi

Equilibrium

class(equilibrium_storage_t), intent(in) :: equi_on_cano

Equilibrium storage on canonical plane enabling faster performance at certain locations

class(equilibrium_storage_t), intent(in) :: equi_on_stag

Equilibrium storage on staggered plane enabling faster performance at certain locations

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

Mesh (canonical) within poloidal plane

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

Mesh (staggered) within poloidal plane

type(parallel_map_t), intent(in) :: map

Parallel map

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

Penalisation (canonical)

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

Penalisation (staggered)

type(polars_t), intent(in) :: polars_cano

Polars (canonical)

type(polars_t), intent(in) :: polars_stag

Polars (staggered)

type(parallel_target_flux_t), intent(in) :: parflux_utils_cano

Parallel boundary flux utility (canonical)

type(parallel_target_flux_t), intent(in) :: parflux_utils_stag

Parallel boundary flux utility (staggered)

type(perp_bnd_flux_t), intent(in) :: perp_bnd_flux_cano

Perpendicular boundary flux utility (canonical)

type(perp_bnd_flux_t), intent(in) :: perp_bnd_flux_stag

Perpendicular boundary flux utility (staggered)

type(inplane_operators_t), intent(inout) :: opsinplane_cano

Inplane operators (canonical)

type(inplane_operators_t), intent(inout) :: opsinplane_stag

Inplane operators (staggered)

type(boundaries_braginskii_t), intent(in) :: boundaries

Boundary information for the Braginskii model

type(boundaries_neutrals_t), intent(in) :: boundaries_neutrals

Boundaries related with neutrals module

real(kind=GP), intent(in), dimension(mesh_cano%get_n_points()) :: cf_buffer_cano

Buffer function (canonical)

real(kind=GP), intent(in), dimension(mesh_stag%get_n_points()) :: cf_buffer_stag

Buffer function (staggered)

real(kind=GP), intent(in), dimension(mesh_cano%get_n_points()) :: cf_diss_cano

Envelope function for dissipation (canonical)

real(kind=GP), intent(in), dimension(mesh_stag%get_n_points()) :: cf_diss_stag

Envelope function for dissipation (staggered)

real(kind=GP), intent(in) :: tau

Time

type(variable_t), intent(inout) :: ne

Electron density

type(variable_t), intent(inout) :: te

Electron temperature

type(variable_t), intent(inout) :: ti

Ion temperature

type(variable_t), intent(inout) :: pot

Electrostatic potential

type(variable_t), intent(inout) :: vort

Generalised vorticity

type(variable_t), intent(inout) :: upar

Parallel ion velocity

type(variable_t), intent(inout) :: jpar

Parallel current

type(variable_t), intent(inout) :: apar

Parallel electromagnetic potential

type(variable_t), intent(inout) :: apar_fluct

Fluctation of apar used for flutter operators

type(gyroviscosity_t), intent(inout) :: gstress

Gyroviscosity

type(variable_t), intent(inout) :: neutrals_dens

Neutrals density

type(variable_t), intent(inout) :: neutrals_parmom

Neutrals parallel momentum

type(variable_t), intent(in) :: neutrals_pressure

Neutrals pressure

type(sources_external_t), intent(inout) :: sources_external

External sources

real(kind=GP), intent(in), dimension(mesh_stag%get_n_points_inner()) :: src_upar

Parallel momentum source values on inner mesh points

real(kind=GP), intent(in), dimension(mesh_cano%get_n_points_inner()) :: src_vort

Vorticity source values on inner mesh points

type(multistep_storage_t), intent(in) :: multistep_storage_cano

Multistep storage for quantities on the canonical mesh

type(multistep_storage_t), intent(in) :: multistep_storage_stag

Multistep storage for quantities on the staggered mesh


Contents