17 params.addPrivateParam<std::string>(
"pf_material_type",
"pressure_saturation");
18 params.addClassDescription(
"Base class for thermophysical variable materials. Provides pressure "
19 "and saturation material properties for all phases as required");
26 _num_phases(_dictator.numPhases()),
27 _num_components(_dictator.numComponents()),
28 _num_pf_vars(_dictator.numVariables()),
30 _porepressure(_nodal_material
31 ? declareProperty<std::vector<Real>>(
"PorousFlow_porepressure_nodal")
32 : declareProperty<std::vector<Real>>(
"PorousFlow_porepressure_qp")),
35 ? declareProperty<std::vector<std::vector<Real>>>(
"dPorousFlow_porepressure_nodal_dvar")
36 : declareProperty<std::vector<std::vector<Real>>>(
"dPorousFlow_porepressure_qp_dvar")),
37 _gradp_qp(_nodal_material
39 : &declareProperty<std::vector<
RealGradient>>(
"PorousFlow_grad_porepressure_qp")),
40 _dgradp_qp_dgradv(_nodal_material ? nullptr
41 : &declareProperty<std::vector<std::vector<Real>>>(
42 "dPorousFlow_grad_porepressure_qp_dgradvar")),
43 _dgradp_qp_dv(_nodal_material ? nullptr
44 : &declareProperty<std::vector<std::vector<
RealGradient>>>(
45 "dPorousFlow_grad_porepressure_qp_dvar")),
47 _saturation(_nodal_material ? declareProperty<std::vector<Real>>(
"PorousFlow_saturation_nodal")
48 : declareProperty<std::vector<Real>>(
"PorousFlow_saturation_qp")),
51 ? declareProperty<std::vector<std::vector<Real>>>(
"dPorousFlow_saturation_nodal_dvar")
52 : declareProperty<std::vector<std::vector<Real>>>(
"dPorousFlow_saturation_qp_dvar")),
53 _grads_qp(_nodal_material
55 : &declareProperty<std::vector<
RealGradient>>(
"PorousFlow_grad_saturation_qp")),
56 _dgrads_qp_dgradv(_nodal_material ? nullptr
57 : &declareProperty<std::vector<std::vector<Real>>>(
58 "dPorousFlow_grad_saturation_qp_dgradvar")),
59 _dgrads_qp_dv(_nodal_material ? nullptr
60 : &declareProperty<std::vector<std::vector<
RealGradient>>>(
61 "dPorousFlow_grad_saturation_qp_dvar"))
95 for (
unsigned phase = 0; phase <
_num_phases; ++phase)
101 (*_dgradp_qp_dgradv)[_qp][phase].assign(
_num_pf_vars, 0.0);
103 (*_dgrads_qp_dgradv)[_qp][phase].assign(
_num_pf_vars, 0.0);