Go to the documentation of this file.
19 params.addRequiredParam<Real>(
"specific_heat_capacity",
20 "Specific heat capacity of the rock grains (J/kg/K).");
21 params.addRequiredParam<Real>(
"density",
"Density of the rock grains");
22 params.set<
bool>(
"at_nodes") =
true;
23 params.addPrivateParam<std::string>(
"pf_material_type",
"matrix_internal_energy");
24 params.addClassDescription(
"This Material calculates the internal energy of solid rock grains, "
25 "which is specific_heat_capacity * density * temperature. Kernels "
26 "multiply this by (1 - porosity) to find the energy density of the "
27 "porous rock in a rock-fluid system");
33 _cp(getParam<Real>(
"specific_heat_capacity")),
34 _density(getParam<Real>(
"density")),
35 _heat_cap(_cp * _density),
36 _temperature_nodal(getMaterialProperty<Real>(
"PorousFlow_temperature_nodal")),
37 _dtemperature_nodal_dvar(
38 getMaterialProperty<std::vector<Real>>(
"dPorousFlow_temperature_nodal_dvar")),
39 _en_nodal(declareProperty<Real>(
"PorousFlow_matrix_internal_energy_nodal")),
41 declareProperty<std::vector<Real>>(
"dPorousFlow_matrix_internal_energy_nodal_dvar"))
43 if (_nodal_material !=
true)
44 mooseError(
"PorousFlowMatrixInternalEnergy classes are only defined for at_nodes = true");
59 for (
unsigned v = 0; v <
_num_var; ++v)
const MaterialProperty< Real > & _temperature_nodal
Temperature at the nodes.
virtual void initQpStatefulProperties() override
Base class for all PorousFlow vector materials.
This material computes internal energy (J/m^3) for a rock matrix assuming constant grain density,...
InputParameters validParams< PorousFlowMaterialVectorBase >()
registerMooseObject("PorousFlowApp", PorousFlowMatrixInternalEnergy)
const Real _heat_cap
Heat capacity = _cp * _density.
const MaterialProperty< std::vector< Real > > & _dtemperature_nodal_dvar
d(temperature at the nodes)/d(PorousFlow variable)
MaterialProperty< std::vector< Real > > & _den_nodal_dvar
d(matrix internal energy)/d(PorousFlow variable)
MaterialProperty< Real > & _en_nodal
Matrix internal_energy at the nodes.
InputParameters validParams< PorousFlowMatrixInternalEnergy >()
const unsigned int _num_var
Number of PorousFlow variables.
virtual void computeQpProperties() override
PorousFlowMatrixInternalEnergy(const InputParameters ¶meters)