37 template <
typename Derived>
46 template <
typename Derived>
50template <
typename Derived>
54 const Derived & kernel)
const
59 const auto & sys = kokkosSystem(
_var.
sys());
60 kernel.template accumulateTaggedVector<AccumulationMode::NonAtomic>(
61 kernel.template computeRightHandSideContribution<Derived>(datum),
62 sys.getElemLocalDofIndex(elem, 0,
_var.
var()));
65template <
typename Derived>
72 const auto & sys = kokkosSystem(
_var.
sys());
73 const auto var_num =
_var.
var();
74 const auto row = sys.getElemLocalDofIndex(elem, 0, var_num);
75 kernel.template accumulateTaggedMatrix<AccumulationMode::NonAtomic>(
76 kernel.template computeMatrixContribution<Derived>(datum),
78 sys.getElemGlobalDofIndex(elem, 0, var_num));
KOKKOS_FUNCTION ContiguousElementID kokkosBlockElementID(Moose::Kokkos::ThreadID tid) const
Get the contiguous element ID this Kokkos thread is operating on.
const InputParameters & parameters() const
Get the parameters of the object.
Device-side geometric context for finite volume kernels and boundary conditions.
Base class for Kokkos linear finite volume kernels that contribute on elements (volumetric terms)
virtual void computeMatrix() override
Compute the matrix contributions of this object.
LinearFVElementalKernel(const InputParameters ¶meters)
LinearFVElementalKernel(const LinearFVElementalKernel &object)
static InputParameters validParams()
virtual void computeRightHandSide() override
Compute the right-hand side contributions of this object.
KOKKOS_FUNCTION void operator()(RightHandSideLoop, const ThreadID tid, const Derived &kernel) const
Right-hand side dispatch loop body; accumulates the elemental RHS contribution.
Base class for Kokkos linear finite volume kernels that contribute to the linear system.
Variable _var
Kokkos variable.
KOKKOS_FUNCTION const Mesh & kokkosMesh() const
Get the const reference of the Kokkos mesh.
KOKKOS_FUNCTION unsigned int components() const
Get the number of components.
KOKKOS_FUNCTION unsigned int var(unsigned int comp=0) const
Get the variable number of a component.
KOKKOS_FUNCTION unsigned int sys(unsigned int comp=0) const
Get the system number of a component.
MOOSE_KOKKOS_INDEX_TYPE ThreadID
const unsigned int invalid_uint
Tag dispatch type for the matrix computation loop.
Tag dispatch type for the right-hand side computation loop.