37#ifndef Foam_processorColour_H
38#define Foam_processorColour_H
58 public MeshObject<lduMesh, MoveableMeshObject, processorColour>,
74 processorColour(
const processorColour&) =
delete;
77 void operator=(
const processorColour&) =
delete;
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
MeshObject(const lduMesh &mesh)
const lduMesh & mesh() const noexcept
label & operator[](const label i)
static int myProcNo(const label communicator=worldComm)
Rank of this process in the communicator (starting from masterNo()). Negative if the process is not a...
lduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
Abstract base class for meshes which provide LDU addressing for the construction of lduMatrix and LDU...
virtual ~processorColour()=default
Destructor.
static const processorColour & New(const lduMesh &mesh)
Should use the MeshObject provided one but that needs a.
virtual bool movePoints()
Update for mesh motion.
label nColours_
Max number of colours.
static void walkFront(const lduMesh &mesh, DynamicList< label > &front, labelList &cellColour)
static label cellColour(const lduMesh &mesh, labelList &cellColour, labelList &patchToColour)
Calculate (locally) per cell colour according to walking from global patches. Returns number of colou...
TypeName("processorColour")
Runtime type information.
static label colour(const lduMesh &mesh, labelList &procColour)
Calculate processor colouring from processor connectivity. Sets colour per processor such that no nei...
List< label > labelList
A List of labels.
Specialisations of Field<T> for scalar, vector and tensor.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.