www.mooseframework.org
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PorousFlowConstantThermalExpansionCoefficient Class Reference

Material designed to provide a time-invariant volumetric thermal expansion coefficient A = * (alpha - phi) * alT + phi * alF . More...

#include <PorousFlowConstantThermalExpansionCoefficient.h>

Inheritance diagram for PorousFlowConstantThermalExpansionCoefficient:
[legend]

Public Types

typedef DerivativeMaterialPropertyNameInterface::SymbolName SymbolName
 

Public Member Functions

 PorousFlowConstantThermalExpansionCoefficient (const InputParameters &parameters)
 
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 Real _biot_coefficient
 Biot coefficient. More...
 
const Real _fluid_coefficient
 Fluid volumetric thermal expansion coefficient. More...
 
const Real _drained_coefficient
 Drained porous-skeleton volumetric thermal expansion coefficient. More...
 
const MaterialProperty< Real > & _porosity
 porosity at the nodes or quadpoints. Only the initial value is ever used More...
 
MaterialProperty< Real > & _coeff
 Computed volumetric thermal expansion coefficient. More...
 
const MaterialProperty< Real > & _coeff_old
 Old value of the volumetric thermal expansion coefficient. This variable is necessary in order to keep the thermal expansion coefficient constant even if porosity is changing. 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...
 

Detailed Description

Material designed to provide a time-invariant volumetric thermal expansion coefficient A = * (alpha - phi) * alT + phi * alF .

Here alpha = Biot coefficient (assumed constant) phi = initial value of porosity alT = drained volumetric thermal expansion coefficient (assumed constant) alF = fluid volumetric thermal expansion coefficient (assumed constant)

Definition at line 24 of file PorousFlowConstantThermalExpansionCoefficient.h.

Constructor & Destructor Documentation

◆ PorousFlowConstantThermalExpansionCoefficient()

PorousFlowConstantThermalExpansionCoefficient::PorousFlowConstantThermalExpansionCoefficient ( const InputParameters parameters)

Definition at line 35 of file PorousFlowConstantThermalExpansionCoefficient.C.

37  : PorousFlowMaterialVectorBase(parameters),
38  _biot_coefficient(getParam<Real>("biot_coefficient")),
39  _fluid_coefficient(getParam<Real>("fluid_coefficient")),
40  _drained_coefficient(getParam<Real>("drained_coefficient")),
41  _porosity(_nodal_material ? getMaterialProperty<Real>("PorousFlow_porosity_nodal")
42  : getMaterialProperty<Real>("PorousFlow_porosity_qp")),
43  _coeff(_nodal_material
44  ? declareProperty<Real>("PorousFlow_constant_thermal_expansion_coefficient_nodal")
45  : declareProperty<Real>("PorousFlow_constant_thermal_expansion_coefficient_qp")),
46  _coeff_old(_nodal_material ? getMaterialPropertyOld<Real>(
47  "PorousFlow_constant_thermal_expansion_coefficient_nodal")
48  : getMaterialPropertyOld<Real>(
49  "PorousFlow_constant_thermal_expansion_coefficient_qp"))
50 {
51 }
MaterialProperty< Real > & _coeff
Computed volumetric thermal expansion coefficient.
const Real _drained_coefficient
Drained porous-skeleton volumetric thermal expansion coefficient.
const Real _fluid_coefficient
Fluid volumetric thermal expansion coefficient.
PorousFlowMaterialVectorBase(const InputParameters &parameters)
const MaterialProperty< Real > & _coeff_old
Old value of the volumetric thermal expansion coefficient. This variable is necessary in order to kee...
const MaterialProperty< Real > & _porosity
porosity at the nodes or quadpoints. Only the initial value is ever used

Member Function Documentation

◆ computeQpProperties()

void PorousFlowConstantThermalExpansionCoefficient::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 61 of file PorousFlowConstantThermalExpansionCoefficient.C.

62 {
63  _coeff[_qp] = _coeff_old[_qp];
64 }
MaterialProperty< Real > & _coeff
Computed volumetric thermal expansion coefficient.
const MaterialProperty< Real > & _coeff_old
Old value of the volumetric thermal expansion coefficient. This variable is necessary in order to kee...

◆ initQpStatefulProperties()

void PorousFlowConstantThermalExpansionCoefficient::initQpStatefulProperties ( )
overrideprotectedvirtual

Definition at line 54 of file PorousFlowConstantThermalExpansionCoefficient.C.

55 {
58 }
MaterialProperty< Real > & _coeff
Computed volumetric thermal expansion coefficient.
const Real _drained_coefficient
Drained porous-skeleton volumetric thermal expansion coefficient.
const Real _fluid_coefficient
Fluid volumetric thermal expansion coefficient.
const MaterialProperty< Real > & _porosity
porosity at the nodes or quadpoints. Only the initial value is ever used

◆ validParams()

InputParameters PorousFlowConstantThermalExpansionCoefficient::validParams ( )
static

Definition at line 15 of file PorousFlowConstantThermalExpansionCoefficient.C.

16 {
18  params.addRangeCheckedParam<Real>(
19  "biot_coefficient", 1.0, "biot_coefficient>=0 & biot_coefficient<=1", "Biot coefficient");
20  params.addRangeCheckedParam<Real>("fluid_coefficient",
21  2.1E-4,
22  "fluid_coefficient>=0",
23  "Volumetric coefficient of thermal expansion for the fluid");
25  "drained_coefficient",
26  "drained_coefficient>=0.0",
27  "Volumetric coefficient of thermal expansion of the drained porous skeleton (ie the porous "
28  "rock without fluid, or with a fluid that is free to move in and out of the rock)");
29  params.addPrivateParam<std::string>("pf_material_type", "thermal_expansion");
30  params.addClassDescription("Computes the effective thermal expansion coefficient, (biot_coeff - "
31  "porosity) * drained_coefficient + porosity * fluid_coefficient.");
32  return params;
33 }
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, const std::string &doc_string)
void addPrivateParam(const std::string &name, const T &value)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)
void addRangeCheckedParam(const std::string &name, const T &value, const std::string &parsed_function, const std::string &doc_string)

Member Data Documentation

◆ _biot_coefficient

const Real PorousFlowConstantThermalExpansionCoefficient::_biot_coefficient
protected

Biot coefficient.

Definition at line 36 of file PorousFlowConstantThermalExpansionCoefficient.h.

Referenced by initQpStatefulProperties().

◆ _coeff

MaterialProperty<Real>& PorousFlowConstantThermalExpansionCoefficient::_coeff
protected

Computed volumetric thermal expansion coefficient.

Definition at line 48 of file PorousFlowConstantThermalExpansionCoefficient.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

◆ _coeff_old

const MaterialProperty<Real>& PorousFlowConstantThermalExpansionCoefficient::_coeff_old
protected

Old value of the volumetric thermal expansion coefficient. This variable is necessary in order to keep the thermal expansion coefficient constant even if porosity is changing.

Definition at line 51 of file PorousFlowConstantThermalExpansionCoefficient.h.

Referenced by computeQpProperties().

◆ _drained_coefficient

const Real PorousFlowConstantThermalExpansionCoefficient::_drained_coefficient
protected

Drained porous-skeleton volumetric thermal expansion coefficient.

Definition at line 42 of file PorousFlowConstantThermalExpansionCoefficient.h.

Referenced by initQpStatefulProperties().

◆ _fluid_coefficient

const Real PorousFlowConstantThermalExpansionCoefficient::_fluid_coefficient
protected

Fluid volumetric thermal expansion coefficient.

Definition at line 39 of file PorousFlowConstantThermalExpansionCoefficient.h.

Referenced by initQpStatefulProperties().

◆ _num_components

const unsigned int PorousFlowMaterialVectorBase::_num_components
protectedinherited

◆ _num_phases

const unsigned int PorousFlowMaterialVectorBase::_num_phases
protectedinherited

◆ _num_var

const unsigned int PorousFlowMaterialVectorBase::_num_var
protectedinherited

◆ _porosity

const MaterialProperty<Real>& PorousFlowConstantThermalExpansionCoefficient::_porosity
protected

porosity at the nodes or quadpoints. Only the initial value is ever used

Definition at line 45 of file PorousFlowConstantThermalExpansionCoefficient.h.

Referenced by initQpStatefulProperties().


The documentation for this class was generated from the following files: