13#include "libmesh/dense_vector.h"
ConservativeAdvectionTempl< true > ADConservativeAdvection
ConservativeAdvectionTempl< false > ConservativeAdvection
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Moose::GenericType< VariableValue, is_ad > GenericVariableValue
Moose::GenericType< Real, is_ad > GenericReal
Advection of the variable by the velocity provided by the user.
const GenericMaterialProperty< Real, is_ad > & _scalar
Material property multiplied against the velocity to scale advection strength.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
For coupling standard variables.
const unsigned int _coupled_variable_var
Coupled variable variable number.
JacRes
enum to make the code clearer
libMesh::DenseVector< GenericReal< is_ad > > _my_local_re
A container for holding the local residuals.
static InputParameters generalParams()
virtual GenericReal< is_ad > negSpeedQp() const
Returns - _grad_test * velocity.
virtual void computeJacobian() override
Compute this Kernel's contribution to the diagonal Jacobian entries.
virtual void computeResidual() override
Compute this Kernel's contribution to the residual.
const bool _coupled_variable_present
Flag to determine if coupled variable is present.
const bool _user_supplied_adv_quant
Flag to determine if user supplied variable is used as advective quantity.
const GenericVariableValue< is_ad > & _u_nodal
Nodal value of u, used for full upwinding.
std::vector< GenericReal< is_ad > > _dtotal_mass_out
In the full-upwind scheme d(total_mass_out)/d(variable_at_node_i)
const MooseArray< GenericReal< is_ad > > & _adv_quant
Quantity, as a variable value, that is advected. Defaults to the equation variable if unspecified.
virtual Real computeQpJacobian() override
Compute this Kernel's contribution to the Jacobian at the current quadrature point.
virtual const GenericReal< is_ad > & getUNodal(const std::size_t n) const
static InputParameters validParams()
std::vector< bool > _upwind_node
In the full-upwind scheme, whether a node is an upwind node.
UpwindingType
Type of upwinding.
usingGenericKernelMembers
void fullUpwind(JacRes res_or_jac)
Calculates the fully-upwind Residual and Jacobian (depending on res_or_jac)
virtual GenericReal< is_ad > computeQpResidual() override
Compute this Kernel's contribution to the residual at the current quadrature point.
const MooseArray< GenericRealVectorValue< is_ad > > * _velocity
advection velocity
enum ConservativeAdvectionTempl::UpwindingType _upwinding
const InputParameters & parameters() const
Get the parameters of the object.