zones: General code clean-up and rationalisation to reduce duplication
This commit is contained in:
@ -493,10 +493,7 @@ void Foam::extrude2DMesh::setRefinement
|
||||
void Foam::extrude2DMesh::updateZones()
|
||||
{
|
||||
// Add the cellZones to the merged mesh
|
||||
forAll(cellZonesAddedCells_, zonei)
|
||||
{
|
||||
mesh_.cellZones()[zonei].insert(cellZonesAddedCells_[zonei]);
|
||||
}
|
||||
mesh_.cellZones().insert(cellZonesAddedCells_);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -190,7 +190,7 @@ label createFaces
|
||||
// Pass 1. Do selected side of zone
|
||||
for (label facei = 0; facei < mesh.nInternalFaces(); facei++)
|
||||
{
|
||||
const label zoneFacei = fZone.whichFace(facei);
|
||||
const label zoneFacei = fZone.localIndex(facei);
|
||||
|
||||
if (zoneFacei != -1)
|
||||
{
|
||||
@ -233,7 +233,7 @@ label createFaces
|
||||
// Pass 2. Do other side of zone
|
||||
for (label facei = 0; facei < mesh.nInternalFaces(); facei++)
|
||||
{
|
||||
label zoneFacei = fZone.whichFace(facei);
|
||||
label zoneFacei = fZone.localIndex(facei);
|
||||
|
||||
if (zoneFacei != -1)
|
||||
{
|
||||
@ -278,7 +278,7 @@ label createFaces
|
||||
forAll(pp, i)
|
||||
{
|
||||
const label facei = pp.start() + i;
|
||||
const label zoneFacei = fZone.whichFace(facei);
|
||||
const label zoneFacei = fZone.localIndex(facei);
|
||||
|
||||
if (zoneFacei != -1)
|
||||
{
|
||||
|
||||
@ -342,7 +342,7 @@ void Foam::mergePolyMesh::addMesh(const polyMesh& m)
|
||||
forAll(zones, zonei)
|
||||
{
|
||||
const faceZone& fzi = fz[zones[zonei]];
|
||||
const bool flip = fzi.flipMap()[fzi.whichFace(facei)];
|
||||
const bool flip = fzi.flipMap()[fzi.localIndex(facei)];
|
||||
|
||||
faceZonesAddedFaces_[faceZoneIndices[zonei]]
|
||||
.insert(renumberFaces[facei], flip);
|
||||
@ -499,22 +499,13 @@ void Foam::mergePolyMesh::merge()
|
||||
autoPtr<polyTopoChangeMap> map(meshMod_.changeMesh(mesh_));
|
||||
|
||||
// Add the new points to the pointZones in the merged mesh
|
||||
forAll(pointZonesAddedPoints_, zonei)
|
||||
{
|
||||
mesh_.pointZones()[zonei].insert(pointZonesAddedPoints_[zonei]);
|
||||
}
|
||||
mesh_.pointZones().insert(pointZonesAddedPoints_);
|
||||
|
||||
// Add the new faces to the faceZones in the merged mesh
|
||||
forAll(faceZonesAddedFaces_, zonei)
|
||||
{
|
||||
mesh_.faceZones()[zonei].insert(faceZonesAddedFaces_[zonei]);
|
||||
}
|
||||
mesh_.faceZones().insert(faceZonesAddedFaces_);
|
||||
|
||||
// Add the new cells to the cellZones in the merged mesh
|
||||
forAll(cellZonesAddedCells_, zonei)
|
||||
{
|
||||
mesh_.cellZones()[zonei].insert(cellZonesAddedCells_[zonei]);
|
||||
}
|
||||
mesh_.cellZones().insert(cellZonesAddedCells_);
|
||||
|
||||
mesh_.topoChange(map);
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2024 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -672,7 +672,7 @@ void ensightPointField
|
||||
|
||||
const faceZone& fz = mesh.faceZones()[zoneID];
|
||||
|
||||
if (returnReduce(fz().nPoints(), sumOp<label>()) > 0)
|
||||
if (returnReduce(fz.patch().nPoints(), sumOp<label>()) > 0)
|
||||
{
|
||||
// Renumber the faceZone points/faces into unique points
|
||||
labelList pointToGlobal;
|
||||
@ -680,8 +680,8 @@ void ensightPointField
|
||||
autoPtr<globalIndex> globalPointsPtr =
|
||||
mesh.globalData().mergePoints
|
||||
(
|
||||
fz().meshPoints(),
|
||||
fz().meshPointMap(),
|
||||
fz.patch().meshPoints(),
|
||||
fz.patch().meshPointMap(),
|
||||
pointToGlobal,
|
||||
uniqueMeshPointLabels
|
||||
);
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2024 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -1267,8 +1267,8 @@ void Foam::ensightMesh::write
|
||||
autoPtr<globalIndex> globalPointsPtr =
|
||||
mesh_.globalData().mergePoints
|
||||
(
|
||||
fz().meshPoints(),
|
||||
fz().meshPointMap(),
|
||||
fz.patch().meshPoints(),
|
||||
fz.patch().meshPointMap(),
|
||||
pointToGlobal,
|
||||
uniqueMeshPointLabels
|
||||
);
|
||||
@ -1277,7 +1277,7 @@ void Foam::ensightMesh::write
|
||||
|
||||
// Find the list of master faces belonging to the faceZone,
|
||||
// in local numbering
|
||||
faceList faceZoneFaces(fz().localFaces());
|
||||
faceList faceZoneFaces(fz.patch().localFaces());
|
||||
|
||||
// Count how many master faces belong to the faceZone. Is there
|
||||
// a better way of doing this?
|
||||
|
||||
@ -450,7 +450,7 @@ void Foam::vtkPVFoam::convertMeshFaceZones
|
||||
<< zoneName << endl;
|
||||
}
|
||||
|
||||
vtkPolyData* vtkmesh = patchVTKMesh(zoneName, zMesh[zoneId]());
|
||||
vtkPolyData* vtkmesh = patchVTKMesh(zoneName, zMesh[zoneId].patch());
|
||||
|
||||
if (vtkmesh)
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2024 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -153,7 +153,7 @@ void Foam::vtkPVFoam::convertPointFields
|
||||
Field<Type> fld
|
||||
(
|
||||
ptf.primitiveField(),
|
||||
mesh.faceZones()[zoneId]().meshPoints()
|
||||
mesh.faceZones()[zoneId].patch().meshPoints()
|
||||
);
|
||||
|
||||
convertPatchPointField
|
||||
|
||||
@ -30,18 +30,6 @@ License
|
||||
|
||||
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
|
||||
|
||||
template<class ZoneType, class ZonesType>
|
||||
const Foam::Map<Foam::label>& Foam::Zone<ZoneType, ZonesType>::lookupMap() const
|
||||
{
|
||||
if (!lookupMapPtr_)
|
||||
{
|
||||
calcLookupMap();
|
||||
}
|
||||
|
||||
return *lookupMapPtr_;
|
||||
}
|
||||
|
||||
|
||||
template<class ZoneType, class ZonesType>
|
||||
void Foam::Zone<ZoneType, ZonesType>::calcLookupMap() const
|
||||
{
|
||||
@ -64,6 +52,37 @@ void Foam::Zone<ZoneType, ZonesType>::calcLookupMap() const
|
||||
}
|
||||
|
||||
|
||||
template<class ZoneType, class ZonesType>
|
||||
void Foam::Zone<ZoneType, ZonesType>::topoChange
|
||||
(
|
||||
const labelList& map,
|
||||
const labelList& reverseMap
|
||||
)
|
||||
{
|
||||
clearAddressing();
|
||||
|
||||
labelHashSet indices;
|
||||
|
||||
forAll(map, celli)
|
||||
{
|
||||
if (map[celli] >= 0 && localIndex(map[celli]) != -1)
|
||||
{
|
||||
indices.insert(celli);
|
||||
}
|
||||
}
|
||||
|
||||
forAll(reverseMap, celli)
|
||||
{
|
||||
if (reverseMap[celli] >= 0 && localIndex(celli) != -1)
|
||||
{
|
||||
indices.insert(reverseMap[celli]);
|
||||
}
|
||||
}
|
||||
|
||||
labelList::operator=(indices.sortedToc());
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class ZoneType, class ZonesType>
|
||||
@ -215,6 +234,18 @@ Foam::label Foam::Zone<ZoneType, ZonesType>::localIndex
|
||||
}
|
||||
|
||||
|
||||
template<class ZoneType, class ZonesType>
|
||||
const Foam::Map<Foam::label>& Foam::Zone<ZoneType, ZonesType>::lookupMap() const
|
||||
{
|
||||
if (!lookupMapPtr_)
|
||||
{
|
||||
calcLookupMap();
|
||||
}
|
||||
|
||||
return *lookupMapPtr_;
|
||||
}
|
||||
|
||||
|
||||
template<class ZoneType, class ZonesType>
|
||||
void Foam::Zone<ZoneType, ZonesType>::clearAddressing()
|
||||
{
|
||||
|
||||
@ -89,6 +89,9 @@ protected:
|
||||
//- Construct the look-up map
|
||||
void calcLookupMap() const;
|
||||
|
||||
//- Update the addressing using the maps provided
|
||||
void topoChange(const labelList& map, const labelList& reverseMap);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@ -487,6 +487,29 @@ bool Foam::Zones<ZoneType, ZonesType, MeshType>::checkParallelSync
|
||||
}
|
||||
|
||||
|
||||
template<class ZoneType, class ZonesType, class MeshType>
|
||||
void Foam::Zones<ZoneType, ZonesType, MeshType>::insert
|
||||
(
|
||||
const List<labelHashSet>& zonesIndices
|
||||
)
|
||||
{
|
||||
PtrList<ZoneType>& zones = *this;
|
||||
|
||||
if (zonesIndices.size() != zones.size())
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "zonesIndices.size() " << zonesIndices.size()
|
||||
<< " != number of zones " << zones.size()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
forAll(zonesIndices, zonei)
|
||||
{
|
||||
zones[zonei].insert(zonesIndices[zonei]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class ZoneType, class ZonesType, class MeshType>
|
||||
void Foam::Zones<ZoneType, ZonesType, MeshType>::movePoints(const pointField& p)
|
||||
{
|
||||
|
||||
@ -170,6 +170,9 @@ public:
|
||||
// true if in error.
|
||||
bool checkParallelSync(const bool report = false) const;
|
||||
|
||||
//- Insert given indices into zones
|
||||
void insert(const List<labelHashSet>& zonesIndices);
|
||||
|
||||
//- Correct zones after moving points
|
||||
virtual void movePoints(const pointField&);
|
||||
|
||||
|
||||
@ -45,15 +45,9 @@ const char * const Foam::cellZone::labelsName = "cellLabels";
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::label Foam::cellZone::whichCell(const label globalCellID) const
|
||||
{
|
||||
return Zone<cellZone, cellZones>::localIndex(globalCellID);
|
||||
}
|
||||
|
||||
|
||||
bool Foam::cellZone::checkDefinition(const bool report) const
|
||||
{
|
||||
return Zone<cellZone, cellZones>::checkDefinition
|
||||
return Zone::checkDefinition
|
||||
(
|
||||
zones_.mesh().nCells(),
|
||||
report
|
||||
@ -63,29 +57,7 @@ bool Foam::cellZone::checkDefinition(const bool report) const
|
||||
|
||||
void Foam::cellZone::topoChange(const polyTopoChangeMap& map)
|
||||
{
|
||||
clearAddressing();
|
||||
|
||||
labelHashSet indices;
|
||||
const labelList& cellMap = map.cellMap();
|
||||
const labelList& reverseCellMap = map.reverseCellMap();
|
||||
|
||||
forAll(cellMap, celli)
|
||||
{
|
||||
if (cellMap[celli] >= 0 && localIndex(cellMap[celli]) != -1)
|
||||
{
|
||||
indices.insert(celli);
|
||||
}
|
||||
}
|
||||
|
||||
forAll(reverseCellMap, celli)
|
||||
{
|
||||
if (reverseCellMap[celli] >= 0 && localIndex(celli) != -1)
|
||||
{
|
||||
indices.insert(reverseCellMap[celli]);
|
||||
}
|
||||
}
|
||||
|
||||
labelList::operator=(indices.sortedToc());
|
||||
Zone::topoChange(map.cellMap(), map.reverseCellMap());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -71,7 +71,7 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
using Zone<cellZone, cellZones>::Zone;
|
||||
using Zone::Zone;
|
||||
|
||||
//- Construct and return a clone, resetting the mesh zones
|
||||
virtual autoPtr<cellZone> clone(const cellZones& mz) const
|
||||
@ -99,9 +99,6 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Convenient renaming of zone::localIndex(globalIndex)
|
||||
label whichCell(const label globalIndex) const;
|
||||
|
||||
//- Check zone definition. Return true if in error.
|
||||
virtual bool checkDefinition(const bool report = false) const;
|
||||
|
||||
@ -121,7 +118,7 @@ public:
|
||||
|
||||
// Member Operators
|
||||
|
||||
using Zone<cellZone, cellZones>::operator=;
|
||||
using Zone::operator=;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -303,13 +303,7 @@ Foam::faceZone::~faceZone()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::label Foam::faceZone::whichFace(const label globalFaceID) const
|
||||
{
|
||||
return Zone<faceZone, faceZones>::localIndex(globalFaceID);
|
||||
}
|
||||
|
||||
|
||||
const Foam::primitiveFacePatch& Foam::faceZone::operator()() const
|
||||
const Foam::primitiveFacePatch& Foam::faceZone::patch() const
|
||||
{
|
||||
if (!patchPtr_)
|
||||
{
|
||||
@ -349,7 +343,7 @@ const Foam::labelList& Foam::faceZone::meshEdges() const
|
||||
mePtr_ =
|
||||
new labelList
|
||||
(
|
||||
operator()().meshEdges
|
||||
patch().meshEdges
|
||||
(
|
||||
zones().mesh().edges(),
|
||||
zones().mesh().pointEdges()
|
||||
@ -363,7 +357,7 @@ const Foam::labelList& Foam::faceZone::meshEdges() const
|
||||
|
||||
void Foam::faceZone::clearAddressing()
|
||||
{
|
||||
Zone<faceZone, faceZones>::clearAddressing();
|
||||
Zone::clearAddressing();
|
||||
|
||||
deleteDemandDrivenData(patchPtr_);
|
||||
|
||||
@ -388,7 +382,7 @@ void Foam::faceZone::resetAddressing
|
||||
|
||||
bool Foam::faceZone::checkDefinition(const bool report) const
|
||||
{
|
||||
return Zone<faceZone, faceZones>::checkDefinition
|
||||
return Zone::checkDefinition
|
||||
(
|
||||
zones().mesh().faces().size(),
|
||||
report
|
||||
@ -493,7 +487,7 @@ void Foam::faceZone::insert(const Map<bool>& newIndices)
|
||||
|
||||
void Foam::faceZone::swap(faceZone& fz)
|
||||
{
|
||||
Zone<faceZone, faceZones>::swap(fz);
|
||||
Zone::swap(fz);
|
||||
flipMap_.swap(fz.flipMap_);
|
||||
}
|
||||
|
||||
@ -564,14 +558,14 @@ void Foam::faceZone::writeDict(Ostream& os) const
|
||||
|
||||
void Foam::faceZone::operator=(const faceZone& zn)
|
||||
{
|
||||
Zone<faceZone, faceZones>::operator=(zn);
|
||||
Zone::operator=(zn);
|
||||
flipMap_ = zn.flipMap_;
|
||||
}
|
||||
|
||||
|
||||
void Foam::faceZone::operator=(faceZone&& zn)
|
||||
{
|
||||
Zone<faceZone, faceZones>::operator=(move(zn));
|
||||
Zone::operator=(move(zn));
|
||||
flipMap_ = move(zn.flipMap_);
|
||||
}
|
||||
|
||||
|
||||
@ -207,11 +207,8 @@ public:
|
||||
return flipMap_;
|
||||
}
|
||||
|
||||
//- Convenient renaming of zone::localIndex(globalIndex)
|
||||
label whichFace(const label globalIndex) const;
|
||||
|
||||
//- Return reference to primitive patch
|
||||
const primitiveFacePatch& operator()() const;
|
||||
const primitiveFacePatch& patch() const;
|
||||
|
||||
|
||||
// Addressing into mesh
|
||||
|
||||
@ -46,4 +46,23 @@ Foam::boolList Foam::faceZones::zonesFlipFace
|
||||
}
|
||||
|
||||
|
||||
void Foam::faceZones::insert(const List<Map<bool>>& zonesIndices)
|
||||
{
|
||||
PtrList<faceZone>& zones = *this;
|
||||
|
||||
if (zonesIndices.size() != zones.size())
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "zonesIndices.size() " << zonesIndices.size()
|
||||
<< " != number of zones " << zones.size()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
forAll(zonesIndices, zonei)
|
||||
{
|
||||
zones[zonei].insert(zonesIndices[zonei]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -61,6 +61,9 @@ public:
|
||||
const label facei,
|
||||
const labelList& faceiZones
|
||||
);
|
||||
|
||||
//- Insert given indices and corresponding face flips into zones
|
||||
void insert(const List<Map<bool>>& zonesIndices);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -46,15 +46,9 @@ const char* const Foam::pointZone::labelsName = "pointLabels";
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::label Foam::pointZone::whichPoint(const label globalPointID) const
|
||||
{
|
||||
return Zone<pointZone, pointZones>::localIndex(globalPointID);
|
||||
}
|
||||
|
||||
|
||||
bool Foam::pointZone::checkDefinition(const bool report) const
|
||||
{
|
||||
return Zone<pointZone, pointZones>::checkDefinition
|
||||
return Zone::checkDefinition
|
||||
(
|
||||
zones_.mesh().points().size(),
|
||||
report
|
||||
@ -116,29 +110,7 @@ bool Foam::pointZone::checkParallelSync(const bool report) const
|
||||
|
||||
void Foam::pointZone::topoChange(const polyTopoChangeMap& map)
|
||||
{
|
||||
clearAddressing();
|
||||
|
||||
labelHashSet indices;
|
||||
const labelList& pointMap = map.pointMap();
|
||||
const labelList& reversePointMap = map.reversePointMap();
|
||||
|
||||
forAll(pointMap, pointi)
|
||||
{
|
||||
if (pointMap[pointi] >= 0 && localIndex(pointMap[pointi]) != -1)
|
||||
{
|
||||
indices.insert(pointi);
|
||||
}
|
||||
}
|
||||
|
||||
forAll(reversePointMap, pointi)
|
||||
{
|
||||
if (reversePointMap[pointi] >= 0 && localIndex(pointi) != -1)
|
||||
{
|
||||
indices.insert(reversePointMap[pointi]);
|
||||
}
|
||||
}
|
||||
|
||||
labelList::operator=(indices.sortedToc());
|
||||
Zone::topoChange(map.pointMap(), map.reversePointMap());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
using Zone<pointZone, pointZones>::Zone;
|
||||
using Zone::Zone;
|
||||
|
||||
//- Construct and return a clone, resetting the mesh zones
|
||||
virtual autoPtr<pointZone> clone(const pointZones& mz) const
|
||||
@ -101,9 +101,6 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Convenient renaming of zone::localIndex(globalIndex)
|
||||
label whichPoint(const label globalIndex) const;
|
||||
|
||||
//- Check zone definition. Return true if in error.
|
||||
virtual bool checkDefinition(const bool report = false) const;
|
||||
|
||||
@ -120,7 +117,7 @@ public:
|
||||
|
||||
// Member Operators
|
||||
|
||||
using Zone<pointZone, pointZones>::operator=;
|
||||
using Zone::operator=;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -127,7 +127,7 @@ void surfaceDisplacementPointPatchVectorField::calcProjection
|
||||
|
||||
forAll(nearest, i)
|
||||
{
|
||||
if (zonePtr && (zonePtr->whichPoint(meshPoints[i]) >= 0))
|
||||
if (zonePtr && (zonePtr->localIndex(meshPoints[i]) >= 0))
|
||||
{
|
||||
// Fixed point. Reset to point0 location.
|
||||
displacement[i] = points0[meshPoints[i]] - localPoints[i];
|
||||
@ -217,7 +217,7 @@ void surfaceDisplacementPointPatchVectorField::calcProjection
|
||||
// 3. Choose either -fixed, nearest, right, left.
|
||||
forAll(displacement, i)
|
||||
{
|
||||
if (zonePtr && (zonePtr->whichPoint(meshPoints[i]) >= 0))
|
||||
if (zonePtr && (zonePtr->localIndex(meshPoints[i]) >= 0))
|
||||
{
|
||||
// Fixed point. Reset to point0 location.
|
||||
displacement[i] = points0[meshPoints[i]] - localPoints[i];
|
||||
|
||||
@ -126,7 +126,7 @@ void surfaceSlipDisplacementPointPatchVectorField::calcProjection
|
||||
|
||||
forAll(nearest, i)
|
||||
{
|
||||
if (zonePtr && (zonePtr->whichPoint(meshPoints[i]) >= 0))
|
||||
if (zonePtr && (zonePtr->localIndex(meshPoints[i]) >= 0))
|
||||
{
|
||||
// Fixed point. Reset to point0 location.
|
||||
displacement[i] = points0[meshPoints[i]] - localPoints[i];
|
||||
@ -216,7 +216,7 @@ void surfaceSlipDisplacementPointPatchVectorField::calcProjection
|
||||
// 3. Choose either -fixed, nearest, right, left.
|
||||
forAll(displacement, i)
|
||||
{
|
||||
if (zonePtr && (zonePtr->whichPoint(meshPoints[i]) >= 0))
|
||||
if (zonePtr && (zonePtr->localIndex(meshPoints[i]) >= 0))
|
||||
{
|
||||
// Fixed point. Reset to point0 location.
|
||||
displacement[i] = points0[meshPoints[i]] - localPoints[i];
|
||||
|
||||
@ -155,8 +155,8 @@ void Foam::FacePostProcessing<CloudType>::write()
|
||||
autoPtr<globalIndex> globalPointsPtr =
|
||||
mesh.globalData().mergePoints
|
||||
(
|
||||
fZone().meshPoints(),
|
||||
fZone().meshPointMap(),
|
||||
fZone.patch().meshPoints(),
|
||||
fZone.patch().meshPointMap(),
|
||||
pointToGlobal,
|
||||
uniqueMeshPointLabels
|
||||
);
|
||||
@ -166,7 +166,7 @@ void Foam::FacePostProcessing<CloudType>::write()
|
||||
allProcPoints[proci] = uniquePoints;
|
||||
Pstream::gatherList(allProcPoints);
|
||||
|
||||
faceList faces(fZone().localFaces());
|
||||
faceList faces(fZone.patch().localFaces());
|
||||
forAll(faces, i)
|
||||
{
|
||||
inplaceRenumber(pointToGlobal, faces[i]);
|
||||
|
||||
@ -3210,10 +3210,7 @@ Foam::autoPtr<Foam::polyTopoChangeMap> Foam::meshRefinement::zonify
|
||||
autoPtr<polyTopoChangeMap> map = meshMod.changeMesh(mesh_, true);
|
||||
|
||||
// Add the new faces to the faceZones in the merged mesh
|
||||
forAll(faceZonesAddedFaces, zonei)
|
||||
{
|
||||
mesh_.faceZones()[zonei].insert(faceZonesAddedFaces[zonei]);
|
||||
}
|
||||
mesh_.faceZones().insert(faceZonesAddedFaces);
|
||||
|
||||
// Update fields
|
||||
mesh_.topoChange(map);
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2024 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -355,7 +355,7 @@ void Foam::displacementLayeredMotionMotionSolver::cellZoneSolve
|
||||
|
||||
// Determine the points of the faceZone within the cellZone
|
||||
const faceZone& fz = mesh().faceZones()[faceZoneName];
|
||||
const labelList& fzMeshPoints = fz().meshPoints();
|
||||
const labelList& fzMeshPoints = fz.patch().meshPoints();
|
||||
DynamicList<label> meshPoints(fzMeshPoints.size());
|
||||
forAll(fzMeshPoints, i)
|
||||
{
|
||||
|
||||
@ -966,7 +966,7 @@ void Foam::domainDecomposition::decompose()
|
||||
// Multiple zones. Lookup.
|
||||
forAll(pz, zoneI)
|
||||
{
|
||||
label index = pz[zoneI].whichPoint(curPoint);
|
||||
label index = pz[zoneI].localIndex(curPoint);
|
||||
|
||||
if (index != -1)
|
||||
{
|
||||
@ -1032,7 +1032,7 @@ void Foam::domainDecomposition::decompose()
|
||||
// Single zone. Add the face
|
||||
zoneFaces[zoneI].append(facei);
|
||||
|
||||
label index = fz[zoneI].whichFace(curF);
|
||||
label index = fz[zoneI].localIndex(curF);
|
||||
|
||||
bool flip = fz[zoneI].flipMap()[index];
|
||||
|
||||
@ -1048,7 +1048,7 @@ void Foam::domainDecomposition::decompose()
|
||||
// Multiple zones. Lookup.
|
||||
forAll(fz, zoneI)
|
||||
{
|
||||
label index = fz[zoneI].whichFace(curF);
|
||||
label index = fz[zoneI].localIndex(curF);
|
||||
|
||||
if (index != -1)
|
||||
{
|
||||
@ -1120,7 +1120,7 @@ void Foam::domainDecomposition::decompose()
|
||||
// Multiple zones. Lookup.
|
||||
forAll(cz, zoneI)
|
||||
{
|
||||
label index = cz[zoneI].whichCell(curCelli);
|
||||
label index = cz[zoneI].localIndex(curCelli);
|
||||
|
||||
if (index != -1)
|
||||
{
|
||||
|
||||
@ -1644,16 +1644,10 @@ void Foam::addPatchCellLayer::topoChange
|
||||
void Foam::addPatchCellLayer::updateZones(polyMesh& mesh)
|
||||
{
|
||||
// Add the pointZones to the merged mesh
|
||||
forAll(pointZonesAddedPoints_, zonei)
|
||||
{
|
||||
mesh.pointZones()[zonei].insert(pointZonesAddedPoints_[zonei]);
|
||||
}
|
||||
mesh.pointZones().insert(pointZonesAddedPoints_);
|
||||
|
||||
// Add the cellZones to the merged mesh
|
||||
forAll(cellZonesAddedCells_, zonei)
|
||||
{
|
||||
mesh.cellZones()[zonei].insert(cellZonesAddedCells_[zonei]);
|
||||
}
|
||||
mesh.cellZones().insert(cellZonesAddedCells_);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1994,7 +1994,7 @@ Foam::labelPair Foam::edgeCollapser::markFaceZoneEdges
|
||||
|
||||
forAll(faces, fI)
|
||||
{
|
||||
if (fZone.whichFace(fI) == -1)
|
||||
if (fZone.localIndex(fI) == -1)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -2080,7 +2080,7 @@ Foam::labelPair Foam::edgeCollapser::markFaceZoneEdges
|
||||
// else
|
||||
// {
|
||||
// // Keep the edge if an attached face is not in the zone
|
||||
// if (fZone.whichFace(eFaceIndex) == -1)
|
||||
// if (fZone.localIndex(eFaceIndex) == -1)
|
||||
// {
|
||||
// nPatchFaces++;
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user