https://mooseframework.inl.gov
Public Member Functions | List of all members
Moose::Kokkos::VectorVariableShapeCurl< is_test > Class Template Reference

#include <KokkosVariableValue.h>

Public Member Functions

KOKKOS_FUNCTION Real3 operator() (AssemblyDatum &datum, unsigned int i, unsigned int qp) const
 Get the curl of the current vector shape function. More...
 

Detailed Description

template<bool is_test>
class Moose::Kokkos::VectorVariableShapeCurl< is_test >

Definition at line 179 of file KokkosVariableValue.h.

Member Function Documentation

◆ operator()()

template<bool is_test>
KOKKOS_FUNCTION Real3 Moose::Kokkos::VectorVariableShapeCurl< is_test >::operator() ( AssemblyDatum datum,
unsigned int  i,
unsigned int  qp 
) const
inline

Get the curl of the current vector shape function.

Parameters
datumThe AssemblyDatum object of the current thread
iThe element-local DOF index
qpThe local quadrature point index
Returns
The curl of the vector shape function

Definition at line 189 of file KokkosVariableValue.h.

190  {
191  auto & elem = datum.elem();
192  auto side = datum.side();
193  auto fe = is_test ? datum.ife() : datum.jfe();
194 
195  auto grad =
196  side == libMesh::invalid_uint
197  ? datum.assembly().getVectorGradPhi(elem.subdomain, elem.type, fe)(i, qp)
198  : datum.assembly().getVectorGradPhiFace(elem.subdomain, elem.type, fe)(side)(i, qp);
199 
200  return curlFromVectorGradient(grad * datum.J(qp).transpose(), datum.assembly().getDimension());
201  }
const unsigned int invalid_uint
KOKKOS_FUNCTION unsigned int getDimension() const
Get the mesh dimension.
KOKKOS_FUNCTION const Real33 & J(const unsigned int qp)
Get the inverse of Jacobian matrix | dxi/dx deta/dx dzeta/dx | | dxi/dy deta/dy dzeta/dy | | dxi/dz d...
Definition: KokkosDatum.h:495
KOKKOS_FUNCTION unsigned int side() const
Get the side index.
Definition: KokkosDatum.h:79
KOKKOS_FUNCTION const auto & getVectorGradPhiFace(ContiguousSubdomainID subdomain, unsigned int elem_type, unsigned int fe_type) const
Get the gradient of face vector shape functions of a FE type for an element type and subdomain...
KOKKOS_FUNCTION unsigned int jfe() const
Get the coupled variable FE type ID.
Definition: KokkosDatum.h:666
KOKKOS_FUNCTION const auto & getVectorGradPhi(ContiguousSubdomainID subdomain, unsigned int elem_type, unsigned int fe_type) const
Get the gradient of vector shape functions of a FE type for an element type and subdomain.
KOKKOS_INLINE_FUNCTION Real3 curlFromVectorGradient(const Real33 grad, const unsigned int dim)
Definition: KokkosTypes.h:591
KOKKOS_FUNCTION const Assembly & assembly() const
Get the Kokkos assembly.
Definition: KokkosDatum.h:274
KOKKOS_INLINE_FUNCTION Real33 transpose() const
Definition: KokkosTypes.h:448
KOKKOS_FUNCTION unsigned int ife() const
Get the variable FE type ID.
Definition: KokkosDatum.h:661
KOKKOS_FUNCTION const ElementInfo & elem() const
Get the element information object.
Definition: KokkosDatum.h:46

The documentation for this class was generated from the following file: