40 template <
typename Derived>
94 template <
typename Derived>
102 template <
typename Derived>
107 template <
typename Derived>
113 [&](
Real * local_re,
const unsigned int ib,
const unsigned int ie)
115 for (
unsigned int qp = 0; qp < datum.
n_qps(); ++qp)
119 Real value = datum.
JxW(qp) * kernel->precomputeQpResidual(qp, datum);
121 for (
unsigned int i = ib; i < ie; ++i)
122 local_re[i] +=
value * _test(datum, i, qp);
127 template <
typename Derived>
135 [&](
Real * local_ke,
const unsigned int ijb,
const unsigned int ije)
137 for (
unsigned int qp = 0; qp < datum.
n_qps(); ++qp)
143 for (
unsigned int ij = ijb; ij < ije; ++ij)
145 unsigned int i = ij % datum.
n_jdofs();
146 unsigned int j = ij / datum.
n_jdofs();
150 value = datum.
JxW(qp) * kernel->precomputeQpJacobian(j, qp, datum);
154 local_ke[ij] +=
value * _test(datum, i, qp);
163 #define usingKokkosKernelValueMembers(T) usingKokkosKernelMembers(T) KOKKOS_FUNCTION unsigned int n_jdofs() const
Get the number of local DOFs for the coupled variable.
static InputParameters validParams()
usingKokkosKernelMembers(Derived)
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.
KOKKOS_FUNCTION void computeJacobianInternal(const Derived *kernel, ResidualDatum &datum) const
The base class for a user to derive their own Kokkos kernels where the residual is of the form...
KernelValue(const InputParameters ¶meters)
Constructor.
KOKKOS_FUNCTION Real precomputeQpJacobian(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...
static InputParameters validParams()
virtual bool defaultJacobian() const override
Get whether precomputeQpJacobian() was not defined in the derived class.
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
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 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 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.