heat_flux_landau Subroutine

public subroutine heat_flux_landau(comm_handler, equi, equi_on_cano, equi_on_stag, mesh_cano, mesh_stag, map, penalisation_stag, opsinplane_cano, opsinplane_stag, boundaries, stag_ne, stag_te, stag_ti, heat_gradpar_logte_stag, heat_gradpar_logti_stag, tau, qcondt, kind_of_species, apar, full_apar, bnd_descrs_nmn_cano, iters, ress, true_ress)

Contains a routine that calculates the heat flux according to the landau heat flux model
Ref.: J.G. Chen, X.Q. Xu, Y.A. Lei, Extension of Landau-fluid closure to weakly collisional plasma regime, Computer Physics Communications, Volume 236, 2019, Pages 128-134, ISSN 0010-4655, https://doi.org/10.1016/j.cpc.2018.10.024.

Arguments

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

Communicators

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

Equilibrium

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

Parallel map

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

Penalisation (staggered)

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(boundaries_braginskii_t), intent(in) :: boundaries

Boundary information for the BRAGINSKII model

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

Density on the staggered grid

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

Electron temperature on the staggered grid

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

Ion temperature on the staggered grid

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

Gradient of logarithm of electron temperature on the staggered grid

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

Gradient of logarithm of ion temperature on the staggered grid

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

Time

real(kind=GP), intent(inout), dimension(mesh_stag%get_n_points()) :: qcondt

Heat flux

character(len=4), intent(in) :: kind_of_species

Kind of species for routine call ('elec' or 'ions')

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

Parallel electromagnetic potential

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

Parallel electromagnetic potential on the full grid

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

Boundary descriptors for the helholtz solver with electromagnetic flutter

integer, intent(out), dimension(12) :: iters

Number of iterations of the Helmholtz solver (integers)

real(kind=GP), intent(out), dimension(12) :: ress

Pseudo-residuals of the Helmholtz solver

real(kind=GP), intent(out), dimension(12) :: true_ress

True residuals of the Helmholtz solver


Contents