21 "Variable that represents the porepressure of the single phase");
22 params.
addClassDescription(
"This Material is used for the fully saturated single-phase situation " 23 "where porepressure is the primary variable");
32 _porepressure_var(_nodal_material ? this->template coupledGenericDofValue<is_ad>(
"porepressure")
33 : this->template coupledGenericValue<is_ad>(
"porepressure")),
34 _gradp_qp_var(this->template coupledGenericGradient<is_ad>(
"porepressure")),
35 _porepressure_varnum(coupled(
"porepressure")),
36 _p_var_num(_dictator.isPorousFlowVariable(_porepressure_varnum)
37 ? _dictator.porousFlowVariableNum(_porepressure_varnum)
41 mooseError(
"The Dictator proclaims that the number of phases is ",
42 _dictator.numPhases(),
43 " whereas PorousFlow1PhaseFullySaturated can only be used for 1-phase simulations." 44 " Be aware that the Dictator has noted your mistake.");
65 (*_gradp_qp)[_qp][0] = _gradp_qp_var[_qp];
68 if (!is_ad && _dictator.isPorousFlowVariable(_porepressure_varnum))
71 (*_dporepressure_dvar)[_qp][0][_p_var_num] = 1.0;
73 (*_dgradp_qp_dgradv)[_qp][0][_p_var_num] = 1.0;
81 _porepressure[_qp][0] = _porepressure_var[_qp];
82 _saturation[_qp][0] = 1.0;
virtual void computeQpProperties() override
void mooseError(Args &&... args)
PorousFlow1PhaseFullySaturatedTempl(const InputParameters ¶meters)
static InputParameters validParams()
Base class for thermophysical variable materials, which assemble materials for primary variables such...
virtual void initQpStatefulProperties() override
virtual void computeQpProperties() override
const unsigned int _num_phases
Number of phases.
void buildQpPPSS()
Assemble std::vectors of porepressure, saturation and temperature at the quadpoints.
registerMooseObject("PorousFlowApp", PorousFlow1PhaseFullySaturated)
virtual void initQpStatefulProperties() override
Material designed to calculate fluid phase porepressure and saturation for the single-phase situation...
static InputParameters validParams()