mms_neutrals_m Module

Implementation of Method of Manufactured Solutions for the Neutrals model


Uses


Contents


Functions

public function mms_sol_neutrals_dens(equi, x, y, z, t)

MMS solution for neutrals density

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(in) :: equi

Equilibrium

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

x-coordinate

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

y-coordinate

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

Axial coordinate z (represented by toroidal coordinate)

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

Time

Return Value real(kind=gp)

public function mms_sol_neutrals_parmom(equi, x, y, z, t)

MMS solution for neutrals parallel momentum

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(in) :: equi

Equilibrium

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

x-coordinate

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

y-coordinate

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

Axial coordinate z (represented by toroidal coordinate)

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

Time

Return Value real(kind=gp)

public function mms_sol_neutrals_pressure(equi, x, y, z, t)

MMS solution for neutrals temperature

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(in) :: equi

Equilibrium

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

x-coordinate

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

y-coordinate

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

Axial coordinate z (represented by toroidal coordinate)

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

Time

Return Value real(kind=gp)

public function mms_source_neutrals_dens(equi, x, y, z, t, chi, epsinv, neutrals_dens_pen, k_iz_o, k_rec_o)

MMS source for Neutrals density equation

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(in) :: equi

Equilibrium

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

x-coordinate

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

y-coordinate

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

Axial coordinate z (represented by toroidal coordinate)

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

Time

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

Value of characteristc function of penalisation

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

Inverse of penalisation epsilon

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

Target value to be penalised towards

type(rate_coeff_neutrals_t), intent(in) :: k_iz_o

Ionization rate coefficient object

type(rate_coeff_neutrals_t), intent(in) :: k_rec_o

Recombination rate coefficient object

Return Value real(kind=gp)

public function mms_source_neutrals_parmom(equi, x, y, z, t, chi, epsinv, neutrals_parmom_pen, k_iz_o, k_rec_o)

MMS source for Neutrals parallel momentum equation

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(in) :: equi

Equilibrium

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

x-coordinate

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

y-coordinate

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

Axial coordinate z (represented by toroidal coordinate)

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

Time

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

Value of characteristc function of penalisation

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

Inverse of penalisation epsilon

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

Target value to be penalised towards

type(rate_coeff_neutrals_t), intent(in) :: k_iz_o

Ionization rate coefficient object

type(rate_coeff_neutrals_t), intent(in) :: k_rec_o

Recombination rate coefficient object

Return Value real(kind=gp)

public function mms_source_neutrals_pressure(equi, x, y, z, t, chi, epsinv, neutrals_pressure_pen, k_iz_o, k_rec_o)

MMS source for Neutrals temperature equation

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(in) :: equi

Equilibrium

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

x-coordinate

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

y-coordinate

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

Axial coordinate z (represented by toroidal coordinate)

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

Time

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

Value of characteristc function of penalisation

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

Inverse of penalisation epsilon

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

Target value to be penalised towards

type(rate_coeff_neutrals_t), intent(in) :: k_iz_o

Ionization rate coefficient object

type(rate_coeff_neutrals_t), intent(in) :: k_rec_o

Recombination rate coefficient object

Return Value real(kind=gp)


Subroutines

public subroutine mms_diagnostics_neutrals(comm_handler, equi, mesh_cano, mesh_stag, map, tau, neutrals_dens, neutrals_parmom, neutrals_pressure)

Prints information on numerical errors of numerical solutions

Arguments

Type IntentOptional Attributes Name
type(comm_handler_t), intent(in) :: comm_handler

Communicators

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

Equilibrium

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

Mesh (canonical)

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

Mesh (staggered)

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

Mesh within poloidal plane

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

Time

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

Numerical solution for neutrals density

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

Numerical solution for neutrals parallel momentum

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

Numerical solution for neutrals temp