timestep_diffusion Subroutine

public subroutine timestep_diffusion(comm_handler, equi, mesh_cano, mesh_stag, equi_on_cano, equi_on_stag, hsolver_cano, hsolver_stag, map, penalisation_cano, penalisation_stag, polars_cano, polars_stag, tstepkrk, bndperp_types, bndperp_vals, tau, var, tinfo, rinfo)

Evolves variable a single time-step according to anisotropic diffusion model

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(in) :: mesh_cano

Mesh (canonical)

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

Mesh (staggered)

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

Equilibrim quantities on canonical mesh

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

Equilibrim quantities on staggered mesh

class(helmholtz_solver_t), intent(inout) :: hsolver_cano

Elliptic (2D) solver on canonical mesh

class(helmholtz_solver_t), intent(inout) :: hsolver_stag

Elliptic (2D) solver on staggered mesh

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 (staggerd)

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

Polar grid and operators (canonical)

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

Polar grid and operators (staggered)

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

Time-step integrator (Karniadakis)

integer, intent(in), dimension(mesh_cano%get_n_points_boundary()) :: bndperp_types

Descriptor for perpendicular boundary conditions

real(kind=GP), intent(inout), dimension(mesh_cano%get_n_points_boundary()) :: bndperp_vals

Values for perpendicular boundary conditions

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

Time, at output tau + dtau

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

Variable evolved in time, defined on canonical mesh

integer, intent(out), dimension(2) :: tinfo

Status of solvers

real(kind=GP), intent(out), dimension(3) :: rinfo

Residuals of solvers


Contents