The Kokkos object that holds thread-private data in the parallel operations of Kokkos kernels. More...
#include <KokkosDatum.h>
Public Member Functions | |
| KOKKOS_FUNCTION | AssemblyDatum (const ContiguousElementID elem, const unsigned int side, const Assembly &assembly, const Array< System > &systems, const Variable &ivar, const unsigned int jvar, const unsigned int comp=0) |
| Constructor for element and side data. More... | |
| KOKKOS_FUNCTION | AssemblyDatum (const ContiguousNodeID node, const Assembly &assembly, const Array< System > &systems, const Variable &ivar, const unsigned int jvar, const unsigned int comp=0) |
| Constructor for node data. More... | |
| KOKKOS_FUNCTION unsigned int | n_dofs () const |
| Get the number of local DOFs. More... | |
| KOKKOS_FUNCTION unsigned int | n_idofs () const |
| Get the number of local DOFs. More... | |
| KOKKOS_FUNCTION unsigned int | n_jdofs () const |
| Get the number of local DOFs for the coupled variable. More... | |
| KOKKOS_FUNCTION unsigned int | sys () const |
| Get the system number of variable. More... | |
| KOKKOS_FUNCTION unsigned int | var () const |
| Get the variable number. More... | |
| KOKKOS_FUNCTION unsigned int | ivar () const |
| Get the variable number. More... | |
| KOKKOS_FUNCTION unsigned int | jvar () const |
| Get the coupled variable number. More... | |
| KOKKOS_FUNCTION unsigned int | fe () const |
| Get the variable FE type ID. More... | |
| KOKKOS_FUNCTION unsigned int | ife () const |
| Get the variable FE type ID. More... | |
| KOKKOS_FUNCTION unsigned int | jfe () const |
| Get the coupled variable FE type ID. More... | |
| KOKKOS_FUNCTION void | do_derivatives (const bool flag) |
| Set whether to compute derivatives for automatic differentiation (AD) More... | |
| KOKKOS_FUNCTION bool | do_derivatives () const |
| Get whether to compute derivatives for automatic differentiation (AD) 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 Mesh & | mesh () const |
| Get the Kokkos mesh. More... | |
| KOKKOS_FUNCTION const ElementInfo & | elem () const |
| Get the element information object. More... | |
| KOKKOS_FUNCTION ContiguousElementID | elemID () const |
| Get the contiguous element ID. More... | |
| KOKKOS_FUNCTION dof_id_type | extraElemID (unsigned int index) const |
| Get the extra element ID. 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 dof_id_type | propertyIdx (const PropertyConstantOption constant_option, const unsigned int qp) const |
| Get the index into the property data storage. More... | |
| KOKKOS_FUNCTION bool | hasNeighbor () const |
| Get whether the current side has a neighbor. More... | |
| KOKKOS_FUNCTION bool | isSide () const |
| Get whether the current datum is on a side. More... | |
| KOKKOS_FUNCTION bool | isNodal () const |
| Get whether the current datum is on a node. More... | |
| KOKKOS_FUNCTION bool | isNodalDefined (const Variable &var) const |
| Get whether the a variable is defined on the current 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 Real3 | normals (const unsigned int qp) |
| Get the normal vector on surface. More... | |
| KOKKOS_FUNCTION void | set_local_parallel (const unsigned int local_thread_id, const unsigned int num_local_threads) |
| Set local parallelization option. More... | |
| KOKKOS_FUNCTION unsigned int | local_thread_id () const |
| Get the current local thread ID. More... | |
| KOKKOS_FUNCTION unsigned int | num_local_threads () const |
| Get the number of local threads. More... | |
Protected Attributes | |
| const TagID | _tag |
| Solution tag ID. More... | |
| const unsigned int | _sys |
| System number. More... | |
| const unsigned int | _ivar |
| Variable numbers. More... | |
| const unsigned int | _jvar |
| const unsigned int | _ife |
| FE type IDs of variables. More... | |
| const unsigned int | _jfe |
| const unsigned int | _n_idofs = 1 |
| Number of local DOFs. More... | |
| const unsigned int | _n_jdofs = 1 |
| bool | _do_derivatives = true |
| Whether to compute derivatives for automatic differentiation (AD) More... | |
| const Assembly & | _assembly |
| Reference of the Kokkos assembly. More... | |
| const Array< System > & | _systems |
| Reference of the Kokkos systems. More... | |
| const Mesh & | _mesh |
| Reference of the Kokkos mesh. 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... | |
| const dof_id_type | _elem_property_idx = libMesh::DofObject::invalid_id |
| Index for element-constant material properties. More... | |
The Kokkos object that holds thread-private data in the parallel operations of Kokkos kernels.
Definition at line 364 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 |
| ivar | The Kokkos variable |
| jvar | The coupled variable number |
| comp | The variable component |
Definition at line 378 of file KokkosDatum.h.
|
inline |
Constructor for node data.
| elem | The contiguous element ID of the current thread |
| assembly | The Kokkos assembly |
| systems | The Kokkos systems |
| ivar | The Kokkos variable |
| jvar | The coupled variable number |
| comp | The variable component |
Definition at line 406 of file KokkosDatum.h.
|
inlineinherited |
Get the Kokkos assembly.
Definition at line 67 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariablePhiValue::operator()(), Moose::Kokkos::VariablePhiGradient::operator()(), Moose::Kokkos::VariableTestValue::operator()(), and Moose::Kokkos::VariableTestGradient::operator()().
|
inline |
Set whether to compute derivatives for automatic differentiation (AD)
| flag | Whether to compute derivatives |
Definition at line 476 of file KokkosDatum.h.
Referenced by Moose::Kokkos::ADNodalBC::operator()(), Moose::Kokkos::VariableValueTempl< is_ad >::operator()(), and Moose::Kokkos::VariableGradientTempl< is_ad >::operator()().
|
inline |
Get whether to compute derivatives for automatic differentiation (AD)
Definition at line 481 of file KokkosDatum.h.
|
inlineinherited |
Get the element information object.
Definition at line 84 of file KokkosDatum.h.
Referenced by Moose::Kokkos::ResidualObject::accumulateTaggedElementalMatrix(), KokkosCopyValueAux::computeElementInternal(), KokkosTimeDerivative::computeJacobianInternal(), Moose::Kokkos::ResidualObject::computeJacobianInternal(), Moose::Kokkos::ADKernel::computeResidualInternal(), Moose::Kokkos::ADIntegratedBC::computeResidualInternal(), Moose::Kokkos::ResidualObject::computeResidualInternal(), Moose::Kokkos::VariableValueTempl< is_ad >::get(), Moose::Kokkos::VariableGradientTempl< is_ad >::get(), Moose::Kokkos::VariablePhiValue::operator()(), Moose::Kokkos::VariablePhiGradient::operator()(), Moose::Kokkos::VariableTestValue::operator()(), Moose::Kokkos::VariableTestGradient::operator()(), and Moose::Kokkos::AuxKernel::setElementSolution().
|
inlineinherited |
Get the contiguous element ID.
Definition at line 89 of file KokkosDatum.h.
Referenced by KokkosExtraIDIntegralVectorPostprocessor::execute(), and KokkosExtraIDIntegralVectorPostprocessor::reduce().
|
inlineinherited |
Get the extra element ID.
| index | The extra element ID index |
Definition at line 95 of file KokkosDatum.h.
Referenced by KokkosExtraElementIDAux::computeValue().
|
inline |
Get the variable FE type ID.
Definition at line 461 of file KokkosDatum.h.
|
inlineinherited |
Get whether the current side has a neighbor.
Definition at line 136 of file KokkosDatum.h.
|
inline |
Get the variable FE type ID.
Definition at line 466 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariableTestValue::operator()(), and Moose::Kokkos::VariableTestGradient::operator()().
|
inlineinherited |
Get whether the current datum is on a node.
Definition at line 146 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::extraElemID(), Moose::Kokkos::VariableValueTempl< is_ad >::get(), Moose::Kokkos::VariableGradientTempl< is_ad >::get(), Moose::Kokkos::Datum::isNodalDefined(), Moose::Kokkos::Datum::J(), Moose::Kokkos::Datum::JxW(), and Moose::Kokkos::Datum::q_point().
|
inlineinherited |
Get whether the a variable is defined on the current node.
| var | The variable |
Definition at line 291 of file KokkosDatum.h.
Referenced by KokkosNodalExtremeValue::reduce(), KokkosNodalSum::reduce(), and KokkosNodalMaxValueId::reduce().
|
inlineinherited |
Get whether the current datum is on a side.
Definition at line 141 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::normals(), and Moose::Kokkos::Datum::reinitTransform().
|
inline |
Get the variable number.
Definition at line 451 of file KokkosDatum.h.
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 300 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariableGradientTempl< is_ad >::get(), Moose::Kokkos::VariablePhiGradient::operator()(), and Moose::Kokkos::VariableTestGradient::operator()().
|
inline |
Get the coupled variable FE type ID.
Definition at line 471 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariablePhiValue::operator()(), and Moose::Kokkos::VariablePhiGradient::operator()().
|
inline |
Get the coupled variable number.
Definition at line 456 of file KokkosDatum.h.
Referenced by KokkosTimeDerivative::computeJacobianInternal(), Moose::Kokkos::ResidualObject::computeJacobianInternal(), Moose::Kokkos::KernelValue::computeOffDiagJacobianInternal(), Moose::Kokkos::KernelGrad::computeOffDiagJacobianInternal(), Moose::Kokkos::IntegratedBCValue::computeOffDiagJacobianInternal(), Moose::Kokkos::Kernel::computeOffDiagJacobianInternal(), and Moose::Kokkos::IntegratedBC::computeOffDiagJacobianInternal().
Get the transformed Jacobian weight.
| qp | The local quadrature point index |
Definition at line 311 of file KokkosDatum.h.
Referenced by Moose::Kokkos::AuxKernel::computeElementInternal(), KokkosTimeDerivative::computeJacobianInternal(), Moose::Kokkos::KernelValue::computeJacobianInternal(), Moose::Kokkos::IntegratedBCValue::computeJacobianInternal(), Moose::Kokkos::KernelGrad::computeJacobianInternal(), Moose::Kokkos::IntegratedBC::computeJacobianInternal(), Moose::Kokkos::Kernel::computeJacobianInternal(), Moose::Kokkos::KernelValue::computeOffDiagJacobianInternal(), Moose::Kokkos::IntegratedBCValue::computeOffDiagJacobianInternal(), Moose::Kokkos::KernelGrad::computeOffDiagJacobianInternal(), Moose::Kokkos::IntegratedBC::computeOffDiagJacobianInternal(), Moose::Kokkos::Kernel::computeOffDiagJacobianInternal(), KokkosTimeDerivative::computeResidualInternal(), Moose::Kokkos::TimeKernel::computeResidualInternal(), Moose::Kokkos::ADKernel::computeResidualInternal(), Moose::Kokkos::ADIntegratedBC::computeResidualInternal(), Moose::Kokkos::KernelValue::computeResidualInternal(), Moose::Kokkos::KernelGrad::computeResidualInternal(), Moose::Kokkos::IntegratedBCValue::computeResidualInternal(), Moose::Kokkos::Kernel::computeResidualInternal(), Moose::Kokkos::IntegratedBC::computeResidualInternal(), KokkosElementVariableStatistics::computeValue(), KokkosExtraIDIntegralVectorPostprocessor::execute(), KokkosIntegralPostprocessor< Base >::reduce(), and KokkosExtraIDIntegralVectorPostprocessor::reduce().
|
inlineinherited |
Get the current local thread ID.
Definition at line 197 of file KokkosDatum.h.
Referenced by KokkosTimeDerivative::computeJacobianInternal(), Moose::Kokkos::ResidualObject::computeJacobianInternal(), Moose::Kokkos::ADKernel::computeResidualInternal(), Moose::Kokkos::ADIntegratedBC::computeResidualInternal(), Moose::Kokkos::ResidualObject::computeResidualInternal(), and Moose::Kokkos::Datum::set_local_parallel().
|
inlineinherited |
Get the Kokkos mesh.
Definition at line 78 of file KokkosDatum.h.
|
inline |
Get the number of local DOFs.
Definition at line 426 of file KokkosDatum.h.
Referenced by KokkosCopyValueAux::computeElementInternal(), Moose::Kokkos::AuxKernel::computeElementInternal(), Moose::Kokkos::ADKernel::computeResidualInternal(), Moose::Kokkos::ADIntegratedBC::computeResidualInternal(), Moose::Kokkos::ResidualObject::computeResidualInternal(), and Moose::Kokkos::AuxKernel::setElementSolution().
|
inline |
Get the number of local DOFs.
Definition at line 431 of file KokkosDatum.h.
Referenced by KokkosTimeDerivative::computeJacobianInternal(), and Moose::Kokkos::ResidualObject::computeJacobianInternal().
|
inline |
Get the number of local DOFs for the coupled variable.
Definition at line 436 of file KokkosDatum.h.
Referenced by KokkosTimeDerivative::computeJacobianInternal(), and Moose::Kokkos::ResidualObject::computeJacobianInternal().
|
inlineinherited |
Get the number of local quadrature points.
Definition at line 118 of file KokkosDatum.h.
Referenced by Moose::Kokkos::AuxKernel::computeElementInternal(), KokkosTimeDerivative::computeJacobianInternal(), Moose::Kokkos::KernelValue::computeJacobianInternal(), Moose::Kokkos::IntegratedBCValue::computeJacobianInternal(), Moose::Kokkos::KernelGrad::computeJacobianInternal(), Moose::Kokkos::IntegratedBC::computeJacobianInternal(), Moose::Kokkos::Kernel::computeJacobianInternal(), Moose::Kokkos::KernelValue::computeOffDiagJacobianInternal(), Moose::Kokkos::IntegratedBCValue::computeOffDiagJacobianInternal(), Moose::Kokkos::KernelGrad::computeOffDiagJacobianInternal(), Moose::Kokkos::IntegratedBC::computeOffDiagJacobianInternal(), Moose::Kokkos::Kernel::computeOffDiagJacobianInternal(), KokkosTimeDerivative::computeResidualInternal(), Moose::Kokkos::TimeKernel::computeResidualInternal(), Moose::Kokkos::ADKernel::computeResidualInternal(), Moose::Kokkos::ADIntegratedBC::computeResidualInternal(), Moose::Kokkos::KernelValue::computeResidualInternal(), Moose::Kokkos::KernelGrad::computeResidualInternal(), Moose::Kokkos::IntegratedBCValue::computeResidualInternal(), Moose::Kokkos::Kernel::computeResidualInternal(), Moose::Kokkos::IntegratedBC::computeResidualInternal(), KokkosElementVariableStatistics::computeValue(), KokkosExtraIDIntegralVectorPostprocessor::execute(), Moose::Kokkos::Material::operator()(), KokkosSideExtremeValue::reduce(), KokkosElementExtremeValue::reduce(), KokkosIntegralPostprocessor< Base >::reduce(), and KokkosExtraIDIntegralVectorPostprocessor::reduce().
|
inlineinherited |
Get the contiguous node ID.
Definition at line 113 of file KokkosDatum.h.
Referenced by KokkosCopyValueAux::computeNodeInternal(), KokkosBoundNodalKernel::computeQpJacobian(), KokkosBoundNodalKernel::computeQpOffDiagJacobian(), KokkosBoundNodalKernel::computeQpResidual(), Moose::Kokkos::VariableValueTempl< is_ad >::get(), KokkosNodalMaxValueId::reduce(), and Moose::Kokkos::AuxKernel::setNodeSolution().
Get the normal vector on surface.
| qp | The local quadrature point index |
Definition at line 333 of file KokkosDatum.h.
Referenced by KokkosDirectionalNeumannBC::computeQpResidual().
|
inlineinherited |
Get the number of local threads.
Definition at line 202 of file KokkosDatum.h.
Referenced by KokkosTimeDerivative::computeJacobianInternal(), Moose::Kokkos::ResidualObject::computeJacobianInternal(), Moose::Kokkos::ADKernel::computeResidualInternal(), Moose::Kokkos::ADIntegratedBC::computeResidualInternal(), Moose::Kokkos::ResidualObject::computeResidualInternal(), and Moose::Kokkos::Datum::set_local_parallel().
|
inlineinherited |
Get the index into the property data storage.
| constant_option | The property constant option |
| qp | The local quadrature point index |
Definition at line 278 of file KokkosDatum.h.
Get the physical quadrature point coordinate.
| qp | The local quadrature point index |
Definition at line 322 of file KokkosDatum.h.
Referenced by KokkosParsedMaterial::computeQpProperties(), KokkosFunctionAux::computeValue(), and KokkosParsedAux::computeValue().
|
inlineinherited |
Get the starting offset into the global quadrature point index.
Definition at line 123 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariableValueTempl< is_ad >::get(), and Moose::Kokkos::VariableGradientTempl< is_ad >::get().
|
inlineinherited |
Set local parallelization option.
| local_thread_id | The current local thread ID |
| num_local_threads | The number of local threads |
Definition at line 187 of file KokkosDatum.h.
Referenced by Moose::Kokkos::ADKernel::operator()(), Moose::Kokkos::ADIntegratedBC::operator()(), Moose::Kokkos::Kernel::operator()(), and Moose::Kokkos::IntegratedBC::operator()().
|
inlineinherited |
Get the side index.
Definition at line 108 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariableValueTempl< is_ad >::get(), Moose::Kokkos::VariableGradientTempl< is_ad >::get(), Moose::Kokkos::VariablePhiValue::operator()(), Moose::Kokkos::VariablePhiGradient::operator()(), Moose::Kokkos::VariableTestValue::operator()(), and Moose::Kokkos::VariableTestGradient::operator()().
|
inlineinherited |
Get the contiguous subdomain ID.
Definition at line 103 of file KokkosDatum.h.
Referenced by KokkosExtraIDIntegralVectorPostprocessor::execute(), and KokkosExtraIDIntegralVectorPostprocessor::reduce().
|
inline |
Get the system number of variable.
Definition at line 441 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariableValueTempl< is_ad >::operator()(), and Moose::Kokkos::VariableGradientTempl< is_ad >::operator()().
|
inlineinherited |
Get the Kokkos system.
| sys | The system number |
Definition at line 73 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariableValueTempl< is_ad >::get(), and Moose::Kokkos::VariableGradientTempl< is_ad >::get().
|
inline |
Get the variable number.
Definition at line 446 of file KokkosDatum.h.
|
protectedinherited |
Reference of the Kokkos assembly.
Definition at line 208 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::assembly(), Moose::Kokkos::Datum::J(), Moose::Kokkos::Datum::q_point(), and Moose::Kokkos::Datum::reinitTransform().
|
protected |
Whether to compute derivatives for automatic differentiation (AD)
Definition at line 507 of file KokkosDatum.h.
Referenced by do_derivatives().
|
protectedinherited |
Current element information object.
Definition at line 220 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::elem(), Moose::Kokkos::Datum::elemID(), Moose::Kokkos::Datum::extraElemID(), Moose::Kokkos::Datum::reinitTransform(), and Moose::Kokkos::Datum::subdomain().
|
protectedinherited |
Index for element-constant material properties.
Definition at line 244 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::propertyIdx().
|
protected |
FE type IDs of variables.
Definition at line 499 of file KokkosDatum.h.
|
protected |
|
protected |
Definition at line 499 of file KokkosDatum.h.
Referenced by jfe().
|
protected |
Definition at line 495 of file KokkosDatum.h.
Referenced by jvar().
|
protectedinherited |
Reference of the Kokkos mesh.
Definition at line 216 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::extraElemID(), and Moose::Kokkos::Datum::mesh().
|
protected |
Number of local DOFs.
Definition at line 503 of file KokkosDatum.h.
|
protected |
Definition at line 503 of file KokkosDatum.h.
Referenced by n_jdofs().
|
protectedinherited |
Number of local quadrature points.
Definition at line 236 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::n_qps().
|
protectedinherited |
Current contiguous element ID of neighbor.
Definition at line 232 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::hasNeighbor().
|
protectedinherited |
Current contiguous node ID.
Definition at line 228 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::isNodal(), Moose::Kokkos::Datum::isNodalDefined(), Moose::Kokkos::Datum::node(), and Moose::Kokkos::Datum::q_point().
|
protectedinherited |
Starting offset into the global quadrature point index.
Definition at line 240 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::propertyIdx(), and Moose::Kokkos::Datum::qpOffset().
|
protectedinherited |
Current side index.
Definition at line 224 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::isSide(), Moose::Kokkos::Datum::reinitTransform(), and Moose::Kokkos::Datum::side().
|
protected |
Reference of the Kokkos systems.
Definition at line 212 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::isNodalDefined(), and Moose::Kokkos::Datum::system().
|
protected |
Solution tag ID.
Definition at line 487 of file KokkosDatum.h.
1.8.14