polyMeshAdder: Remove unused code

This commit is contained in:
Will Bainbridge
2022-08-04 10:35:21 +01:00
parent 9fc05a6d2e
commit ce140fe504
2 changed files with 4 additions and 385 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -25,18 +25,9 @@ License
#include "polyMeshAdder.H"
#include "mapAddedPolyMesh.H"
#include "IOobject.H"
#include "faceCoupleInfo.H"
#include "processorPolyPatch.H"
#include "SortableList.H"
#include "Time.H"
#include "globalMeshData.H"
#include "polyModifyFace.H"
#include "polyRemovePoint.H"
#include "polyTopoChange.H"
#include "pointMesh.H"
#include "facePointPatch.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
@ -191,124 +182,6 @@ Foam::labelList Foam::polyMeshAdder::getPatchSizes
}
Foam::List<Foam::polyPatch*> Foam::polyMeshAdder::combinePatches
(
const polyMesh& mesh0,
const polyMesh& mesh1,
const polyBoundaryMesh& allBoundaryMesh,
const label nAllPatches,
const labelList& fromAllTo1Patches,
const label nInternalFaces,
const labelList& nFaces,
labelList& from0ToAllPatches,
labelList& from1ToAllPatches
)
{
const polyBoundaryMesh& patches0 = mesh0.boundaryMesh();
const polyBoundaryMesh& patches1 = mesh1.boundaryMesh();
// Compacted new patch list.
DynamicList<polyPatch*> allPatches(nAllPatches);
// Map from 0 to all patches (since gets compacted)
from0ToAllPatches.setSize(patches0.size());
from0ToAllPatches = -1;
label startFacei = nInternalFaces;
// Copy patches0 with new sizes. First patches always come from
// mesh0 and will always be present.
forAll(patches0, patchi)
{
// Originates from mesh0. Clone with new size & filter out empty
// patch.
label filteredPatchi;
if (nFaces[patchi] == 0 && isA<processorPolyPatch>(patches0[patchi]))
{
// Pout<< "Removing zero sized mesh0 patch "
// << patches0[patchi].name() << endl;
filteredPatchi = -1;
}
else
{
filteredPatchi = allPatches.size();
allPatches.append
(
patches0[patchi].clone
(
allBoundaryMesh,
filteredPatchi,
nFaces[patchi],
startFacei
).ptr()
);
startFacei += nFaces[patchi];
}
// Record new index in allPatches
from0ToAllPatches[patchi] = filteredPatchi;
// Check if patch was also in mesh1 and update its addressing if so.
if (fromAllTo1Patches[patchi] != -1)
{
from1ToAllPatches[fromAllTo1Patches[patchi]] = filteredPatchi;
}
}
// Copy unique patches of mesh1.
forAll(from1ToAllPatches, patchi)
{
label allPatchi = from1ToAllPatches[patchi];
if (allPatchi >= patches0.size())
{
// Patch has not been merged with any mesh0 patch.
label filteredPatchi;
if
(
nFaces[allPatchi] == 0
&& isA<processorPolyPatch>(patches1[patchi])
)
{
// Pout<< "Removing zero sized mesh1 patch "
// << patches1[patchi].name() << endl;
filteredPatchi = -1;
}
else
{
filteredPatchi = allPatches.size();
allPatches.append
(
patches1[patchi].clone
(
allBoundaryMesh,
filteredPatchi,
nFaces[allPatchi],
startFacei
).ptr()
);
startFacei += nFaces[allPatchi];
}
from1ToAllPatches[patchi] = filteredPatchi;
}
}
allPatches.shrink();
return move(allPatches);
}
Foam::labelList Foam::polyMeshAdder::getFaceOrder
(
const cellList& cells,
@ -1275,236 +1148,8 @@ void Foam::polyMeshAdder::addZones
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
// Returns new mesh and sets
// - map from new cell/face/point/patch to either mesh0 or mesh1
//
// mesh0Faces/mesh1Faces: corresponding faces on both meshes.
Foam::autoPtr<Foam::polyMesh> Foam::polyMeshAdder::add
(
const IOobject& io,
const polyMesh& mesh0,
const polyMesh& mesh1,
const faceCoupleInfo& coupleInfo,
autoPtr<mapAddedPolyMesh>& mapPtr
)
{
const polyBoundaryMesh& patches0 = mesh0.boundaryMesh();
const polyBoundaryMesh& patches1 = mesh1.boundaryMesh();
DynamicList<word> allPatchNames(patches0.size() + patches1.size());
DynamicList<word> allPatchTypes(allPatchNames.size());
// Patch maps
labelList from1ToAllPatches(patches1.size());
labelList fromAllTo1Patches(allPatchNames.size(), -1);
mergePatchNames
(
patches0,
patches1,
allPatchNames,
allPatchTypes,
from1ToAllPatches,
fromAllTo1Patches
);
// New points
pointField allPoints;
// Map from mesh0/1 points to allPoints.
labelList from0ToAllPoints(mesh0.nPoints(), -1);
labelList from1ToAllPoints(mesh1.nPoints(), -1);
// New faces
faceList allFaces;
label nInternalFaces;
// New cells
labelList allOwner;
labelList allNeighbour;
label nCells;
// Sizes per patch
labelList nFaces(allPatchNames.size(), 0);
// Maps
labelList from0ToAllFaces(mesh0.nFaces(), -1);
labelList from1ToAllFaces(mesh1.nFaces(), -1);
// Map
labelList from1ToAllCells(mesh1.nCells(), -1);
mergePrimitives
(
mesh0,
mesh1,
coupleInfo,
allPatchNames.size(),
fromAllTo1Patches,
from1ToAllPatches,
allPoints,
from0ToAllPoints,
from1ToAllPoints,
allFaces,
allOwner,
allNeighbour,
nInternalFaces,
nFaces,
nCells,
from0ToAllFaces,
from1ToAllFaces,
from1ToAllCells
);
// Zones
// ~~~~~
DynamicList<word> pointZoneNames;
List<DynamicList<label>> pzPoints;
DynamicList<word> faceZoneNames;
List<DynamicList<label>> fzFaces;
List<DynamicList<bool>> fzFlips;
DynamicList<word> cellZoneNames;
List<DynamicList<label>> czCells;
mergeZones
(
allPoints.size(),
allOwner,
nCells,
mesh0,
mesh1,
from0ToAllPoints,
from0ToAllFaces,
from1ToAllPoints,
from1ToAllFaces,
from1ToAllCells,
pointZoneNames,
pzPoints,
faceZoneNames,
fzFaces,
fzFlips,
cellZoneNames,
czCells
);
// Patches
// ~~~~~~~
// Map from 0 to all patches (since gets compacted)
labelList from0ToAllPatches(patches0.size(), -1);
List<polyPatch*> allPatches
(
combinePatches
(
mesh0,
mesh1,
patches0, // Should be boundaryMesh() on new mesh.
allPatchNames.size(),
fromAllTo1Patches,
mesh0.nInternalFaces()
+ mesh1.nInternalFaces()
+ coupleInfo.masterPatch().size(),
nFaces,
from0ToAllPatches,
from1ToAllPatches
)
);
// Map information
// ~~~~~~~~~~~~~~~
mapPtr.reset
(
new mapAddedPolyMesh
(
mesh0.nPoints(),
mesh0.nFaces(),
mesh0.nCells(),
mesh1.nPoints(),
mesh1.nFaces(),
mesh1.nCells(),
from0ToAllPoints,
from0ToAllFaces,
identity(mesh0.nCells()),
from1ToAllPoints,
from1ToAllFaces,
from1ToAllCells,
from0ToAllPatches,
from1ToAllPatches,
getPatchSizes(patches0),
getPatchStarts(patches0)
)
);
// Now we have extracted all information from all meshes.
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Construct mesh
autoPtr<polyMesh> tmesh
(
new polyMesh
(
io,
move(allPoints),
move(allFaces),
move(allOwner),
move(allNeighbour)
)
);
polyMesh& mesh = tmesh();
// Add zones to new mesh.
addZones
(
pointZoneNames,
pzPoints,
faceZoneNames,
fzFaces,
fzFlips,
cellZoneNames,
czCells,
mesh
);
// Add patches to new mesh
mesh.addPatches(allPatches);
return tmesh;
}
// Inplace add mesh1 to mesh0
Foam::autoPtr<Foam::mapAddedPolyMesh> Foam::polyMeshAdder::add
(
polyMesh& mesh0,

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -74,14 +74,13 @@ private:
//- Index of zone in all zones
static label zoneIndex(const word&, DynamicList<word>&);
//- ...
static void mergePatchNames
(
const polyBoundaryMesh& patches0,
const polyBoundaryMesh& patches1,
DynamicList<word>& allPatchNames,
DynamicList<word>& allPatchTypes,
labelList& from1ToAllPatches,
labelList& fromAllTo1Patches
);
@ -92,21 +91,6 @@ private:
//- Get sizes of patches
static labelList getPatchSizes(const polyBoundaryMesh&);
static List<polyPatch*> combinePatches
(
const polyMesh& mesh0,
const polyMesh& mesh1,
const polyBoundaryMesh& allBoundaryMesh,
const label nAllPatches,
const labelList& fromAllTo1Patches,
const label nInternalFaces,
const labelList& nFaces,
labelList& from0ToAllPatches,
labelList& from1ToAllPatches
);
//- Determine order for internalFaces to be upper-triangular.
// Does not change order of external faces.
static labelList getFaceOrder
@ -232,21 +216,11 @@ private:
polyMesh& mesh
);
public:
// Member Functions
//- Add two polyMeshes. Returns new polyMesh and map construct.
static autoPtr<polyMesh> add
(
const IOobject& io,
const polyMesh& mesh0,
const polyMesh& mesh1,
const faceCoupleInfo& coupleInfo,
autoPtr<mapAddedPolyMesh>& mapPtr
);
//- Inplace add mesh to polyMesh. Returns map construct.
static autoPtr<mapAddedPolyMesh> add
(