Go to the documentation of this file.
19 params.addClassDescription(
20 "Computes the advective flux of fluid of given phase and component. Hence this UserObject "
21 "is relevant to multi-phase, multi-component situations. Explicitly, the UserObject "
22 "computes (mass_fraction * density * relative_permeability / viscosity) * (- permeability * "
23 "(grad(P) - density * gravity)), using the Kuzmin-Turek FEM-TVD multidimensional "
24 "stabilization scheme");
31 _relative_permeability(
32 getMaterialProperty<std::vector<Real>>(
"PorousFlow_relative_permeability_nodal")),
33 _drelative_permeability_dvar(getMaterialProperty<std::vector<std::vector<Real>>>(
34 "dPorousFlow_relative_permeability_nodal_dvar"))
PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent(const InputParameters ¶meters)
const MaterialProperty< std::vector< std::vector< Real > > > & _drelative_permeability_dvar
Derivative of relative permeability of each phase wrt PorousFlow variables.
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 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)
virtual Real computeU(unsigned i) const override
Computes the value of u at the local node id of the current element (_current_elem)
Computes the advective flux of fluid of given phase and component.
InputParameters validParams< PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent >()
registerMooseObject("PorousFlowApp", PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent)
InputParameters validParams< PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent >()
const unsigned int _phase
The phase.
virtual Real computedU_dvar(unsigned i, unsigned pvar) const override
Compute d(u)/d(porous_flow_variable)
const MaterialProperty< std::vector< Real > > & _relative_permeability
Relative permeability of each phase.