31 integer,
intent(in) :: ixi^
l, ixo^
l
32 double precision,
intent(in) :: w(ixi^s,1:nw)
33 double precision,
intent(in) :: x(ixi^s,1:
ndim)
34 double precision,
intent(out) :: rho(ixi^s)
36 if (iw_equi_rho > 0)
then
37 rho(ixo^s) = w(ixo^s,iw_rho) &
38 +
block%equi_vars(ixo^s,iw_equi_rho,
b0i)
40 rho(ixo^s) = w(ixo^s,iw_rho)
46 subroutine get_nh(w,x,ixI^L,ixO^L,nH)
47 integer,
intent(in) :: ixi^
l, ixo^
l
48 double precision,
intent(in) :: w(ixi^s,1:nw)
49 double precision,
intent(in) :: x(ixi^s,1:
ndim)
50 double precision,
intent(out) :: nh(ixi^s)
53 nh(ixo^s) = nh(ixo^s) /
eos%nH2rhoFactor
65 integer,
intent(in) :: ixi^
l, ixo^
l
66 double precision,
intent(in) :: w(ixi^s, 1:nw)
67 double precision,
intent(in) :: x(ixi^s, 1:
ndim)
68 double precision,
intent(out) :: ne(ixi^s), nh(ixi^s)
72 ne(ixo^s) = w(ixo^s, iw_ne)
74 ne(ixo^s) = nh(ixo^s) *
eos%neOnH_FI
82 integer,
intent(in) :: ixi^
l,ixo^
l
83 double precision,
intent(in) :: x(ixi^s,1:
ndim)
84 double precision,
intent(in) :: w(ixi^s,1:nw)
85 double precision,
intent(out) :: res(ixi^s)
86 double precision :: wlocal(ixi^s,1:nw)
90 wlocal(ixi^s,1:nw)=w(ixi^s,1:nw)
92 call eos%get_temperature_from_eint(wlocal, x, ixi^
l, ixo^
l, res)
100 log_t_min =
eos%eintT%var2_min
101 else if (
allocated(
eos%eint_from_T%table))
then
102 log_t_min =
eos%eint_from_T%var2_min
104 log_t_min = dlog10(smalldouble)
EoS state container – the single thermodynamic authority for AMRVAC.
integer, parameter, public eos_entropy
type(eos_container), allocatable, public eos
The single EoS state object, allocated in eos_init and shared (read-mostly) across all EoS sub-module...
Shared EoS accessors (EoS-type-agnostic) for the eos% family.
subroutine, public get_ne_nh(ixil, ixol, w, x, ne, nh)
Return electron and hydrogen number densities in code units. For LTE (iw_ne allocated): ne from Saha ...
double precision function, public eos_get_log_t_floor()
Lower log10(T) bound for the (rho,T) inverse table; FI (no tables) floors at log10(smalldouble)....
subroutine, public get_nh(w, x, ixil, ixol, nh)
Hydrogen number density: nH = rho / nH2rhoFactor.
subroutine, public get_temperature_from_etot(w, x, ixil, ixol, res)
Temperature from the TOTAL energy: strip kinetic (+magnetic) energy via phys_e_to_ei,...
subroutine, public get_rho(w, x, ixil, ixol, rho)
Mass density (code units).
This module contains definitions of global parameters and variables and some generic functions/subrou...
type(state), pointer block
Block pointer for using one block and its previous state.
integer, parameter ndim
Number of spatial dimensions for grid variables.
integer b0i
background magnetic field location indicator
This module defines the procedures of a physics module. It contains function pointers for the various...
procedure(sub_e_to_ei), pointer phys_e_to_ei