Base class Material designed to provide the porosity. More...
#include <PorousFlowPorosityExponentialBase.h>
Public Types | |
typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
PorousFlowPorosityExponentialBase (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 Real | atNegInfinityQp () const =0 |
Returns "a" at the quadpoint (porosity = a + (b - a) * exp(decay)) More... | |
virtual Real | datNegInfinityQp (unsigned pvar) const =0 |
d(a)/d(PorousFlow variable pvar) More... | |
virtual Real | atZeroQp () const =0 |
Returns "b" at the quadpoint (porosity = a + (b - a) * exp(decay)) More... | |
virtual Real | datZeroQp (unsigned pvar) const =0 |
d(a)/d(PorousFlow variable pvar) More... | |
virtual Real | decayQp () const =0 |
Returns "decay" at the quadpoint (porosity = a + (b - a) * exp(decay)) More... | |
virtual Real | ddecayQp_dvar (unsigned pvar) const =0 |
d(decay)/d(PorousFlow variable pvar) More... | |
virtual RealGradient | ddecayQp_dgradvar (unsigned pvar) const =0 |
d(decay)/d(grad(PorousFlow variable pvar)) More... | |
Protected Attributes | |
const bool | _strain_at_nearest_qp |
When calculating nodal porosity, use the strain at the nearest quadpoint to the node. More... | |
const bool | _ensure_positive |
for decayQp() > 0, porosity can be negative when using porosity = a + (b - a) * exp(decay). More... | |
GenericMaterialProperty< Real, is_ad > & | _porosity |
Computed porosity at the nodes or quadpoints. More... | |
MaterialProperty< std::vector< Real > > *const | _dporosity_dvar |
d(porosity)/d(PorousFlow variable) More... | |
MaterialProperty< std::vector< RealGradient > > *const | _dporosity_dgradvar |
d(porosity)/d(grad PorousFlow variable) More... | |
const unsigned int | _num_phases |
Number of phases. More... | |
const unsigned int | _num_components |
Number of fluid components. More... | |
const unsigned int | _num_var |
Number of PorousFlow variables. More... | |
Base class Material designed to provide the porosity.
In this class porosity = a + (b - a) * exp(decay) where a = atNegInfinityQp() b = atZeroQp() decay = decayQp() Since this expression can become negative for decay > 0, if ensure_positive = true then for decay > 0 the following expression is used instead: porosity = a + (b - a) * exp(c * (1 - Exp(- decay / c))) where c = log(a/(b-a)) This latter expression is C1 continuous at decay=0 with the former expression. It is monotonically decreasing with "decay" and is positive.
Definition at line 31 of file PorousFlowPorosityExponentialBase.h.
PorousFlowPorosityExponentialBase::PorousFlowPorosityExponentialBase | ( | const InputParameters & | parameters | ) |
Definition at line 34 of file PorousFlowPorosityExponentialBase.C.
|
protectedpure virtual |
Returns "a" at the quadpoint (porosity = a + (b - a) * exp(decay))
Implemented in PorousFlowPorosity.
Referenced by computeQpProperties(), and initQpStatefulProperties().
|
protectedpure virtual |
Returns "b" at the quadpoint (porosity = a + (b - a) * exp(decay))
Implemented in PorousFlowPorosity.
Referenced by computeQpProperties(), and initQpStatefulProperties().
|
overrideprotectedvirtual |
Reimplemented in PorousFlowPorosityHMBiotModulus.
Definition at line 61 of file PorousFlowPorosityExponentialBase.C.
|
protectedpure virtual |
d(a)/d(PorousFlow variable pvar)
Implemented in PorousFlowPorosity.
Referenced by computeQpProperties().
|
protectedpure virtual |
d(a)/d(PorousFlow variable pvar)
Implemented in PorousFlowPorosity.
Referenced by computeQpProperties().
|
protectedpure virtual |
d(decay)/d(grad(PorousFlow variable pvar))
Implemented in PorousFlowPorosity.
Referenced by computeQpProperties().
|
protectedpure virtual |
d(decay)/d(PorousFlow variable pvar)
Implemented in PorousFlowPorosity.
Referenced by computeQpProperties().
|
protectedpure virtual |
Returns "decay" at the quadpoint (porosity = a + (b - a) * exp(decay))
Implemented in PorousFlowPorosity.
Referenced by computeQpProperties(), and initQpStatefulProperties().
|
overrideprotectedvirtual |
Definition at line 43 of file PorousFlowPorosityExponentialBase.C.
|
static |
Definition at line 13 of file PorousFlowPorosityExponentialBase.C.
Referenced by PorousFlowPorosity::validParams().
|
protectedinherited |
d(porosity)/d(grad PorousFlow variable)
Definition at line 33 of file PorousFlowPorosityBase.h.
Referenced by PorousFlowPorosityLinear::computeQpProperties(), and PorousFlowPorosityHMBiotModulus::computeQpProperties().
|
protectedinherited |
d(porosity)/d(PorousFlow variable)
Definition at line 30 of file PorousFlowPorosityBase.h.
Referenced by PorousFlowPorosityLinear::computeQpProperties(), and PorousFlowPorosityHMBiotModulus::computeQpProperties().
|
protected |
for decayQp() > 0, porosity can be negative when using porosity = a + (b - a) * exp(decay).
This expression is modified if ensure_positive = true to read porosity = a + (b - a) * exp(c * (1 - Exp(- decay / c))) where c = log(a/(b-a))
Definition at line 73 of file PorousFlowPorosityExponentialBase.h.
Referenced by computeQpProperties(), and initQpStatefulProperties().
|
protectedinherited |
Number of fluid components.
Definition at line 30 of file PorousFlowMaterialVectorBase.h.
Referenced by PorousFlowMassFractionAqueousEquilibriumChemistry::computeQpProperties(), PorousFlowAqueousPreDisChemistry::PorousFlowAqueousPreDisChemistry(), PorousFlowDiffusivityBaseTempl< is_ad >::PorousFlowDiffusivityBaseTempl(), and PorousFlowMassFractionTempl< is_ad >::PorousFlowMassFractionTempl().
|
protectedinherited |
Number of phases.
Definition at line 27 of file PorousFlowMaterialVectorBase.h.
Referenced by PorousFlowDiffusivityBaseTempl< is_ad >::PorousFlowDiffusivityBaseTempl(), PorousFlowDiffusivityConstTempl< is_ad >::PorousFlowDiffusivityConstTempl(), PorousFlowJoinerTempl< is_ad >::PorousFlowJoinerTempl(), PorousFlowMassFractionTempl< is_ad >::PorousFlowMassFractionTempl(), PorousFlowThermalConductivityFromPorosityTempl< is_ad >::PorousFlowThermalConductivityFromPorosityTempl(), PorousFlowThermalConductivityIdealTempl< is_ad >::PorousFlowThermalConductivityIdealTempl(), and PorousFlowTotalGravitationalDensityFullySaturatedFromPorosity::PorousFlowTotalGravitationalDensityFullySaturatedFromPorosity().
|
protectedinherited |
Number of PorousFlow variables.
Definition at line 33 of file PorousFlowMaterialVectorBase.h.
Referenced by PorousFlowVolumetricStrain::computeQpProperties(), PorousFlowAqueousPreDisChemistry::computeQpProperties(), PorousFlowMassFractionAqueousEquilibriumChemistry::computeQpProperties(), PorousFlowPorosityLinear::computeQpProperties(), PorousFlowPorosityHMBiotModulus::computeQpProperties(), PorousFlowTotalGravitationalDensityFullySaturatedFromPorosity::computeQpProperties(), computeQpProperties(), PorousFlowAqueousPreDisChemistry::initQpStatefulProperties(), and PorousFlowPorosityLinear::initQpStatefulProperties().
|
protectedinherited |
Computed porosity at the nodes or quadpoints.
Definition at line 27 of file PorousFlowPorosityBase.h.
Referenced by PorousFlowPorosityLinear::computeQpProperties(), PorousFlowPorosityHMBiotModulus::computeQpProperties(), computeQpProperties(), PorousFlowPorosityLinear::initQpStatefulProperties(), and initQpStatefulProperties().
|
protected |
When calculating nodal porosity, use the strain at the nearest quadpoint to the node.
Definition at line 64 of file PorousFlowPorosityExponentialBase.h.
Referenced by PorousFlowPorosityHMBiotModulus::computeQpProperties(), PorousFlowPorosity::ddecayQp_dgradvar(), and PorousFlowPorosity::decayQp().