From 2eee1666c08625f0f908bdf410c2e686b41bfbde Mon Sep 17 00:00:00 2001 From: mattijs Date: Wed, 26 May 2010 16:09:02 +0100 Subject: [PATCH] BUG: extrudeToRegionMesh : make it work again - constrain multiple normals per point - introduce special cyclic type nonuniformTransformCyclic inbetween zones --- .../generation/extrudeToRegionMesh/Allwmake | 9 + .../extrudeToRegionMesh/Make/options | 6 +- .../extrudeToRegionMesh/extrudeToRegionMesh.C | 338 ++++++++++++------ .../nonuniformTransformCyclic/Make/files | 8 + .../nonuniformTransformCyclic/Make/options | 5 + .../nonuniformTransformCyclicFvPatchField.C | 96 +++++ .../nonuniformTransformCyclicFvPatchField.H | 140 ++++++++ .../nonuniformTransformCyclicFvPatchFields.C | 43 +++ .../nonuniformTransformCyclicFvPatchFields.H | 49 +++ ...onuniformTransformCyclicFvPatchFieldsFwd.H | 50 +++ .../nonuniformTransformCyclicFvPatch.C | 44 +++ .../nonuniformTransformCyclicFvPatch.H | 79 ++++ .../nonuniformTransformCyclicFvsPatchField.C | 96 +++++ .../nonuniformTransformCyclicFvsPatchField.H | 138 +++++++ .../nonuniformTransformCyclicFvsPatchFields.C | 43 +++ .../nonuniformTransformCyclicFvsPatchFields.H | 49 +++ ...nuniformTransformCyclicFvsPatchFieldsFwd.H | 50 +++ ...nonuniformTransformCyclicPointPatchField.C | 110 ++++++ ...nonuniformTransformCyclicPointPatchField.H | 150 ++++++++ ...onuniformTransformCyclicPointPatchFields.C | 43 +++ ...onuniformTransformCyclicPointPatchFields.H | 49 +++ .../nonuniformTransformCyclicPointPatch.C | 74 ++++ .../nonuniformTransformCyclicPointPatch.H | 102 ++++++ .../nonuniformTransformCyclicPolyPatch.C | 40 +++ .../nonuniformTransformCyclicPolyPatch.H | 177 +++++++++ 25 files changed, 1877 insertions(+), 111 deletions(-) create mode 100755 applications/utilities/mesh/generation/extrudeToRegionMesh/Allwmake create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/Make/files create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/Make/options create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.C create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchField.H create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchFields.C create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchFields.H create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchFieldsFwd.H create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatch.C create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatch.H create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchField.C create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchField.H create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchFields.C create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchFields.H create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchFieldsFwd.H create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchField.C create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchField.H create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchFields.C create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchFields.H create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/pointPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatch.C create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/pointPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatch.H create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/polyPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPolyPatch.C create mode 100644 applications/utilities/mesh/generation/extrudeToRegionMesh/nonuniformTransformCyclic/polyPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPolyPatch.H diff --git a/applications/utilities/mesh/generation/extrudeToRegionMesh/Allwmake b/applications/utilities/mesh/generation/extrudeToRegionMesh/Allwmake new file mode 100755 index 0000000000..c19360ac26 --- /dev/null +++ b/applications/utilities/mesh/generation/extrudeToRegionMesh/Allwmake @@ -0,0 +1,9 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +set -x + +wmake libso nonuniformTransformCyclic +wmake + +# ----------------------------------------------------------------- end-of-file diff --git a/applications/utilities/mesh/generation/extrudeToRegionMesh/Make/options b/applications/utilities/mesh/generation/extrudeToRegionMesh/Make/options index dbf50a9b09..c00ca0534b 100644 --- a/applications/utilities/mesh/generation/extrudeToRegionMesh/Make/options +++ b/applications/utilities/mesh/generation/extrudeToRegionMesh/Make/options @@ -1,14 +1,12 @@ EXE_INC = \ + -InonuniformTransformCyclic/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - /* -I$(LIB_SRC)/surfMesh/lnInclude */ \ - /* -I$(LIB_SRC)/lagrangian/basic/lnInclude */ \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -lnonuniformTransformCyclic \ -lfiniteVolume \ - /* -lsurfMesh */ \ - /* -llagrangian */ \ -lmeshTools \ -ldynamicMesh diff --git a/applications/utilities/mesh/generation/extrudeToRegionMesh/extrudeToRegionMesh.C b/applications/utilities/mesh/generation/extrudeToRegionMesh/extrudeToRegionMesh.C index 4cf3c67ff9..bd7e61eff8 100644 --- a/applications/utilities/mesh/generation/extrudeToRegionMesh/extrudeToRegionMesh.C +++ b/applications/utilities/mesh/generation/extrudeToRegionMesh/extrudeToRegionMesh.C @@ -31,7 +31,8 @@ Description - if extruding boundary faces: - convert boundary faces to directMappedWall patches - extrude edges of faceZone as a _sidePatch - - extrude edges inbetween different faceZones as a cyclic _ + - extrude edges inbetween different faceZones as a + (nonuniformTransform)cyclic _ - extrudes into master direction (i.e. away from the owner cell if flipMap is false) - not parallel @@ -129,8 +130,9 @@ Usage #include "createShellMesh.H" #include "volFields.H" #include "surfaceFields.H" -#include "cyclicPolyPatch.H" #include "syncTools.H" +#include "cyclicPolyPatch.H" +#include "nonuniformTransformCyclicPolyPatch.H" using namespace Foam; @@ -596,7 +598,7 @@ void createDummyFvMeshFiles(const polyMesh& mesh, const word& regionName) } -//XXXXXXXXX +// Find a patch face that is not extruded. Return -1 if not found. label findUncoveredPatchFace ( const fvMesh& mesh, @@ -611,20 +613,19 @@ label findUncoveredPatchFace extrudeFaceSet.insert(extrudeMeshFaces[i]); } - label patchI = -1; - const labelList& eFaces = mesh.edgeFaces()[meshEdgeI]; forAll(eFaces, i) { label faceI = eFaces[i]; if (!mesh.isInternalFace(faceI) && !extrudeFaceSet.found(faceI)) { - patchI = mesh.boundaryMesh().whichPatch(faceI); - break; + return faceI; } } - return patchI; + return -1; } + + // Count the number of faces in patches that need to be created void countExtrudePatches ( @@ -662,14 +663,14 @@ void countExtrudePatches // so choose any uncovered one. If none found put face in // undetermined zone 'side' patch - label patchI = findUncoveredPatchFace + label faceI = findUncoveredPatchFace ( mesh, UIndirectList