The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object. More...
#include <KokkosDatum.h>
Public Member Functions | |
KOKKOS_FUNCTION | Datum (const ContiguousElementID elem, const unsigned int side, const Assembly &assembly, const Array< System > &systems) |
Constructor for element and side data. More... | |
KOKKOS_FUNCTION | Datum (const ContiguousNodeID node, const Assembly &assembly, const Array< System > &systems) |
Constructor for node data. More... | |
KOKKOS_FUNCTION const Assembly & | assembly () const |
Get the Kokkos assembly. More... | |
KOKKOS_FUNCTION const System & | system (unsigned int sys) const |
Get the Kokkos system. More... | |
KOKKOS_FUNCTION const ElementInfo & | elem () const |
Get the element information object. More... | |
KOKKOS_FUNCTION ContiguousSubdomainID | subdomain () const |
Get the contiguous subdomain ID. More... | |
KOKKOS_FUNCTION unsigned int | side () const |
Get the side index. More... | |
KOKKOS_FUNCTION ContiguousNodeID | node () const |
Get the contiguous node ID. More... | |
KOKKOS_FUNCTION unsigned int | n_qps () const |
Get the number of local quadrature points. More... | |
KOKKOS_FUNCTION dof_id_type | qpOffset () const |
Get the starting offset into the global quadrature point index. More... | |
KOKKOS_FUNCTION bool | hasNeighbor () const |
Get whether the current side has a neighbor. More... | |
KOKKOS_FUNCTION bool | isNodal () const |
Get whether the current datum is on a node. More... | |
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 deta/dz dzeta/dz |. More... | |
KOKKOS_FUNCTION Real | JxW (const unsigned int qp) |
Get the transformed Jacobian weight. More... | |
KOKKOS_FUNCTION Real3 | q_point (const unsigned int qp) |
Get the physical quadrature point coordinate. More... | |
KOKKOS_FUNCTION void | reinit () |
Reset the reinit flag. More... | |
Protected Attributes | |
const Assembly & | _assembly |
Reference of the Kokkos assembly. More... | |
const Array< System > & | _systems |
Reference of the Kokkos systems. More... | |
const ElementInfo | _elem |
Current element information object. More... | |
const unsigned int | _side = libMesh::invalid_uint |
Current side index. More... | |
const ContiguousNodeID | _node = libMesh::DofObject::invalid_id |
Current contiguous node ID. More... | |
const ContiguousElementID | _neighbor = libMesh::DofObject::invalid_id |
Current contiguous element ID of neighbor. More... | |
const unsigned int | _n_qps = 1 |
Number of local quadrature points. More... | |
const dof_id_type | _qp_offset = libMesh::DofObject::invalid_id |
Starting offset into the global quadrature point index. More... | |
Private Member Functions | |
KOKKOS_FUNCTION void | reinitTransform (const unsigned int qp) |
Compute and cache the physical transformation data. More... | |
Private Attributes | |
bool | _transform_reinit = false |
Flag whether the physical transformation data was cached. More... | |
Real33 | _J |
Cached physical transformation data. More... | |
Real | _JxW |
Real3 | _xyz |
The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object.
Definition at line 25 of file KokkosDatum.h.
|
inline |
Constructor for element and side data.
elem | The contiguous element ID of the current thread |
side | The side index of the current thread |
assembly | The Kokkos assembly |
systems | The Kokkos systems |
Definition at line 36 of file KokkosDatum.h.
|
inline |
Constructor for node data.
node | The contiguous node ID of the current thread |
assembly | The Kokkos assembly |
systems | The Kokkos systems |
Definition at line 59 of file KokkosDatum.h.
|
inline |
Get the Kokkos assembly.
Definition at line 68 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariablePhiValue::operator()(), Moose::Kokkos::VariablePhiGradient::operator()(), Moose::Kokkos::VariableTestValue::operator()(), and Moose::Kokkos::VariableTestGradient::operator()().
|
inline |
Get the element information object.
Definition at line 80 of file KokkosDatum.h.
Referenced by KokkosTimeDerivative::computeJacobianInternal(), Moose::Kokkos::ResidualObject::computeJacobianInternal(), Moose::Kokkos::ResidualObject::computeResidualInternal(), Moose::Kokkos::VariablePhiValue::operator()(), Moose::Kokkos::VariablePhiGradient::operator()(), Moose::Kokkos::VariableTestValue::operator()(), Moose::Kokkos::VariableTestGradient::operator()(), Moose::Kokkos::VariableValue::operator()(), and Moose::Kokkos::VariableGradient::operator()().
|
inline |
Get whether the current side has a neighbor.
Definition at line 110 of file KokkosDatum.h.
|
inline |
Get whether the current datum is on a node.
Definition at line 115 of file KokkosDatum.h.
Referenced by J(), JxW(), Moose::Kokkos::VariableValue::operator()(), and q_point().
Get the inverse of Jacobian matrix | dxi/dx deta/dx dzeta/dx | | dxi/dy deta/dy dzeta/dy | | dxi/dz deta/dz dzeta/dz |.
qp | The local quadrature point index |
Definition at line 125 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariablePhiGradient::operator()(), Moose::Kokkos::VariableTestGradient::operator()(), and Moose::Kokkos::VariableGradient::operator()().
Get the transformed Jacobian weight.
qp | The local quadrature point index |
Definition at line 139 of file KokkosDatum.h.
Referenced by KokkosTimeDerivative::computeJacobianInternal(), Moose::Kokkos::KernelValue::computeJacobianInternal(), Moose::Kokkos::KernelGrad::computeJacobianInternal(), Moose::Kokkos::IntegratedBC::computeJacobianInternal(), Moose::Kokkos::Kernel::computeJacobianInternal(), Moose::Kokkos::IntegratedBC::computeOffDiagJacobianInternal(), Moose::Kokkos::Kernel::computeOffDiagJacobianInternal(), Moose::Kokkos::TimeKernel::computeResidualInternal(), Moose::Kokkos::KernelValue::computeResidualInternal(), Moose::Kokkos::KernelGrad::computeResidualInternal(), Moose::Kokkos::IntegratedBC::computeResidualInternal(), and Moose::Kokkos::Kernel::computeResidualInternal().
|
inline |
Get the number of local quadrature points.
Definition at line 100 of file KokkosDatum.h.
Referenced by KokkosTimeDerivative::computeJacobianInternal(), Moose::Kokkos::KernelValue::computeJacobianInternal(), Moose::Kokkos::KernelGrad::computeJacobianInternal(), Moose::Kokkos::IntegratedBC::computeJacobianInternal(), Moose::Kokkos::Kernel::computeJacobianInternal(), Moose::Kokkos::IntegratedBC::computeOffDiagJacobianInternal(), Moose::Kokkos::Kernel::computeOffDiagJacobianInternal(), Moose::Kokkos::TimeKernel::computeResidualInternal(), Moose::Kokkos::KernelValue::computeResidualInternal(), Moose::Kokkos::KernelGrad::computeResidualInternal(), Moose::Kokkos::IntegratedBC::computeResidualInternal(), Moose::Kokkos::Kernel::computeResidualInternal(), and Moose::Kokkos::Material::operator()().
|
inline |
Get the contiguous node ID.
Definition at line 95 of file KokkosDatum.h.
Referenced by KokkosBoundNodalKernel< KokkosUpperBoundNodalKernel >::computeQpJacobian(), KokkosBoundNodalKernel< KokkosUpperBoundNodalKernel >::computeQpOffDiagJacobian(), KokkosBoundNodalKernel< KokkosUpperBoundNodalKernel >::computeQpResidual(), and Moose::Kokkos::VariableValue::operator()().
Get the physical quadrature point coordinate.
qp | The local quadrature point index |
Definition at line 153 of file KokkosDatum.h.
|
inline |
Get the starting offset into the global quadrature point index.
Definition at line 105 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariableValue::operator()(), and Moose::Kokkos::VariableGradient::operator()().
|
inline |
Reset the reinit flag.
Definition at line 166 of file KokkosDatum.h.
Referenced by KokkosTimeDerivative::computeJacobianInternal(), Moose::Kokkos::KernelValue::computeJacobianInternal(), Moose::Kokkos::KernelGrad::computeJacobianInternal(), Moose::Kokkos::IntegratedBC::computeJacobianInternal(), Moose::Kokkos::Kernel::computeJacobianInternal(), Moose::Kokkos::IntegratedBC::computeOffDiagJacobianInternal(), Moose::Kokkos::Kernel::computeOffDiagJacobianInternal(), Moose::Kokkos::TimeKernel::computeResidualInternal(), Moose::Kokkos::KernelValue::computeResidualInternal(), Moose::Kokkos::KernelGrad::computeResidualInternal(), Moose::Kokkos::IntegratedBC::computeResidualInternal(), Moose::Kokkos::Kernel::computeResidualInternal(), and Moose::Kokkos::Material::operator()().
Compute and cache the physical transformation data.
qp | The local quadrature point index |
Definition at line 224 of file KokkosDatum.h.
Referenced by J(), JxW(), and q_point().
|
inline |
Get the side index.
Definition at line 90 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariablePhiValue::operator()(), Moose::Kokkos::VariablePhiGradient::operator()(), Moose::Kokkos::VariableTestValue::operator()(), Moose::Kokkos::VariableTestGradient::operator()(), Moose::Kokkos::VariableValue::operator()(), and Moose::Kokkos::VariableGradient::operator()().
|
inline |
Get the contiguous subdomain ID.
Definition at line 85 of file KokkosDatum.h.
Get the Kokkos system.
sys | The system number |
Definition at line 74 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariableValue::operator()(), and Moose::Kokkos::VariableGradient::operator()().
|
protected |
Reference of the Kokkos assembly.
Definition at line 172 of file KokkosDatum.h.
Referenced by assembly(), J(), q_point(), and reinitTransform().
|
protected |
Current element information object.
Definition at line 180 of file KokkosDatum.h.
Referenced by elem(), reinitTransform(), and subdomain().
|
private |
Cached physical transformation data.
Definition at line 217 of file KokkosDatum.h.
Referenced by J(), and reinitTransform().
|
private |
Definition at line 218 of file KokkosDatum.h.
Referenced by JxW(), and reinitTransform().
|
protected |
Number of local quadrature points.
Definition at line 196 of file KokkosDatum.h.
Referenced by n_qps().
|
protected |
Current contiguous element ID of neighbor.
Definition at line 192 of file KokkosDatum.h.
Referenced by hasNeighbor().
|
protected |
Current contiguous node ID.
Definition at line 188 of file KokkosDatum.h.
|
protected |
Starting offset into the global quadrature point index.
Definition at line 200 of file KokkosDatum.h.
Referenced by qpOffset().
|
protected |
Current side index.
Definition at line 184 of file KokkosDatum.h.
Referenced by reinitTransform(), and side().
Reference of the Kokkos systems.
Definition at line 176 of file KokkosDatum.h.
Referenced by system().
|
private |
Flag whether the physical transformation data was cached.
Definition at line 212 of file KokkosDatum.h.
Referenced by reinit(), and reinitTransform().
|
private |
Definition at line 219 of file KokkosDatum.h.
Referenced by q_point(), and reinitTransform().