https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
PorousFlowPorosityVinsomeWesterveld Class Reference

Porosity (typically the aperture of a lower-dimensional fracture) given by the PorousFlowPorosityLinear relationship plus a thermal-opening term that depends on how much heat the surrounding matrix has gained or lost: More...

#include <PorousFlowPorosityVinsomeWesterveld.h>

Inheritance diagram for PorousFlowPorosityVinsomeWesterveld:
[legend]

Public Types

typedef DerivativeMaterialPropertyNameInterface::SymbolName SymbolName
 

Public Member Functions

 PorousFlowPorosityVinsomeWesterveld (const InputParameters &parameters)
 
virtual void initialSetup () override
 
const GenericMaterialProperty< U, is_ad > & getDefaultMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< U, is_ad > & getDefaultMaterialPropertyByName (const std::string &name)
 
Moose::Kokkos::MaterialProperty< U, dimension > declareKokkosPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
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="")
 
Moose::Kokkos::MaterialProperty< U, dimension > getKokkosMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
Moose::Kokkos::MaterialProperty< U, dimension > getKokkosMaterialPropertyDerivative (const std::string &base, const SymbolName &c1)
 
Moose::Kokkos::MaterialProperty< U, dimension > getKokkosMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
Moose::Kokkos::MaterialProperty< U, dimension > getKokkosMaterialPropertyDerivative (const std::string &base, const SymbolName &c1)
 
Moose::Kokkos::MaterialProperty< U, dimension > getKokkosMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c)
 
Moose::Kokkos::MaterialProperty< U, dimension > getKokkosMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c)
 
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 computeUnboundedPorosityQp () override
 Computes porosity and its derivatives at the current node or quadrature point, without applying the porosity_min lower bound.
 
virtual void computeQpProperties () override
 
void applyPorosityMin ()
 If _porosity[_qp] < porosity_min, set _porosity[_qp] = porosity_min and multiply the derivatives of porosity by _zero_modifier (the derivative material properties for non-AD objects, and the AD derivatives for AD objects).
 

Protected Attributes

const Real _thermal_opening_coeff
 Change of porosity per unit matrix heat content (units 1/K when porosity is an aperture)
 
const Real _kappa
 Thermal diffusivity of the matrix in the direction normal to the fracture (m^2/s), assumed constant (independent of temperature and saturation)
 
const VariableValue & _T_matrix_ref
 Undisturbed (reference) matrix temperature.
 
const Real _start_time
 Time at which the matrix temperature profile is undisturbed.
 
MaterialProperty< Real > & _theta
 Temperature change at the fracture face, theta = T - T_matrix_ref.
 
const MaterialProperty< Real > & _theta_old
 Old value of theta.
 
MaterialProperty< Real > & _heat_content
 Heat content of the adjacent matrix, I = int (T - T_matrix_ref) dz.
 
const MaterialProperty< Real > & _heat_content_old
 Old value of the heat content.
 
const bool _strain_at_nearest_qp
 When calculating nodal porosity, use the strain at the nearest quadpoint to the node.
 
const VariableValue & _phi_ref
 Porosity at reference porepressure, temperature and volumetric strain.
 
const VariableValue & _P_ref
 Reference effective porepressure.
 
const VariableValue & _T_ref
 Reference temperature.
 
const VariableValue & _epv_ref
 Reference volumetric strain.
 
const Real _P_coeff
 coefficient of effective porepressure
 
const Real _T_coeff
 coefficient of temperature
 
const Real _epv_coeff
 coefficient of volumetric strain
 
const bool _uses_volstrain
 whether epv_coeff has been set
 
const OptionalMaterialProperty< Real > & _vol_strain_qp
 Strain (first const means we never want to dereference and change the value, second means we'll always be pointing to the same address after initialization (like a reference))
 
const OptionalMaterialProperty< std::vector< RealGradient > > & _dvol_strain_qp_dvar
 d(strain)/(dvar) (first const means we never want to dereference and change the value, second means we'll always be pointing to the same address after initialization (like a reference))
 
const bool _uses_pf
 whether P_coeff has been set
 
const OptionalMaterialProperty< Real > & _pf_nodal
 Effective porepressure at the quadpoints or nodes.
 
const OptionalMaterialProperty< Real > & _pf_qp
 
const MaterialProperty< Real > * _pf
 
const OptionalMaterialProperty< std::vector< Real > > & _dpf_dvar_nodal
 d(effective porepressure)/(d porflow variable)
 
const OptionalMaterialProperty< std::vector< Real > > & _dpf_dvar_qp
 
const MaterialProperty< std::vector< Real > > * _dpf_dvar
 
const bool _uses_T
 whether T_coeff has been set
 
const OptionalMaterialProperty< Real > & _temperature_nodal
 Temperature at the quadpoints or nodes.
 
const OptionalMaterialProperty< Real > & _temperature_qp
 
const MaterialProperty< Real > * _temperature
 
const OptionalMaterialProperty< std::vector< Real > > & _dtemperature_dvar_nodal
 d(temperature)/(d porflow variable)
 
const OptionalMaterialProperty< std::vector< Real > > & _dtemperature_dvar_qp
 
const MaterialProperty< std::vector< Real > > * _dtemperature_dvar
 
GenericMaterialProperty< Real, is_ad > & _porosity
 Computed porosity at the nodes or quadpoints.
 
MaterialProperty< std::vector< Real > > *const _dporosity_dvar
 d(porosity)/d(PorousFlow variable)
 
MaterialProperty< std::vector< RealGradient > > *const _dporosity_dgradvar
 d(porosity)/d(grad PorousFlow variable)
 
const Real _porosity_min
 Minimum allowed porosity (default zero, so porosity is never negative)
 
const Real _zero_modifier
 When the porosity_min floor is active, the porosity derivatives are multiplied by this.
 
const unsigned int _num_phases
 Number of phases.
 
const unsigned int _num_components
 Number of fluid components.
 
const unsigned int _num_var
 Number of PorousFlow variables.
 

Private Member Functions

bool haveMaterialProperty (const std::string &prop_name)
 
std::vector< VariableName > buildVariableVector (const VariableName &c1, const VariableName &c2, const VariableName &c3)
 
void validateCouplingHelper (const MaterialPropertyName &base, const std::vector< VariableName > &c, const System &system, std::vector< VariableName > &missing)
 
bool isNotObjectVariable (const VariableName &name)
 

Private Attributes

FEProblemBase & _dmi_fe_problem
 

Detailed Description

Porosity (typically the aperture of a lower-dimensional fracture) given by the PorousFlowPorosityLinear relationship plus a thermal-opening term that depends on how much heat the surrounding matrix has gained or lost:

porosity = linear terms - thermal_opening_coeff * I

where I = int_0^infinity (T(z) - T_ref) dz is the heat content (in K.m) of the matrix adjacent to the fracture. I is computed using the semi-analytic method of Vinsome and Westerveld (1980), which assumes the matrix temperature profile normal to the fracture is

T(z, t) - T_ref = (theta + p z + q z^2) exp(-z / d), d = sqrt(kappa t) / 2

with theta = T - T_ref the temperature change at the fracture face. Each time step, p is found from the energy balance and the heat-conduction equation at z = 0, giving

p = (a theta / d + I_old - d^3 (theta - theta_old) / a) / (3 d^2 + a), a = kappa dt I = I_old + a (theta / d - p)

so I is linear in the current temperature, and dI/dT is a scalar.

Definition at line 36 of file PorousFlowPorosityVinsomeWesterveld.h.

Constructor & Destructor Documentation

◆ PorousFlowPorosityVinsomeWesterveld()

PorousFlowPorosityVinsomeWesterveld::PorousFlowPorosityVinsomeWesterveld ( const InputParameters &  parameters)

Definition at line 56 of file PorousFlowPorosityVinsomeWesterveld.C.

58 : PorousFlowPorosityLinear(parameters),
59 _thermal_opening_coeff(getParam<Real>("thermal_opening_coeff")),
60 _kappa(getParam<Real>("matrix_thermal_diffusivity")),
61 _T_matrix_ref(nodalOrQpValue("matrix_reference_temperature")),
62 _start_time(getParam<Real>("vw_start_time")),
63 _theta(_nodal_material ? declareProperty<Real>("PorousFlow_vw_theta_nodal")
64 : declareProperty<Real>("PorousFlow_vw_theta_qp")),
65 _theta_old(_nodal_material ? getMaterialPropertyOld<Real>("PorousFlow_vw_theta_nodal")
66 : getMaterialPropertyOld<Real>("PorousFlow_vw_theta_qp")),
67 _heat_content(_nodal_material ? declareProperty<Real>("PorousFlow_vw_heat_content_nodal")
68 : declareProperty<Real>("PorousFlow_vw_heat_content_qp")),
69 _heat_content_old(_nodal_material
70 ? getMaterialPropertyOld<Real>("PorousFlow_vw_heat_content_nodal")
71 : getMaterialPropertyOld<Real>("PorousFlow_vw_heat_content_qp"))
72{
73}
Material designed to provide the porosity in PorousFlow simulations porosity_ref + P_coeff * (P - P_r...
const VariableValue & _T_matrix_ref
Undisturbed (reference) matrix temperature.
const Real _kappa
Thermal diffusivity of the matrix in the direction normal to the fracture (m^2/s),...
const Real _thermal_opening_coeff
Change of porosity per unit matrix heat content (units 1/K when porosity is an aperture)
const MaterialProperty< Real > & _heat_content_old
Old value of the heat content.
const MaterialProperty< Real > & _theta_old
Old value of theta.
const Real _start_time
Time at which the matrix temperature profile is undisturbed.
MaterialProperty< Real > & _theta
Temperature change at the fracture face, theta = T - T_matrix_ref.
MaterialProperty< Real > & _heat_content
Heat content of the adjacent matrix, I = int (T - T_matrix_ref) dz.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

Member Function Documentation

◆ applyPorosityMin()

template<bool is_ad>
void PorousFlowPorosityBaseTempl< is_ad >::applyPorosityMin ( )
protectedinherited

If _porosity[_qp] < porosity_min, set _porosity[_qp] = porosity_min and multiply the derivatives of porosity by _zero_modifier (the derivative material properties for non-AD objects, and the AD derivatives for AD objects).

Otherwise do nothing. Derived classes call this at the end of computeQpProperties(), after the unfloored porosity and its derivatives have been computed.

Definition at line 58 of file PorousFlowPorosityBase.C.

59{
61 return;
62
63 if constexpr (!is_ad)
64 {
66 for (unsigned int v = 0; v < _num_var; ++v)
67 {
68 (*_dporosity_dvar)[_qp][v] *= _zero_modifier;
69 (*_dporosity_dgradvar)[_qp][v] *= _zero_modifier;
70 }
71 }
72 else
73 {
74 // The AD path carries its derivatives inside the value and has no derivative material
75 // properties, so the value and the derivatives are softened separately. Assigning
76 // _porosity_min to the ADReal would instead discard the derivatives entirely.
77 _porosity[_qp].value() = _porosity_min;
78 _porosity[_qp].derivatives() *= _zero_modifier;
79 }
80}
const double v
const unsigned int _num_var
Number of PorousFlow variables.
const Real _zero_modifier
When the porosity_min floor is active, the porosity derivatives are multiplied by this.
const Real _porosity_min
Minimum allowed porosity (default zero, so porosity is never negative)
GenericMaterialProperty< Real, is_ad > & _porosity
Computed porosity at the nodes or quadpoints.
auto raw_value(const Eigen::Map< T > &in)

Referenced by PorousFlowPorosityHMBiotModulus::computeQpProperties(), and PorousFlowPorosityLinear::computeQpProperties().

◆ computeQpProperties()

void PorousFlowPorosityLinear::computeQpProperties ( )
overrideprotectedvirtualinherited

Definition at line 121 of file PorousFlowPorosityLinear.C.

122{
125}
void applyPorosityMin()
If _porosity[_qp] < porosity_min, set _porosity[_qp] = porosity_min and multiply the derivatives of p...
virtual void computeUnboundedPorosityQp()
Computes porosity and its derivatives at the current node or quadrature point, without applying the p...

◆ computeUnboundedPorosityQp()

void PorousFlowPorosityVinsomeWesterveld::computeUnboundedPorosityQp ( )
overrideprotectedvirtual

Computes porosity and its derivatives at the current node or quadrature point, without applying the porosity_min lower bound.

Derived classes may override this to add further terms to _porosity and its derivatives; computeQpProperties() then applies porosity_min

Reimplemented from PorousFlowPorosityLinear.

Definition at line 93 of file PorousFlowPorosityVinsomeWesterveld.C.

94{
96
97 const Real theta = (*_temperature)[_qp] - _T_matrix_ref[_qp];
98 _theta[_qp] = theta;
99
100 // dI/dT, used for the Jacobian (equal to dI/dtheta, because theta = T - T_matrix_ref)
101 Real dI_dT = 0.0;
102
103 const Real time = _t - _start_time;
104 if (time <= 0.0)
105 {
106 // Before vw_start_time the matrix is undisturbed, so any difference between the fracture-face
107 // temperature and matrix_reference_temperature at vw_start_time is treated as a step change
108 _theta[_qp] = 0.0;
109 _heat_content[_qp] = 0.0;
110 }
111 else
112 {
113 const Real a = _kappa * std::min(_dt, time);
114 // Vinsome and Westerveld (1980): the profile is
115 // (theta + p z + q z^2) exp(-z / d), with d = sqrt(kappa t) / 2.
116 // Imposing the heat-conduction equation at z = 0 and the energy balance
117 // dI/dt = kappa * (theta / d - p) over the time step gives p and I below.
118 const Real d = 0.5 * std::sqrt(_kappa * time);
119 const Real denom = 3.0 * d * d + a;
120 const Real p = (a * theta / d + _heat_content_old[_qp] -
121 Utility::pow<3>(d) * (theta - _theta_old[_qp]) / a) /
122 denom;
123 _heat_content[_qp] = _heat_content_old[_qp] + a * (theta / d - p);
124
125 const Real dp_dT = (a / d - Utility::pow<3>(d) / a) / denom;
126 dI_dT = a * (1.0 / d - dp_dT);
127 }
128
130 for (unsigned int pvar = 0; pvar < _num_var; ++pvar)
131 (*_dporosity_dvar)[_qp][pvar] -=
132 _thermal_opening_coeff * dI_dT * (*_dtemperature_dvar)[_qp][pvar];
133}
const Real p
MaterialProperty< std::vector< Real > > *const _dporosity_dvar
d(porosity)/d(PorousFlow variable)

◆ initialSetup()

void PorousFlowPorosityVinsomeWesterveld::initialSetup ( )
overridevirtual

Reimplemented from PorousFlowPorosityLinear.

Definition at line 76 of file PorousFlowPorosityVinsomeWesterveld.C.

77{
80 mooseError("PorousFlowPorosityVinsomeWesterveld: a temperature Material is required");
81}
void mooseError(Args &&... args)
const MaterialProperty< std::vector< Real > > * _dtemperature_dvar
virtual void initialSetup() override
const MaterialProperty< Real > * _temperature

◆ initQpStatefulProperties()

void PorousFlowPorosityVinsomeWesterveld::initQpStatefulProperties ( )
overrideprotectedvirtual

Reimplemented from PorousFlowPorosityLinear.

Definition at line 84 of file PorousFlowPorosityVinsomeWesterveld.C.

85{
87 // The matrix starts at its reference temperature
88 _theta[_qp] = 0.0;
89 _heat_content[_qp] = 0.0;
90}
virtual void initQpStatefulProperties() override

◆ validParams()

InputParameters PorousFlowPorosityVinsomeWesterveld::validParams ( )
static

Definition at line 19 of file PorousFlowPorosityVinsomeWesterveld.C.

20{
22 params.addRequiredParam<Real>(
23 "thermal_opening_coeff",
24 "Change in porosity per unit heat content of the adjacent matrix. The heat content, "
25 "I = int (T - matrix_reference_temperature) dz, has units K.m, so when porosity represents "
26 "the aperture of a lower-dimensional fracture this coefficient has units 1/K. Porosity "
27 "changes by -thermal_opening_coeff * I, so cooling (I < 0) opens the fracture when this "
28 "coefficient is positive");
30 "matrix_thermal_diffusivity",
31 "matrix_thermal_diffusivity > 0",
32 "Thermal diffusivity of the matrix adjacent to the "
33 "fracture (thermal conductivity divided by "
34 "volumetric heat capacity), m^2/s. This is the diffusivity in the "
35 "direction normal to the fracture (or the matrix is "
36 "assumed isotropic), and it is assumed constant");
38 "matrix_reference_temperature",
39 "Undisturbed temperature of the matrix adjacent to the fracture. This should usually be a "
40 "linear-lagrange variable or a constant");
41 params.addParam<Real>(
42 "vw_start_time",
43 0.0,
44 "Time at which the temperature at the fracture face first starts to change "
45 "(for instance, when injection begins). The matrix adjacent to the fracture "
46 "is at matrix_reference_temperature at this time, and the thermal-opening "
47 "term is zero before it");
49 "This Material calculates porosity (usually the aperture of a lower-dimensional fracture) "
50 "using the PorousFlowPorosityLinear relationship plus a thermal-opening term proportional to "
51 "the heat content of the adjacent matrix, which is computed using the semi-analytic method "
52 "of Vinsome and Westerveld (1980)");
53 return params;
54}
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, const std::string &doc_string)
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
static InputParameters validParams()

Member Data Documentation

◆ _dpf_dvar

const MaterialProperty<std::vector<Real> >* PorousFlowPorosityLinear::_dpf_dvar
protectedinherited

Definition at line 83 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::initialSetup().

◆ _dpf_dvar_nodal

const OptionalMaterialProperty<std::vector<Real> >& PorousFlowPorosityLinear::_dpf_dvar_nodal
protectedinherited

d(effective porepressure)/(d porflow variable)

Definition at line 81 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::initialSetup().

◆ _dpf_dvar_qp

const OptionalMaterialProperty<std::vector<Real> >& PorousFlowPorosityLinear::_dpf_dvar_qp
protectedinherited

Definition at line 82 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::initialSetup().

◆ _dporosity_dgradvar

template<bool is_ad>
MaterialProperty<std::vector<RealGradient> >* const PorousFlowPorosityBaseTempl< is_ad >::_dporosity_dgradvar
protectedinherited

d(porosity)/d(grad PorousFlow variable)

Definition at line 42 of file PorousFlowPorosityBase.h.

Referenced by PorousFlowPorosityHMBiotModulus::computeQpProperties().

◆ _dporosity_dvar

template<bool is_ad>
MaterialProperty<std::vector<Real> >* const PorousFlowPorosityBaseTempl< is_ad >::_dporosity_dvar
protectedinherited

◆ _dtemperature_dvar

const MaterialProperty<std::vector<Real> >* PorousFlowPorosityLinear::_dtemperature_dvar
protectedinherited

◆ _dtemperature_dvar_nodal

const OptionalMaterialProperty<std::vector<Real> >& PorousFlowPorosityLinear::_dtemperature_dvar_nodal
protectedinherited

d(temperature)/(d porflow variable)

Definition at line 94 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::initialSetup().

◆ _dtemperature_dvar_qp

const OptionalMaterialProperty<std::vector<Real> >& PorousFlowPorosityLinear::_dtemperature_dvar_qp
protectedinherited

Definition at line 95 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::initialSetup().

◆ _dvol_strain_qp_dvar

const OptionalMaterialProperty<std::vector<RealGradient> >& PorousFlowPorosityLinear::_dvol_strain_qp_dvar
protectedinherited

d(strain)/(dvar) (first const means we never want to dereference and change the value, second means we'll always be pointing to the same address after initialization (like a reference))

Definition at line 70 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp(), and PorousFlowPorosityLinear::initialSetup().

◆ _epv_coeff

const Real PorousFlowPorosityLinear::_epv_coeff
protectedinherited

coefficient of volumetric strain

Definition at line 61 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp().

◆ _epv_ref

const VariableValue& PorousFlowPorosityLinear::_epv_ref
protectedinherited

Reference volumetric strain.

Definition at line 52 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp().

◆ _heat_content

MaterialProperty<Real>& PorousFlowPorosityVinsomeWesterveld::_heat_content
protected

Heat content of the adjacent matrix, I = int (T - T_matrix_ref) dz.

Definition at line 69 of file PorousFlowPorosityVinsomeWesterveld.h.

Referenced by computeUnboundedPorosityQp(), and initQpStatefulProperties().

◆ _heat_content_old

const MaterialProperty<Real>& PorousFlowPorosityVinsomeWesterveld::_heat_content_old
protected

Old value of the heat content.

Definition at line 72 of file PorousFlowPorosityVinsomeWesterveld.h.

Referenced by computeUnboundedPorosityQp().

◆ _kappa

const Real PorousFlowPorosityVinsomeWesterveld::_kappa
protected

Thermal diffusivity of the matrix in the direction normal to the fracture (m^2/s), assumed constant (independent of temperature and saturation)

Definition at line 54 of file PorousFlowPorosityVinsomeWesterveld.h.

Referenced by computeUnboundedPorosityQp().

◆ _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

◆ _P_coeff

const Real PorousFlowPorosityLinear::_P_coeff
protectedinherited

coefficient of effective porepressure

Definition at line 55 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp().

◆ _P_ref

const VariableValue& PorousFlowPorosityLinear::_P_ref
protectedinherited

Reference effective porepressure.

Definition at line 46 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp().

◆ _pf

const MaterialProperty<Real>* PorousFlowPorosityLinear::_pf
protectedinherited

Definition at line 78 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::initialSetup().

◆ _pf_nodal

const OptionalMaterialProperty<Real>& PorousFlowPorosityLinear::_pf_nodal
protectedinherited

Effective porepressure at the quadpoints or nodes.

Definition at line 76 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::initialSetup().

◆ _pf_qp

const OptionalMaterialProperty<Real>& PorousFlowPorosityLinear::_pf_qp
protectedinherited

Definition at line 77 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::initialSetup().

◆ _phi_ref

const VariableValue& PorousFlowPorosityLinear::_phi_ref
protectedinherited

Porosity at reference porepressure, temperature and volumetric strain.

Definition at line 43 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp(), and PorousFlowPorosityLinear::initQpStatefulProperties().

◆ _porosity

template<bool is_ad>
GenericMaterialProperty<Real, is_ad>& PorousFlowPorosityBaseTempl< is_ad >::_porosity
protectedinherited

◆ _porosity_min

template<bool is_ad>
const Real PorousFlowPorosityBaseTempl< is_ad >::_porosity_min
protectedinherited

Minimum allowed porosity (default zero, so porosity is never negative)

Definition at line 45 of file PorousFlowPorosityBase.h.

◆ _start_time

const Real PorousFlowPorosityVinsomeWesterveld::_start_time
protected

Time at which the matrix temperature profile is undisturbed.

Definition at line 60 of file PorousFlowPorosityVinsomeWesterveld.h.

Referenced by computeUnboundedPorosityQp().

◆ _strain_at_nearest_qp

const bool PorousFlowPorosityLinear::_strain_at_nearest_qp
protectedinherited

When calculating nodal porosity, use the strain at the nearest quadpoint to the node.

Definition at line 40 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp().

◆ _T_coeff

const Real PorousFlowPorosityLinear::_T_coeff
protectedinherited

coefficient of temperature

Definition at line 58 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp().

◆ _T_matrix_ref

const VariableValue& PorousFlowPorosityVinsomeWesterveld::_T_matrix_ref
protected

Undisturbed (reference) matrix temperature.

Definition at line 57 of file PorousFlowPorosityVinsomeWesterveld.h.

Referenced by computeUnboundedPorosityQp().

◆ _T_ref

const VariableValue& PorousFlowPorosityLinear::_T_ref
protectedinherited

Reference temperature.

Definition at line 49 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp().

◆ _temperature

const MaterialProperty<Real>* PorousFlowPorosityLinear::_temperature
protectedinherited

◆ _temperature_nodal

const OptionalMaterialProperty<Real>& PorousFlowPorosityLinear::_temperature_nodal
protectedinherited

Temperature at the quadpoints or nodes.

Definition at line 89 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::initialSetup().

◆ _temperature_qp

const OptionalMaterialProperty<Real>& PorousFlowPorosityLinear::_temperature_qp
protectedinherited

Definition at line 90 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::initialSetup().

◆ _thermal_opening_coeff

const Real PorousFlowPorosityVinsomeWesterveld::_thermal_opening_coeff
protected

Change of porosity per unit matrix heat content (units 1/K when porosity is an aperture)

Definition at line 50 of file PorousFlowPorosityVinsomeWesterveld.h.

Referenced by computeUnboundedPorosityQp().

◆ _theta

MaterialProperty<Real>& PorousFlowPorosityVinsomeWesterveld::_theta
protected

Temperature change at the fracture face, theta = T - T_matrix_ref.

Definition at line 63 of file PorousFlowPorosityVinsomeWesterveld.h.

Referenced by computeUnboundedPorosityQp(), and initQpStatefulProperties().

◆ _theta_old

const MaterialProperty<Real>& PorousFlowPorosityVinsomeWesterveld::_theta_old
protected

Old value of theta.

Definition at line 66 of file PorousFlowPorosityVinsomeWesterveld.h.

Referenced by computeUnboundedPorosityQp().

◆ _uses_pf

const bool PorousFlowPorosityLinear::_uses_pf
protectedinherited

whether P_coeff has been set

Definition at line 73 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp(), and PorousFlowPorosityLinear::initialSetup().

◆ _uses_T

const bool PorousFlowPorosityLinear::_uses_T
protectedinherited

whether T_coeff has been set

Definition at line 86 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp(), and PorousFlowPorosityLinear::initialSetup().

◆ _uses_volstrain

const bool PorousFlowPorosityLinear::_uses_volstrain
protectedinherited

whether epv_coeff has been set

Definition at line 64 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp(), and PorousFlowPorosityLinear::initialSetup().

◆ _vol_strain_qp

const OptionalMaterialProperty<Real>& PorousFlowPorosityLinear::_vol_strain_qp
protectedinherited

Strain (first const means we never want to dereference and change the value, second means we'll always be pointing to the same address after initialization (like a reference))

Definition at line 67 of file PorousFlowPorosityLinear.h.

Referenced by PorousFlowPorosityLinear::computeUnboundedPorosityQp(), and PorousFlowPorosityLinear::initialSetup().

◆ _zero_modifier

template<bool is_ad>
const Real PorousFlowPorosityBaseTempl< is_ad >::_zero_modifier
protectedinherited

When the porosity_min floor is active, the porosity derivatives are multiplied by this.

Definition at line 48 of file PorousFlowPorosityBase.h.


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