mod_physics_vars_ffhd Module


Uses

  • module~~mod_physics_vars_ffhd~~UsesGraph module~mod_physics_vars_ffhd mod_physics_vars_ffhd module~mod_global_parameters mod_global_parameters module~mod_physics_vars_ffhd->module~mod_global_parameters module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_constants mod_constants module~mod_global_parameters->module~mod_constants module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_variables->module~mod_basic_types

Variables

Type Visibility Attributes Name Initial
double precision, public :: He_abundance = 0.1d0

The helium abundance

integer, public, parameter :: dp = kind(0.0d0)
integer, public :: e_

Index of the energy density (-1 if not present)

double precision, public :: ffhd_adiab = 1.0d0

The adiabatic constant

logical, public :: ffhd_energy = .true.

Whether an energy equation is used

double precision, public :: ffhd_gamma = 5.d0/3.0d0

The adiabatic index

logical, public :: ffhd_gravity = .false.

switch for gravity

logical, public :: ffhd_hyperbolic_thermal_conduction = .false.

switch for hyperbolic thermal conduction

logical, public :: ffhd_partial_ionization = .false.

Whether plasma is partially ionized

logical, public :: ffhd_pdivb = .false.

Whether p*divb source term is not zero

logical, public :: ffhd_radiative_cooling = .false.

switch for radiative cooling

logical, public :: ffhd_source_usr = .false.

switch for source user

integer, public, parameter :: flux_default = 0

Indicates a normal flux

integer, public, parameter :: flux_tvdlf = 1

Indicates the flux should be treated with tvdlf

integer, public, allocatable :: flux_type(:,:)

Array per direction per variable, which can be used to specify that certain fluxes have to be treated differently

double precision, public :: gamma_1
double precision, public :: hypertc_kappa = -1.0d0

The thermal conductivity kappa in hyperbolic thermal conduction

double precision, public :: inv_gamma_1
integer, public :: iw_b1
integer, public :: iw_b2
integer, public :: iw_b3
integer, public, allocatable :: mom(:)

Indices of the momentum density

integer, public, parameter :: nw_flux = nw_flux_base+1
integer, public, parameter :: nw_flux_base = 3
integer, public, parameter :: nw_phys = nw_phys_base+1

Total number of physical variables (base + conditional additions) This will be set to nw_phys_base + 1 if HYPERTC is defined

integer, public, parameter :: nw_phys_base = 6

Base number of physical variables (density, momentum, energy, (q), b1, b2, b3)

integer, public :: p_

Index of the gas pressure (-1 if not present) should equal e_

logical, public :: phys_energy = .false.

Solve energy equation or not

logical, public :: phys_equi_pe = .false.

if equilibrium pressure is splitted

double precision, public :: phys_gamma = 5.d0/3.d0
logical, public :: phys_internal_e = .false.

Solve internal energy instead of total energy

logical, public :: phys_partial_ionization = .false.

Solve partially ionized one-fluid plasma

logical, public :: phys_req_diagonal = .true.

Whether the physics routines require diagonal ghost cells, for example for computing a curl.

logical, public :: phys_total_energy = .false.

Solve total energy equation or not

integer, public :: phys_wider_stencil = 0

To use wider stencils in flux calculations. A value of 1 will extend it by one cell in both directions, in any dimension

character(len=name_len), public :: physics_type = "ffhd"

String describing the physics type of the simulation

integer, public :: q_

Index of the hyperbolic flux variable

integer, public :: rho_

Index of the density (in the w array)