21 "The thermal conductivity of the solid matrix material");
23 "The thermal conductivity of the single fluid phase");
24 params.
addClassDescription(
"This Material calculates rock-fluid combined thermal conductivity " 25 "for the single phase, fully saturated case by using a linear " 27 "Thermal conductivity = phi * lambda_f + (1 - phi) * lambda_s, " 28 "where phi is porosity, and lambda_f, lambda_s are " 29 "thermal conductivities of the fluid and solid (assumed constant)");
39 _porosity_qp(this->template getGenericMaterialProperty<
Real, is_ad>(
"PorousFlow_porosity_qp")),
40 _dporosity_qp_dvar(is_ad ? nullptr
41 : &this->template getMaterialProperty<
std::vector<
Real>>(
42 "dPorousFlow_porosity_qp_dvar"))
45 this->
template paramError(
"fluid_phase",
46 "The Dictator proclaims that the number of phases is ",
47 _dictator.numPhases(),
48 " whereas this material can only be used for single phase " 49 "simulations. Be aware that the Dictator has noted your mistake.");
56 _la_qp[_qp] = _la_s * (1.0 - _porosity_qp[_qp]) + _la_f * _porosity_qp[_qp];
62 (*_dla_qp_dvar)[_qp][
v] = (_la_f - _la_s) * (*_dporosity_qp_dvar)[_qp][
v];
const unsigned int _num_phases
Number of phases.
TensorValue< Real > RealTensorValue
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string v
Base class for materials that provide thermal conducitivity.
IntRange< T > make_range(T beg, T end)
registerMooseObject("PorousFlowApp", PorousFlowThermalConductivityFromPorosity)
static InputParameters validParams()
This Material calculates rock-fluid combined thermal conductivity for the single phase, fully saturated case by using a linear weighted average.
virtual void computeQpProperties() override
static InputParameters validParams()