www.mooseframework.org
PorousFlowConstantThermalExpansionCoefficient.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<PorousFlowMaterialVectorBase>();
19  params.addRangeCheckedParam<Real>(
20  "biot_coefficient", 1.0, "biot_coefficient>=0 & biot_coefficient<=1", "Biot coefficient");
21  params.addRangeCheckedParam<Real>("fluid_coefficient",
22  2.1E-4,
23  "fluid_coefficient>=0",
24  "Volumetric coefficient of thermal expansion for the fluid");
25  params.addRequiredRangeCheckedParam<Real>(
26  "drained_coefficient",
27  "drained_coefficient>=0.0",
28  "Volumetric coefficient of thermal expansion of the drained porous skeleton (ie the porous "
29  "rock without fluid, or with a fluid that is free to move in and out of the rock)");
30  params.addPrivateParam<std::string>("pf_material_type", "thermal_expansion");
31  params.addClassDescription("Computes the effective thermal expansion coefficient, (biot_coeff - "
32  "porosity) * drained_coefficient + porosity * fluid_coefficient.");
33  return params;
34 }
35 
37  const InputParameters & parameters)
38  : PorousFlowMaterialVectorBase(parameters),
39  _biot_coefficient(getParam<Real>("biot_coefficient")),
40  _fluid_coefficient(getParam<Real>("fluid_coefficient")),
41  _drained_coefficient(getParam<Real>("drained_coefficient")),
42  _porosity(_nodal_material ? getMaterialProperty<Real>("PorousFlow_porosity_nodal")
43  : getMaterialProperty<Real>("PorousFlow_porosity_qp")),
44  _coeff(_nodal_material
45  ? declareProperty<Real>("PorousFlow_constant_thermal_expansion_coefficient_nodal")
46  : declareProperty<Real>("PorousFlow_constant_thermal_expansion_coefficient_qp")),
47  _coeff_old(_nodal_material ? getMaterialPropertyOld<Real>(
48  "PorousFlow_constant_thermal_expansion_coefficient_nodal")
49  : getMaterialPropertyOld<Real>(
50  "PorousFlow_constant_thermal_expansion_coefficient_qp"))
51 {
52 }
53 
54 void
56 {
59 }
60 
61 void
63 {
64  _coeff[_qp] = _coeff_old[_qp];
65 }
PorousFlowConstantThermalExpansionCoefficient::_fluid_coefficient
const Real _fluid_coefficient
Fluid volumetric thermal expansion coefficient.
Definition: PorousFlowConstantThermalExpansionCoefficient.h:42
PorousFlowMaterialVectorBase
Base class for all PorousFlow vector materials.
Definition: PorousFlowMaterialVectorBase.h:23
validParams< PorousFlowMaterialVectorBase >
InputParameters validParams< PorousFlowMaterialVectorBase >()
Definition: PorousFlowMaterialVectorBase.C:14
PorousFlowConstantThermalExpansionCoefficient
Material designed to provide a time-invariant volumetric thermal expansion coefficient A = * (alpha -...
Definition: PorousFlowConstantThermalExpansionCoefficient.h:29
PorousFlowConstantThermalExpansionCoefficient::_coeff
MaterialProperty< Real > & _coeff
Computed volumetric thermal expansion coefficient.
Definition: PorousFlowConstantThermalExpansionCoefficient.h:51
PorousFlowConstantThermalExpansionCoefficient::_porosity
const MaterialProperty< Real > & _porosity
porosity at the nodes or quadpoints. Only the initial value is ever used
Definition: PorousFlowConstantThermalExpansionCoefficient.h:48
validParams< PorousFlowConstantThermalExpansionCoefficient >
InputParameters validParams< PorousFlowConstantThermalExpansionCoefficient >()
Definition: PorousFlowConstantThermalExpansionCoefficient.C:16
PorousFlowConstantThermalExpansionCoefficient::PorousFlowConstantThermalExpansionCoefficient
PorousFlowConstantThermalExpansionCoefficient(const InputParameters &parameters)
Definition: PorousFlowConstantThermalExpansionCoefficient.C:36
PorousFlowConstantThermalExpansionCoefficient.h
PorousFlowConstantThermalExpansionCoefficient::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: PorousFlowConstantThermalExpansionCoefficient.C:55
PorousFlowConstantThermalExpansionCoefficient::_drained_coefficient
const Real _drained_coefficient
Drained porous-skeleton volumetric thermal expansion coefficient.
Definition: PorousFlowConstantThermalExpansionCoefficient.h:45
PorousFlowConstantThermalExpansionCoefficient::_biot_coefficient
const Real _biot_coefficient
Biot coefficient.
Definition: PorousFlowConstantThermalExpansionCoefficient.h:39
PorousFlowConstantThermalExpansionCoefficient::_coeff_old
const MaterialProperty< Real > & _coeff_old
Old value of the volumetric thermal expansion coefficient. This variable is necessary in order to kee...
Definition: PorousFlowConstantThermalExpansionCoefficient.h:54
registerMooseObject
registerMooseObject("PorousFlowApp", PorousFlowConstantThermalExpansionCoefficient)
PorousFlowConstantThermalExpansionCoefficient::computeQpProperties
virtual void computeQpProperties() override
Definition: PorousFlowConstantThermalExpansionCoefficient.C:62