https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PorousFlowConstantThermalExpansionCoefficient.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
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}
34
36 const InputParameters & parameters)
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}
52
53void
59
60void
registerMooseObject("PorousFlowApp", PorousFlowConstantThermalExpansionCoefficient)
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)
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)
Material designed to provide a time-invariant volumetric thermal expansion coefficient A = * (alpha -...
const Real _fluid_coefficient
Fluid 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...
const Real _drained_coefficient
Drained porous-skeleton volumetric thermal expansion coefficient.
const MaterialProperty< Real > & _porosity
porosity at the nodes or quadpoints. Only the initial value is ever used
MaterialProperty< Real > & _coeff
Computed volumetric thermal expansion coefficient.
Base class for all PorousFlow vector materials.