Specialized class for water and a non-condensable gas (NCG) Includes dissolution of gas in liquid water phase using Henry's law. More...
#include <PorousFlowWaterNCG.h>
Public Types | |
typedef DataFileName | DataFileParameterType |
Public Member Functions | |
PorousFlowWaterNCG (const InputParameters ¶meters) | |
virtual std::string | fluidStateName () const override |
Name of FluidState. More... | |
void | thermophysicalProperties (Real pressure, Real temperature, Real Xnacl, Real Z, unsigned int qp, std::vector< FluidStateProperties > &fsp) const override |
Determines the complete thermophysical state of the system for a given set of primary variables. More... | |
void | thermophysicalProperties (const ADReal &pressure, const ADReal &temperature, const ADReal &Xnacl, const ADReal &Z, unsigned int qp, std::vector< FluidStateProperties > &fsp) const override |
void | equilibriumMassFractions (const ADReal &pressure, const ADReal &temperature, ADReal &Xncg, ADReal &Yh2o) const |
Mass fractions of NCG in liquid phase and H2O in gas phase at thermodynamic equilibrium. More... | |
void | massFractions (const ADReal &pressure, const ADReal &temperature, const ADReal &Z, FluidStatePhaseEnum &phase_state, std::vector< FluidStateProperties > &fsp) const |
Mass fractions of NCG and H2O in both phases, as well as derivatives wrt PorousFlow variables. More... | |
void | gasProperties (const ADReal &pressure, const ADReal &temperature, std::vector< FluidStateProperties > &fsp) const |
Gas properties - density, viscosity and enthalpy. More... | |
void | liquidProperties (const ADReal &pressure, const ADReal &temperature, std::vector< FluidStateProperties > &fsp) const |
Liquid properties - density, viscosity and enthalpy Note: The pressure here is the liquid pressure. More... | |
ADReal | liquidDensity (const ADReal &pressure, const ADReal &temperature) const |
Density of the liquid phase Note: The pressure here is the gas pressure. More... | |
ADReal | gasDensity (const ADReal &pressure, const ADReal &temperature, std::vector< FluidStateProperties > &fsp) const |
Density of the gas phase. More... | |
ADReal | saturation (const ADReal &pressure, const ADReal &temperature, const ADReal &Z, std::vector< FluidStateProperties > &fsp) const |
Gas saturation in the two-phase region. More... | |
void | twoPhaseProperties (const ADReal &pressure, const ADReal &temperature, const ADReal &Z, unsigned int qp, std::vector< FluidStateProperties > &fsp) const |
Gas and liquid properties in the two-phase region. More... | |
ADReal | enthalpyOfDissolution (const ADReal &temperature) const |
Enthalpy of dissolution of NCG in water calculated using Henry's constant From Himmelblau, Partial molal heats and entropies of solution for gases dissolved in water from the freezing to the near critical point, J. More... | |
virtual Real | totalMassFraction (Real pressure, Real temperature, Real Xnacl, Real saturation, unsigned int qp) const override |
Total mass fraction of fluid component summed over all phases in the two-phase state for a specified gas saturation. More... | |
unsigned int | aqueousComponentIndex () const |
The index of the aqueous fluid component. More... | |
unsigned int | gasComponentIndex () const |
The index of the gas fluid component. More... | |
unsigned int | saltComponentIndex () const |
The index of the salt component. More... | |
void | phaseState (Real Zi, Real Xi, Real Yi, FluidStatePhaseEnum &phase_state) const |
Determines the phase state gven the total mass fraction and equilibrium mass fractions. More... | |
unsigned int | getPressureIndex () const |
unsigned int | getTemperatureIndex () const |
unsigned int | getZIndex () const |
unsigned int | getXIndex () const |
Real | rachfordRice (Real vf, std::vector< Real > &Zi, std::vector< Real > &Ki) const |
Rachford-Rice equation for vapor fraction. More... | |
Real | rachfordRiceDeriv (Real vf, std::vector< Real > &Zi, std::vector< Real > &Ki) const |
Derivative of Rachford-Rice equation wrt vapor fraction. More... | |
Real | vaporMassFraction (Real Z0, Real K0, Real K1) const |
Solves Rachford-Rice equation to provide vapor mass fraction. More... | |
ADReal | vaporMassFraction (const ADReal &Z0, const ADReal &K0, const ADReal &K1) const |
Real | vaporMassFraction (std::vector< Real > &Zi, std::vector< Real > &Ki) const |
void | initialize () final |
void | execute () final |
void | finalize () final |
unsigned int | numPhases () const |
The maximum number of phases in this model. More... | |
unsigned int | numComponents () const |
The maximum number of components in this model. More... | |
unsigned int | aqueousPhaseIndex () const |
The index of the aqueous phase. More... | |
unsigned int | gasPhaseIndex () const |
The index of the gas phase. More... | |
void | clearFluidStateProperties (std::vector< FluidStateProperties > &fsp) const |
Clears the contents of the FluidStateProperties data structure. More... | |
SubProblem & | getSubProblem () const |
bool | shouldDuplicateInitialExecution () const |
virtual Real | spatialValue (const Point &) const |
virtual const std::vector< Point > | spatialPoints () const |
void | gatherSum (T &value) |
void | gatherMax (T &value) |
void | gatherMin (T &value) |
void | gatherProxyValueMax (T1 &proxy, T2 &value) |
void | gatherProxyValueMin (T1 &proxy, T2 &value) |
void | setPrimaryThreadCopy (UserObject *primary) |
UserObject * | primaryThreadCopy () |
std::set< UserObjectName > | getDependObjects () const |
virtual bool | needThreadedCopy () const |
const std::set< std::string > & | getRequestedItems () override |
const std::set< std::string > & | getSuppliedItems () override |
unsigned int | systemNumber () const |
virtual bool | enabled () const |
std::shared_ptr< MooseObject > | getSharedPtr () |
std::shared_ptr< const MooseObject > | getSharedPtr () const |
MooseApp & | getMooseApp () const |
const std::string & | type () const |
virtual const std::string & | name () const |
std::string | typeAndName () const |
std::string | errorPrefix (const std::string &error_type) const |
void | callMooseError (std::string msg, const bool with_prefix) const |
MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
const InputParameters & | parameters () const |
MooseObjectName | uniqueName () const |
const T & | getParam (const std::string &name) const |
std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
const T * | queryParam (const std::string &name) const |
const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
bool | isParamValid (const std::string &name) const |
bool | isParamSetByUser (const std::string &nm) const |
void | paramError (const std::string ¶m, Args... args) const |
void | paramWarning (const std::string ¶m, Args... args) const |
void | paramInfo (const std::string ¶m, Args... args) const |
void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
void | mooseError (Args &&... args) const |
void | mooseErrorNonPrefixed (Args &&... args) const |
void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
void | mooseWarning (Args &&... args) const |
void | mooseWarningNonPrefixed (Args &&... args) const |
void | mooseDeprecated (Args &&... args) const |
void | mooseInfo (Args &&... args) const |
std::string | getDataFileName (const std::string ¶m) const |
std::string | getDataFileNameByName (const std::string &relative_path) const |
std::string | getDataFilePath (const std::string &relative_path) const |
virtual void | initialSetup () |
virtual void | timestepSetup () |
virtual void | jacobianSetup () |
virtual void | residualSetup () |
virtual void | customSetup (const ExecFlagType &) |
const ExecFlagEnum & | getExecuteOnEnum () const |
UserObjectName | getUserObjectName (const std::string ¶m_name) const |
const T & | getUserObject (const std::string ¶m_name, bool is_dependency=true) const |
const T & | getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const |
const UserObject & | getUserObjectBase (const std::string ¶m_name, bool is_dependency=true) const |
const UserObject & | getUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const |
const std::vector< MooseVariableScalar *> & | getCoupledMooseScalarVars () |
const std::set< TagID > & | getScalarVariableCoupleableVectorTags () const |
const std::set< TagID > & | getScalarVariableCoupleableMatrixTags () const |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, const unsigned int state=0) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name, MaterialData &material_data) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name) |
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > | getBlockMaterialProperty (const MaterialPropertyName &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialProperty (const std::string &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialProperty () |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialPropertyByName (const std::string &prop_name) |
const MaterialProperty< T > & | getZeroMaterialProperty (Ts... args) |
std::set< SubdomainID > | getMaterialPropertyBlocks (const std::string &name) |
std::vector< SubdomainName > | getMaterialPropertyBlockNames (const std::string &name) |
std::set< BoundaryID > | getMaterialPropertyBoundaryIDs (const std::string &name) |
std::vector< BoundaryName > | getMaterialPropertyBoundaryNames (const std::string &name) |
void | checkBlockAndBoundaryCompatibility (std::shared_ptr< MaterialBase > discrete) |
std::unordered_map< SubdomainID, std::vector< MaterialBase *> > | buildRequiredMaterials (bool allow_stateful=true) |
void | statefulPropertiesAllowed (bool) |
bool | getMaterialPropertyCalled () const |
virtual const std::unordered_set< unsigned int > & | getMatPropDependencies () const |
virtual void | resolveOptionalProperties () |
const GenericMaterialProperty< T, is_ad > & | getPossiblyConstantGenericMaterialPropertyByName (const MaterialPropertyName &prop_name, MaterialData &material_data, const unsigned int state) |
bool | isImplicit () |
Moose::StateArg | determineState () const |
virtual void | threadJoin (const UserObject &) override |
virtual void | threadJoin (const UserObject &) override |
virtual void | subdomainSetup () override |
virtual void | subdomainSetup () override |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
const GenericOptionalMaterialProperty< T, is_ad > & | getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const GenericOptionalMaterialProperty< T, is_ad > & | getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalMaterialProperty< T > & | getOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalMaterialProperty< T > & | getOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalADMaterialProperty< T > & | getOptionalADMaterialProperty (const std::string &name) |
const OptionalADMaterialProperty< T > & | getOptionalADMaterialProperty (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOld (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOld (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOlder (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOlder (const std::string &name) |
MaterialBase & | getMaterial (const std::string &name) |
MaterialBase & | getMaterial (const std::string &name) |
MaterialBase & | getMaterialByName (const std::string &name, bool no_warn=false) |
MaterialBase & | getMaterialByName (const std::string &name, bool no_warn=false) |
bool | hasMaterialProperty (const std::string &name) |
bool | hasMaterialProperty (const std::string &name) |
bool | hasMaterialPropertyByName (const std::string &name) |
bool | hasMaterialPropertyByName (const std::string &name) |
bool | hasADMaterialProperty (const std::string &name) |
bool | hasADMaterialProperty (const std::string &name) |
bool | hasADMaterialPropertyByName (const std::string &name) |
bool | hasADMaterialPropertyByName (const std::string &name) |
bool | hasGenericMaterialProperty (const std::string &name) |
bool | hasGenericMaterialProperty (const std::string &name) |
bool | hasGenericMaterialPropertyByName (const std::string &name) |
bool | hasGenericMaterialPropertyByName (const std::string &name) |
const Function & | getFunction (const std::string &name) const |
const Function & | getFunctionByName (const FunctionName &name) const |
bool | hasFunction (const std::string ¶m_name) const |
bool | hasFunctionByName (const FunctionName &name) const |
bool | isDefaultPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
bool | hasPostprocessor (const std::string ¶m_name, const unsigned int index=0) const |
bool | hasPostprocessorByName (const PostprocessorName &name) const |
std::size_t | coupledPostprocessors (const std::string ¶m_name) const |
const PostprocessorName & | getPostprocessorName (const std::string ¶m_name, const unsigned int index=0) const |
const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
bool | hasVectorPostprocessor (const std::string ¶m_name, const std::string &vector_name) const |
bool | hasVectorPostprocessor (const std::string ¶m_name) const |
bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name) const |
const VectorPostprocessorName & | getVectorPostprocessorName (const std::string ¶m_name) const |
T & | getSampler (const std::string &name) |
Sampler & | getSampler (const std::string &name) |
T & | getSamplerByName (const SamplerName &name) |
Sampler & | getSamplerByName (const SamplerName &name) |
virtual void | meshChanged () |
virtual void | meshDisplaced () |
PerfGraph & | perfGraph () |
const PostprocessorValue & | getPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOld (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOld (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOlder (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOlder (const std::string ¶m_name, const unsigned int index=0) const |
virtual const PostprocessorValue & | getPostprocessorValueByName (const PostprocessorName &name) const |
virtual const PostprocessorValue & | getPostprocessorValueByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOldByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOldByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOlderByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOlderByName (const PostprocessorName &name) const |
bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
const Distribution & | getDistribution (const std::string &name) const |
const T & | getDistribution (const std::string &name) const |
const Distribution & | getDistribution (const std::string &name) const |
const T & | getDistribution (const std::string &name) const |
const Distribution & | getDistributionByName (const DistributionName &name) const |
const T & | getDistributionByName (const std::string &name) const |
const Distribution & | getDistributionByName (const DistributionName &name) const |
const T & | getDistributionByName (const std::string &name) const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Static Public Member Functions | |
static InputParameters | validParams () |
static void | sort (typename std::vector< T > &vector) |
static void | sortDFS (typename std::vector< T > &vector) |
static void | cyclicDependencyError (CyclicDependencyException< T2 > &e, const std::string &header) |
Public Attributes | |
const ConsoleStream | _console |
Static Public Attributes | |
static constexpr PropertyValue::id_type | default_property_id |
static constexpr PropertyValue::id_type | zero_property_id |
static constexpr auto | SYSTEM |
static constexpr auto | NAME |
Protected Member Functions | |
ADReal | moleFractionToMassFraction (const ADReal &xmol) const |
Convert mole fraction to mass fraction. More... | |
void | checkVariables (Real temperature) const |
Check that the temperature is between the triple and critical values. More... | |
virtual void | addPostprocessorDependencyHelper (const PostprocessorName &name) const override |
virtual void | addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &name) const override |
virtual void | addUserObjectDependencyHelper (const UserObject &uo) const override |
void | addReporterDependencyHelper (const ReporterName &reporter_name) override |
const ReporterName & | getReporterName (const std::string ¶m_name) const |
T & | declareRestartableData (const std::string &data_name, Args &&... args) |
ManagedValue< T > | declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
const T & | getRestartableData (const std::string &data_name) const |
T & | declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
T & | declareRecoverableData (const std::string &data_name, Args &&... args) |
T & | declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args) |
T & | declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args) |
std::string | restartableName (const std::string &data_name) const |
const T & | getMeshProperty (const std::string &data_name, const std::string &prefix) |
const T & | getMeshProperty (const std::string &data_name) |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name) const |
bool | hasMeshProperty (const std::string &data_name) const |
std::string | meshPropertyName (const std::string &data_name) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const |
std::string | timedSectionName (const std::string §ion_name) const |
bool | isCoupledScalar (const std::string &var_name, unsigned int i=0) const |
unsigned int | coupledScalarComponents (const std::string &var_name) const |
unsigned int | coupledScalar (const std::string &var_name, unsigned int comp=0) const |
libMesh::Order | coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarValue (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< is_ad > & | coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const |
const VariableValue & | coupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const |
const VariableValue & | coupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const |
const VariableValue & | coupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDot (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const |
const MooseVariableScalar * | getScalarVar (const std::string &var_name, unsigned int comp) const |
virtual void | checkMaterialProperty (const std::string &name, const unsigned int state) |
void | markMatPropRequested (const std::string &) |
MaterialPropertyName | getMaterialPropertyName (const std::string &name) const |
void | checkExecutionStage () |
const T & | getReporterValue (const std::string ¶m_name, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0) |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
const GenericMaterialProperty< T, is_ad > * | defaultGenericMaterialProperty (const std::string &name) |
const GenericMaterialProperty< T, is_ad > * | defaultGenericMaterialProperty (const std::string &name) |
const MaterialProperty< T > * | defaultMaterialProperty (const std::string &name) |
const MaterialProperty< T > * | defaultMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > * | defaultADMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > * | defaultADMaterialProperty (const std::string &name) |
Static Protected Member Functions | |
static std::string | meshPropertyName (const std::string &data_name, const std::string &prefix) |
Static Protected Attributes | |
static const std::string | _interpolated_old |
static const std::string | _interpolated_older |
Specialized class for water and a non-condensable gas (NCG) Includes dissolution of gas in liquid water phase using Henry's law.
Notation convention Throughout this class, both mole fractions and mass fractions will be used. The following notation will be used: yk: mole fraction of component k in the gas phase xk: mole fraction of component k in the liquid phase Yk: mass fraction of component k in the gas phase Xk: mass fraction of component k in the liquid phase
Definition at line 29 of file PorousFlowWaterNCG.h.
PorousFlowWaterNCG::PorousFlowWaterNCG | ( | const InputParameters & | parameters | ) |
Definition at line 28 of file PorousFlowWaterNCG.C.
|
inlineinherited |
The index of the aqueous fluid component.
Definition at line 29 of file PorousFlowFluidStateMultiComponentBase.h.
|
inlineinherited |
The index of the aqueous phase.
Definition at line 77 of file PorousFlowFluidStateBase.h.
Check that the temperature is between the triple and critical values.
temperature | fluid temperature (K) |
Definition at line 391 of file PorousFlowWaterNCG.C.
Referenced by thermophysicalProperties(), and totalMassFraction().
|
inherited |
Clears the contents of the FluidStateProperties data structure.
[out] | fsp | FluidStateProperties data structure with all data initialized to 0 |
Definition at line 33 of file PorousFlowFluidStateBase.C.
Referenced by thermophysicalProperties(), and PorousFlowBrineCO2::thermophysicalProperties().
Enthalpy of dissolution of NCG in water calculated using Henry's constant From Himmelblau, Partial molal heats and entropies of solution for gases dissolved in water from the freezing to the near critical point, J.
Phys. Chem. 63 (1959)
temperature | fluid temperature (K) |
Definition at line 401 of file PorousFlowWaterNCG.C.
Referenced by liquidProperties().
void PorousFlowWaterNCG::equilibriumMassFractions | ( | const ADReal & | pressure, |
const ADReal & | temperature, | ||
ADReal & | Xncg, | ||
ADReal & | Yh2o | ||
) | const |
Mass fractions of NCG in liquid phase and H2O in gas phase at thermodynamic equilibrium.
Calculated using Henry's law (for NCG component), and Raoult's law (for water).
pressure | phase pressure (Pa) | |
temperature | phase temperature (K) | |
[out] | Xncg | mass fraction of NCG in liquid (kg/kg) |
[out] | Yh2o | mass fraction of H2O in gas (kg/kg) |
Definition at line 361 of file PorousFlowWaterNCG.C.
Referenced by massFractions(), and totalMassFraction().
|
inlinefinalvirtualinherited |
|
inlinefinalvirtualinherited |
|
overridevirtual |
Name of FluidState.
Implements PorousFlowFluidStateBase.
Definition at line 65 of file PorousFlowWaterNCG.C.
|
inlineinherited |
The index of the gas fluid component.
Definition at line 35 of file PorousFlowFluidStateMultiComponentBase.h.
ADReal PorousFlowWaterNCG::gasDensity | ( | const ADReal & | pressure, |
const ADReal & | temperature, | ||
std::vector< FluidStateProperties > & | fsp | ||
) | const |
Density of the gas phase.
pressure | pressure (Pa) |
temperature | temperature (K) |
Definition at line 287 of file PorousFlowWaterNCG.C.
Referenced by saturation(), and totalMassFraction().
|
inlineinherited |
The index of the gas phase.
Definition at line 83 of file PorousFlowFluidStateBase.h.
void PorousFlowWaterNCG::gasProperties | ( | const ADReal & | pressure, |
const ADReal & | temperature, | ||
std::vector< FluidStateProperties > & | fsp | ||
) | const |
Gas properties - density, viscosity and enthalpy.
pressure | gas pressure (Pa) | |
temperature | temperature (K) | |
[out] | FluidStateProperties | data structure |
Definition at line 210 of file PorousFlowWaterNCG.C.
Referenced by thermophysicalProperties(), and twoPhaseProperties().
|
inlineinherited |
Definition at line 92 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by PorousFlowWaterNCGTest::buildObjects(), and PorousFlowBrineCO2Test::buildObjects().
|
inlineinherited |
Definition at line 93 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by PorousFlowWaterNCGTest::buildObjects(), and PorousFlowBrineCO2Test::buildObjects().
|
inlineinherited |
Definition at line 95 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by PorousFlowBrineCO2Test::buildObjects().
|
inlineinherited |
Definition at line 94 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by PorousFlowWaterNCGTest::buildObjects(), and PorousFlowBrineCO2Test::buildObjects().
|
inlinefinalvirtualinherited |
ADReal PorousFlowWaterNCG::liquidDensity | ( | const ADReal & | pressure, |
const ADReal & | temperature | ||
) | const |
Density of the liquid phase Note: The pressure here is the gas pressure.
As a result, the liquid pressure can include a dependence on saturation due to the capillary pressure, so this method should be called after the saturation is calculated for the two phase case ie: after calling saturation(). For the single phase liquid case, it is ok to call this method by itself, as gas saturation is initialized to zero.
pressure | gas pressure (Pa) |
temperature | temperature (K) |
Definition at line 281 of file PorousFlowWaterNCG.C.
Referenced by saturation(), and totalMassFraction().
void PorousFlowWaterNCG::liquidProperties | ( | const ADReal & | pressure, |
const ADReal & | temperature, | ||
std::vector< FluidStateProperties > & | fsp | ||
) | const |
Liquid properties - density, viscosity and enthalpy Note: The pressure here is the liquid pressure.
In this class, enthalpy includes a contribution due to the enthalpy of dissolution of the NCG into the liquid phase. As a result, the derivatives can include a dependence on the capillary pressure, so this method should be called after the saturation is calculated for the two phase case ie: after calling saturation(). For the single phase liquid case, it is ok to call this method by itself, as gas saturation is initialized to zero.
pressure | liquid pressure (Pa) | |
temperature | temperature (K) | |
[out] | FluidStateProperties | data structure |
Definition at line 250 of file PorousFlowWaterNCG.C.
Referenced by thermophysicalProperties(), and twoPhaseProperties().
void PorousFlowWaterNCG::massFractions | ( | const ADReal & | pressure, |
const ADReal & | temperature, | ||
const ADReal & | Z, | ||
FluidStatePhaseEnum & | phase_state, | ||
std::vector< FluidStateProperties > & | fsp | ||
) | const |
Mass fractions of NCG and H2O in both phases, as well as derivatives wrt PorousFlow variables.
Values depend on the phase state (liquid, gas or two phase)
pressure | phase pressure (Pa) | |
temperature | phase temperature (K) | |
Z | total mass fraction of NCG component | |
[out] | PhaseStateEnum | current phase state |
[out] | FluidStateMassFractions | data structure |
Definition at line 152 of file PorousFlowWaterNCG.C.
Referenced by thermophysicalProperties().
Convert mole fraction to mass fraction.
xmol | mole fraction |
Definition at line 385 of file PorousFlowWaterNCG.C.
Referenced by equilibriumMassFractions().
|
inlineinherited |
The maximum number of components in this model.
Definition at line 71 of file PorousFlowFluidStateBase.h.
|
inlineinherited |
The maximum number of phases in this model.
Definition at line 65 of file PorousFlowFluidStateBase.h.
Referenced by PorousFlowFluidStateSingleComponentTempl< is_ad >::PorousFlowFluidStateSingleComponentTempl(), and PorousFlowFluidStateTempl< is_ad >::PorousFlowFluidStateTempl().
|
inherited |
Determines the phase state gven the total mass fraction and equilibrium mass fractions.
Zi | total mass fraction | |
Xi | equilibrium mass fraction in liquid | |
Yi | equilibrium mass fraction in gas | |
[out] | phase_state | the phase state (gas, liquid, two phase) |
Definition at line 36 of file PorousFlowFluidStateMultiComponentBase.C.
Referenced by massFractions(), and PorousFlowBrineCO2::massFractions().
|
inherited |
Rachford-Rice equation for vapor fraction.
Can be solved analytically for two components in two phases, but must be solved iteratively using a root finding algorithm for more components. This equation has the nice property that it is monotonic in the interval [0,1], so that only a small number of iterations are typically required to find the root.
The Rachford-Rice equation can also be used to check whether the phase state is two phase, single phase gas, or single phase liquid. Evaluate f(v), the Rachford-Rice equation evaluated at the vapor mass fraction.
If f(0) < 0, then the mixture is below the bubble point, and only a single phase liquid can exist
If f(1) > 0, then the mixture is above the dew point, and only a single phase gas exists.
If f(0) >= 0 and f(1) <= 0, the mixture is between the bubble and dew points, and both gas and liquid phases exist.
vf | vapor fraction |
Zi | mass fractions |
Ki | equilibrium constants |
Definition at line 26 of file PorousFlowFluidStateFlash.C.
Referenced by PorousFlowFluidStateFlash::vaporMassFraction().
|
inherited |
Derivative of Rachford-Rice equation wrt vapor fraction.
Has the nice property that it is strictly negative in the interval [0,1]
vf | vapor fraction |
Zi | mass fractions |
Ki | equilibrium constants |
Definition at line 52 of file PorousFlowFluidStateFlash.C.
Referenced by PorousFlowFluidStateFlash::vaporMassFraction().
|
inlineinherited |
The index of the salt component.
Definition at line 41 of file PorousFlowFluidStateMultiComponentBase.h.
ADReal PorousFlowWaterNCG::saturation | ( | const ADReal & | pressure, |
const ADReal & | temperature, | ||
const ADReal & | Z, | ||
std::vector< FluidStateProperties > & | fsp | ||
) | const |
Gas saturation in the two-phase region.
pressure | gas pressure (Pa) | |
temperature | phase temperature (K) | |
Z | total mass fraction of NCG component | |
[out] | FluidStateProperties | data structure |
Definition at line 307 of file PorousFlowWaterNCG.C.
Referenced by totalMassFraction(), and twoPhaseProperties().
|
overridevirtual |
Determines the complete thermophysical state of the system for a given set of primary variables.
pressure | gas phase pressure (Pa) | |
temperature | fluid temperature (K) | |
Xnacl | mass fraction of NaCl | |
Z | total mass fraction of fluid component | |
qp | quadpoint index | |
[out] | fsp | the FluidStateProperties struct containing all properties |
Implements PorousFlowFluidStateMultiComponentBase.
Definition at line 71 of file PorousFlowWaterNCG.C.
|
overridevirtual |
Implements PorousFlowFluidStateMultiComponentBase.
Definition at line 93 of file PorousFlowWaterNCG.C.
|
overridevirtual |
Total mass fraction of fluid component summed over all phases in the two-phase state for a specified gas saturation.
pressure | gas pressure (Pa) |
temperature | temperature (K) |
Xnacl | NaCl mass fraction (kg/kg) |
saturation | gas saturation (-) |
qp | quadpoint index |
Implements PorousFlowFluidStateMultiComponentBase.
Definition at line 423 of file PorousFlowWaterNCG.C.
void PorousFlowWaterNCG::twoPhaseProperties | ( | const ADReal & | pressure, |
const ADReal & | temperature, | ||
const ADReal & | Z, | ||
unsigned int | qp, | ||
std::vector< FluidStateProperties > & | fsp | ||
) | const |
Gas and liquid properties in the two-phase region.
pressure | gas pressure (Pa) | |
temperature | phase temperature (K) | |
Z | total mass fraction of NCG component | |
qp | quadpoint for capillary pressure | |
[out] | FluidStateProperties | data structure |
Definition at line 341 of file PorousFlowWaterNCG.C.
Referenced by thermophysicalProperties().
|
static |
Definition at line 18 of file PorousFlowWaterNCG.C.
Solves Rachford-Rice equation to provide vapor mass fraction.
For two components, the analytical solution is used, while for cases with more than two components, a Newton-Raphson iterative solution is calculated.
Zi | total mass fraction(s) |
Ki | equilibrium constant(s) |
Definition at line 80 of file PorousFlowFluidStateFlash.C.
Referenced by saturation(), PorousFlowBrineCO2::saturation(), and PorousFlowFluidStateFlash::vaporMassFraction().
|
inherited |
Definition at line 86 of file PorousFlowFluidStateFlash.C.
|
inherited |
Definition at line 94 of file PorousFlowFluidStateFlash.C.
|
protectedinherited |
Fluid component number of the aqueous component.
Definition at line 95 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by PorousFlowFluidStateMultiComponentBase::aqueousComponentIndex(), massFractions(), PorousFlowBrineCO2::massFractions(), PorousFlowBrineCO2::PorousFlowBrineCO2(), PorousFlowWaterNCG(), saturation(), PorousFlowBrineCO2::saturation(), totalMassFraction(), and PorousFlowBrineCO2::totalMassFraction().
|
protectedinherited |
Phase number of the aqueous phase.
Definition at line 102 of file PorousFlowFluidStateBase.h.
Referenced by PorousFlowFluidStateBase::aqueousPhaseIndex(), gasDensity(), gasProperties(), liquidProperties(), PorousFlowBrineCO2::liquidProperties(), massFractions(), PorousFlowBrineCO2::massFractions(), PorousFlowBrineCO2::PorousFlowBrineCO2(), PorousFlowWaterNCG(), PorousFlowWaterVapor::PorousFlowWaterVapor(), PorousFlowWaterVapor::thermophysicalProperties(), thermophysicalProperties(), PorousFlowBrineCO2::thermophysicalProperties(), totalMassFraction(), and PorousFlowBrineCO2::totalMassFraction().
|
protectedinherited |
Empty FluidStateProperties object.
Definition at line 112 of file PorousFlowFluidStateBase.h.
Referenced by PorousFlowFluidStateBase::clearFluidStateProperties(), PorousFlowBrineCO2::PorousFlowBrineCO2(), PorousFlowWaterNCG(), and PorousFlowWaterVapor::PorousFlowWaterVapor().
|
protectedinherited |
Fluid component number of the gas phase.
Definition at line 101 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by PorousFlowFluidStateMultiComponentBase::gasComponentIndex(), gasDensity(), gasProperties(), liquidProperties(), PorousFlowBrineCO2::liquidProperties(), massFractions(), PorousFlowBrineCO2::massFractions(), PorousFlowBrineCO2::PorousFlowBrineCO2(), PorousFlowWaterNCG(), saturation(), PorousFlowBrineCO2::saturation(), totalMassFraction(), and PorousFlowBrineCO2::totalMassFraction().
|
protectedinherited |
Phase number of the gas phase.
Definition at line 104 of file PorousFlowFluidStateBase.h.
Referenced by gasDensity(), PorousFlowFluidStateBase::gasPhaseIndex(), gasProperties(), PorousFlowBrineCO2::gasProperties(), massFractions(), PorousFlowBrineCO2::massFractions(), PorousFlowBrineCO2::PorousFlowBrineCO2(), PorousFlowWaterNCG(), PorousFlowWaterVapor::PorousFlowWaterVapor(), saturation(), PorousFlowBrineCO2::saturation(), PorousFlowWaterVapor::thermophysicalProperties(), thermophysicalProperties(), PorousFlowBrineCO2::thermophysicalProperties(), totalMassFraction(), PorousFlowBrineCO2::totalMassFraction(), twoPhaseProperties(), and PorousFlowBrineCO2::twoPhaseProperties().
|
protected |
Molar mass of water (kg/mol)
Definition at line 197 of file PorousFlowWaterNCG.h.
Referenced by moleFractionToMassFraction().
|
protected |
Molar mass of non-condensable gas (kg/mol)
Definition at line 199 of file PorousFlowWaterNCG.h.
Referenced by enthalpyOfDissolution(), and moleFractionToMassFraction().
|
protected |
Fluid properties UserObject for the NCG.
Definition at line 195 of file PorousFlowWaterNCG.h.
Referenced by gasDensity(), gasProperties(), and liquidProperties().
|
protected |
Henry's coefficients for the NCG.
Definition at line 205 of file PorousFlowWaterNCG.h.
Referenced by enthalpyOfDissolution(), and equilibriumMassFractions().
|
protectedinherited |
Maximum number of iterations for the Newton-Raphson routine.
Definition at line 77 of file PorousFlowFluidStateFlash.h.
Referenced by PorousFlowFluidStateFlash::vaporMassFraction().
|
protectedinherited |
Tolerance for Newton-Raphson iterations.
Definition at line 79 of file PorousFlowFluidStateFlash.h.
Referenced by PorousFlowFluidStateFlash::vaporMassFraction().
|
protectedinherited |
Number of components.
Definition at line 100 of file PorousFlowFluidStateBase.h.
Referenced by PorousFlowFluidStateBase::numComponents(), PorousFlowBrineCO2::PorousFlowBrineCO2(), PorousFlowWaterNCG(), PorousFlowWaterVapor::PorousFlowWaterVapor(), totalMassFraction(), and PorousFlowBrineCO2::totalMassFraction().
|
protectedinherited |
Number of phases.
Definition at line 98 of file PorousFlowFluidStateBase.h.
Referenced by PorousFlowFluidStateBase::numPhases(), PorousFlowBrineCO2::PorousFlowBrineCO2(), PorousFlowWaterNCG(), PorousFlowWaterVapor::PorousFlowWaterVapor(), totalMassFraction(), and PorousFlowBrineCO2::totalMassFraction().
|
protectedinherited |
Capillary pressure UserObject.
Definition at line 110 of file PorousFlowFluidStateBase.h.
Referenced by PorousFlowWaterVapor::thermophysicalProperties(), thermophysicalProperties(), PorousFlowBrineCO2::thermophysicalProperties(), totalMassFraction(), PorousFlowBrineCO2::totalMassFraction(), twoPhaseProperties(), and PorousFlowBrineCO2::twoPhaseProperties().
|
protectedinherited |
Index of derivative wrt pressure.
Definition at line 105 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by PorousFlowBrineCO2::equilibriumMoleFractions(), PorousFlowFluidStateMultiComponentBase::getPressureIndex(), thermophysicalProperties(), and PorousFlowBrineCO2::thermophysicalProperties().
|
protectedinherited |
Universal gas constant (J/mol/K)
Definition at line 106 of file PorousFlowFluidStateBase.h.
Referenced by enthalpyOfDissolution(), and PorousFlowBrineCO2::enthalpyOfDissolutionGas().
|
protectedinherited |
Salt component index.
Definition at line 103 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by PorousFlowFluidStateMultiComponentBase::saltComponentIndex().
|
protectedinherited |
Conversion from C to K.
Definition at line 108 of file PorousFlowFluidStateBase.h.
Referenced by PorousFlowBrineCO2::equilibriumConstantCO2(), PorousFlowBrineCO2::equilibriumConstantH2O(), PorousFlowBrineCO2::funcABHighTemp(), PorousFlowBrineCO2::henryConstant(), and PorousFlowBrineCO2::partialDensityCO2().
|
protectedinherited |
Index of derivative wrt temperature.
Definition at line 109 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by enthalpyOfDissolution(), PorousFlowBrineCO2::enthalpyOfDissolutionGas(), PorousFlowBrineCO2::equilibriumMoleFractions(), PorousFlowFluidStateMultiComponentBase::getTemperatureIndex(), thermophysicalProperties(), and PorousFlowBrineCO2::thermophysicalProperties().
|
protected |
Fluid properties UserObject for water (used to access Henry's law)
Definition at line 193 of file PorousFlowWaterNCG.h.
Referenced by enthalpyOfDissolution(), and equilibriumMassFractions().
|
protected |
Critical temperature of water (K)
Definition at line 203 of file PorousFlowWaterNCG.h.
Referenced by checkVariables().
|
protected |
Fluid properties UserObject for water.
Definition at line 191 of file PorousFlowWaterNCG.h.
Referenced by equilibriumMassFractions(), gasDensity(), gasProperties(), liquidDensity(), liquidProperties(), and PorousFlowWaterNCG().
|
protected |
Triple point temperature of water (K)
Definition at line 201 of file PorousFlowWaterNCG.h.
|
protectedinherited |
Index of derivative wrt salt mass fraction X.
Definition at line 111 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by PorousFlowBrineCO2::equilibriumMoleFractions(), PorousFlowFluidStateMultiComponentBase::getXIndex(), thermophysicalProperties(), and PorousFlowBrineCO2::thermophysicalProperties().
|
protectedinherited |
Index of derivative wrt total mass fraction Z.
Definition at line 107 of file PorousFlowFluidStateMultiComponentBase.h.
Referenced by PorousFlowFluidStateMultiComponentBase::getZIndex(), thermophysicalProperties(), and PorousFlowBrineCO2::thermophysicalProperties().