55 std::vector<FluidStateProperties>
_fsp;
89#define usingPorousFlowFluidStateBaseMaterialMembers \
90 usingPorousFlowVariableBaseMembers; \
91 using Coupleable::coupledComponents; \
92 using Coupleable::getFieldVar; \
93 using Coupleable::isCoupled; \
94 using PorousFlowVariableBaseTempl<is_ad>::name; \
95 using PorousFlowVariableBaseTempl<is_ad>::_num_components; \
96 using PorousFlowVariableBaseTempl<is_ad>::_num_pf_vars; \
97 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_T_c2k; \
98 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_fsp; \
99 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_sfx; \
100 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_pc; \
101 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_is_initqp; \
102 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::genericValue; \
103 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::setMaterialVectorSize; \
104 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_mass_frac; \
105 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_grad_mass_frac_qp; \
106 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_fluid_density; \
107 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_fluid_viscosity; \
108 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_fluid_enthalpy; \
109 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_fluid_internal_energy
111#define usingPorousFlowFluidStateBaseMaterialDerivativeMembers \
112 usingPorousFlowFluidStateBaseMaterialMembers; \
113 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_dmass_frac_dvar; \
114 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_dfluid_density_dvar; \
115 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_dfluid_viscosity_dvar; \
116 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_dfluid_enthalpy_dvar; \
117 using PorousFlowFluidStateBaseMaterialTempl<is_ad>::_dfluid_internal_energy_dvar
DualNumber< Real, DNDerivativeType, true > ADReal
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Moose::GenericType< Real, is_ad > GenericReal
Base class for capillary pressure for multiphase flow in porous media.
Fluid state base class using a persistent set of primary variables for multiphase,...
usingPorousFlowVariableBaseMembers
GenericMaterialProperty< std::vector< Real >, is_ad > & _fluid_internal_energy
Internal energy of each phase.
MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_internal_energy_dvar
Derivative of the fluid internal energy for each phase wrt PorousFlow variables.
GenericMaterialProperty< std::vector< std::vector< RealGradient > >, is_ad > *const _grad_mass_frac_qp
Gradient of the mass fraction matrix (only defined at the qps)
GenericMaterialProperty< std::vector< Real >, is_ad > & _fluid_density
Fluid density of each phase.
bool _is_initqp
Flag to indicate whether stateful properties should be computed.
GenericMaterialProperty< std::vector< std::vector< Real > >, is_ad > & _mass_frac
Mass fraction matrix (indexing is fluid component in fluid phase)
GenericMaterialProperty< std::vector< Real >, is_ad > & _fluid_enthalpy
Enthalpy of each phase.
MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_viscosity_dvar
Derivative of the fluid viscosity for each phase wrt PorousFlow variables.
virtual void initQpStatefulProperties() override
GenericReal< is_ad > genericValue(const ADReal &value)
Templated method that takes an ADReal value, and returns the raw value when is_ad = false,...
const std::string _sfx
Suffix to append to material property names (either qp or nodal as required)
MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_density_dvar
Derivative of the fluid density for each phase wrt PorousFlow variables.
virtual void setMaterialVectorSize() const
Size material property vectors and initialise with zeros.
const PorousFlowCapillaryPressure & _pc
Capillary pressure UserObject.
MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_enthalpy_dvar
Derivative of the fluid enthalpy for each phase wrt PorousFlow variables.
std::vector< FluidStateProperties > _fsp
FluidStateProperties data for each fluid component in each fluid phase.
virtual void thermophysicalProperties()=0
Calculates all required thermophysical properties and derivatives for each phase and fluid component.
virtual void computeQpProperties() override
GenericMaterialProperty< std::vector< Real >, is_ad > & _fluid_viscosity
Viscosity of each phase.
static InputParameters validParams()
const Real _T_c2k
Conversion from degrees Celsius to degrees Kelvin.
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.
Base class for thermophysical variable materials, which assemble materials for primary variables such...
const unsigned int _num_pf_vars
Number of PorousFlow variables.
const unsigned int _num_components
Number of components.