43 #ifdef MOOSE_KOKKOS_SCOPE 85 unsigned int var)
const 99 unsigned int var)
const 124 const Real seed)
const;
135 const unsigned int var,
136 const TagID tag)
const 154 const unsigned int var,
156 const Real seed)
const;
167 const unsigned int var,
168 const TagID tag)
const 182 const unsigned int var,
183 const TagID tag)
const 197 const unsigned int var,
198 const TagID tag)
const 212 const unsigned int var,
213 const TagID tag)
const 233 const unsigned int var,
235 const Real seed)
const;
246 const unsigned int side,
247 const unsigned int qp,
248 const unsigned int var,
249 const TagID tag)
const;
260 const unsigned int side,
261 const unsigned int qp,
262 const unsigned int var,
263 const TagID tag)
const;
276 const unsigned int side,
277 const unsigned int qp,
278 const unsigned int var,
280 const Real seed)
const;
292 const unsigned int side,
294 const unsigned int qp,
295 const unsigned int var,
296 const TagID tag)
const;
308 const unsigned int side,
310 const unsigned int qp,
311 const unsigned int var,
312 const TagID tag)
const;
327 const unsigned int side,
329 const unsigned int qp,
330 const unsigned int var,
332 const Real seed)
const;
410 #ifdef MOOSE_KOKKOS_SCOPE 412 KOKKOS_FUNCTION
inline ADReal 423 KOKKOS_FUNCTION
inline ADReal 427 const unsigned int var,
429 const Real seed)
const 441 for (
unsigned int i = 0; i < n_dofs; ++i)
453 const unsigned int var,
455 const Real seed)
const 467 for (
unsigned int i = 0; i < n_dofs; ++i)
471 grad = jacobian * grad;
477 KOKKOS_FUNCTION
inline Real 479 const unsigned int side,
480 const unsigned int qp,
481 const unsigned int var,
482 const TagID tag)
const 490 for (
unsigned int i = 0; i < n_dofs; ++i)
496 KOKKOS_FUNCTION
inline Real3 498 const unsigned int side,
499 const unsigned int qp,
500 const unsigned int var,
501 const TagID tag)
const 509 for (
unsigned int i = 0; i < n_dofs; ++i)
515 KOKKOS_FUNCTION
inline ADReal 517 const unsigned int side,
518 const unsigned int qp,
519 const unsigned int var,
521 const Real seed)
const 529 for (
unsigned int i = 0; i < n_dofs; ++i)
535 KOKKOS_FUNCTION
inline Real3 537 const unsigned int side,
539 const unsigned int qp,
540 const unsigned int var,
541 const TagID tag)
const 549 for (
unsigned int i = 0; i < n_dofs; ++i)
552 grad = jacobian * grad;
557 KOKKOS_FUNCTION
inline Real33 559 const unsigned int side,
561 const unsigned int qp,
562 const unsigned int var,
563 const TagID tag)
const 571 for (
unsigned int i = 0; i < n_dofs; ++i)
581 const unsigned int side,
583 const unsigned int qp,
584 const unsigned int var,
586 const Real seed)
const 594 for (
unsigned int i = 0; i < n_dofs; ++i)
597 grad = jacobian * grad;
KOKKOS_FUNCTION const auto & getPhi(ContiguousSubdomainID subdomain, unsigned int elem_type, unsigned int fe_type) const
Get the shape functions of a FE type for an element type and subdomain.
Array< Array2D< Array< Real3 > > > _qp_vector_solutions_curl
void reinit()
Allocate the quadrature point vectors for active variable and tags and cache quadrature point values...
KOKKOS_FUNCTION Real3 & getVectorQpVectorCurl(const ElementInfo info, const dof_id_type qp, const unsigned int var, const TagID tag) const
Get the quadrature point curl of a vector variable from a tagged vector.
KOKKOS_FUNCTION dof_id_type getElemLocalDofIndex(ContiguousElementID elem, unsigned int i, unsigned int var) const
Get the local DOF index of a variable for an element.
void setupDofs()
Setup DOF data.
The Kokkos object that contains the information of an element The IDs used in Kokkos are different fr...
Array< Array< bool > > _nbc_matrix_tag_dof
Per-matrix-tag local-plus-ghost DOF masks for nodal BC coverage.
Array< dof_id_type > _local_to_global_dof_index
Map from local DOF index to global DOF index.
KOKKOS_FUNCTION const Assembly & kokkosAssembly() const
Get the const reference of the Kokkos assembly.
void setupCoupling()
Setup coupling data between variables.
KOKKOS_FUNCTION Real3 & getVectorQpGrad(const ElementInfo info, const dof_id_type qp, const unsigned int var, const TagID tag) const
Get the quadrature point gradient of a variable from a tagged vector.
KOKKOS_FUNCTION Real getVectorQpValueFace(const ElementInfo info, const unsigned int side, const unsigned int qp, const unsigned int var, const TagID tag) const
Get the face quadrature point value of a variable from a tagged vector.
KOKKOS_FUNCTION const auto & getVectorPhiFace(ContiguousSubdomainID subdomain, unsigned int elem_type, unsigned int fe_type) const
Get the face vector shape functions of a FE type for an element type and subdomain.
KOKKOS_FUNCTION unsigned int getFETypeID(unsigned int var) const
Get the FE type ID of a variable.
KOKKOS_FUNCTION Real3 getVectorQpGradFace(const ElementInfo info, const unsigned int side, const Real33 jacobian, const unsigned int qp, const unsigned int var, const TagID tag) const
Get the face quadrature point gradient of a variable from a tagged vector.
KOKKOS_FUNCTION ADReal3 getVectorQpADGrad(const ElementInfo info, const Real33 jacobian, const dof_id_type offset, const dof_id_type qp, const unsigned int var, const TagID tag, const Real seed) const
Get the quadrature point gradient of a variable from a tagged vector for automatic differentiation (A...
KOKKOS_FUNCTION ADReal3 getVectorQpADGradFace(const ElementInfo info, const unsigned int side, const Real33 jacobian, const unsigned int qp, const unsigned int var, const TagID tag, const Real seed) const
Get the face quadrature point gradient of a variable from a tagged vector for automatic differentiati...
KOKKOS_FUNCTION const auto & getGradPhiFace(ContiguousSubdomainID subdomain, unsigned int elem_type, unsigned int fe_type) const
Get the gradient of face shape functions of a FE type for an element type and subdomain.
KOKKOS_FUNCTION const auto & getGradPhi(ContiguousSubdomainID subdomain, unsigned int elem_type, unsigned int fe_type) const
Get the gradient of shape functions of a FE type for an element type and subdomain.
KOKKOS_FUNCTION unsigned int getNumDofs(unsigned int elem_type, unsigned int fe_type) const
Get the number of DOFs of a FE type for an element type.
Array< Array2D< Array< Real > > > _qp_solutions
Cached elemental quadrature values and gradients.
Base class for a system (of equations)
The Kokkos base system class.
KOKKOS_FUNCTION const auto & getCoupling(unsigned int var) const
Get the list of off-diagonal coupled variable numbers of a variable.
KOKKOS_FUNCTION Real & getVectorDofValue(const dof_id_type dof, const TagID tag) const
Get the DOF value of a tagged vector.
DualNumber< Real, DNDerivativeType, false > ADReal
void setupNodalBCDofs()
Mark the DOFs covered by nodal BCs.
KOKKOS_FUNCTION const auto & getPhiFace(ContiguousSubdomainID subdomain, unsigned int elem_type, unsigned int fe_type) const
Get the face shape functions of a FE type for an element type and subdomain.
void getNodalBCDofs(const NodalBCBase *nbc, Array< bool > &dofs)
Get the list of DOFs covered by a nodal BC.
void setupVariables()
Setup variable data.
KOKKOS_FUNCTION Real3 & getVectorQpVectorValue(const ElementInfo info, const dof_id_type qp, const unsigned int var, const TagID tag) const
Get the quadrature point value of a vector variable from a tagged vector.
Array< Vector > _vectors
Kokkos vectors and matrices on device.
MOOSE_KOKKOS_INDEX_TYPE ThreadID
KOKKOS_FUNCTION Real & getVectorQpValue(const ElementInfo info, const dof_id_type qp, const unsigned int var, const TagID tag) const
Get the quadrature point value of a variable from a tagged vector.
Array< bool > _var_is_vector
Whether each variable is vector-valued.
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...
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
static constexpr dof_id_type invalid_id
dof_id_type ContiguousNodeID
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
The Kokkos interface that holds the host reference of the Kokkos assembly and copies it to device dur...
The Kokkos FE system class.
KOKKOS_INLINE_FUNCTION Real33 transpose() const
KOKKOS_FUNCTION dof_id_type getNodeGlobalDofIndex(ContiguousNodeID node, unsigned int i, unsigned int var) const
Get the global DOF index of a variable for a node.
KOKKOS_FUNCTION Real33 & getVectorQpVectorGrad(const ElementInfo info, const dof_id_type qp, const unsigned int var, const TagID tag) const
Get the quadrature point gradient of a vector variable from a tagged vector.
The base class for Kokkos nodal boundary conditions.
Base class for deriving any boundary condition that works at nodes.
KOKKOS_FUNCTION ADReal getVectorDofADValue(const dof_id_type dof, const TagID tag, const Real seed) const
Get the DOF value of a tagged vector for automatic differentiation (AD)
Array< Array< unsigned int > > _coupling
Off-diagonal coupled variable numbers of each variable.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
KOKKOS_FUNCTION ADReal getVectorQpADValueFace(const ElementInfo info, const unsigned int side, const unsigned int qp, const unsigned int var, const TagID tag, const Real seed) const
Get the face quadrature point value of a variable from a tagged vector for automatic differentiation ...
MakeSystemHolder(FESystem)
Array< Array2D< Array< Real3 > > > _qp_solutions_grad
Thread _thread
Kokkos thread object.
Array< unsigned int > _var_fe_types
FE type ID of each variable.
Array< Array< dof_id_type > > _local_node_dof_index
Local nodal DOF indices of each variable.
KOKKOS_FUNCTION Real3 getVectorQpVectorValueFace(const ElementInfo info, const unsigned int side, const unsigned int qp, const unsigned int var, const TagID tag) const
Get the face quadrature point value of a vector variable from a tagged vector.
Array< Array2D< Array< Real33 > > > _qp_vector_solutions_grad
KOKKOS_FUNCTION ADReal getVectorQpADValue(const ElementInfo info, const dof_id_type offset, const dof_id_type qp, const unsigned int var, const TagID tag, const Real seed) const
Get the quadrature point value of a variable from a tagged vector for automatic differentiation (AD) ...
KOKKOS_FUNCTION bool hasNodalBCMatrixTag(dof_id_type dof, TagID tag) const
Check whether a local DOF index is associated with a nodal BC for an extra matrix tag...
KOKKOS_FUNCTION bool isNodalDefined(ContiguousNodeID node, unsigned int var) const
Get whether a variable is defined on a node.
FESystem(SystemBase &system)
Constructor for standalone use (pure FE simulations)
KOKKOS_FUNCTION void operator()(const ThreadID tid) const
Kokkos function for caching variable values on element quadrature points.
The Kokkos thread object that aids in converting the one-dimensional thread index into multi-dimensio...
KOKKOS_FUNCTION dof_id_type getNodeLocalDofIndex(ContiguousNodeID node, unsigned int i, unsigned int var) const
Get the local DOF index of a variable for a node.
KOKKOS_FUNCTION Real33 getVectorQpVectorGradFace(const ElementInfo info, const unsigned int side, const Real33 jacobian, const unsigned int qp, const unsigned int var, const TagID tag) const
Get the face quadrature point gradient of a vector variable from a tagged vector. ...
Array< Array2D< Array< Real3 > > > _qp_vector_solutions