eval_pargrad_b32 Subroutine

public subroutine eval_pargrad_b32(self, comm_handler, mesh_cano, mesh_stag, equi_on_cano, equi_on_stag, opsinplane_cano, opsinplane_stag, map, ne_v, pot_v, ti_v, apar_fluct_v, apar_fluct_cano_v, pargrad_gstress, eval_flow_crv, eval_flow_par, eval_heat_crv, eval_heat_par)

Evaluates B^(3/2)par_grad(G/B^(3/2)) of ion stress function. Used for the parallel momentum equation

Type Bound

gyroviscosity_t

Arguments

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

Instance of type

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

Communicators

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

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

Equilibrim quantities on canonical mesh

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

Equilibrim quantities on staggered mesh

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

In-plane operators (canonical)

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

In-plane operators (staggered)

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

Parallel map

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

Electron density

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

Electrostatic potential

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

Ion temperature

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

Fluctuation of apar used for flutter operators

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

Fluctuation of apar on canonical mesh used for flutter operators

real(kind=GP), intent(out), dimension(mesh_stag%get_n_points_inner()) :: pargrad_gstress

Values of ion viscous stress function G

logical, intent(in) :: eval_flow_crv

If true computes part of G_flow arising from curvature terms This feature is useful for technical reasons, when only evaluation of individual parts of G is needed

logical, intent(in) :: eval_flow_par

If true computes computes part of G_flow arising from parallel divergence of upar

logical, intent(in) :: eval_heat_crv

If true computes part of G_heat arising from curvature terms

logical, intent(in) :: eval_heat_par

If true computes computes part of G_flow arising from parallel divergence of qipar


Contents