From 8bb44c7410f352a0052f7a7169b98c0779070153 Mon Sep 17 00:00:00 2001 From: mattijs Date: Wed, 19 Oct 2011 18:25:00 +0100 Subject: [PATCH] ENH: extrudeToRegionMesh: parallel operation --- .../extrude/extrudeToRegionMesh/Make/files | 1 - .../extrudeToRegionMesh/createShellMesh.C | 415 ++- .../extrudeToRegionMesh/createShellMesh.H | 29 +- .../extrudeToRegionMesh/extrudeToRegionMesh.C | 2218 ++++++++++------- .../patchPointEdgeCirculator.C | 67 - .../patchPointEdgeCirculator.H | 205 -- .../patchPointEdgeCirculatorI.H | 308 --- 7 files changed, 1733 insertions(+), 1510 deletions(-) delete mode 100644 applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/patchPointEdgeCirculator.C delete mode 100644 applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/patchPointEdgeCirculator.H delete mode 100644 applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/patchPointEdgeCirculatorI.H diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files index be2c8d6975..28ac7de544 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files @@ -1,4 +1,3 @@ -patchPointEdgeCirculator.C createShellMesh.C extrudeToRegionMesh.C diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C index 935b30a5bd..6bfe6ca62e 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C @@ -31,130 +31,381 @@ License #include "polyAddFace.H" #include "polyModifyFace.H" #include "polyAddCell.H" -#include "patchPointEdgeCirculator.H" +#include "labelPair.H" +#include "indirectPrimitivePatch.H" +#include "mapDistribute.H" +#include "globalMeshData.H" +#include "PatchTools.H" +#include "globalIndex.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // defineTypeNameAndDebug(Foam::createShellMesh, 0); +namespace Foam +{ +template<> +class minEqOp +{ +public: + void operator()(labelPair& x, const labelPair& y) const + { + x[0] = min(x[0], y[0]); + x[1] = min(x[1], y[1]); + } +}; +} + // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::createShellMesh::calcPointRegions +// Synchronise edges +void Foam::createShellMesh::syncEdges ( - const primitiveFacePatch& patch, - const PackedBoolList& nonManifoldEdge, - faceList& pointRegions, - labelList& regionPoints + const globalMeshData& globalData, + + const labelList& patchEdges, + const labelList& coupledEdges, + const PackedBoolList& sameEdgeOrientation, + + PackedBoolList& isChangedEdge, + DynamicList