Go to the documentation of this file.
11 #include "Conversion.h"
20 params.addRequiredParam<std::string>(
"material_property",
21 "The property that you want joined into a std::vector");
22 params.set<std::string>(
"pf_material_type") =
"joiner";
23 params.addClassDescription(
"This Material forms a std::vector of properties, old properties "
24 "(optionally), and derivatives, out of the individual phase "
31 _pf_prop(getParam<std::string>(
"material_property")),
32 _dporepressure_dvar(!_nodal_material ? getMaterialProperty<std::vector<std::vector<Real>>>(
33 "dPorousFlow_porepressure_qp_dvar")
34 : getMaterialProperty<std::vector<std::vector<Real>>>(
35 "dPorousFlow_porepressure_nodal_dvar")),
36 _dsaturation_dvar(!_nodal_material ? getMaterialProperty<std::vector<std::vector<Real>>>(
37 "dPorousFlow_saturation_qp_dvar")
38 : getMaterialProperty<std::vector<std::vector<Real>>>(
39 "dPorousFlow_saturation_nodal_dvar")),
42 ? getMaterialProperty<std::vector<Real>>(
"dPorousFlow_temperature_qp_dvar")
43 : getMaterialProperty<std::vector<Real>>(
"dPorousFlow_temperature_nodal_dvar")),
44 _property(declareProperty<std::vector<Real>>(_pf_prop)),
45 _dproperty_dvar(declareProperty<std::vector<std::vector<Real>>>(
"d" + _pf_prop +
"_dvar"))
54 std::string phase = Moose::stringify(ph);
57 &getMaterialPropertyDerivative<Real>(
_pf_prop + phase, _pressure_variable_name);
59 &getMaterialPropertyDerivative<Real>(
_pf_prop + phase, _saturation_variable_name);
61 &getMaterialPropertyDerivative<Real>(
_pf_prop + phase, _temperature_variable_name);
83 for (
unsigned v = 0; v <
_num_var; ++v)
Base class for all PorousFlow vector materials.
InputParameters validParams< PorousFlowMaterialVectorBase >()
virtual void computeQpProperties() override
const std::string _pf_prop
Name of material property to be joined.
const MaterialProperty< std::vector< std::vector< Real > > > & _dsaturation_dvar
Derivatives of saturation variable wrt PorousFlow variables at the qps or nodes.
virtual void initQpStatefulProperties() override
std::vector< const MaterialProperty< Real > * > _dphase_property_dt
d(property of each phase)/d(temperature)
std::vector< const MaterialProperty< Real > * > _phase_property
Property of each phase.
const MaterialProperty< std::vector< std::vector< Real > > > & _dporepressure_dvar
Derivatives of porepressure variable wrt PorousFlow variables at the qps or nodes.
std::vector< const MaterialProperty< Real > * > _dphase_property_dp
d(property of each phase)/d(pressure)
const MaterialProperty< std::vector< Real > > & _dtemperature_dvar
Derivatives of temperature variable wrt PorousFlow variables at the qps or nodes.
PorousFlowJoiner(const InputParameters ¶meters)
MaterialProperty< std::vector< std::vector< Real > > > & _dproperty_dvar
d(property)/d(PorousFlow variable)
InputParameters validParams< PorousFlowJoiner >()
registerMooseObject("PorousFlowApp", PorousFlowJoiner)
const unsigned int _num_var
Number of PorousFlow variables.
Material designed to form a std::vector of property and derivatives of these wrt the nonlinear variab...
const unsigned int _num_phases
Number of phases.
MaterialProperty< std::vector< Real > > & _property
Computed property of the phase.
std::vector< const MaterialProperty< Real > * > _dphase_property_ds
d(property of each phase)/d(saturation)