56 template <
typename Derived>
64 template <
typename Derived>
107 template <
typename Derived>
120 bc.computeResidualInternal(bc, datum);
123 template <
typename Derived>
131 for (
unsigned int qp = 0; qp < datum.
n_qps(); ++qp)
132 local_re += datum.
JxW(qp) * bc.template computeQpResidual<Derived>(i, qp, datum);
KOKKOS_FUNCTION void set_local_parallel(const unsigned int local_thread_id, const unsigned int num_local_threads)
Set local parallelization option.
const ADVariableGradient _grad_u
Gradient of the current solution at quadrature points.
ADIntegratedBC(const InputParameters ¶meters)
Constructor.
KOKKOS_FUNCTION const Assembly & kokkosAssembly() const
Get the const reference of the Kokkos assembly.
virtual void computeResidual() override
Compute this object's contribution to the residual.
virtual void computeResidualAndJacobian() override
Compute this object's contribution to the residual and Jacobian simultaneously.
KOKKOS_FUNCTION unsigned int num_local_threads() const
Get the number of local threads.
const InputParameters & parameters() const
Get the parameters of the object.
bool _computing_residual
Whether computing residual.
KOKKOS_FUNCTION void computeResidualInternal(const Derived &bc, AssemblyDatum &datum) const
Compute residual.
Thread _thread
Kokkos thread object.
The base class for Kokkos integrated boundary conditions.
bool _computing_jacobian
Whether computing Jacobian.
The Kokkos wrapper classes for MOOSE-like shape function access.
DualNumber< Real, DNDerivativeType, false > ADReal
MOOSE_KOKKOS_INDEX_TYPE ThreadID
KOKKOS_FUNCTION void accumulateTaggedElementalMatrix(const Real local_ke, const ContiguousElementID elem, const unsigned int i, const unsigned int j, const unsigned int jvar, const unsigned int comp=0) const
Accumulate local elemental Jacobian contribution to tagged matrices.
static InputParameters validParams()
KOKKOS_FUNCTION unsigned int n_qps() const
Get the number of local quadrature points.
KOKKOS_FUNCTION unsigned int local_thread_id() const
Get the current local thread ID.
The Kokkos wrapper classes for MOOSE-like variable value access.
KOKKOS_FUNCTION void operator()(ResidualLoop, const ThreadID tid, const Derived &bc) const
The parallel computation entry function called by Kokkos.
const ADVariableValue _u
Current solution at quadrature points.
KOKKOS_FUNCTION auto kokkosBoundaryElementSideID(Moose::Kokkos::ThreadID tid) const
Get the contiguous element ID - side index pair this Kokkos thread is operating on.
const ADVariablePhiValue _phi
Current shape function.
KOKKOS_FUNCTION void accumulateTaggedElementalResidual(const Real local_re, const ContiguousElementID elem, const unsigned int i, const unsigned int comp=0) const
Accumulate local elemental residual contribution to tagged vectors.
KOKKOS_FUNCTION const ElementInfo & elem() const
Get the element information object.
virtual void computeJacobian() override
Compute this object's contribution to the diagonal Jacobian entries.
virtual void dispatch()
Dispatch parallel calculation.
const ADVariablePhiGradient _grad_phi
Gradient of the current shape function.
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.
Variable _kokkos_var
Kokkos variable.
The base class for a user to derive their own Kokkos integrated boundary conditions using automatic d...
KOKKOS_FUNCTION unsigned int var(unsigned int comp=0) const
Get the variable number of a component.
KOKKOS_FUNCTION unsigned int n_dofs() const
Get the number of local DOFs.
KOKKOS_FUNCTION thread_id_type size() const
Get the total thread pool size.
const ADVariableTestGradient _grad_test
Gradient of the current test function.
const ADVariableTestValue _test
Current test function.
ContiguousElementID id
Contiguous element ID.
KOKKOS_FUNCTION const Array< System > & kokkosSystems() const
Get the const reference of the Kokkos systems.