module mod_physics_vars_srhd use mod_global_parameters, only: name_len, ndim implicit none public double precision :: phys_gamma=5.d0/3.d0 !> String describing the physics type of the simulation character(len=name_len) :: physics_type = "srhd" !> To use wider stencils in flux calculations. A value of 1 will extend it by !> one cell in both directions, in any dimension integer :: phys_wider_stencil = 0 !> Array per direction per variable, which can be used to specify that certain !> fluxes have to be treated differently integer, allocatable :: flux_type(:, :) !> Indicates a normal flux integer, parameter :: flux_default = 0 !> Indicates the flux should be treated with tvdlf integer, parameter :: flux_tvdlf = 1 !> Whether the physics routines require diagonal ghost cells, for example for !> computing a curl. logical :: phys_req_diagonal = .true. !> Solve energy equation or not logical :: phys_energy=.false. !> Solve total energy equation or not logical :: phys_total_energy=.false. !> Solve internal energy instead of total energy logical :: phys_internal_e=.false. !> Solve partially ionized one-fluid plasma logical :: phys_partial_ionization=.false. !> if equilibrium pressure is splitted logical :: phys_equi_pe=.false. integer, parameter :: dp = kind(0.0d0) integer, parameter, public :: nw_phys=2+ndim+2+1 integer, parameter, public :: nw_flux=2+ndim+1 !> Whether synge eos is used logical, public :: srhd_eos = .false. !> Index of the density (in the w array) as primitive or conserved integer, public :: rho_ integer, public :: d_ !> Indices of the momentum density integer, allocatable, public :: mom(:) !> Indices of the tracers integer, public :: tracer(1) !> Index of the energy density integer, public :: e_ !> Index of the gas pressure should equal e_ integer, public :: p_ !> Index of the Lorentz factor integer, public :: lfac_ !> Index of the inertia integer, public :: xi_ !> Number of tracer species integer, public :: srhd_n_tracer = 0 !> The adiabatic index double precision, public :: srhd_gamma = 5.d0/3.0d0 !> derived values from adiabatic index double precision, public :: gamma_1,inv_gamma_1,gamma_to_gamma_1 !> Helium abundance over Hydrogen double precision, public :: He_abundance=0.1d0 !> Smallest gas pressure allowed. Both the lower bracket of the pressure !> root-find in con2prim and the floor fix_prim_state applies to a !> reconstructed face state. Zero, the default, leaves both unfloored. double precision, public :: srhd_small_pressure = 0.0d0 !> Smallest rest-mass density allowed double precision, public :: srhd_small_density = 0.0d0 !> Whether particles module is added logical, public :: srhd_particles = .false. !> switch for source user logical, public :: srhd_source_usr = .false. end module mod_physics_vars_srhd