Base class for thermophysical variable materials, which assemble materials for primary variables such as porepressure and saturation at the nodes and quadpoints for all phases as required. More...
#include <PorousFlowVariableBase.h>
Public Types | |
typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
PorousFlowVariableBaseTempl (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 |
Protected Attributes | |
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... | |
Base class for thermophysical variable materials, which assemble materials for primary variables such as porepressure and saturation at the nodes and quadpoints for all phases as required.
Definition at line 21 of file PorousFlowVariableBase.h.
PorousFlowVariableBaseTempl< is_ad >::PorousFlowVariableBaseTempl | ( | const InputParameters & | parameters | ) |
Definition at line 24 of file PorousFlowVariableBase.C.
|
overrideprotectedvirtual |
Reimplemented in PorousFlowFluidStateTempl< is_ad >, PorousFlowFluidStateSingleComponentTempl< is_ad >, PorousFlow2PhasePSTempl< is_ad >, PorousFlow1PhasePTempl< is_ad >, PorousFlowFluidStateBaseMaterialTempl< is_ad >, PorousFlow2PhasePPTempl< is_ad >, PorousFlow1PhaseFullySaturatedTempl< is_ad >, PorousFlow1PhaseMD_Gaussian, PorousFlowHystereticCapillaryPressure, PorousFlow1PhaseHysP, PorousFlow2PhaseHysPP, PorousFlow2PhaseHysPS, and PorousFlowHystereticInfo.
Definition at line 85 of file PorousFlowVariableBase.C.
Referenced by PorousFlow1PhaseFullySaturatedTempl< is_ad >::computeQpProperties(), PorousFlow1PhaseMD_Gaussian::computeQpProperties(), PorousFlowHystereticCapillaryPressure::computeQpProperties(), PorousFlow2PhasePPTempl< is_ad >::computeQpProperties(), PorousFlow1PhasePTempl< is_ad >::computeQpProperties(), PorousFlowFluidStateBaseMaterialTempl< is_ad >::computeQpProperties(), and PorousFlow2PhasePSTempl< is_ad >::computeQpProperties().
|
overrideprotectedvirtual |
Reimplemented in PorousFlowFluidStateTempl< is_ad >, PorousFlowFluidStateSingleComponentTempl< is_ad >, PorousFlow2PhasePSTempl< is_ad >, PorousFlow1PhasePTempl< is_ad >, PorousFlowFluidStateBaseMaterialTempl< is_ad >, PorousFlow2PhasePPTempl< is_ad >, PorousFlow1PhaseFullySaturatedTempl< is_ad >, PorousFlow1PhaseMD_Gaussian, PorousFlowHystereticCapillaryPressure, PorousFlow1PhaseHysP, PorousFlow2PhaseHysPP, PorousFlow2PhaseHysPS, and PorousFlowHystereticInfo.
Definition at line 76 of file PorousFlowVariableBase.C.
Referenced by PorousFlow1PhaseFullySaturatedTempl< is_ad >::initQpStatefulProperties(), PorousFlow1PhaseMD_Gaussian::initQpStatefulProperties(), PorousFlowHystereticCapillaryPressure::initQpStatefulProperties(), PorousFlow2PhasePPTempl< is_ad >::initQpStatefulProperties(), PorousFlow1PhasePTempl< is_ad >::initQpStatefulProperties(), PorousFlowFluidStateBaseMaterialTempl< is_ad >::initQpStatefulProperties(), and PorousFlow2PhasePSTempl< is_ad >::initQpStatefulProperties().
|
static |
Definition at line 14 of file PorousFlowVariableBase.C.
Referenced by PorousFlow1PhaseFullySaturatedTempl< is_ad >::validParams(), PorousFlow1PhaseMD_Gaussian::validParams(), PorousFlowHystereticCapillaryPressure::validParams(), PorousFlow2PhasePSTempl< is_ad >::validParams(), PorousFlow2PhasePPTempl< is_ad >::validParams(), PorousFlowFluidStateBaseMaterialTempl< is_ad >::validParams(), and PorousFlow1PhasePTempl< is_ad >::validParams().
|
protected |
d(grad porepressure)/d(grad PorousFlow variable) at the quadpoints
Definition at line 51 of file PorousFlowVariableBase.h.
|
protected |
d(grad porepressure)/d(PorousFlow variable) at the quadpoints
Definition at line 54 of file PorousFlowVariableBase.h.
|
protected |
d(grad saturation)/d(grad PorousFlow variable) at the quadpoints
Definition at line 66 of file PorousFlowVariableBase.h.
|
protected |
d(grad saturation)/d(PorousFlow variable) at the quadpoints
Definition at line 69 of file PorousFlowVariableBase.h.
|
protected |
d(porepressure)/d(PorousFlow variable)
Definition at line 45 of file PorousFlowVariableBase.h.
|
protected |
d(saturation)/d(PorousFlow variable)
Definition at line 60 of file PorousFlowVariableBase.h.
|
protected |
Grad(p) at the quadpoints.
Definition at line 48 of file PorousFlowVariableBase.h.
|
protected |
Grad(s) at the quadpoints.
Definition at line 63 of file PorousFlowVariableBase.h.
|
protected |
Number of components.
Definition at line 36 of file PorousFlowVariableBase.h.
Referenced by PorousFlowFluidStateBaseMaterialTempl< is_ad >::PorousFlowFluidStateBaseMaterialTempl().
|
protected |
Number of PorousFlow variables.
Definition at line 39 of file PorousFlowVariableBase.h.
|
protected |
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().
|
protected |
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 |
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().