Material designed to provide the permeability tensor which is calculated from porosity using a form of the Kozeny-Carman equation (e.g. More...
#include <PorousFlowPermeabilityKozenyCarman.h>
Public Types | |
typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
PorousFlowPermeabilityKozenyCarmanTempl (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 Types | |
enum | PoropermFunction { PoropermFunction::kozeny_carman_fd2, PoropermFunction::kozeny_carman_phi0, PoropermFunction::kozeny_carman_A } |
Name of porosity-permeability relationship. More... | |
Protected Member Functions | |
Real | computeA () const override |
retrieve constant value for A computed in constructor More... | |
void | computeQpProperties () override |
Protected Attributes | |
const Real | _k0 |
Reference scalar permeability in A = k0 * (1 - phi0)^m / phi0^n. More... | |
const Real | _phi0 |
Reference porosity in A = k0 * (1 - phi0)^m / phi0^n. More... | |
const Real | _f |
Multiplying factor in A = f * d^2. More... | |
const Real | _d |
Grain diameter in A = f * d^2. More... | |
enum PorousFlowPermeabilityKozenyCarmanTempl::PoropermFunction | _poroperm_function |
Real | _A |
Multiplying factor in k = k_ijk * A * phi^n / (1 - phi)^m. More... | |
usingPorousFlowPermeabilityBaseMembers | |
const Real | _m |
Exponent in k = k_ijk * A * phi^n / (1 - phi)^m. More... | |
const Real | _n |
Exponent in k = k_ijk * A * phi^n / (1 - phi)^m. More... | |
const RealTensorValue | _k_anisotropy |
Tensor multiplier k_ijk in k = k_ijk * A * phi^n / (1 - phi)^m. More... | |
const GenericMaterialProperty< Real, is_ad > & | _porosity_qp |
Quadpoint porosity. More... | |
const MaterialProperty< std::vector< Real > > *const | _dporosity_qp_dvar |
d(quadpoint porosity)/d(PorousFlow variable) More... | |
const MaterialProperty< std::vector< RealGradient > > *const | _dporosity_qp_dgradvar |
d(quadpoint porosity)/d(grad(PorousFlow variable)) More... | |
GenericMaterialProperty< RealTensorValue, is_ad > & | _permeability_qp |
Quadpoint permeability. More... | |
MaterialProperty< std::vector< RealTensorValue > > *const | _dpermeability_qp_dvar |
d(quadpoint permeability)/d(PorousFlow variable) More... | |
MaterialProperty< std::vector< std::vector< RealTensorValue > > > *const | _dpermeability_qp_dgradvar |
d(quadpoint permeability)/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... | |
Material designed to provide the permeability tensor which is calculated from porosity using a form of the Kozeny-Carman equation (e.g.
Oelkers 1996: Reviews in Mineralogy v. 34, p. 131-192): k = k_ijk * A * phi^n / (1 - phi)^m where k_ijk is a tensor providing the anisotropy, phi is porosity, n and m are positive scalar constants. A is constant and is given in one of the following forms: A = k0 * (1 - phi0)^m / phi0^n where k0 and phi0 are a reference permeability and porosity, or A = f * d^2 where f is a scalar constant and d is grain diameter.
Definition at line 29 of file PorousFlowPermeabilityKozenyCarman.h.
|
strongprotected |
Name of porosity-permeability relationship.
Enumerator | |
---|---|
kozeny_carman_fd2 | |
kozeny_carman_phi0 | |
kozeny_carman_A |
Definition at line 54 of file PorousFlowPermeabilityKozenyCarman.h.
PorousFlowPermeabilityKozenyCarmanTempl< is_ad >::PorousFlowPermeabilityKozenyCarmanTempl | ( | const InputParameters & | parameters | ) |
Definition at line 55 of file PorousFlowPermeabilityKozenyCarman.C.
|
overrideprotectedvirtual |
retrieve constant value for A computed in constructor
Implements PorousFlowPermeabilityKozenyCarmanBaseTempl< is_ad >.
Definition at line 109 of file PorousFlowPermeabilityKozenyCarman.C.
|
overrideprotectedinherited |
Definition at line 56 of file PorousFlowPermeabilityKozenyCarmanBase.C.
|
static |
Definition at line 17 of file PorousFlowPermeabilityKozenyCarman.C.
|
protected |
Multiplying factor in k = k_ijk * A * phi^n / (1 - phi)^m.
Definition at line 61 of file PorousFlowPermeabilityKozenyCarman.h.
Referenced by PorousFlowPermeabilityKozenyCarmanTempl< is_ad >::PorousFlowPermeabilityKozenyCarmanTempl().
|
protected |
Grain diameter in A = f * d^2.
Definition at line 51 of file PorousFlowPermeabilityKozenyCarman.h.
Referenced by PorousFlowPermeabilityKozenyCarmanTempl< is_ad >::PorousFlowPermeabilityKozenyCarmanTempl().
|
protectedinherited |
d(quadpoint permeability)/d(grad(PorousFlow variable))
Definition at line 33 of file PorousFlowPermeabilityBase.h.
|
protectedinherited |
d(quadpoint permeability)/d(PorousFlow variable)
Definition at line 30 of file PorousFlowPermeabilityBase.h.
|
protectedinherited |
d(quadpoint porosity)/d(grad(PorousFlow variable))
Definition at line 53 of file PorousFlowPermeabilityKozenyCarmanBase.h.
|
protectedinherited |
d(quadpoint porosity)/d(PorousFlow variable)
Definition at line 50 of file PorousFlowPermeabilityKozenyCarmanBase.h.
|
protected |
Multiplying factor in A = f * d^2.
Definition at line 48 of file PorousFlowPermeabilityKozenyCarman.h.
Referenced by PorousFlowPermeabilityKozenyCarmanTempl< is_ad >::PorousFlowPermeabilityKozenyCarmanTempl().
|
protected |
Reference scalar permeability in A = k0 * (1 - phi0)^m / phi0^n.
Definition at line 42 of file PorousFlowPermeabilityKozenyCarman.h.
Referenced by PorousFlowPermeabilityKozenyCarmanTempl< is_ad >::PorousFlowPermeabilityKozenyCarmanTempl().
|
protectedinherited |
Tensor multiplier k_ijk in k = k_ijk * A * phi^n / (1 - phi)^m.
Definition at line 44 of file PorousFlowPermeabilityKozenyCarmanBase.h.
|
protectedinherited |
Exponent in k = k_ijk * A * phi^n / (1 - phi)^m.
Definition at line 38 of file PorousFlowPermeabilityKozenyCarmanBase.h.
Referenced by PorousFlowPermeabilityKozenyCarmanTempl< is_ad >::PorousFlowPermeabilityKozenyCarmanTempl().
|
protectedinherited |
Exponent in k = k_ijk * A * phi^n / (1 - phi)^m.
Definition at line 41 of file PorousFlowPermeabilityKozenyCarmanBase.h.
Referenced by PorousFlowPermeabilityKozenyCarmanTempl< is_ad >::PorousFlowPermeabilityKozenyCarmanTempl().
|
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(), PorousFlowPorosityExponentialBase::computeQpProperties(), PorousFlowAqueousPreDisChemistry::initQpStatefulProperties(), and PorousFlowPorosityLinear::initQpStatefulProperties().
|
protectedinherited |
Quadpoint permeability.
Definition at line 27 of file PorousFlowPermeabilityBase.h.
|
protected |
Reference porosity in A = k0 * (1 - phi0)^m / phi0^n.
Definition at line 45 of file PorousFlowPermeabilityKozenyCarman.h.
Referenced by PorousFlowPermeabilityKozenyCarmanTempl< is_ad >::PorousFlowPermeabilityKozenyCarmanTempl().
|
protected |
|
protectedinherited |
Quadpoint porosity.
Definition at line 47 of file PorousFlowPermeabilityKozenyCarmanBase.h.
|
protected |
Definition at line 63 of file PorousFlowPermeabilityKozenyCarman.h.