mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: relocate/refactor fvMeshSubset
- direct construct and reset method for creating a zero-sized (dummy) subMesh. Has no exposed faces and no parallel synchronization required. - core mapping (interpolate) functionality with direct handling of subsetting in fvMeshSubset (src/finiteVolume). Does not use dynamicMesh topology changes - two-step subsetting as fvMeshSubsetter (src/dynamicMesh). Does use dynamicMesh topology changes. This is apparently only needed by the subsetMesh application itself. DEFEATURE: remove deprecated setLargeCellSubset() method - was deprecated JUL-2018, now removed (see issue #951)
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
Copyright (C) 2016-2021 OpenCFD Ltd.
|
||||
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -42,7 +42,7 @@ Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvMeshSubset.H"
|
||||
#include "fvMeshSubsetter.H" // Not fvMeshSubset (need two-step subsetting)
|
||||
#include "argList.H"
|
||||
#include "IOobjectList.H"
|
||||
#include "volFields.H"
|
||||
@ -517,8 +517,8 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
|
||||
// Mesh subsetting engine
|
||||
fvMeshSubset subsetter(mesh);
|
||||
// Two-step mesh subsetting engine
|
||||
fvMeshSubsetter subsetter(mesh);
|
||||
|
||||
{
|
||||
bitSet selectedCells =
|
||||
@ -530,13 +530,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (exposedPatchIDs.size() == 1)
|
||||
{
|
||||
// Single patch for exposed faces
|
||||
subsetter.setCellSubset
|
||||
(
|
||||
selectedCells,
|
||||
exposedPatchIDs.first(),
|
||||
true
|
||||
);
|
||||
// Single patch for exposed faces (syncPar)
|
||||
subsetter.reset(selectedCells, exposedPatchIDs.first(), true);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -545,7 +540,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
labelList exposedFaces
|
||||
(
|
||||
subsetter.getExposedFaces(selectedCells, true)
|
||||
subsetter.getExposedFaces(selectedCells, true) // syncPar
|
||||
);
|
||||
|
||||
subsetter.setCellSubset
|
||||
@ -553,7 +548,7 @@ int main(int argc, char *argv[])
|
||||
selectedCells,
|
||||
exposedFaces,
|
||||
labelUIndList(nearestExposedPatch, exposedFaces)(),
|
||||
true
|
||||
true // syncPar
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -1031,10 +1031,7 @@ autoPtr<mapDistributePolyMesh> redistributeAndWrite
|
||||
|
||||
// Subset 0 cells, no parallel comms.
|
||||
// This is used to create zero-sized fields.
|
||||
subsetterPtr.reset
|
||||
(
|
||||
new fvMeshSubset(mesh, bitSet(), nonProcI, false)
|
||||
);
|
||||
subsetterPtr.reset(new fvMeshSubset(mesh, zero{}));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user