Go to the documentation of this file.
18 InputParameters params = validParams<Kernel>();
19 params.addRequiredParam<UserObjectName>(
20 "PorousFlowDictator",
"The UserObject that holds the list of PorousFlow variable names.");
21 params.addParam<
unsigned int>(
"phase", 0,
"Use the Darcy velocity of this fluid phase");
22 params.addClassDescription(
23 "Advective flux of a Variable using the Darcy velocity of the fluid phase");
30 _ph(getParam<unsigned int>(
"phase")),
32 getMaterialProperty<std::vector<RealVectorValue>>(
"PorousFlow_darcy_velocity_qp")),
33 _ddarcy_velocity_dvar(getMaterialProperty<std::vector<std::vector<RealVectorValue>>>(
34 "dPorousFlow_darcy_velocity_qp_dvar")),
35 _ddarcy_velocity_dgradvar(
36 getMaterialProperty<std::vector<std::vector<std::vector<RealVectorValue>>>>(
37 "dPorousFlow_darcy_velocity_qp_dgradvar"))
41 "The Dictator proclaims that the maximum phase index in this simulation is ",
43 " whereas you have used ",
45 ". Remember that indexing starts at 0. The Dictator is watching you, to "
46 "ensure your wellbeing.");
71 for (
unsigned j = 0; j < LIBMESH_DIM; ++j)
72 result -= _grad_test[_i][_qp] *
Kernel = grad(test) * darcy_velocity * u.
const MaterialProperty< std::vector< std::vector< std::vector< RealVectorValue > > > > & _ddarcy_velocity_dgradvar
_ddarcy_velocity_dgradvar[_qp][ph][j][v](k) = d(k^th component of the Darcy velocity of phase ph)/d(j...
InputParameters validParams< PorousFlowBasicAdvection >()
virtual Real computeQpResidual() override
bool notPorousFlowVariable(unsigned int moose_var_num) const
Returns true if moose_var_num is not a porous flow variabe.
const MaterialProperty< std::vector< std::vector< RealVectorValue > > > & _ddarcy_velocity_dvar
_ddarcy_velocity_dvar[_qp][ph][v](j) = d(j^th component of the Darcy velocity of phase ph)/d(PorousFl...
const PorousFlowDictator & _dictator
Holds info on the Porous Flow variables.
const unsigned _ph
Phase of Darcy velocity.
unsigned int porousFlowVariableNum(unsigned int moose_var_num) const
The PorousFlow variable number.
const MaterialProperty< std::vector< RealVectorValue > > & _darcy_velocity
_darcy_velocity[_qp][ph](j) = j^th component of the Darcy velocity of phase ph
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
unsigned int numPhases() const
The number of fluid phases.
PorousFlowBasicAdvection(const InputParameters ¶meters)
virtual Real computeQpJacobian() override
registerMooseObject("PorousFlowApp", PorousFlowBasicAdvection)
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override