80 template <
typename Derived>
83 template <
typename Derived>
88 template <
typename Derived>
94 [&](
Real * local_re,
const unsigned int ib,
const unsigned int ie)
96 for (
unsigned int qp = 0; qp < datum.
n_qps(); ++qp)
100 Real value = datum.
JxW(qp) * kernel.computeQpResidual(qp, datum);
102 for (
unsigned int i = ib; i < ie; ++i)
108 template <
typename Derived>
116 [&](
Real * local_ke,
const unsigned int ijb,
const unsigned int ije)
118 for (
unsigned int qp = 0; qp < datum.
n_qps(); ++qp)
124 for (
unsigned int ij = ijb; ij < ije; ++ij)
126 unsigned int i = ij % datum.
n_jdofs();
127 unsigned int j = ij / datum.
n_jdofs();
131 value = datum.
JxW(qp) * kernel.computeQpJacobian(j, qp, datum);
static auto defaultJacobian()
Get the function pointer of the default computeQpJacobian()
KOKKOS_FUNCTION unsigned int n_jdofs() const
Get the number of local DOFs for the coupled variable.
const unsigned int invalid_uint
KOKKOS_FUNCTION void computeJacobianInternal(ResidualDatum &datum, function body) const
The common loop structure template for computing elemental Jacobian.
const InputParameters & parameters() const
Get the parameters of the object.
const VariableTestValue _test
Current test function.
The base class for a user to derive their own Kokkos kernels where the residual is of the form...
KOKKOS_FUNCTION void computeResidualInternal(const Derived &kernel, ResidualDatum &datum) const
The parallel computation bodies that hide the base class methods to optimize for factoring out the te...
KOKKOS_FUNCTION void computeJacobianInternal(const Derived &kernel, ResidualDatum &datum) const
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
KOKKOS_FUNCTION unsigned int n_qps() const
Get the number of local quadrature points.
KOKKOS_FUNCTION Real computeQpJacobian(const unsigned int, const unsigned int, ResidualDatum &) const
Default methods to prevent compile errors even when these methods were not defined in the derived cla...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
KernelValue(const InputParameters ¶meters)
Constructor.
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 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.
static InputParameters validParams()