Material to calculate Corey-type relative permeability of an arbitrary phase given the effective saturation and Corey exponent of that phase. More...
#include <PorousFlowRelativePermeabilityCorey.h>
Public Types | |
typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
PorousFlowRelativePermeabilityCoreyTempl (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 | _n |
Corey exponent n for the specified 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 Corey-type relative permeability of an arbitrary phase given the effective saturation and Corey exponent of that phase.
From Corey, A. T., The interrelation between gas and oil relative permeabilities, Prod. Month. 38-41 (1954)
Definition at line 22 of file PorousFlowRelativePermeabilityCorey.h.
PorousFlowRelativePermeabilityCoreyTempl< is_ad >::PorousFlowRelativePermeabilityCoreyTempl | ( | const InputParameters & | parameters | ) |
Definition at line 27 of file PorousFlowRelativePermeabilityCorey.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 43 of file PorousFlowRelativePermeabilityCorey.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 36 of file PorousFlowRelativePermeabilityCorey.C.
|
static |
Definition at line 17 of file PorousFlowRelativePermeabilityCorey.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 |
Corey exponent n for the specified phase.
Definition at line 35 of file PorousFlowRelativePermeabilityCorey.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().