Appearance
adam_flume_parameters
ADAM, FLUME parameters: variables indexes, accepted option values, shared helpers.
Every option value FLUME accepts from the INI file is a named constant here, so each parser matches against one list and its error message can name the accepted spellings.
Source: src/app/flume/common/adam_flume_parameters.F90
Contents
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
IQ_R | integer(kind=I4P) | parameter | Density. |
IQ_RU | integer(kind=I4P) | parameter | Momentum, x component. |
IQ_RV | integer(kind=I4P) | parameter | Momentum, y component. |
IQ_RW | integer(kind=I4P) | parameter | Momentum, z component. |
IQ_RE | integer(kind=I4P) | parameter | Total energy per unit volume (MHD: includes the magnetic energy |B|^2/2). |
IQ_BX | integer(kind=I4P) | parameter | Magnetic field, x component (MHD). |
IQ_BY | integer(kind=I4P) | parameter | Magnetic field, y component (MHD). |
IQ_BZ | integer(kind=I4P) | parameter | Magnetic field, z component (MHD). |
IQ_PSI | integer(kind=I4P) | parameter | GLM divergence-cleaning scalar (MHD with GLM or EGLM). |
IQ_S | integer(kind=I4P) | parameter | Advected entropy rho s, s = p / rho^gamma (Euler with dual energy, #91). |
IA_R | integer(kind=I4P) | parameter | Density. |
IA_U | integer(kind=I4P) | parameter | Velocity, x component. |
IA_V | integer(kind=I4P) | parameter | Velocity, y component. |
IA_W | integer(kind=I4P) | parameter | Velocity, z component. |
IA_P | integer(kind=I4P) | parameter | Pressure (thermal). |
IA_T | integer(kind=I4P) | parameter | Temperature. |
IA_H | integer(kind=I4P) | parameter | Total specific enthalpy (MHD: (E + p + |B|^2/2) / rho). |
IA_A | integer(kind=I4P) | parameter | Speed of sound. |
IA_BX | integer(kind=I4P) | parameter | Magnetic field, x component (MHD). |
IA_BY | integer(kind=I4P) | parameter | Magnetic field, y component (MHD). |
IA_BZ | integer(kind=I4P) | parameter | Magnetic field, z component (MHD). |
IA_S | integer(kind=I4P) | parameter | Specific entropy s = p / rho^gamma (Euler with dual energy, #91). |
NV_EULER | integer(kind=I4P) | parameter | Conservative variables number, Euler model. |
NV_AUX | integer(kind=I4P) | parameter | Auxiliary variables number, Euler model. |
NV_MHD | integer(kind=I4P) | parameter | Conservative variables number, MHD without divergence control. |
NV_MHD_GLM | integer(kind=I4P) | parameter | Conservative variables number, MHD with GLM divergence cleaning. |
NV_MHD_EGLM | integer(kind=I4P) | parameter | Conservative variables number, MHD with EGLM divergence cleaning. |
NV_AUX_MHD | integer(kind=I4P) | parameter | Auxiliary variables number, MHD (both variants). |
NV_EULER_DE | integer(kind=I4P) | parameter | Conservative variables number, Euler with dual energy (#91). |
NV_AUX_DE | integer(kind=I4P) | parameter | Auxiliary variables number, Euler with dual energy (#91). |
NS_MAX | integer(kind=I4P) | parameter | Passive scalars capacity of the scalar models (#92, D-M10-1). |
COOLING_NODES_MAX | integer(kind=I4P) | parameter | Cooling table capacity: the device kernels take fixed-size |
NV_EULER_PS | integer(kind=I4P) | parameter | Conservative variables number, Euler + NS_MAX scalars (#92). |
NV_AUX_PS | integer(kind=I4P) | parameter | Auxiliary variables number, Euler + NS_MAX scalars (#92). |
NV_EULER_DE_PS | integer(kind=I4P) | parameter | Conservative variables number, euler-de + NS_MAX scalars (#92). |
NV_AUX_DE_PS | integer(kind=I4P) | parameter | Auxiliary variables number, euler-de + NS_MAX scalars (#92). |
S_MAX | integer(kind=I4P) | parameter | Maximum WENO stencil half-width (weno-u-9). |
MODEL_EULER | integer(kind=I4P) | parameter | Compressible Euler (nv = 5). |
MODEL_MHD | integer(kind=I4P) | parameter | Ideal compressible MHD without divergence control (nv = 8). |
MODEL_MHD_GLM | integer(kind=I4P) | parameter | Ideal compressible MHD with GLM divergence cleaning (nv = 9). |
MODEL_MHD_EGLM | integer(kind=I4P) | parameter | Ideal compressible MHD with EGLM divergence cleaning (nv = 9). |
MODEL_EULER_DE | integer(kind=I4P) | parameter | Compressible Euler with dual energy, advected entropy (nv = 6, #91). |
MODEL_EULER_PS | integer(kind=I4P) | parameter | Euler with NS_MAX passive scalar slots (nv = 9, #92). |
MODEL_EULER_DE_PS | integer(kind=I4P) | parameter | euler-de with NS_MAX passive scalar slots (nv = 10, #92). |
MODEL_EULER_ISO | integer(kind=I4P) | parameter | Isothermal Euler, [eos] type = isothermal (nv = 5, the energy |
MODEL_EULER_BARO | integer(kind=I4P) | parameter | Barotropic Euler, [eos] type = barotropic: a piecewise |
MODEL_MHD_ISO | integer(kind=I4P) | parameter | Isothermal ideal MHD without divergence control (nv = 8, the |
MODEL_MHD_GLM_ISO | integer(kind=I4P) | parameter | Isothermal ideal MHD with GLM cleaning (nv = 9; #100, P5). |
MODEL_MHD_BARO | integer(kind=I4P) | parameter | Barotropic ideal MHD without divergence control (nv = 8; P5). |
MODEL_MHD_GLM_BARO | integer(kind=I4P) | parameter | Barotropic ideal MHD with GLM cleaning (nv = 9; #100, P5). |
PHYSICAL_MODEL_EULER | character(len=5) | parameter | [physics].(physical_model): compressible Euler. |
PHYSICAL_MODEL_MHD_IDEAL | character(len=9) | parameter | [physics].(physical_model): ideal MHD. |
PHYSICAL_MODEL_EULER_DE | character(len=8) | parameter | [physics].(physical_model): compressible |
EOS_IDEAL | character(len=5) | parameter | [eos].(type): calorically perfect gas (default). |
EOS_ISOTHERMAL | character(len=10) | parameter | [eos].(type): P = c0^2 rho (issue #100). |
EOS_BAROTROPIC | character(len=10) | parameter | [eos].(type): piecewise polytrope (#100 P3). |
DUAL_ENERGY_ETA | real(kind=R8P) | parameter | Default [physics].(dual_energy_eta): in a cell |
DIVERGENCE_CONTROL_GLM | character(len=3) | parameter | [mhd].(divergence_control): GLM cleaning. |
DIVERGENCE_CONTROL_EGLM | character(len=4) | parameter | [mhd].(divergence_control): EGLM cleaning. |
DIVERGENCE_CONTROL_NONE | character(len=4) | parameter | [mhd].(divergence_control): none. |
GLM_CH_CHECK_WARNING | character(len=7) | parameter | [mhd].(glm_ch_check): warn if c_h is slow. |
GLM_CH_CHECK_ERROR | character(len=5) | parameter | [mhd].(glm_ch_check): stop if c_h is slow. |
GLM_DAMPING_LENGTH_MIN_CELL | character(len=8) | parameter | [mhd].(glm_damping_length): min spacing. |
SCHEME_SPACE_WENO | character(len=4) | parameter | [numerics].(scheme_space): WENO flux splitting. |
RECON_CHARACTERISTIC | character(len=14) | parameter | [numerics].(reconstruction_variables). |
RECON_CONSERVATIVE | character(len=12) | parameter | [numerics].(reconstruction_variables). |
SCHEME_SPACE_WENO_RIEMANN | character(len=12) | parameter | [numerics].(scheme_space): WENO |
RECON_PRIMITIVE | character(len=9) | parameter | [numerics].(reconstruction_variables). |
RIEMANN_SOLVER_LLF | character(len=3) | parameter | [numerics].(riemann_solver): local Lax-Friedrichs. |
RIEMANN_SOLVER_HLL | character(len=3) | parameter | [numerics].(riemann_solver): HLL (Einfeldt). |
RIEMANN_SOLVER_HLLC | character(len=4) | parameter | [numerics].(riemann_solver): HLLC (Euler). |
RIEMANN_SOLVER_HLLD | character(len=4) | parameter | [numerics].(riemann_solver): HLLD (MHD). |
FLUX_CORRECTION_6TH | character(len=3) | parameter | [numerics].(flux_correction): 6th order. |
FLUX_CORRECTION_4TH | character(len=3) | parameter | [numerics].(flux_correction): 4th order. |
FLUX_CORRECTION_NONE | character(len=4) | parameter | [numerics].(flux_correction): none (2nd order). |
FLUX_CORRECTION_SENSOR_WENO | character(len=4) | parameter | [numerics].(flux_correction_sensor): WENO weights. |
FLUX_CORRECTION_SENSOR_NONE | character(len=4) | parameter | [numerics].(flux_correction_sensor): always on. |
FLUX_CORRECTION_SENSOR_TAU | real(kind=R8P) | parameter | Correction off at a face where the WENO weights |
POSITIVITY_LIMITER_NONE | character(len=4) | parameter | [numerics].(positivity_limiter): off. |
REFLUX_POLICY_ALWAYS | character(len=6) | parameter | [numerics].(reflux_policy): every face cell. |
REFLUX_POLICY_TROUBLED | character(len=8) | parameter | [numerics].(reflux_policy): the face cells the |
REFLUX_CADENCE_STEP | character(len=4) | parameter | [numerics].(reflux_cadence): once per step. |
REFLUX_CADENCE_STAGE | character(len=5) | parameter | [numerics].(reflux_cadence): every stage |
POSITIVITY_LIMITER_CELL | character(len=4) | parameter | [numerics].(positivity_limiter): cell-based |
POSITIVITY_LIMITER_KAPPA | real(kind=R8P) | parameter | Floor of the limiter: rho, the internal |
Functions
strip_control
Return a copy of an INI value with control characters (e.g. a CRLF carriage return) blanked.
trim(adjustl()) does not remove a trailing carriage return, so a value read from a CRLF file would miss every case of an option parser and hit its fatal case default. Blank them before matching.
Attributes: pure
Returns: character(len=len)
fortran
function strip_control(string) result(stripped)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
string | character(len=*) | in | Raw value as read from the INI file. |
Call graph
is_hydrodynamic
Return true for the hydrodynamic models (Euler, Euler with dual energy, issue #91), false for the MHD ones: the predicate behind every "no magnetic field" branch of the host controllers.
Attributes: elemental
Returns: logical
fortran
function is_hydrodynamic(model) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
model | integer(kind=I4P) | in | Physical model id. |
Call graph
has_inert_energy
Return true for the barotropic models, isothermal included (issue #100), whose energy slot is inert: no thermodynamics beyond P(rho), so every path that reads the internal energy is refused or skipped for them.
Attributes: elemental
Returns: logical
fortran
function has_inert_energy(model) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
model | integer(kind=I4P) | in | Physical model id. |
Call graph
has_mixed_glm
Return true for the MHD models with the mixed GLM cleaning (the ideal gas and its barotropic twins, issue #100 P5): psi carried, damped by a local source, out of the energy.
Attributes: elemental
Returns: logical
fortran
function has_mixed_glm(model) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
model | integer(kind=I4P) | in | Physical model id. |
Call graph
has_entropy
Return true for the dual-energy models, whose slot IQ_S is the advected entropy (issue #91; with scalars, #92).
Attributes: elemental
Returns: logical
fortran
function has_entropy(model) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
model | integer(kind=I4P) | in | Physical model id. |
Call graph