79 template <
typename Derived>
82 const unsigned int qp,
85 return kernel.computeQpResidual(qp, datum);
87 template <
typename Derived>
90 const unsigned int qp,
93 return kernel.computeQpJacobian(j, qp, datum);
101 template <
typename Derived>
104 template <
typename Derived>
109 template <
typename Derived>
115 [&](
Real * local_re,
const unsigned int ib,
const unsigned int ie)
117 for (
unsigned int qp = 0; qp < datum.
n_qps(); ++qp)
121 Real value = datum.
JxW(qp) * kernel.computeQpResidualShim(kernel, qp, datum);
123 for (
unsigned int i = ib; i < ie; ++i)
129 template <
typename Derived>
137 [&](
Real * local_ke,
const unsigned int ijb,
const unsigned int ije)
139 for (
unsigned int qp = 0; qp < datum.
n_qps(); ++qp)
145 for (
unsigned int ij = ijb; ij < ije; ++ij)
147 unsigned int i = ij % datum.
n_jdofs();
148 unsigned int j = ij / datum.
n_jdofs();
152 value = datum.
JxW(qp) * kernel.computeQpJacobianShim(kernel, j, qp, datum);
static auto defaultJacobian()
Get the function pointer of the default computeQpJacobian()
KOKKOS_FUNCTION void computeJacobianInternal(AssemblyDatum &datum, function body) const
The common loop structure template for computing elemental Jacobian.
KOKKOS_FUNCTION void computeResidualInternal(const Derived &kernel, AssemblyDatum &datum) const
The parallel computation bodies that hide the base class methods to optimize for factoring out the te...
const unsigned int invalid_uint
const InputParameters & parameters() const
Get the parameters of the object.
const VariableTestValue _test
Current test function.
KOKKOS_FUNCTION Real computeQpJacobian(const unsigned int, const unsigned int, AssemblyDatum &) const
Default methods to prevent compile errors even when these methods were not defined in the derived cla...
The base class for a user to derive their own Kokkos kernels where the residual is of the form...
KOKKOS_FUNCTION unsigned int n_jdofs() const
Get the number of local DOFs for the coupled variable.
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 computeQpResidualShim(const Derived &kernel, const unsigned int qp, AssemblyDatum &datum) const
Shims for hook methods that can be leveraged to implement static polymorphism.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
KOKKOS_FUNCTION Real computeQpJacobianShim(const Derived &kernel, const unsigned int j, const unsigned int qp, AssemblyDatum &datum) const
KOKKOS_FUNCTION void computeJacobianInternal(const Derived &kernel, AssemblyDatum &datum) const
KernelValue(const InputParameters ¶meters)
Constructor.
The Kokkos object that holds thread-private data in the parallel operations of Kokkos kernels...
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.
KOKKOS_FUNCTION void computeResidualInternal(AssemblyDatum &datum, function body) const
The common loop structure template for computing elemental residual.
KOKKOS_FUNCTION void reinit()
Reset the reinit flag.
static InputParameters validParams()