Generic datum class containing geometric information related to the mesh. More...
#include <KokkosDatum.h>
Public Member Functions | |
| KOKKOS_FUNCTION | MeshDatum (ContiguousElementID elem, const unsigned int side, const Mesh &mesh) |
| Constructor. 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 bool | hasNeighbor () const |
| Get whether the current side has a neighbor. More... | |
| KOKKOS_FUNCTION const ElementInfo & | neighbor () const |
| Get the neighbor element information object. More... | |
| KOKKOS_FUNCTION ContiguousElementID | neighborID () const |
| Get the contiguous neighbor element ID. More... | |
| KOKKOS_FUNCTION unsigned int | side () const |
| Get the side index. More... | |
| KOKKOS_FUNCTION bool | isSide () const |
| Get whether the current datum is on a side. More... | |
| KOKKOS_FUNCTION ContiguousSubdomainID | subdomain () const |
| Get the contiguous subdomain ID. More... | |
| KOKKOS_FUNCTION ContiguousSubdomainID | neighborSubdomain () const |
| Get the contiguous neighbor subdomain ID. More... | |
Static Protected Member Functions | |
| static KOKKOS_FUNCTION ElementInfo | neighborInfo (ContiguousElementID elem, const unsigned int side, const Mesh &mesh) |
| Get the neighbor element information object for an element side. More... | |
Protected Attributes | |
| const Mesh & | _mesh |
| Reference to the Kokkos mesh. More... | |
| const ElementInfo | _elem |
| Current element information object. More... | |
| const unsigned int | _side = libMesh::invalid_uint |
| Current side index. More... | |
| const ElementInfo | _neighbor |
| Current neighbor element information object. More... | |
Generic datum class containing geometric information related to the mesh.
This is a base class for derived datum classes for both finite volume and finite element system assembly.
Definition at line 24 of file KokkosDatum.h.
|
inline |
Constructor.
| elem | The contiguous element ID |
| side | The element side index, or libMesh::invalid_uint for element-only data |
| mesh | The Kokkos mesh |
Definition at line 138 of file KokkosDatum.h.
|
inline |
Get the element information object.
Definition at line 46 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(), neighborInfo(), Moose::Kokkos::VariablePhiValue::operator()(), Moose::Kokkos::VariablePhiGradient::operator()(), Moose::Kokkos::VariableTestValue::operator()(), Moose::Kokkos::VariableTestGradient::operator()(), and Moose::Kokkos::AuxKernel::setElementSolution().
|
inline |
Get the contiguous element ID.
Definition at line 52 of file KokkosDatum.h.
Referenced by KokkosExtraIDIntegralVectorPostprocessor::execute(), Moose::Kokkos::LinearFVFluxKernel::hasBoundaryData(), and KokkosExtraIDIntegralVectorPostprocessor::reduce().
|
inline |
Get whether the current side has a neighbor.
Definition at line 149 of file KokkosDatum.h.
Referenced by Moose::Kokkos::LinearFVFluxKernel::hasFaceNeighbor().
|
inline |
Get whether the current datum is on a side.
Definition at line 85 of file KokkosDatum.h.
Referenced by Moose::Kokkos::Datum::normals(), and Moose::Kokkos::Datum::reinitTransform().
|
inline |
Get the Kokkos mesh.
Definition at line 40 of file KokkosDatum.h.
Referenced by neighborInfo().
|
inline |
Get the neighbor element information object.
ElementInfo whose data members represent invalid state (e.g. hold invalid_uint, invalid_id like values) Definition at line 67 of file KokkosDatum.h.
Referenced by neighborInfo().
|
inline |
Get the contiguous neighbor element ID.
libMesh::DofObject::invalid_id Definition at line 73 of file KokkosDatum.h.
Referenced by Moose::Kokkos::LinearFVFluxKernel::operator()().
|
inlinestaticprotected |
Get the neighbor element information object for an element side.
| elem | The contiguous element ID |
| side | The side index |
| mesh | The Kokkos mesh |
ElementInfo (a default constructed ElementInfo's data members all represent invalid state) when elem is libMesh::DofObject::invalid_id, side is libMesh::invalid_uint, or the Kokkos mesh has no contiguous neighbor ID for the side. The latter includes exterior boundary sides with no libMesh neighbor and sides whose libMesh neighbor is libMesh::remote_elem. Off-process neighbors present as ghost elements have contiguous IDs and return their ElementInfo. Definition at line 155 of file KokkosDatum.h.
|
inline |
Get the contiguous neighbor subdomain ID.
Definition at line 97 of file KokkosDatum.h.
Referenced by Moose::Kokkos::LinearFVFluxKernel::hasFaceNeighbor().
|
inline |
Get the side index.
Definition at line 79 of file KokkosDatum.h.
Referenced by Moose::Kokkos::VariableValueTempl< is_ad >::get(), Moose::Kokkos::VariableGradientTempl< is_ad >::get(), Moose::Kokkos::LinearFVFluxKernel::hasBoundaryData(), neighborInfo(), Moose::Kokkos::VariablePhiValue::operator()(), Moose::Kokkos::VariablePhiGradient::operator()(), Moose::Kokkos::VariableTestValue::operator()(), and Moose::Kokkos::VariableTestGradient::operator()().
|
inline |
Get the contiguous subdomain ID.
Definition at line 91 of file KokkosDatum.h.
Referenced by KokkosExtraIDIntegralVectorPostprocessor::execute(), and KokkosExtraIDIntegralVectorPostprocessor::reduce().
|
protected |
Current element information object.
Definition at line 125 of file KokkosDatum.h.
Referenced by elem(), Moose::Kokkos::FVDatum::elementCentroid(), Moose::Kokkos::FVDatum::elementVolume(), elemID(), Moose::Kokkos::Datum::extraElemID(), Moose::Kokkos::FVDatum::faceArea(), Moose::Kokkos::FVDatum::faceCentroid(), Moose::Kokkos::FVDatum::faceDCFMag(), Moose::Kokkos::FVDatum::faceDCNMag(), Moose::Kokkos::FVDatum::faceNormal(), Moose::Kokkos::Datum::reinitTransform(), and subdomain().
|
protected |
Reference to the Kokkos mesh.
Definition at line 120 of file KokkosDatum.h.
Referenced by Moose::Kokkos::FVDatum::elementCentroid(), Moose::Kokkos::FVDatum::elementVolume(), Moose::Kokkos::Datum::extraElemID(), Moose::Kokkos::FVDatum::faceArea(), Moose::Kokkos::FVDatum::faceCentroid(), Moose::Kokkos::FVDatum::faceDCFMag(), Moose::Kokkos::FVDatum::faceDCNMag(), Moose::Kokkos::FVDatum::faceNormal(), and mesh().
|
protected |
Current neighbor element information object.
Definition at line 135 of file KokkosDatum.h.
Referenced by hasNeighbor(), neighbor(), neighborID(), and neighborSubdomain().
|
protected |
Current side index.
Definition at line 130 of file KokkosDatum.h.
Referenced by Moose::Kokkos::FVDatum::faceArea(), Moose::Kokkos::FVDatum::faceCentroid(), Moose::Kokkos::FVDatum::faceDCFMag(), Moose::Kokkos::FVDatum::faceDCNMag(), Moose::Kokkos::FVDatum::faceNormal(), isSide(), Moose::Kokkos::Datum::reinitTransform(), and side().
1.8.14