50 template <
typename Derived>
64 template <
typename Derived>
70 [&](
Real * local_re,
const unsigned int ib,
const unsigned int ie)
72 for (
unsigned int qp = 0; qp < datum.
n_qps(); ++qp)
76 for (
unsigned int i = ib; i < ie; ++i)
77 local_re[i] += datum.
JxW(qp) * kernel.computeQpResidual(i, qp, datum);
80 kernel.computeResidualAdditional(ib, ie, datum, local_re);
const InputParameters & parameters() const
Get the parameters of the object.
static InputParameters validParams()
The base class for Kokkos time-derivative kernels.
const Scalar< const Real > _du_dot_du
Derivative of u_dot with respect to u.
TimeKernel(const InputParameters ¶meters)
Constructor.
KOKKOS_FUNCTION void computeResidualAdditional(const unsigned int, const unsigned int, ResidualDatum &, Real *) const
Hook for additional computation for residual after the standard calls.
const VariableValue _u_dot
Time derivative of the current solution at quadrature points.
KOKKOS_FUNCTION unsigned int n_qps() const
Get the number of local quadrature points.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
KOKKOS_FUNCTION void computeResidualInternal(ResidualDatum &datum, function body) const
The common loop structure template for computing elemental residual.
KOKKOS_FUNCTION Real JxW(const unsigned int qp)
Get the transformed Jacobian weight.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
The Kokkos wrapper classes for MOOSE-like variable value access.
The base class for a user to derive their own Kokkos kernels.
The Kokkos object that holds thread-private data in the parallel operations of Kokkos residual object...
KOKKOS_FUNCTION void reinit()
Reset the reinit flag.
KOKKOS_FUNCTION void computeResidualInternal(const Derived &kernel, ResidualDatum &datum) const
The parallel computation body that hides the base class method to allow additional computation for re...