init_neutrals_m Module

Sets initial state for neutrals module



Contents


Subroutines

public subroutine build_neutrals_initial_state(comm_handler, equi, mesh_cano, mesh_stag, filename, snaps_neutrals, isnaps_neutrals, ti, neutrals_dens, neutrals_parmom, neutrals_pressure)

Builds initial state

Arguments

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

Communicators

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

Equilibrium

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

Mesh (canonical)

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

Mesh (staggered)

character(len=*), intent(in) :: filename

Filename, where parameters are read from

type(snapshot_t), intent(in) :: snaps_neutrals

Snapshot, where initial state is possibly read from

integer, intent(out) :: isnaps_neutrals

Snapshot of neutral model

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

Ion temperature to use as initial neutrals temperature, if no valid initial state parameters for neutral pressure are provided

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

Neutrals density

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

Neutrals parallel momentum

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

Neutrals pressure

public subroutine initialise_neutrals_timesteppers(mesh_cano, mesh_stag, tstep_order, dtau, tstep_neutrals_dens, tstep_neutrals_parmom, tstep_neutrals_pressure)

Initialises the timesteppers. This automatically will use a lower-order method for the first few timesteps to fill the storage

Arguments

Type IntentOptional Attributes Name
type(mesh_cart_t), intent(in) :: mesh_cano

Mesh (canonical)

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

Mesh (staggered)

integer, intent(in) :: tstep_order

Order of time-stepping scheme

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

Time-step size (base, not bdf)

type(karniadakis_t), intent(inout) :: tstep_neutrals_dens

Time integrator for neutrals density equation

type(karniadakis_t), intent(inout) :: tstep_neutrals_parmom

Time integrator for neutrals parallel momentum equation

type(karniadakis_t), intent(inout) :: tstep_neutrals_pressure

Time integrator for neutrals pressure equation

public subroutine init_neutrals_halos(comm_handler, neutrals_dens, neutrals_parmom, neutrals_pressure)

Allocates halo points of Neutrals fields

Arguments

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

Communicators

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

Neutrals density

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

Neutrals parallel momentum

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

Neutrals pressure