Fluid state class using a persistent set of primary variables for the mutliphase, single component case. More...
#include <PorousFlowFluidStateSingleComponent.h>
Public Types | |
typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
PorousFlowFluidStateSingleComponentTempl (const InputParameters ¶meters) | |
const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialProperty (const std::string &name) |
const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialPropertyByName (const std::string &name) |
void | validateDerivativeMaterialPropertyBase (const std::string &base) |
const MaterialPropertyName | derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
const MaterialPropertyName | derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
const MaterialPropertyName | derivativePropertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
const MaterialPropertyName | derivativePropertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Member Functions | |
virtual void | initQpStatefulProperties () override |
virtual void | computeQpProperties () override |
virtual void | thermophysicalProperties () override |
Calculates all required thermophysical properties and derivatives for each phase and fluid component. More... | |
virtual void | setMaterialVectorSize () const override |
Size material property vectors and initialise with zeros. More... | |
GenericReal< is_ad > | genericValue (const ADReal &value) |
Templated method that takes an ADReal value, and returns the raw value when is_ad = false, and the AD value when is_ad = true. More... | |
template<> | |
GenericReal< false > | genericValue (const ADReal &value) |
template<> | |
GenericReal< true > | genericValue (const ADReal &value) |
Protected Attributes | |
const GenericVariableValue< is_ad > & | _liquid_porepressure |
Porepressure. More... | |
const GenericVariableGradient< is_ad > & | _liquid_gradp_qp |
Gradient of porepressure (only defined at the qps) More... | |
const unsigned int | _liquid_porepressure_varnum |
Moose variable number of the porepressure. More... | |
const unsigned int | _pvar |
PorousFlow variable number of the porepressure. More... | |
const GenericVariableValue< is_ad > & | _enthalpy |
Enthalpy. More... | |
const GenericVariableGradient< is_ad > & | _gradh_qp |
Gradient of enthalpy (only defined at the qps) More... | |
const unsigned int | _enthalpy_varnum |
Moose variable number of the enthalpy. More... | |
const unsigned int | _hvar |
PorousFlow variable number of the enthalpy. More... | |
const PorousFlowFluidStateSingleComponentBase & | _fs |
FluidState UserObject. More... | |
const unsigned int | _aqueous_phase_number |
Phase number of the aqueous phase. More... | |
const unsigned int | _gas_phase_number |
Phase number of the gas phase. More... | |
GenericMaterialProperty< Real, is_ad > & | _temperature |
Temperature. More... | |
GenericMaterialProperty< RealGradient, is_ad > *const | _grad_temperature_qp |
Gradient of temperature (only defined at the qps) More... | |
MaterialProperty< std::vector< Real > > *const | _dtemperature_dvar |
Derivative of temperature wrt PorousFlow variables. More... | |
MaterialProperty< std::vector< Real > > *const | _dgrad_temperature_dgradv |
d(grad temperature)/d(grad PorousFlow variable) at the quadpoints More... | |
MaterialProperty< std::vector< RealGradient > > *const | _dgrad_temperature_dv |
d(grad temperature)/d(PorousFlow variable) at the quadpoints More... | |
const unsigned int | _pidx |
Index of derivative wrt pressure. More... | |
const unsigned int | _hidx |
Index of derivative wrt enthalpy. More... | |
usingPorousFlowFluidStateBaseMaterialMembers | |
usingPorousFlowFluidStateBaseMaterialDerivativeMembers | |
const Real | _T_c2k |
Conversion from degrees Celsius to degrees Kelvin. More... | |
bool | _is_initqp |
Flag to indicate whether stateful properties should be computed. More... | |
std::vector< FluidStateProperties > | _fsp |
FluidStateProperties data for each fluid component in each fluid phase. More... | |
const PorousFlowCapillaryPressure & | _pc |
Capillary pressure UserObject. More... | |
const std::string | _sfx |
Suffix to append to material property names (either qp or nodal as required) More... | |
GenericMaterialProperty< std::vector< std::vector< Real > >, is_ad > & | _mass_frac |
Mass fraction matrix (indexing is fluid component in fluid phase) More... | |
GenericMaterialProperty< std::vector< std::vector< RealGradient > >, is_ad > *const | _grad_mass_frac_qp |
Gradient of the mass fraction matrix (only defined at the qps) More... | |
MaterialProperty< std::vector< std::vector< std::vector< Real > > > > *const | _dmass_frac_dvar |
Derivative of the mass fraction matrix with respect to the Porous Flow variables. More... | |
GenericMaterialProperty< std::vector< Real >, is_ad > & | _fluid_density |
Fluid density of each phase. More... | |
MaterialProperty< std::vector< std::vector< Real > > > *const | _dfluid_density_dvar |
Derivative of the fluid density for each phase wrt PorousFlow variables. More... | |
GenericMaterialProperty< std::vector< Real >, is_ad > & | _fluid_viscosity |
Viscosity of each phase. More... | |
MaterialProperty< std::vector< std::vector< Real > > > *const | _dfluid_viscosity_dvar |
Derivative of the fluid viscosity for each phase wrt PorousFlow variables. More... | |
GenericMaterialProperty< std::vector< Real >, is_ad > & | _fluid_enthalpy |
Enthalpy of each phase. More... | |
MaterialProperty< std::vector< std::vector< Real > > > *const | _dfluid_enthalpy_dvar |
Derivative of the fluid enthalpy for each phase wrt PorousFlow variables. More... | |
GenericMaterialProperty< std::vector< Real >, is_ad > & | _fluid_internal_energy |
Internal energy of each phase. More... | |
MaterialProperty< std::vector< std::vector< Real > > > *const | _dfluid_internal_energy_dvar |
Derivative of the fluid internal energy for each phase wrt PorousFlow variables. More... | |
usingPorousFlowVariableBaseMembers | |
const unsigned int | _num_phases |
Number of phases. More... | |
const unsigned int | _num_components |
Number of components. More... | |
const unsigned int | _num_pf_vars |
Number of PorousFlow variables. More... | |
GenericMaterialProperty< std::vector< Real >, is_ad > & | _porepressure |
Computed nodal or quadpoint values of porepressure of the phases. More... | |
MaterialProperty< std::vector< std::vector< Real > > > *const | _dporepressure_dvar |
d(porepressure)/d(PorousFlow variable) More... | |
GenericMaterialProperty< std::vector< RealGradient >, is_ad > *const | _gradp_qp |
Grad(p) at the quadpoints. More... | |
MaterialProperty< std::vector< std::vector< Real > > > *const | _dgradp_qp_dgradv |
d(grad porepressure)/d(grad PorousFlow variable) at the quadpoints More... | |
MaterialProperty< std::vector< std::vector< RealGradient > > > *const | _dgradp_qp_dv |
d(grad porepressure)/d(PorousFlow variable) at the quadpoints More... | |
GenericMaterialProperty< std::vector< Real >, is_ad > & | _saturation |
Computed nodal or qp saturation of the phases. More... | |
MaterialProperty< std::vector< std::vector< Real > > > *const | _dsaturation_dvar |
d(saturation)/d(PorousFlow variable) More... | |
GenericMaterialProperty< std::vector< RealGradient >, is_ad > *const | _grads_qp |
Grad(s) at the quadpoints. More... | |
MaterialProperty< std::vector< std::vector< Real > > > *const | _dgrads_qp_dgradv |
d(grad saturation)/d(grad PorousFlow variable) at the quadpoints More... | |
MaterialProperty< std::vector< std::vector< RealGradient > > > *const | _dgrads_qp_dv |
d(grad saturation)/d(PorousFlow variable) at the quadpoints More... | |
Fluid state class using a persistent set of primary variables for the mutliphase, single component case.
Primary variables are: liquid pressure and enthalpy.
The PorousFlow kernels expect saturation and mass fractions (as well as pressure and temperature), so these must be calculated from the primary variables once the state of the system is determined.
Definition at line 28 of file PorousFlowFluidStateSingleComponent.h.
PorousFlowFluidStateSingleComponentTempl< is_ad >::PorousFlowFluidStateSingleComponentTempl | ( | const InputParameters & | parameters | ) |
Definition at line 31 of file PorousFlowFluidStateSingleComponent.C.
|
overrideprotectedvirtual |
Reimplemented from PorousFlowFluidStateBaseMaterialTempl< is_ad >.
Definition at line 109 of file PorousFlowFluidStateSingleComponent.C.
|
protectedinherited |
Templated method that takes an ADReal value, and returns the raw value when is_ad = false, and the AD value when is_ad = true.
value | AD value |
|
protectedinherited |
Definition at line 76 of file PorousFlowFluidStateBaseMaterial.C.
|
protectedinherited |
Definition at line 83 of file PorousFlowFluidStateBaseMaterial.C.
|
overrideprotectedvirtual |
Reimplemented from PorousFlowFluidStateBaseMaterialTempl< is_ad >.
Definition at line 92 of file PorousFlowFluidStateSingleComponent.C.
|
overrideprotectedvirtual |
Size material property vectors and initialise with zeros.
Reimplemented from PorousFlowFluidStateBaseMaterialTempl< is_ad >.
Definition at line 266 of file PorousFlowFluidStateSingleComponent.C.
|
overrideprotectedvirtual |
Calculates all required thermophysical properties and derivatives for each phase and fluid component.
Implements PorousFlowFluidStateBaseMaterialTempl< is_ad >.
Definition at line 84 of file PorousFlowFluidStateSingleComponent.C.
|
static |
Definition at line 18 of file PorousFlowFluidStateSingleComponent.C.
|
protected |
Phase number of the aqueous phase.
Definition at line 60 of file PorousFlowFluidStateSingleComponent.h.
|
protectedinherited |
Derivative of the fluid density for each phase wrt PorousFlow variables.
Definition at line 70 of file PorousFlowFluidStateBaseMaterial.h.
|
protectedinherited |
Derivative of the fluid enthalpy for each phase wrt PorousFlow variables.
Definition at line 78 of file PorousFlowFluidStateBaseMaterial.h.
|
protectedinherited |
Derivative of the fluid internal energy for each phase wrt PorousFlow variables.
Definition at line 82 of file PorousFlowFluidStateBaseMaterial.h.
|
protectedinherited |
Derivative of the fluid viscosity for each phase wrt PorousFlow variables.
Definition at line 74 of file PorousFlowFluidStateBaseMaterial.h.
|
protected |
d(grad temperature)/d(grad PorousFlow variable) at the quadpoints
Definition at line 70 of file PorousFlowFluidStateSingleComponent.h.
|
protected |
d(grad temperature)/d(PorousFlow variable) at the quadpoints
Definition at line 72 of file PorousFlowFluidStateSingleComponent.h.
|
protectedinherited |
d(grad porepressure)/d(grad PorousFlow variable) at the quadpoints
Definition at line 51 of file PorousFlowVariableBase.h.
|
protectedinherited |
d(grad porepressure)/d(PorousFlow variable) at the quadpoints
Definition at line 54 of file PorousFlowVariableBase.h.
|
protectedinherited |
d(grad saturation)/d(grad PorousFlow variable) at the quadpoints
Definition at line 66 of file PorousFlowVariableBase.h.
|
protectedinherited |
d(grad saturation)/d(PorousFlow variable) at the quadpoints
Definition at line 69 of file PorousFlowVariableBase.h.
|
protectedinherited |
Derivative of the mass fraction matrix with respect to the Porous Flow variables.
Definition at line 66 of file PorousFlowFluidStateBaseMaterial.h.
|
protectedinherited |
d(porepressure)/d(PorousFlow variable)
Definition at line 45 of file PorousFlowVariableBase.h.
|
protectedinherited |
d(saturation)/d(PorousFlow variable)
Definition at line 60 of file PorousFlowVariableBase.h.
|
protected |
Derivative of temperature wrt PorousFlow variables.
Definition at line 68 of file PorousFlowFluidStateSingleComponent.h.
|
protected |
Enthalpy.
Definition at line 50 of file PorousFlowFluidStateSingleComponent.h.
|
protected |
Moose variable number of the enthalpy.
Definition at line 54 of file PorousFlowFluidStateSingleComponent.h.
|
protectedinherited |
Fluid density of each phase.
Definition at line 68 of file PorousFlowFluidStateBaseMaterial.h.
|
protectedinherited |
Enthalpy of each phase.
Definition at line 76 of file PorousFlowFluidStateBaseMaterial.h.
|
protectedinherited |
Internal energy of each phase.
Definition at line 80 of file PorousFlowFluidStateBaseMaterial.h.
|
protectedinherited |
Viscosity of each phase.
Definition at line 72 of file PorousFlowFluidStateBaseMaterial.h.
|
protected |
FluidState UserObject.
Definition at line 58 of file PorousFlowFluidStateSingleComponent.h.
Referenced by PorousFlowFluidStateSingleComponentTempl< is_ad >::PorousFlowFluidStateSingleComponentTempl().
|
protectedinherited |
FluidStateProperties data for each fluid component in each fluid phase.
Definition at line 55 of file PorousFlowFluidStateBaseMaterial.h.
Referenced by PorousFlowFluidStateBaseMaterialTempl< is_ad >::PorousFlowFluidStateBaseMaterialTempl().
|
protected |
Phase number of the gas phase.
Definition at line 62 of file PorousFlowFluidStateSingleComponent.h.
|
protectedinherited |
Gradient of the mass fraction matrix (only defined at the qps)
Definition at line 64 of file PorousFlowFluidStateBaseMaterial.h.
|
protected |
Gradient of temperature (only defined at the qps)
Definition at line 66 of file PorousFlowFluidStateSingleComponent.h.
|
protected |
Gradient of enthalpy (only defined at the qps)
Definition at line 52 of file PorousFlowFluidStateSingleComponent.h.
|
protectedinherited |
Grad(p) at the quadpoints.
Definition at line 48 of file PorousFlowVariableBase.h.
|
protectedinherited |
Grad(s) at the quadpoints.
Definition at line 63 of file PorousFlowVariableBase.h.
|
protected |
Index of derivative wrt enthalpy.
Definition at line 76 of file PorousFlowFluidStateSingleComponent.h.
|
protected |
PorousFlow variable number of the enthalpy.
Definition at line 56 of file PorousFlowFluidStateSingleComponent.h.
|
protectedinherited |
Flag to indicate whether stateful properties should be computed.
Definition at line 53 of file PorousFlowFluidStateBaseMaterial.h.
|
protected |
Gradient of porepressure (only defined at the qps)
Definition at line 44 of file PorousFlowFluidStateSingleComponent.h.
|
protected |
Porepressure.
Definition at line 42 of file PorousFlowFluidStateSingleComponent.h.
|
protected |
Moose variable number of the porepressure.
Definition at line 46 of file PorousFlowFluidStateSingleComponent.h.
|
protectedinherited |
Mass fraction matrix (indexing is fluid component in fluid phase)
Definition at line 62 of file PorousFlowFluidStateBaseMaterial.h.
|
protectedinherited |
Number of components.
Definition at line 36 of file PorousFlowVariableBase.h.
Referenced by PorousFlowFluidStateBaseMaterialTempl< is_ad >::PorousFlowFluidStateBaseMaterialTempl().
|
protectedinherited |
Number of PorousFlow variables.
Definition at line 39 of file PorousFlowVariableBase.h.
|
protectedinherited |
Number of phases.
Definition at line 33 of file PorousFlowVariableBase.h.
Referenced by PorousFlow2PhaseHysPS::computeQpProperties(), PorousFlow1PhaseFullySaturatedTempl< is_ad >::PorousFlow1PhaseFullySaturatedTempl(), PorousFlow1PhaseHysP::PorousFlow1PhaseHysP(), PorousFlow1PhaseMD_Gaussian::PorousFlow1PhaseMD_Gaussian(), PorousFlow1PhasePTempl< is_ad >::PorousFlow1PhasePTempl(), PorousFlow2PhaseHysPP::PorousFlow2PhaseHysPP(), PorousFlow2PhaseHysPS::PorousFlow2PhaseHysPS(), PorousFlow2PhasePPTempl< is_ad >::PorousFlow2PhasePPTempl(), PorousFlowFluidStateBaseMaterialTempl< is_ad >::PorousFlowFluidStateBaseMaterialTempl(), PorousFlowFluidStateSingleComponentTempl< is_ad >::PorousFlowFluidStateSingleComponentTempl(), and PorousFlowFluidStateTempl< is_ad >::PorousFlowFluidStateTempl().
|
protectedinherited |
Capillary pressure UserObject.
Definition at line 57 of file PorousFlowFluidStateBaseMaterial.h.
|
protected |
Index of derivative wrt pressure.
Definition at line 74 of file PorousFlowFluidStateSingleComponent.h.
|
protectedinherited |
Computed nodal or quadpoint values of porepressure of the phases.
Definition at line 42 of file PorousFlowVariableBase.h.
Referenced by PorousFlow1PhaseMD_Gaussian::buildPS(), PorousFlow1PhaseHysP::buildQpPPSS(), PorousFlow2PhaseHysPS::buildQpPPSS(), PorousFlow2PhaseHysPP::buildQpPPSS(), and PorousFlow1PhaseMD_Gaussian::computeQpProperties().
|
protected |
PorousFlow variable number of the porepressure.
Definition at line 48 of file PorousFlowFluidStateSingleComponent.h.
|
protectedinherited |
Computed nodal or qp saturation of the phases.
Definition at line 57 of file PorousFlowVariableBase.h.
Referenced by PorousFlow1PhaseMD_Gaussian::buildPS(), PorousFlow1PhaseHysP::buildQpPPSS(), PorousFlow2PhaseHysPS::buildQpPPSS(), PorousFlow2PhaseHysPP::buildQpPPSS(), PorousFlowHystereticInfo::computeQpProperties(), PorousFlow1PhaseMD_Gaussian::computeQpProperties(), and PorousFlowHystereticInfo::initQpStatefulProperties().
|
protectedinherited |
Suffix to append to material property names (either qp or nodal as required)
Definition at line 59 of file PorousFlowFluidStateBaseMaterial.h.
|
protectedinherited |
Conversion from degrees Celsius to degrees Kelvin.
Definition at line 51 of file PorousFlowFluidStateBaseMaterial.h.
|
protected |
Temperature.
Definition at line 64 of file PorousFlowFluidStateSingleComponent.h.
|
protected |
Definition at line 81 of file PorousFlowFluidStateSingleComponent.h.
|
protected |
Definition at line 79 of file PorousFlowFluidStateSingleComponent.h.
|
protectedinherited |
Definition at line 84 of file PorousFlowFluidStateBaseMaterial.h.