A class to contain the data and executors for a field and define some basic operations.
localIdx size() const
Gets the size of the field.
Represents an unstructured mesh in NeoN.
A class to contain the data and executors for a field and define some basic operations.
localIdx size() const
Gets the size of the field.
const Array< uint8_t > & ownerOffset() const
const Array< uint8_t > & neighbourOffset() const
const Vector< localIdx > & colIdxs() const
const Vector< localIdx > & rowOffs() const
const Array< uint8_t > & diagOffset() const
const Executor & exec() const
Array< uint8_t > & diagOffset()
Array< uint8_t > & neighbourOffset()
static const SparsityPattern & readOrCreate(const UnstructuredMesh &mesh)
SparsityPattern(const UnstructuredMesh &mesh)
Vector< localIdx > & colIdxs()
SparsityPattern(Executor exec, localIdx nRows, localIdx nnzs)
Vector< localIdx > & rowOffs()
Array< uint8_t > & ownerOffset()
SparsityPattern(Array< uint8_t > &&rowOffs, Array< uint8_t > &&colIdxs, Array< uint8_t > &&ownerOffset, Vector< localIdx > &&neighbourOffset, Vector< localIdx > &&diagOffset)
SparsityPattern updateSparsity(const UnstructuredMesh &mesh, SparsityPattern &in)
SparsityPattern createSparsity(const UnstructuredMesh &mesh)
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor