Loading...
Searching...
No Matches
fvMeshAdder Class Reference

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

#include <fvMeshAdder.H>

Inheritance diagram for fvMeshAdder:
Collaboration diagram for fvMeshAdder:

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.
template<class Type>
static void MapVolFields (const mapAddedPolyMesh &, const fvMesh &mesh, const fvMesh &meshToAdd, const bool fullyMapped=false)
 Map all volFields of Type.
template<class Type>
static void MapSurfaceFields (const mapAddedPolyMesh &, const fvMesh &mesh, const fvMesh &meshToAdd, const bool fullyMapped=false)
 Map all surfaceFields of Type.
template<class Type>
static void MapDimFields (const mapAddedPolyMesh &, const fvMesh &mesh, const fvMesh &meshToAdd)
 Map all DimensionedFields of Type.
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.
template<class Type>
static void MapDimField (UPtrList< DimensionedField< Type, volMesh > > &flds, const labelListList &cellProcAddressing, const bool fullyMapped)
 Update single dimensionedField.
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.
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.
template<class Type>
static void MapDimFields (const UPtrList< fvMesh > &meshes, const labelListList &cellProcAddressing, const bool fullyMapped=false)
 Map all dimensionedField of Type.
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.
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.
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.
static autoPtr< mapAddedPolyMeshadd (polyMesh &mesh0, const polyMesh &mesh1, const faceCoupleInfo &coupleInfo, const bool validBoundary=true)
 Inplace add mesh to polyMesh. Returns map construct.
static Map< label > findSharedPoints (const polyMesh &, const scalar mergeTol)
 Find topologically and geometrically shared points.
static void mergePoints (const polyMesh &, const Map< label > &pointToMaster, polyTopoChange &meshMod)
 Helper: Merge points.
static label procPatchPairs (const UPtrList< polyMesh > &meshes, List< DynamicList< label > > &localPatch, List< DynamicList< label > > &remoteMesh, List< DynamicList< label > > &remotePatch)
 Helper: find pairs of processor patches. Return number of non-processor patches.
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)
 Helper: expand list of coupled patches into pairs of coupled faces.
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.

Detailed Description

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

Source files

Definition at line 63 of file fvMeshAdder.H.

Member Function Documentation

◆ ClassName()

ClassName ( "fvMeshAdder" )

References mesh, and meshes().

Here is the call graph for this function:

◆ 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 66 of file fvMeshAdder.C.

References polyMeshAdder::add(), fvMesh::boundary(), polyMesh::boundaryMesh(), fvMesh::clearOut(), forAll, MapDimFields(), MapSurfaceFields(), MapVolFields(), 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]

template<class Type>
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 258 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), field(), fields, fld(), mesh, and WarningInFunction.

Referenced by add(), and add().

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

◆ MapSurfaceFields() [1/2]

template<class Type>
void MapSurfaceFields ( const mapAddedPolyMesh & meshMap,
const fvMesh & mesh,
const fvMesh & meshToAdd,
const bool fullyMapped = false )
static

Map all surfaceFields of Type.

Definition at line 562 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), field(), fields, fld(), mesh, and WarningInFunction.

Referenced by add(), and add().

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

◆ MapDimFields() [1/2]

template<class Type>
void MapDimFields ( const mapAddedPolyMesh & meshMap,
const fvMesh & mesh,
const fvMesh & meshToAdd )
static

Map all DimensionedFields of Type.

Definition at line 637 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), field(), fields, fld(), Foam::isType(), mesh, and WarningInFunction.

Referenced by add(), and add().

Here is the call graph for this function:
Here is the caller 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()

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

Update single dimensionedField.

Multi-mesh mapping.

Definition at line 682 of file fvMeshAdderTemplates.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, mesh, Foam::nl, Field< Type >::rmap(), List< T >::setSize(), and UList< T >::size().

Here is the call graph for this function:

◆ MapVolField()

template<class Type>
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

◆ MapSurfaceField()

template<class Type>
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

◆ MapDimFields() [2/2]

template<class Type>
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 1149 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, field(), fields, forAll, objectRegistry::lookupObjectRef(), meshes(), Foam::nl, and UPtrList< T >::set().

Here is the call graph for this function:

◆ MapVolFields() [2/2]

template<class Type>
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 1072 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, field(), fields, forAll, objectRegistry::lookupObjectRef(), meshes(), Foam::nl, and UPtrList< T >::set().

Here is the call graph for this function:

◆ MapSurfaceFields() [2/2]

template<class Type>
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 1197 of file fvMeshAdderTemplates.C.

References DebugPout, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, field(), fields, forAll, objectRegistry::lookupObjectRef(), meshes(), Foam::nl, and UPtrList< T >::set().

Here is the call graph for this function:

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