fvMeshAdder Class Reference

Adds two fvMeshes without using any polyMesh morphing. Uses polyMeshAdder. More...

Inheritance diagram for fvMeshAdder:
[legend]
Collaboration diagram for fvMeshAdder:
[legend]

Public Member Functions

 ClassName ("fvMeshAdder")
 

Static Public Member Functions

static autoPtr< mapAddedPolyMeshadd (fvMesh &mesh0, const fvMesh &mesh1, const faceCoupleInfo &coupleInfo, const bool validBoundary=true, const bool fullyMapped=false)
 Inplace add mesh to fvMesh. Maps all stored fields. Returns map. More...
 
template<class Type >
static void MapVolFields (const mapAddedPolyMesh &, const fvMesh &mesh, const fvMesh &meshToAdd, const bool fullyMapped=false)
 Map all volFields of Type. More...
 
template<class Type >
static void MapSurfaceFields (const mapAddedPolyMesh &, const fvMesh &mesh, const fvMesh &meshToAdd, const bool fullyMapped=false)
 Map all surfaceFields of Type. More...
 
template<class Type >
static void MapDimFields (const mapAddedPolyMesh &, const fvMesh &mesh, const fvMesh &meshToAdd)
 Map all DimensionedFields of Type. More...
 
static autoPtr< mapPolyMeshadd (const label myProci, UPtrList< fvMesh > &fvMeshes, const labelList &oldFaceOwner, const labelListList &localBoundaryFace, const labelListList &remoteFaceProc, const labelListList &remoteBoundaryFace, labelListList &constructPatchMap, labelListList &constructCellMap, labelListList &constructFaceMap, labelListList &constructPointMap)
 In-place add to fvMeshes[myProci]. Stitch boundary faces. More...
 
template<class Type >
static void MapDimField (UPtrList< DimensionedField< Type, volMesh >> &flds, const labelListList &cellProcAddressing, const bool fullyMapped)
 Update single dimensionedField. More...
 
template<class Type >
static void MapVolField (UPtrList< GeometricField< Type, fvPatchField, volMesh >> &flds, const labelList &oldPatchStarts0, const labelList &oldPatchSizes0, const labelListList &patchProcAddressing, const labelListList &cellProcAddressing, const labelListList &faceProcAddressing, const bool fullyMapped)
 Update single volField. More...
 
template<class Type >
static void MapSurfaceField (UPtrList< GeometricField< Type, fvsPatchField, surfaceMesh >> &, const labelList &oldFaceOwner0, const labelList &oldPatchStarts0, const labelList &oldPatchSizes0, const labelListList &patchProcAddressing, const labelListList &cellProcAddressing, const labelListList &faceProcAddressing, const bool fullyMapped)
 Update single surfaceField. More...
 
template<class Type >
static void MapDimFields (const UPtrList< fvMesh > &meshes, const labelListList &cellProcAddressing, const bool fullyMapped=false)
 Map all dimensionedField of Type. More...
 
template<class Type >
static void MapVolFields (const UPtrList< fvMesh > &meshes, const labelList &oldPatchStarts0, const labelList &oldPatchSizes0, const labelListList &patchProcAddressing, const labelListList &cellProcAddressing, const labelListList &faceProcAddressing, const labelListList &pointProcAddressing, const bool fullyMapped=false)
 Map all volFields of Type. More...
 
template<class Type >
static void MapSurfaceFields (const UPtrList< fvMesh > &meshes, const labelList &oldFaceOwner0, const labelList &oldPatchStarts0, const labelList &oldPatchSizes0, const labelListList &patchProcAddressing, const labelListList &cellProcAddressing, const labelListList &faceProcAddressing, const labelListList &pointProcAddressing, const bool fullyMapped=false)
 Map all surfaceFields of Type. More...
 
- Static Public Member Functions inherited from polyMeshAdder
static autoPtr< polyMeshadd (const IOobject &io, const polyMesh &mesh0, const polyMesh &mesh1, const faceCoupleInfo &coupleInfo, autoPtr< mapAddedPolyMesh > &mapPtr)
 Add two polyMeshes. Returns new polyMesh and map construct. More...
 
static autoPtr< mapAddedPolyMeshadd (polyMesh &mesh0, const polyMesh &mesh1, const faceCoupleInfo &coupleInfo, const bool validBoundary=true)
 Inplace add mesh to polyMesh. Returns map construct. More...
 
static Map< label > findSharedPoints (const polyMesh &, const scalar mergeTol)
 Find topologically and geometrically shared points. More...
 
static void mergePoints (const polyMesh &, const Map< label > &pointToMaster, polyTopoChange &meshMod)
 Helper: Merge points. More...
 
static label procPatchPairs (const UPtrList< polyMesh > &meshes, List< DynamicList< label >> &localPatch, List< DynamicList< label >> &remoteMesh, List< DynamicList< label >> &remotePatch)
 
static void patchFacePairs (const UPtrList< polyMesh > &meshes, const List< DynamicList< label >> &localPatch, const List< DynamicList< label >> &remoteMesh, const List< DynamicList< label >> &remotePatch, labelListList &localBoundaryFace, labelListList &remoteFaceMesh, labelListList &remoteBoundaryFace)
 
static void add (const UPtrList< polyMesh > &meshes, const UList< labelList > &patchMap, const labelListList &localBoundaryFace, const labelListList &remoteFaceMesh, const labelListList &remoteBoundaryFace, const labelListList &remoteFaceStart, const UList< labelList > &pointZoneMap, const UList< labelList > &faceZoneMap, const UList< labelList > &cellZoneMap, polyTopoChange &meshMod, labelListList &cellProcAddressing, labelListList &faceProcAddressing, labelListList &pointProcAddressing)
 Add multiple meshes. More...
 

Detailed Description

Adds two fvMeshes without using any polyMesh morphing. Uses polyMeshAdder.

Source files

Definition at line 67 of file fvMeshAdder.H.

Member Function Documentation

◆ ClassName()

ClassName ( "fvMeshAdder"  )

◆ add() [1/2]

Foam::autoPtr< Foam::mapAddedPolyMesh > add ( fvMesh mesh0,
const fvMesh mesh1,
const faceCoupleInfo coupleInfo,
const bool  validBoundary = true,
const bool  fullyMapped = false 
)
static

Inplace add mesh to fvMesh. Maps all stored fields. Returns map.

Definition at line 74 of file fvMeshAdder.C.

References polyMeshAdder::add(), fvMesh::boundary(), polyMesh::boundaryMesh(), fvMesh::clearOut(), forAll, fvPatch::New(), patches, PtrList< T >::set(), and PtrList< T >::setSize().

Referenced by fvMeshDistribute::distribute().

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

◆ MapVolFields() [1/2]

void MapVolFields ( const mapAddedPolyMesh meshMap,
const fvMesh mesh,
const fvMesh meshToAdd,
const bool  fullyMapped = false 
)
static

Map all volFields of Type.

Optionally override mapping detection of unmapped values (e.g. used in fvMeshDistribute since it fixes up mapping itself)

Definition at line 266 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), fields, fld, forAllIters, HashTable< T, Key, Hash >::found(), mesh, and WarningInFunction.

Here is the call graph for this function:

◆ MapSurfaceFields() [1/2]

void MapSurfaceFields ( const mapAddedPolyMesh meshMap,
const fvMesh mesh,
const fvMesh meshToAdd,
const bool  fullyMapped = false 
)
static

Map all surfaceFields of Type.

Definition at line 576 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), fields, fld, forAllIters, HashTable< T, Key, Hash >::found(), mesh, and WarningInFunction.

Here is the call graph for this function:

◆ MapDimFields() [1/2]

void MapDimFields ( const mapAddedPolyMesh meshMap,
const fvMesh mesh,
const fvMesh meshToAdd 
)
static

Map all DimensionedFields of Type.

Definition at line 658 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), fields, fld, forAllIters, HashTable< T, Key, Hash >::found(), mesh, and WarningInFunction.

Here is the call graph for this function:

◆ add() [2/2]

Foam::autoPtr< Foam::mapPolyMesh > add ( const label  myProci,
UPtrList< fvMesh > &  fvMeshes,
const labelList oldFaceOwner,
const labelListList localBoundaryFace,
const labelListList remoteFaceProc,
const labelListList remoteBoundaryFace,
labelListList constructPatchMap,
labelListList constructCellMap,
labelListList constructFaceMap,
labelListList constructPointMap 
)
static

◆ MapDimField()

void MapDimField ( UPtrList< DimensionedField< Type, volMesh >> &  flds,
const labelListList cellProcAddressing,
const bool  fullyMapped 
)
static

Update single dimensionedField.

Multi-mesh mapping.

Definition at line 706 of file fvMeshAdderTemplates.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, mesh, and Field< Type >::rmap().

Here is the call graph for this function:

◆ MapVolField()

void MapVolField ( UPtrList< GeometricField< Type, fvPatchField, volMesh >> &  flds,
const labelList oldPatchStarts0,
const labelList oldPatchSizes0,
const labelListList patchProcAddressing,
const labelListList cellProcAddressing,
const labelListList faceProcAddressing,
const bool  fullyMapped 
)
static

Update single volField.

Definition at line 756 of file fvMeshAdderTemplates.C.

References Foam::endl(), Foam::exit(), faceProcAddressing, Foam::FatalError, FatalErrorInFunction, forAll, directFvPatchFieldMapper::hasUnmapped(), mesh, Foam::foamVersion::patch, Field< Type >::rmap(), and WarningInFunction.

Here is the call graph for this function:

◆ MapSurfaceField()

void MapSurfaceField ( UPtrList< GeometricField< Type, fvsPatchField, surfaceMesh >> &  flds,
const labelList oldFaceOwner0,
const labelList oldPatchStarts0,
const labelList oldPatchSizes0,
const labelListList patchProcAddressing,
const labelListList cellProcAddressing,
const labelListList faceProcAddressing,
const bool  fullyMapped 
)
static

Update single surfaceField.

Definition at line 891 of file fvMeshAdderTemplates.C.

References Foam::endl(), Foam::exit(), Foam::faceMap(), polyMesh::faceOwner(), faceProcAddressing, Foam::FatalError, FatalErrorInFunction, fld, forAll, directFvPatchFieldMapper::hasUnmapped(), primitiveMesh::nInternalFaces(), Foam::foamVersion::patch, fvsPatchField< Type >::patch(), Field< Type >::rmap(), fvPatch::start(), and WarningInFunction.

Here is the call graph for this function:

◆ MapDimFields() [2/2]

void MapDimFields ( const UPtrList< fvMesh > &  meshes,
const labelListList cellProcAddressing,
const bool  fullyMapped = false 
)
static

Map all dimensionedField of Type.

Optionally override mapping detection of unmapped values (e.g. used in fvMeshDistribute since it fixes up mapping itself)

Definition at line 1170 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, fields, fld, forAll, meshes(), and PtrList< T >::set().

Here is the call graph for this function:

◆ MapVolFields() [2/2]

void MapVolFields ( const UPtrList< fvMesh > &  meshes,
const labelList oldPatchStarts0,
const labelList oldPatchSizes0,
const labelListList patchProcAddressing,
const labelListList cellProcAddressing,
const labelListList faceProcAddressing,
const labelListList pointProcAddressing,
const bool  fullyMapped = false 
)
static

Map all volFields of Type.

Optionally override mapping detection of unmapped values (e.g. used in fvMeshDistribute since it fixes up mapping itself)

Definition at line 1095 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), Foam::exit(), faceProcAddressing, Foam::FatalError, FatalErrorInFunction, fields, fld, forAll, meshes(), and PtrList< T >::set().

Here is the call graph for this function:

◆ MapSurfaceFields() [2/2]

void MapSurfaceFields ( const UPtrList< fvMesh > &  meshes,
const labelList oldFaceOwner0,
const labelList oldPatchStarts0,
const labelList oldPatchSizes0,
const labelListList patchProcAddressing,
const labelListList cellProcAddressing,
const labelListList faceProcAddressing,
const labelListList pointProcAddressing,
const bool  fullyMapped = false 
)
static

Map all surfaceFields of Type.

Definition at line 1225 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), Foam::exit(), faceProcAddressing, Foam::FatalError, FatalErrorInFunction, fields, fld, forAll, meshes(), and PtrList< T >::set().

Here is the call graph for this function:

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