Go to the documentation of this file.
19 params.addClassDescription(
20 "Computes the advective flux of fluid of given phase and fluid component. Explicitly, the "
21 "UserObject computes (mass_fraction * density / viscosity) * (- permeability * (grad(P) - "
22 "density * gravity)), using the Kuzmin-Turek FEM-TVD multidimensional stabilization scheme");
23 params.addParam<
unsigned int>(
24 "fluid_component", 0,
"The index corresponding to the fluid component for this UserObject");
31 _fluid_component(getParam<unsigned int>(
"fluid_component")),
33 getMaterialProperty<std::vector<std::vector<Real>>>(
"PorousFlow_mass_frac_nodal")),
34 _dmass_fractions_dvar(getMaterialProperty<std::vector<std::vector<std::vector<Real>>>>(
35 "dPorousFlow_mass_frac_nodal_dvar"))
38 paramError(
"fluid_component",
39 "Fluid component number entered is greater than the number of fluid components "
40 "specified in the Dictator. Remember that indexing starts at 0");
const unsigned int _fluid_component
The fluid component.
const MaterialProperty< std::vector< std::vector< Real > > > & _mass_fractions
Mass fraction of each component in each phase.
virtual Real computedU_dvar(unsigned i, unsigned pvar) const override
Compute d(u)/d(porous_flow_variable)
Computes the advective flux of fluid of given phase, assuming fully-saturated conditions.
Computes the advective flux of fluid of given phase and fluid component.
virtual Real computeU(unsigned i) const override
Computes the value of u at the local node id of the current element (_current_elem)
InputParameters validParams< PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent >()
InputParameters validParams< PorousFlowAdvectiveFluxCalculatorSaturated >()
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _dmass_fractions_dvar
Derivative of the mass fraction of each component in each phase wrt PorousFlow variables.
unsigned int numComponents() const
The number of fluid components.
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
const unsigned int _phase
The phase.
PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent(const InputParameters ¶meters)
virtual Real computedU_dvar(unsigned i, unsigned pvar) const override
Compute d(u)/d(porous_flow_variable)
registerMooseObject("PorousFlowApp", PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent)
virtual Real computeU(unsigned i) const override
Computes the value of u at the local node id of the current element (_current_elem)