fvMeshStitcher Class Referenceabstract

Mesh manipulator that uses the intersection provided by the cyclic non-conformal poly patches to create non-conformal finite volume interfaces. More...

Inheritance diagram for fvMeshStitcher:

Public Member Functions

 TypeName ("fvMeshStitcher")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, fvMeshStitcher, fvMesh,(fvMesh &mesh),(mesh))
 
 fvMeshStitcher (fvMesh &)
 Construct from fvMesh. More...
 
 fvMeshStitcher (const fvMeshStitcher &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fvMeshStitcher ()
 Destructor. More...
 
fvMeshmesh ()
 Return the fvMesh. More...
 
bool stitches () const
 Does this stitcher do anything? More...
 
bool dynamic () const
 Is the set of connected region meshes dynamic? More...
 
bool disconnect (const bool changing, const bool geometric)
 Disconnect the mesh by removing faces from the nonConformalCyclics. More...
 
bool connect (const bool changing, const bool geometric, const bool load)
 Connect the mesh by adding faces into the nonConformalCyclics. More...
 
void reconnect (const bool geometric) const
 Re-compute the connection. Topology is preserved. Permits a change. More...
 
virtual void topoChange (const polyTopoChangeMap &)
 Update corresponding to the given map. More...
 
virtual void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 
virtual void distribute (const polyDistributionMap &)
 Update corresponding to the given distribution map. More...
 
virtual bool write (const bool write=true) const
 Write the stitcher state. More...
 
void operator= (const fvMeshStitcher &)=delete
 Disallow default bitwise assignment. More...
 

Static Public Member Functions

static autoPtr< fvMeshStitcherNew (fvMesh &, bool changing)
 Select, construct and return the fvMeshStitcher. More...
 

Protected Types

template<class Type >
using SurfaceFieldBoundary = GeometricBoundaryField< Type, fvsPatchField, surfaceMesh >
 Alias for surface boundary fields to reduce verbosity of method. More...
 
using part = patchToPatches::intersection::part
 Alias the patchToPatch intersection part struct. More...
 
using couple = patchToPatches::intersection::couple
 Alias the patchToPatch intersection couple struct. More...
 

Protected Member Functions

boolList patchCoupleds () const
 Determine which patches are coupled; i.e., for which. More...
 
bool geometric () const
 Is the connection "geometric", or has the topology just been. More...
 
tmp< DimensionedField< scalar, volMesh > > openness () const
 Return the non-dimensional cell openness for debugging/checking. More...
 
tmp< DimensionedField< scalar, volMesh > > volumeConservationError (const label n) const
 Return the non-dimensional old-time volume conservation error. More...
 

Static Protected Member Functions

template<class GeoField >
static GeoField::Boundary & boundaryFieldRefNoUpdate (GeoField &fld)
 Access the boundary field reference of a field, without updating. More...
 

Detailed Description

Mesh manipulator that uses the intersection provided by the cyclic non-conformal poly patches to create non-conformal finite volume interfaces.

Source files

Definition at line 55 of file fvMeshStitcher.H.

Member Typedef Documentation

◆ SurfaceFieldBoundary

Alias for surface boundary fields to reduce verbosity of method.

definitions below

Definition at line 64 of file fvMeshStitcher.H.

◆ part

Alias the patchToPatch intersection part struct.

Definition at line 68 of file fvMeshStitcher.H.

◆ couple

Alias the patchToPatch intersection couple struct.

Definition at line 71 of file fvMeshStitcher.H.

Constructor & Destructor Documentation

◆ fvMeshStitcher() [1/2]

fvMeshStitcher ( fvMesh mesh)
explicit

Construct from fvMesh.

Definition at line 2156 of file fvMeshStitcher.C.

◆ fvMeshStitcher() [2/2]

fvMeshStitcher ( const fvMeshStitcher )
delete

Disallow default bitwise copy construction.

◆ ~fvMeshStitcher()

~fvMeshStitcher ( )
virtual

Destructor.

Definition at line 2167 of file fvMeshStitcher.C.

Member Function Documentation

◆ boundaryFieldRefNoUpdate()

GeoField::Boundary & boundaryFieldRefNoUpdate ( GeoField &  fld)
staticprotected

Access the boundary field reference of a field, without updating.

the time index, storing old time fields, etc...

Definition at line 207 of file fvMeshStitcherTemplates.C.

References fld().

Here is the call graph for this function:

◆ patchCoupleds()

Foam::boolList patchCoupleds ( ) const
protected

Determine which patches are coupled; i.e., for which.

non-conformal patches are the remote or neighbouring meshes available

Definition at line 2033 of file fvMeshStitcher.C.

References forAll, mappedFvPatchBaseBase::haveNbr(), nonConformalMappedWallFvPatch::nbrPatch(), UPstream::parRun(), nonConformalFvPatch::patch(), patchi, processorCyclicFvPatch::referPatchIndex(), Foam::patchToPatchTools::singleProcess(), and fvPatch::size().

Here is the call graph for this function:

◆ geometric()

bool geometric ( ) const
protected

Is the connection "geometric", or has the topology just been.

loaded and stabilisation geometry applied?

Definition at line 2085 of file fvMeshStitcher.C.

References forAll, polyPatch::magFaceAreas(), Foam::max(), patchi, Foam::reduce(), Foam::returnReduce(), and polyPatch::start().

Here is the call graph for this function:

◆ openness()

Foam::tmp< Foam::DimensionedField< Foam::scalar, Foam::volMesh > > openness ( ) const
protected

Return the non-dimensional cell openness for debugging/checking.

Definition at line 2120 of file fvMeshStitcher.C.

References Foam::cbrt(), Foam::cmptMag(), Foam::mag(), Foam::max(), Foam::sqr(), Foam::fvc::surfaceIntegrate(), and Foam::fvc::surfaceSum().

Here is the call graph for this function:

◆ volumeConservationError()

Foam::tmp< Foam::DimensionedField< Foam::scalar, Foam::volMesh > > volumeConservationError ( const label  n) const
protected

Return the non-dimensional old-time volume conservation error.

for a specified old-time index for debugging/checking

Definition at line 2133 of file fvMeshStitcher.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, n, OldTimeField< FieldType >::oldTime(), and Foam::fvc::surfaceIntegrate().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "fvMeshStitcher"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
fvMeshStitcher  ,
fvMesh  ,
(fvMesh &mesh ,
(mesh  
)

◆ New()

Foam::autoPtr< Foam::fvMeshStitcher > New ( fvMesh mesh,
bool  changing 
)
static

Select, construct and return the fvMeshStitcher.

Definition at line 30 of file fvMeshStitcherNew.C.

References TimePaths::constant(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAllConstIter, typeIOobject< Type >::headerOk(), Foam::libs, fvMeshStitcher::mesh(), Foam::nl, IOobject::NO_WRITE, dlLibraryTable::open(), IOobject::READ_IF_PRESENT, and fvMesh::time().

Referenced by fvMesh::postConstruct().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mesh()

fvMesh& mesh ( )
inline

Return the fvMesh.

Definition at line 442 of file fvMeshStitcher.H.

Referenced by fvMeshStitcher::New().

Here is the caller graph for this function:

◆ stitches()

bool stitches ( ) const

Does this stitcher do anything?

Definition at line 2173 of file fvMeshStitcher.C.

References forAll, and patchi.

◆ dynamic()

bool dynamic ( ) const

Is the set of connected region meshes dynamic?

Definition at line 2187 of file fvMeshStitcher.C.

References forAll.

◆ disconnect()

bool disconnect ( const bool  changing,
const bool  geometric 
)

Disconnect the mesh by removing faces from the nonConformalCyclics.

Definition at line 2203 of file fvMeshStitcher.C.

◆ connect()

bool connect ( const bool  changing,
const bool  geometric,
const bool  load 
)

Connect the mesh by adding faces into the nonConformalCyclics.

Definition at line 2216 of file fvMeshStitcher.C.

References forAll.

◆ reconnect()

void reconnect ( const bool  geometric) const

Re-compute the connection. Topology is preserved. Permits a change.

in whether or not the connection is "geometric".

Definition at line 2267 of file fvMeshStitcher.C.

References GeometricField< Type, PatchField, GeoMesh >::null().

Here is the call graph for this function:

◆ topoChange()

void topoChange ( const polyTopoChangeMap )
virtual

Update corresponding to the given map.

Definition at line 2313 of file fvMeshStitcher.C.

◆ mapMesh()

void mapMesh ( const polyMeshMap map)
virtual

Update from another mesh using the given map.

Definition at line 2317 of file fvMeshStitcher.C.

◆ distribute()

void distribute ( const polyDistributionMap )
virtual

Update corresponding to the given distribution map.

Definition at line 2321 of file fvMeshStitcher.C.

◆ write()

virtual bool write ( const bool  write = true) const
inlinevirtual

Write the stitcher state.

Definition at line 482 of file fvMeshStitcher.H.

◆ operator=()

void operator= ( const fvMeshStitcher )
delete

Disallow default bitwise assignment.


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