41 Foam::label Foam::lduPrimitiveMeshAssembly::totalSize
43 const UPtrList<lduMesh>&
meshes 50 tot +=
meshes[meshi].lduAddr().size();
59 Foam::lduPrimitiveMeshAssembly::lduPrimitiveMeshAssembly
74 <<
"Communicator " <<
meshes[meshi].comm()
75 <<
" at index " << meshi
76 <<
" differs between meshes " <<
nl;
84 Foam::lduPrimitiveMeshAssembly::lduPrimitiveMeshAssembly
91 lduPrimitiveMesh(
mesh.lduAddr().size()),
94 meshes_.set(0, const_cast<lduMesh*>(&
mesh));
107 patchMap_.setSize(nMeshes);
108 patchLocalToGlobalMap_.setSize(nMeshes);
109 faceMap_.setSize(nMeshes);
110 faceBoundMap_.setSize(nMeshes);
111 cellBoundMap_.setSize(nMeshes);
113 facePatchFaceMap_.setSize(nMeshes);
116 cellOffsets_.setSize(1+nMeshes);
118 for (label meshi=0; meshi < nMeshes; ++meshi)
120 cellOffsets_[meshi+1] =
121 cellOffsets_[meshi] +
meshes[meshi].lduAddr().
size();
124 for (label i=0; i < nMeshes; ++i)
126 patchMap_[i].setSize(meshes_[i].interfaces().size(), -1);
127 patchLocalToGlobalMap_[i].setSize(patchMap_[i].size(), -1);
129 faceBoundMap_[i].setSize(patchMap_[i].size());
130 cellBoundMap_[i].setSize(patchMap_[i].size());
131 facePatchFaceMap_[i].setSize(patchMap_[i].size());
142 if (
pp.neighbRegionID() !=
"none")
146 if (meshes_[meshi].thisDb().
name() ==
pp.neighbRegionID())
label findNbrMeshId(const polyPatch &pp, const label iMesh) const
Find nrb mesh Id for mapped patches.
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
const UPtrList< lduMesh > & meshes() const
Return fvMeshes.
label size() const noexcept
The number of entries in the list.
virtual label comm() const
Return communicator used for parallel communication.
Foam::PtrList< Foam::fvMesh > meshes(regionNames.size())
Simplest concrete lduMesh that stores the addressing needed by lduMatrix.
static const lduMesh & mesh(const lduMesh &mesh0, const PtrList< lduPrimitiveMesh > &otherMeshes, const label meshI)
Select either mesh0 (meshI is 0) or otherMeshes[meshI-1].
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
defineTypeNameAndDebug(combustionModel, 0)
#define WarningInFunction
Report a warning using Foam::Warning.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
Defines the attributes of an object for which implicit objectRegistry management is supported...
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
void updateMaps(const UPtrList< lduMesh > &)
Size maps.