21 "Variable that is the porepressure of the gas phase");
23 MooseEnum unit_choice(
"Kelvin=0 Celsius=1",
"Kelvin");
25 "temperature_unit", unit_choice,
"The unit of the temperature variable");
27 params.
addRequiredParam<UserObjectName>(
"fluid_state",
"Name of the FluidState UserObject");
28 params.
addCoupledVar(
"xnacl", 0,
"The salt mass fraction in the brine (kg/kg)");
30 "PorousFlowDictator",
"The UserObject that holds the list of PorousFlow variable names");
37 _gas_porepressure(coupledValue(
"gas_porepressure")),
38 _temperature(coupledValue(
"temperature")),
39 _Xnacl(coupledValue(
"xnacl")),
40 _saturation(coupledValue(
"saturation")),
41 _T_c2k(getParam<
MooseEnum>(
"temperature_unit") == 0 ? 0.0 : 273.15),
registerMooseObject("PorousFlowApp", PorousFlowFluidStateIC)
static InputParameters validParams()
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
PorousFlowFluidStateIC calculates an initial value for the total mass fraction of a component summed ...
static InputParameters validParams()
PorousFlowFluidStateIC(const InputParameters ¶meters)
const VariableValue & _Xnacl
NaCl mass fraction (kg/kg)
const VariableValue & _saturation
Gas saturation (-)
const PorousFlowFluidStateMultiComponentBase & _fs
FluidState UserObject.
const VariableValue & _temperature
Fluid temperature (C or K)
const VariableValue & _gas_porepressure
Gas porepressure (Pa)
virtual Real value(const Point &p) override
const Real _T_c2k
Conversion from degrees Celsius to degrees Kelvin.
Compositional flash routines for miscible multiphase flow classes with multiple fluid components.
virtual Real totalMassFraction(Real pressure, Real temperature, Real Xnacl, Real saturation, unsigned int qp) const =0
Total mass fraction of fluid component summed over all phases in the two-phase state for a specified ...