84 void validate()
const;
160template<
typename SparsityType>
161std::pair<std::shared_ptr<const SparsityType>, std::shared_ptr<const FaceToMatrixAddress>>
170template<
typename SparsityType>
175template<
typename SparsityType>
194template<
typename SystemSparsityType,
typename BoundarySparsityType>
224template<
typename SystemSparsityType,
typename BoundarySparsityType>
225[[nodiscard]] SharedSparsityBundle<SystemSparsityType, BoundarySparsityType>
A class to contain the data and executors for a field and define some basic operations.
MixinClass signaling copyTo is supported.
Represents an unstructured mesh in NeoN.
FaceToMatrixView view(View< const localIdx > rowOffsView) const
Get a view representation of the matrix's data.
Array< uint8_t > & neighbourOffset()
const Array< uint8_t > & neighbourOffset() const
FaceToMatrixAddress(Array< uint8_t > ownerOffset, Array< uint8_t > neighbourOffset, Array< uint8_t > diagOffset)
mapping from celli to diagonal element offset
const Array< uint8_t > & diagOffset() const
const Array< uint8_t > & ownerOffset() const
FaceToMatrixAddress copyToExecutor(Executor dstExec) const
Array< uint8_t > & diagOffset()
Array< uint8_t > & ownerOffset()
FaceToMatrixAddress(const FaceToMatrixAddress &mi)
std::shared_ptr< const SparsityType > createBoundarySparsityPattern(const UnstructuredMesh &mesh, const FaceToMatrixAddress &faceToMatrixAddress)
std::pair< std::shared_ptr< const SparsityType >, std::shared_ptr< const FaceToMatrixAddress > > createSparsityPatternFaceToMatrixAddress(const UnstructuredMesh &mesh)
std::shared_ptr< const SparsityType > createOffDiagonalSparsityPattern(const UnstructuredMesh &mesh, const FaceToMatrixAddress &faceToMatrixAddress)
SharedSparsityBundle< SystemSparsityType, BoundarySparsityType > readOrCreateSparsityBundle(const UnstructuredMesh &mesh)
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor
KOKKOS_INLINE_FUNCTION localIdx upperIdx(localIdx own, localIdx faceIdx) const
KOKKOS_INLINE_FUNCTION localIdx lowerIdx(localIdx nei, localIdx faceIdx) const
KOKKOS_INLINE_FUNCTION localIdx diagIdx(localIdx celli) const
View< const localIdx > rowOffs
View< const uint8_t > ownerOffset
FaceToMatrixView(View< const uint8_t > ownerOffsetView, View< const uint8_t > neighbourOffsetView, View< const uint8_t > diagOffsetView, View< const localIdx > rowOffsView)
View< const uint8_t > diagOffset
View< const uint8_t > neighbourOffset
SharedSparsityBundle(std::shared_ptr< const SystemSparsityType > systemSparsity, std::shared_ptr< const FaceToMatrixAddress > faceToMatrixAddress, std::shared_ptr< const BoundarySparsityType > boundarySparsity)
std::shared_ptr< const FaceToMatrixAddress > faceToMatrixAddress
std::shared_ptr< const SystemSparsityType > systemSparsity
std::shared_ptr< const BoundarySparsityType > boundarySparsity