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