NeoFOAM
WIP Prototype of a modern OpenFOAM core
Loading...
Searching...
No Matches
sparsityPattern.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// SPDX-FileCopyrightText: 2025 NeoFOAM authors
3
4#pragma once
5
8
9namespace la = NeoFOAM::la;
10
12{
13
14
16{
17public:
18
20
21 void update();
22
24
26
28
29 const Field<uint8_t>& diagOffset() const;
30
31 // add selection mechanism via dictionary later
32 static const std::shared_ptr<SparsityPattern> readOrCreate(const UnstructuredMesh& mesh);
33
34private:
35
36 const UnstructuredMesh& mesh_;
38 Field<uint8_t> ownerOffset_;
39 Field<uint8_t> neighbourOffset_;
40 Field<uint8_t> diagOffset_;
41};
42
43} // namespace NeoFOAM::finiteVolume::cellCentred
A class to contain the data and executors for a field and define some basic operations.
Definition field.hpp:49
Represents an unstructured mesh in NeoFOAM.
const Field< uint8_t > & diagOffset() const
const Field< uint8_t > & neighbourOffset() const
const la::LinearSystem< NeoFOAM::scalar, NeoFOAM::localIdx > & linearSystem() const
static const std::shared_ptr< SparsityPattern > readOrCreate(const UnstructuredMesh &mesh)
const Field< uint8_t > & ownerOffset() const
A class representing a linear system of equations.