Go to the documentation of this file.
20 params.addClassDescription(
21 "Compute K_ij (a measure of advective flux from node i to node j) "
22 "and R+ and R- (which quantify amount of antidiffusion to add) in the "
23 "Kuzmin-Turek FEM-TVD multidimensional scheme. Constant advective velocity is assumed");
24 params.addRequiredCoupledVar(
"u",
"The variable that is being advected");
25 params.addRequiredParam<RealVectorValue>(
"velocity",
"Velocity vector");
30 const InputParameters & parameters)
32 _velocity(getParam<RealVectorValue>(
"velocity")),
33 _u_at_nodes(coupledDofValues(
"u")),
34 _phi(_assembly.fePhi<Real>(getVar(
"u", 0)->feType())),
35 _grad_phi(_assembly.feGradPhi<Real>(getVar(
"u", 0)->feType()))
registerMooseObject("PorousFlowApp", AdvectiveFluxCalculatorConstantVelocity)
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< AdvectiveFluxCalculatorBase >()
virtual Real computeVelocity(unsigned i, unsigned j, unsigned qp) const override
Computes the transfer velocity between current node i and current node j at the current qp in the cur...
const VariablePhiGradient & _grad_phi
grad(Kuzmin-Turek shape function)
const VariableValue & _u_at_nodes
the nodal values of u
InputParameters validParams< AdvectiveFluxCalculatorConstantVelocity >()
const VariablePhiValue & _phi
Kuzmin-Turek shape function.
Computes Advective fluxes for a constant velocity.
Base class to compute Advective fluxes.
AdvectiveFluxCalculatorConstantVelocity(const InputParameters ¶meters)
RealVectorValue _velocity
advection velocity