Skip to content

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 ​

NameTypeAttributesDescription
IQ_Rinteger(kind=I4P)parameterDensity.
IQ_RUinteger(kind=I4P)parameterMomentum, x component.
IQ_RVinteger(kind=I4P)parameterMomentum, y component.
IQ_RWinteger(kind=I4P)parameterMomentum, z component.
IQ_REinteger(kind=I4P)parameterTotal energy per unit volume (MHD: includes the magnetic energy |B|^2/2).
IQ_BXinteger(kind=I4P)parameterMagnetic field, x component (MHD).
IQ_BYinteger(kind=I4P)parameterMagnetic field, y component (MHD).
IQ_BZinteger(kind=I4P)parameterMagnetic field, z component (MHD).
IQ_PSIinteger(kind=I4P)parameterGLM divergence-cleaning scalar (MHD with GLM or EGLM).
IQ_Sinteger(kind=I4P)parameterAdvected entropy rho s, s = p / rho^gamma (Euler with dual energy, #91).
IA_Rinteger(kind=I4P)parameterDensity.
IA_Uinteger(kind=I4P)parameterVelocity, x component.
IA_Vinteger(kind=I4P)parameterVelocity, y component.
IA_Winteger(kind=I4P)parameterVelocity, z component.
IA_Pinteger(kind=I4P)parameterPressure (thermal).
IA_Tinteger(kind=I4P)parameterTemperature.
IA_Hinteger(kind=I4P)parameterTotal specific enthalpy (MHD: (E + p + |B|^2/2) / rho).
IA_Ainteger(kind=I4P)parameterSpeed of sound.
IA_BXinteger(kind=I4P)parameterMagnetic field, x component (MHD).
IA_BYinteger(kind=I4P)parameterMagnetic field, y component (MHD).
IA_BZinteger(kind=I4P)parameterMagnetic field, z component (MHD).
IA_Sinteger(kind=I4P)parameterSpecific entropy s = p / rho^gamma (Euler with dual energy, #91).
NV_EULERinteger(kind=I4P)parameterConservative variables number, Euler model.
NV_AUXinteger(kind=I4P)parameterAuxiliary variables number, Euler model.
NV_MHDinteger(kind=I4P)parameterConservative variables number, MHD without divergence control.
NV_MHD_GLMinteger(kind=I4P)parameterConservative variables number, MHD with GLM divergence cleaning.
NV_MHD_EGLMinteger(kind=I4P)parameterConservative variables number, MHD with EGLM divergence cleaning.
NV_AUX_MHDinteger(kind=I4P)parameterAuxiliary variables number, MHD (both variants).
NV_EULER_DEinteger(kind=I4P)parameterConservative variables number, Euler with dual energy (#91).
NV_AUX_DEinteger(kind=I4P)parameterAuxiliary variables number, Euler with dual energy (#91).
NS_MAXinteger(kind=I4P)parameterPassive scalars capacity of the scalar models (#92, D-M10-1).
COOLING_NODES_MAXinteger(kind=I4P)parameterCooling table capacity: the device kernels take fixed-size
NV_EULER_PSinteger(kind=I4P)parameterConservative variables number, Euler + NS_MAX scalars (#92).
NV_AUX_PSinteger(kind=I4P)parameterAuxiliary variables number, Euler + NS_MAX scalars (#92).
NV_EULER_DE_PSinteger(kind=I4P)parameterConservative variables number, euler-de + NS_MAX scalars (#92).
NV_AUX_DE_PSinteger(kind=I4P)parameterAuxiliary variables number, euler-de + NS_MAX scalars (#92).
S_MAXinteger(kind=I4P)parameterMaximum WENO stencil half-width (weno-u-9).
MODEL_EULERinteger(kind=I4P)parameterCompressible Euler (nv = 5).
MODEL_MHDinteger(kind=I4P)parameterIdeal compressible MHD without divergence control (nv = 8).
MODEL_MHD_GLMinteger(kind=I4P)parameterIdeal compressible MHD with GLM divergence cleaning (nv = 9).
MODEL_MHD_EGLMinteger(kind=I4P)parameterIdeal compressible MHD with EGLM divergence cleaning (nv = 9).
MODEL_EULER_DEinteger(kind=I4P)parameterCompressible Euler with dual energy, advected entropy (nv = 6, #91).
MODEL_EULER_PSinteger(kind=I4P)parameterEuler with NS_MAX passive scalar slots (nv = 9, #92).
MODEL_EULER_DE_PSinteger(kind=I4P)parametereuler-de with NS_MAX passive scalar slots (nv = 10, #92).
MODEL_EULER_ISOinteger(kind=I4P)parameterIsothermal Euler, [eos] type = isothermal (nv = 5, the energy
MODEL_EULER_BAROinteger(kind=I4P)parameterBarotropic Euler, [eos] type = barotropic: a piecewise
MODEL_MHD_ISOinteger(kind=I4P)parameterIsothermal ideal MHD without divergence control (nv = 8, the
MODEL_MHD_GLM_ISOinteger(kind=I4P)parameterIsothermal ideal MHD with GLM cleaning (nv = 9; #100, P5).
MODEL_MHD_BAROinteger(kind=I4P)parameterBarotropic ideal MHD without divergence control (nv = 8; P5).
MODEL_MHD_GLM_BAROinteger(kind=I4P)parameterBarotropic ideal MHD with GLM cleaning (nv = 9; #100, P5).
PHYSICAL_MODEL_EULERcharacter(len=5)parameter[physics].(physical_model): compressible Euler.
PHYSICAL_MODEL_MHD_IDEALcharacter(len=9)parameter[physics].(physical_model): ideal MHD.
PHYSICAL_MODEL_EULER_DEcharacter(len=8)parameter[physics].(physical_model): compressible
EOS_IDEALcharacter(len=5)parameter[eos].(type): calorically perfect gas (default).
EOS_ISOTHERMALcharacter(len=10)parameter[eos].(type): P = c0^2 rho (issue #100).
EOS_BAROTROPICcharacter(len=10)parameter[eos].(type): piecewise polytrope (#100 P3).
DUAL_ENERGY_ETAreal(kind=R8P)parameterDefault [physics].(dual_energy_eta): in a cell
DIVERGENCE_CONTROL_GLMcharacter(len=3)parameter[mhd].(divergence_control): GLM cleaning.
DIVERGENCE_CONTROL_EGLMcharacter(len=4)parameter[mhd].(divergence_control): EGLM cleaning.
DIVERGENCE_CONTROL_NONEcharacter(len=4)parameter[mhd].(divergence_control): none.
GLM_CH_CHECK_WARNINGcharacter(len=7)parameter[mhd].(glm_ch_check): warn if c_h is slow.
GLM_CH_CHECK_ERRORcharacter(len=5)parameter[mhd].(glm_ch_check): stop if c_h is slow.
GLM_DAMPING_LENGTH_MIN_CELLcharacter(len=8)parameter[mhd].(glm_damping_length): min spacing.
SCHEME_SPACE_WENOcharacter(len=4)parameter[numerics].(scheme_space): WENO flux splitting.
RECON_CHARACTERISTICcharacter(len=14)parameter[numerics].(reconstruction_variables).
RECON_CONSERVATIVEcharacter(len=12)parameter[numerics].(reconstruction_variables).
SCHEME_SPACE_WENO_RIEMANNcharacter(len=12)parameter[numerics].(scheme_space): WENO
RECON_PRIMITIVEcharacter(len=9)parameter[numerics].(reconstruction_variables).
RIEMANN_SOLVER_LLFcharacter(len=3)parameter[numerics].(riemann_solver): local Lax-Friedrichs.
RIEMANN_SOLVER_HLLcharacter(len=3)parameter[numerics].(riemann_solver): HLL (Einfeldt).
RIEMANN_SOLVER_HLLCcharacter(len=4)parameter[numerics].(riemann_solver): HLLC (Euler).
RIEMANN_SOLVER_HLLDcharacter(len=4)parameter[numerics].(riemann_solver): HLLD (MHD).
FLUX_CORRECTION_6THcharacter(len=3)parameter[numerics].(flux_correction): 6th order.
FLUX_CORRECTION_4THcharacter(len=3)parameter[numerics].(flux_correction): 4th order.
FLUX_CORRECTION_NONEcharacter(len=4)parameter[numerics].(flux_correction): none (2nd order).
FLUX_CORRECTION_SENSOR_WENOcharacter(len=4)parameter[numerics].(flux_correction_sensor): WENO weights.
FLUX_CORRECTION_SENSOR_NONEcharacter(len=4)parameter[numerics].(flux_correction_sensor): always on.
FLUX_CORRECTION_SENSOR_TAUreal(kind=R8P)parameterCorrection off at a face where the WENO weights
POSITIVITY_LIMITER_NONEcharacter(len=4)parameter[numerics].(positivity_limiter): off.
REFLUX_POLICY_ALWAYScharacter(len=6)parameter[numerics].(reflux_policy): every face cell.
REFLUX_POLICY_TROUBLEDcharacter(len=8)parameter[numerics].(reflux_policy): the face cells the
REFLUX_CADENCE_STEPcharacter(len=4)parameter[numerics].(reflux_cadence): once per step.
REFLUX_CADENCE_STAGEcharacter(len=5)parameter[numerics].(reflux_cadence): every stage
POSITIVITY_LIMITER_CELLcharacter(len=4)parameter[numerics].(positivity_limiter): cell-based
POSITIVITY_LIMITER_KAPPAreal(kind=R8P)parameterFloor 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

NameTypeIntentAttributesDescription
stringcharacter(len=*)inRaw 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

NameTypeIntentAttributesDescription
modelinteger(kind=I4P)inPhysical 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

NameTypeIntentAttributesDescription
modelinteger(kind=I4P)inPhysical 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

NameTypeIntentAttributesDescription
modelinteger(kind=I4P)inPhysical 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

NameTypeIntentAttributesDescription
modelinteger(kind=I4P)inPhysical model id.

Call graph