54 template <
typename Derived>
77template <
typename Derived>
91 ADReal local_re = bc.template computeQpResidual<Derived>(0, datum);
KOKKOS_FUNCTION ContiguousNodeID kokkosBoundaryNodeID(Moose::Kokkos::ThreadID tid) const
Get the contiguous node ID this Kokkos thread is operating on.
const InputParameters & parameters() const
Get the parameters of the object.
The base class for a user to derive their own Kokkos nodal boundary conditions using automatic differ...
bool _computing_jacobian
Whether computing Jacobian.
static InputParameters validParams()
const ADVariableValue _u
Current solution at nodes.
virtual void dispatch()
Dispatch parallel calculation.
virtual void computeResidual() override
Compute this object's contribution to the residual.
ADNodalBC(const InputParameters ¶meters)
Constructor.
virtual void computeJacobian() override
Compute this object's contribution to the diagonal Jacobian entries.
KOKKOS_FUNCTION void operator()(ResidualLoop, const ThreadID tid, const Derived &bc) const
The parallel computation entry function called by Kokkos.
virtual void computeResidualAndJacobian() override
Compute this object's contribution to the residual and Jacobian simultaneously.
bool _computing_residual
Whether computing residual.
The Kokkos object that holds thread-private data in the parallel operations of Kokkos kernels.
KOKKOS_FUNCTION void do_derivatives(const bool flag)
Set whether to compute derivatives for automatic differentiation (AD)
KOKKOS_FUNCTION const Assembly & kokkosAssembly() const
Get the const reference of the Kokkos assembly.
The base class for Kokkos nodal boundary conditions.
Variable _kokkos_var
Kokkos variable.
KOKKOS_FUNCTION void accumulateTaggedNodalMatrix(const bool add, const Real local_ke, const ContiguousNodeID node, const unsigned int jvar, const unsigned int comp=0) const
Accumulate or set local nodal Jacobian contribution to tagged matrices.
KOKKOS_FUNCTION void accumulateTaggedNodalResidual(const bool add, const Real local_re, const ContiguousNodeID node, const unsigned int comp=0) const
Accumulate or set local nodal residual contribution to tagged vectors.
The Kokkos wrapper classes for MOOSE-like variable value access.
KOKKOS_FUNCTION unsigned int var(unsigned int comp=0) const
Get the variable number of a component.
KOKKOS_FUNCTION unsigned int sys(unsigned int comp=0) const
Get the system number of a component.
MOOSE_KOKKOS_INDEX_TYPE ThreadID
DualNumber< Real, DNDerivativeType, false > ADReal