faMeshReconstructor Class Reference

A bare-bones reconstructor for finiteArea meshes when processor meshes are available (in parallel) but an equivalent serial faMesh is needed for reconstruction or decomposition. In these situations, a serial version of the faMesh is needed, but preferably without reconstructing the entire volume mesh. More...

Public Member Functions

 faMeshReconstructor (const faMesh &procMesh, IOobjectOption::readOption readVolProcAddr=IOobjectOption::MUST_READ)
 Construct from components. More...
 
 faMeshReconstructor (const faMesh &procMesh, const labelUList &fvFaceProcAddressing)
 Construct from components. More...
 
 ~faMeshReconstructor ()
 Destructor. More...
 
void clearGeom ()
 
bool good () const noexcept
 True if no construct errors encountered. More...
 
const labelListpointProcAddressing () const noexcept
 Processor point addressing. More...
 
const labelListedgeProcAddressing () const noexcept
 Processor edge addressing. More...
 
const labelListfaceProcAddressing () const noexcept
 Processor face addressing. More...
 
const labelListboundaryProcAddressing () const noexcept
 Processor boundary addressing. More...
 
const primitivePatchpatch () const
 Serial equivalent patch. More...
 
primitivePatchpatch ()
 Serial equivalent patch. More...
 
const faMeshmesh () const
 Serial equivalent faMesh. More...
 
void writeAddressing () const
 Write proc addressing at the polyMesh faceInstances time. More...
 
void writeAddressing (const word &timeName) const
 Write proc addressing at the given time. More...
 
void writeMesh () const
 Write equivalent mesh information at the polyMesh faceInstances time. More...
 
void writeMesh (const word &timeName) const
 Write equivalent mesh information at the given time. More...
 

Static Public Attributes

static int debug = 0
 Debug flag. More...
 

Detailed Description

A bare-bones reconstructor for finiteArea meshes when processor meshes are available (in parallel) but an equivalent serial faMesh is needed for reconstruction or decomposition. In these situations, a serial version of the faMesh is needed, but preferably without reconstructing the entire volume mesh.

It uses the finiteVolume faceProcAddressing in addition to the geometric information available from the underlying polyMesh.

The resulting equivalent faMesh can be used for basic operations, but caution should be exercised before attempting large operations.

Source files

Definition at line 60 of file faMeshReconstructor.H.

Constructor & Destructor Documentation

◆ faMeshReconstructor() [1/2]

faMeshReconstructor ( const faMesh procMesh,
IOobjectOption::readOption  readVolProcAddr = IOobjectOption::MUST_READ 
)
explicit

Construct from components.

Definition at line 538 of file faMeshReconstructor.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, polyMesh::meshSubDir, Foam::nl, IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, UPstream::parRun(), and UPstream::reduceAnd().

Here is the call graph for this function:

◆ faMeshReconstructor() [2/2]

faMeshReconstructor ( const faMesh procMesh,
const labelUList fvFaceProcAddressing 
)

Construct from components.

Definition at line 600 of file faMeshReconstructor.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, and UPstream::parRun().

Here is the call graph for this function:

◆ ~faMeshReconstructor()

Destructor.

Definition at line 621 of file faMeshReconstructor.C.

Member Function Documentation

◆ clearGeom()

void clearGeom ( )

Definition at line 627 of file faMeshReconstructor.C.

◆ good()

bool good ( ) const
inlinenoexcept

True if no construct errors encountered.

Definition at line 217 of file faMeshReconstructor.H.

◆ pointProcAddressing()

const labelList& pointProcAddressing ( ) const
inlinenoexcept

Processor point addressing.

Definition at line 222 of file faMeshReconstructor.H.

◆ edgeProcAddressing()

const labelList& edgeProcAddressing ( ) const
inlinenoexcept

Processor edge addressing.

Definition at line 230 of file faMeshReconstructor.H.

◆ faceProcAddressing()

const labelList& faceProcAddressing ( ) const
inlinenoexcept

Processor face addressing.

Definition at line 238 of file faMeshReconstructor.H.

◆ boundaryProcAddressing()

const labelList& boundaryProcAddressing ( ) const
inlinenoexcept

Processor boundary addressing.

Definition at line 246 of file faMeshReconstructor.H.

◆ patch() [1/2]

const Foam::primitivePatch & patch ( ) const

Serial equivalent patch.

Definition at line 635 of file faMeshReconstructor.C.

◆ patch() [2/2]

Foam::primitivePatch & patch ( )

Serial equivalent patch.

Definition at line 646 of file faMeshReconstructor.C.

◆ mesh()

const Foam::faMesh & mesh ( ) const

Serial equivalent faMesh.

Definition at line 657 of file faMeshReconstructor.C.

◆ writeAddressing() [1/2]

void writeAddressing ( ) const

Write proc addressing at the polyMesh faceInstances time.

Definition at line 668 of file faMeshReconstructor.C.

◆ writeAddressing() [2/2]

void writeAddressing ( const word timeName) const

Write proc addressing at the given time.

Definition at line 674 of file faMeshReconstructor.C.

References faMesh::meshSubDir, IOobjectOption::NO_READ, IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, regIOobject::rename(), IOobject::rename(), timeName, and Foam::vtk::write().

Here is the call graph for this function:

◆ writeMesh() [1/2]

void writeMesh ( ) const

Write equivalent mesh information at the polyMesh faceInstances time.

Definition at line 707 of file faMeshReconstructor.C.

◆ writeMesh() [2/2]

void writeMesh ( const word timeName) const

Write equivalent mesh information at the given time.

Definition at line 713 of file faMeshReconstructor.C.

References faMesh::boundary(), fileOperation::fileHandler(), Foam::fileHandler, io(), UPstream::master(), mesh, fileOperation::NewUncollated(), UPstream::parRun(), IOobject::rename(), Foam::vtk::write(), and regIOobject::write().

Here is the call graph for this function:

Member Data Documentation

◆ debug

int debug = 0
static

Debug flag.

Definition at line 179 of file faMeshReconstructor.H.


The documentation for this class was generated from the following files: