Material to calculate Brooks-Corey relative permeability of an arbitrary phase given the effective saturation and exponent of that phase. More...
#include <PorousFlowRelativePermeabilityBC.h>
Public Types | |
typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
PorousFlowRelativePermeabilityBCTempl (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 GenericReal< is_ad > | relativePermeability (GenericReal< is_ad > seff) const override |
Relative permeability equation (must be overriden in derived class) More... | |
virtual Real | dRelativePermeability (Real seff) const override |
Derivative of relative permeability with respect to effective saturation. More... | |
virtual void | computeQpProperties () override |
virtual GenericReal< is_ad > | effectiveSaturation (GenericReal< is_ad > saturation) const |
Effective saturation of fluid phase. More... | |
Protected Attributes | |
const Real | _lambda |
Brooks-Corey exponent lambda. More... | |
const bool | _is_nonwetting |
Flag that is set to true if this is the non-wetting (gas) phase. More... | |
const Real | _scaling |
Relative permeability is multiplied by this quantity. More... | |
const GenericMaterialProperty< std::vector< Real >, is_ad > & | _saturation |
Saturation material property. More... | |
GenericMaterialProperty< Real, is_ad > & | _relative_permeability |
Relative permeability material property. More... | |
MaterialProperty< Real > *const | _drelative_permeability_ds |
Derivative of relative permeability wrt phase saturation. More... | |
const Real | _s_res |
Residual saturation of specified phase. More... | |
const Real | _sum_s_res |
Sum of residual saturations over all phases. More... | |
const Real | _dseff_ds |
Derivative of effective saturation with respect to saturation. More... | |
const unsigned int | _phase_num |
Phase number of fluid. More... | |
const std::string | _phase |
Stringified fluid phase number. More... | |
Material to calculate Brooks-Corey relative permeability of an arbitrary phase given the effective saturation and exponent of that phase.
From Brooks, R. H. and A. T. Corey (1966), Properties of porous media affecting fluid flow, J. Irrig. Drain. Div., 6, 61
Definition at line 22 of file PorousFlowRelativePermeabilityBC.h.
PorousFlowRelativePermeabilityBCTempl< is_ad >::PorousFlowRelativePermeabilityBCTempl | ( | const InputParameters & | parameters | ) |
Definition at line 28 of file PorousFlowRelativePermeabilityBC.C.
|
overrideprotectedvirtualinherited |
Definition at line 65 of file PorousFlowRelativePermeabilityBase.C.
|
overrideprotectedvirtual |
Derivative of relative permeability with respect to effective saturation.
seff | effective saturation |
Implements PorousFlowRelativePermeabilityBaseTempl< is_ad >.
Definition at line 48 of file PorousFlowRelativePermeabilityBC.C.
|
protectedvirtualinherited |
Effective saturation of fluid phase.
saturation | true saturation |
Definition at line 98 of file PorousFlowRelativePermeabilityBase.C.
|
overrideprotectedvirtual |
Relative permeability equation (must be overriden in derived class)
seff | effective saturation |
Implements PorousFlowRelativePermeabilityBaseTempl< is_ad >.
Definition at line 38 of file PorousFlowRelativePermeabilityBC.C.
|
static |
Definition at line 18 of file PorousFlowRelativePermeabilityBC.C.
|
protectedinherited |
Derivative of relative permeability wrt phase saturation.
Definition at line 61 of file PorousFlowRelativePermeabilityBase.h.
|
protectedinherited |
Derivative of effective saturation with respect to saturation.
Definition at line 70 of file PorousFlowRelativePermeabilityBase.h.
|
protected |
Flag that is set to true if this is the non-wetting (gas) phase.
Definition at line 36 of file PorousFlowRelativePermeabilityBC.h.
|
protected |
Brooks-Corey exponent lambda.
Definition at line 34 of file PorousFlowRelativePermeabilityBC.h.
|
protectedinherited |
Stringified fluid phase number.
Definition at line 34 of file PorousFlowMaterialBase.h.
|
protectedinherited |
Phase number of fluid.
Definition at line 31 of file PorousFlowMaterialBase.h.
Referenced by PorousFlowBrine::computeQpProperties(), PorousFlowBrine::initQpStatefulProperties(), and PorousFlowMaterialBase::PorousFlowMaterialBase().
|
protectedinherited |
Relative permeability material property.
Definition at line 58 of file PorousFlowRelativePermeabilityBase.h.
|
protectedinherited |
Residual saturation of specified phase.
Definition at line 64 of file PorousFlowRelativePermeabilityBase.h.
Referenced by PorousFlowRelativePermeabilityBaseTempl< is_ad >::PorousFlowRelativePermeabilityBaseTempl().
|
protectedinherited |
Saturation material property.
Definition at line 55 of file PorousFlowRelativePermeabilityBase.h.
|
protectedinherited |
Relative permeability is multiplied by this quantity.
Definition at line 52 of file PorousFlowRelativePermeabilityBase.h.
|
protectedinherited |
Sum of residual saturations over all phases.
Definition at line 67 of file PorousFlowRelativePermeabilityBase.h.
Referenced by PorousFlowRelativePermeabilityBaseTempl< is_ad >::PorousFlowRelativePermeabilityBaseTempl().