Go to the documentation of this file.
18 InputParameters params = validParams<AuxKernel>();
19 params.addRequiredParam<RealVectorValue>(
"gravity",
20 "Gravitational acceleration vector downwards (m/s^2)");
21 params.addRequiredParam<UserObjectName>(
22 "PorousFlowDictator",
"The UserObject that holds the list of PorousFlow variable names");
23 params.addParam<
unsigned int>(
"fluid_phase", 0,
"The index corresponding to the fluid phase");
25 params.addRequiredParam<MooseEnum>(
26 "component",
component,
"The spatial component of the Darcy flux to return");
27 params.addClassDescription(
"Darcy velocity (in m^3.s^-1.m^-2, or m.s^-1) -(k_ij * krel /mu "
28 "(nabla_j P - w_j)), where k_ij is the permeability tensor, krel is "
29 "the relative permeability, mu is the fluid viscosity, P is the fluid "
30 "pressure, and w_j is the fluid weight.");
35 const InputParameters & parameters)
36 : AuxKernel(parameters),
37 _relative_permeability(
38 getMaterialProperty<std::vector<Real>>(
"PorousFlow_relative_permeability_qp")),
39 _fluid_viscosity(getMaterialProperty<std::vector<Real>>(
"PorousFlow_viscosity_qp")),
40 _permeability(getMaterialProperty<RealTensorValue>(
"PorousFlow_permeability_qp")),
41 _grad_p(getMaterialProperty<std::vector<
RealGradient>>(
"PorousFlow_grad_porepressure_qp")),
42 _fluid_density_qp(getMaterialProperty<std::vector<Real>>(
"PorousFlow_fluid_phase_density_qp")),
44 _ph(getParam<unsigned int>(
"fluid_phase")),
45 _component(getParam<MooseEnum>(
"component")),
46 _gravity(getParam<RealVectorValue>(
"gravity"))
49 paramError(
"fluid_phase",
50 "The Dictator proclaims that the maximum phase index in this simulation is ",
52 " whereas you have used ",
54 ". Remember that indexing starts at 0. The Dictator is watching you, to "
55 "ensure your wellbeing.");
const MaterialProperty< std::vector< RealGradient > > & _grad_p
Gradient of the pore pressure in each phase.
virtual Real computeValue()
InputParameters validParams< PorousFlowDarcyVelocityComponent >()
const MaterialProperty< std::vector< Real > > & _relative_permeability
Relative permeability of each phase.
VectorValue< Real > RealGradient
unsigned int _component
Desired spatial component.
const RealVectorValue _gravity
Gravitational acceleration.
registerMooseObject("PorousFlowApp", PorousFlowDarcyVelocityComponent)
const MaterialProperty< RealTensorValue > & _permeability
Permeability of porous material.
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.
const MaterialProperty< std::vector< Real > > & _fluid_density_qp
Fluid density for each phase (at the qp)
Computes a component of the Darcy velocity: -k_ij * krel /mu (nabla_j P - w_j) where k_ij is the perm...
const PorousFlowDictator & _dictator
PorousFlowDicatator UserObject.
const MaterialProperty< std::vector< Real > > & _fluid_viscosity
Viscosity of each component in each phase.
const unsigned int _ph
Index of the fluid phase.
PorousFlowDarcyVelocityComponent(const InputParameters ¶meters)