diff --git a/src/mesh/snappyHexMesh/Make/files b/src/mesh/snappyHexMesh/Make/files index 00c46b066eac113306e1aa34d353bea023460d9d..0bdadb98481a063fa80e57133817b196b36d1bf7 100644 --- a/src/mesh/snappyHexMesh/Make/files +++ b/src/mesh/snappyHexMesh/Make/files @@ -14,6 +14,7 @@ meshRefinement/meshRefinementMerge.C meshRefinement/meshRefinementProblemCells.C meshRefinement/meshRefinementRefine.C meshRefinement/meshRefinementGapRefine.C +meshRefinement/meshRefinementBlock.C meshRefinement/patchFaceOrientation.C refinementFeatures/refinementFeatures.C diff --git a/src/mesh/snappyHexMesh/Make/options b/src/mesh/snappyHexMesh/Make/options index 2cf98acf6b29ca68bdb02f18d3c558b356bc7f99..f76521cbc2cf604813ffe1a9f25313d1f9601cc4 100644 --- a/src/mesh/snappyHexMesh/Make/options +++ b/src/mesh/snappyHexMesh/Make/options @@ -1,5 +1,4 @@ EXE_INC = \ - /* -g -DFULLDEBUG -O0 */ \ -I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C index 9717e6e553cdc35418a29cb1a7d26191c167f109..1f1839bac408fbd3322225eaa99f03f004c1c010 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.C @@ -58,6 +58,8 @@ License #include "fvMeshTools.H" #include "motionSmoother.H" #include "faceSet.H" +#include "topoDistanceData.H" +#include "FaceCellWave.H" // Leak path #include "shortestPathSet.H" @@ -358,6 +360,218 @@ void Foam::meshRefinement::updateIntersections(const labelList& changedFaces) } +Foam::labelList Foam::meshRefinement::nearestPatch +( + const labelList& adaptPatchIDs +) const +{ + // Determine nearest patch for all mesh faces. Used when removing cells + // to give some reasonable patch to exposed faces. + + const polyBoundaryMesh& patches = mesh_.boundaryMesh(); + + labelList nearestAdaptPatch; + + if (adaptPatchIDs.size()) + { + nearestAdaptPatch.setSize(mesh_.nFaces(), adaptPatchIDs[0]); + + + // Count number of faces in adaptPatchIDs + label nFaces = 0; + forAll(adaptPatchIDs, i) + { + const polyPatch& pp = patches[adaptPatchIDs[i]]; + nFaces += pp.size(); + } + + // Field on cells and faces. + List<topoDistanceData> cellData(mesh_.nCells()); + List<topoDistanceData> faceData(mesh_.nFaces()); + + // Start of changes + labelList patchFaces(nFaces); + List<topoDistanceData> patchData(nFaces); + nFaces = 0; + forAll(adaptPatchIDs, i) + { + label patchi = adaptPatchIDs[i]; + const polyPatch& pp = patches[patchi]; + + forAll(pp, i) + { + patchFaces[nFaces] = pp.start()+i; + patchData[nFaces] = topoDistanceData(patchi, 0); + nFaces++; + } + } + + // Propagate information inwards + FaceCellWave<topoDistanceData> deltaCalc + ( + mesh_, + patchFaces, + patchData, + faceData, + cellData, + mesh_.globalData().nTotalCells()+1 + ); + + // And extract + + bool haveWarned = false; + forAll(faceData, facei) + { + if (!faceData[facei].valid(deltaCalc.data())) + { + if (!haveWarned) + { + WarningInFunction + << "Did not visit some faces, e.g. face " << facei + << " at " << mesh_.faceCentres()[facei] << endl + << "Assigning these faces to patch " + << adaptPatchIDs[0] + << endl; + haveWarned = true; + } + } + else + { + nearestAdaptPatch[facei] = faceData[facei].data(); + } + } + } + else + { + // Use patch 0 + nearestAdaptPatch.setSize(mesh_.nFaces(), 0); + } + + return nearestAdaptPatch; +} + + +Foam::labelList Foam::meshRefinement::nearestIntersection +( + const labelList& surfacesToTest, + const label defaultRegion +) const +{ + // Determine nearest intersection for all mesh faces. Used when removing + // cells to give some reasonable patch to exposed faces. Use this + // function instead of nearestPatch if you don't have patches yet. + + + // Swap neighbouring cell centres and cell level + labelList neiLevel(mesh_.nFaces()-mesh_.nInternalFaces()); + pointField neiCc(mesh_.nFaces()-mesh_.nInternalFaces()); + calcNeighbourData(neiLevel, neiCc); + + + // Collect segments + // ~~~~~~~~~~~~~~~~ + + const labelList testFaces(intersectedFaces()); + + pointField start(testFaces.size()); + pointField end(testFaces.size()); + labelList minLevel(testFaces.size()); + + calcCellCellRays + ( + neiCc, + neiLevel, + testFaces, + start, + end, + minLevel + ); + + // Do tests in one go + labelList surface1; + List<pointIndexHit> hit1; + labelList region1; + labelList surface2; + List<pointIndexHit> hit2; + labelList region2; + surfaces_.findNearestIntersection + ( + surfacesToTest, + start, + end, + + surface1, + hit1, + region1, + surface2, + hit2, + region2 + ); + + labelList nearestRegion(mesh_.nFaces(), defaultRegion); + + // Field on cells and faces. + List<topoDistanceData> cellData(mesh_.nCells()); + List<topoDistanceData> faceData(mesh_.nFaces()); + + // Start walking from all intersected faces + DynamicList<label> patchFaces(start.size()); + DynamicList<topoDistanceData> patchData(start.size()); + forAll(start, i) + { + label facei = testFaces[i]; + if (surface1[i] != -1) + { + patchFaces.append(facei); + label regioni = surfaces_.globalRegion(surface1[i], region1[i]); + patchData.append(topoDistanceData(regioni, 0)); + } + else if (surface2[i] != -1) + { + patchFaces.append(facei); + label regioni = surfaces_.globalRegion(surface2[i], region2[i]); + patchData.append(topoDistanceData(regioni, 0)); + } + } + + // Propagate information inwards + FaceCellWave<topoDistanceData> deltaCalc + ( + mesh_, + patchFaces, + patchData, + faceData, + cellData, + mesh_.globalData().nTotalCells()+1 + ); + + // And extract + + bool haveWarned = false; + forAll(faceData, facei) + { + if (!faceData[facei].valid(deltaCalc.data())) + { + if (!haveWarned) + { + WarningInFunction + << "Did not visit some faces, e.g. face " << facei + << " at " << mesh_.faceCentres()[facei] << endl + << "Assigning these faces to global region " + << defaultRegion << endl; + haveWarned = true; + } + } + else + { + nearestRegion[facei] = faceData[facei].data(); + } + } + + return nearestRegion; +} + + void Foam::meshRefinement::testSyncPointList ( const string& msg, @@ -3147,7 +3361,7 @@ void Foam::meshRefinement::write dumpRefinementLevel(); } - if (debugFlags & OBJINTERSECTIONS && prefix.size()) + if ((debugFlags & OBJINTERSECTIONS) && prefix.size()) { dumpIntersections(prefix); } diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H index 1db4c4120b5d95ea13e76336133d86a82d288a0f..56067d2b9ff847d8b26c6d4f5f6f151816af53b2 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015-2017 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2015-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2017 OpenFOAM Foundation @@ -313,7 +313,7 @@ private: ) const; //- Collect faces that are intersected and whose neighbours aren't - // yet marked for refinement. + // yet marked for refinement. labelList getRefineCandidateFaces ( const labelList& refineCell @@ -329,6 +329,43 @@ private: label& nRefine ) const; + //- Collect cells intersected by the surface that are candidates + // for gap checking. Used inside markSurfaceGapRefinement + void collectGapCandidates + ( + const shellSurfaces& shells, + const labelList& testFaces, + const labelList& neiLevel, + const pointField& neiCc, + labelList& cellToCompact, + labelList& bFaceToCompact, + List<FixedList<label, 3>>& shellGapInfo, + List<volumeType>& shellGapMode + ) const; + void collectGapCells + ( + const scalar planarCos, + + const List<FixedList<label, 3>>& extendedGapLevel, + const List<volumeType>& extendedGapMode, + const labelList& testFaces, + const pointField& start, + const pointField& end, + + const labelList& cellToCompact, + const labelList& bFaceToCompact, + const List<FixedList<label, 3>>& shellGapInfo, + const List<volumeType>& shellGapMode, + + const label nAllowRefine, + const labelList& neiLevel, + const pointField& neiCc, + + labelList& refineCell, + label& nRefine + ) const; + + //- Mark cells intersected by the surface if they are inside // close gaps label markSurfaceGapRefinement @@ -472,6 +509,11 @@ private: label markProximityRefinement ( const scalar curvature, + + // Per region the min and max cell level + const labelList& surfaceMinLevel, + const labelList& surfaceMaxLevel, + const label nAllowRefine, const labelList& neiLevel, const pointField& neiCc, @@ -608,6 +650,15 @@ private: // adaptPatchIDs[0] labelList nearestPatch(const labelList& adaptPatchIDs) const; + //- Returns list with for every face the label of the nearest + // (global) region. Any unreached face (disconnected mesh?) becomes + // defaultRegion + labelList nearestIntersection + ( + const labelList& surfacesToTest, + const label defaultRegion + ) const; + //- Returns list with for every internal face -1 or the patch // they should be baffled into. labelList markFacesOnProblemCellsGeometric @@ -1005,11 +1056,13 @@ public: //- Is local topology a small gap normal to the test vector bool isNormalGap ( - const scalar, - const vector&, - const vector&, - const vector&, - const vector& + const scalar planarCos, + const label level0, + const vector& point0, + const vector& normal0, + const label level1, + const vector& point1, + const vector& normal1 ) const; //- Calculate list of cells to refine. @@ -1032,6 +1085,44 @@ public: const label maxLocalCells ) const; + + // Blocking cells + + //- Mark faces on interface between set and rest + // (and same cell level) + void markOutsideFaces + ( + const labelList& cellLevel, + const labelList& neiLevel, + const labelList& refineCell, + bitSet& isOutsideFace + ) const; + + //- Count number of faces on cell that are in set + label countFaceDirs + ( + const bitSet& isOutsideFace, + const label celli + ) const; + + //- Add one layer of cells to set + void growSet + ( + const labelList& neiLevel, + const bitSet& isOutsideFace, + labelList& refineCell, + label& nRefine + ) const; + + //- Detect gapRefinement cells and remove them + autoPtr<mapPolyMesh> removeGapCells + ( + const scalar planarAngle, + const labelList& minSurfaceLevel, + const labelList& globalToMasterPatch, + const label growIter + ); + //- Refine some cells autoPtr<mapPolyMesh> refine(const labelList& cellsToRefine); @@ -1561,6 +1652,9 @@ public: ); }; +template<> +inline bool contiguous<FixedList<label, 3>>() {return true;} + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBlock.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBlock.C new file mode 100644 index 0000000000000000000000000000000000000000..7b20766fdb2719688f103427743559ad4bc3575b --- /dev/null +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBlock.C @@ -0,0 +1,437 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2018-2019 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "meshRefinement.H" +#include "fvMesh.H" +#include "Time.H" +#include "refinementSurfaces.H" +#include "removeCells.H" +#include "unitConversion.H" +#include "bitSet.H" + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +//Foam::label Foam::meshRefinement::markFakeGapRefinement +//( +// const scalar planarCos, +// +// const label nAllowRefine, +// const labelList& neiLevel, +// const pointField& neiCc, +// +// labelList& refineCell, +// label& nRefine +//) const +//{ +// label oldNRefine = nRefine; +// +// +// // Collect candidate faces (i.e. intersecting any surface and +// // owner/neighbour not yet refined. +// const labelList testFaces(getRefineCandidateFaces(refineCell)); +// +// // Collect segments +// pointField start(testFaces.size()); +// pointField end(testFaces.size()); +// labelList minLevel(testFaces.size()); +// +// calcCellCellRays +// ( +// neiCc, +// neiLevel, +// testFaces, +// start, +// end, +// minLevel +// ); +// +// +// // Re-use the gap shooting methods. This needs: +// // - shell gapLevel : faked. Set to 0,labelMax +// // - surface gapLevel : faked by overwriting +// +// +// List<FixedList<label, 3>>& surfGapLevel = const_cast +// < +// List<FixedList<label, 3>>& +// >(surfaces_.extendedGapLevel()); +// +// List<volumeType>& surfGapMode = const_cast +// < +// List<volumeType>& +// >(surfaces_.extendedGapMode()); +// +// const List<FixedList<label, 3>> surfOldLevel(surfGapLevel); +// const List<volumeType> surfOldMode(surfGapMode); +// +// // Set the extended gap levels +// forAll(surfaces_.gapLevel(), regioni) +// { +// surfGapLevel[regioni] = FixedList<label, 3> +// ({ +// 3, +// -1, +// surfaces_.gapLevel()[regioni]+1 +// }); +// } +// surfGapMode = volumeType::MIXED; +// +//Pout<< "gapLevel was:" << surfOldLevel << endl; +//Pout<< "gapLevel now:" << surfGapLevel << endl; +//Pout<< "gapMode was:" << surfOldMode << endl; +//Pout<< "gapMode now:" << surfGapMode << endl; +//Pout<< "nRefine was:" << oldNRefine << endl; +// +// +// +// List<List<FixedList<label, 3>>>& shellGapLevel = const_cast +// < +// List<List<FixedList<label, 3>>>& +// >(shells_.extendedGapLevel()); +// +// List<List<volumeType>>& shellGapMode = const_cast +// < +// List<List<volumeType>>& +// >(shells_.extendedGapMode()); +// +// const List<List<FixedList<label, 3>>> shellOldLevel(shellGapLevel); +// const List<List<volumeType>> shellOldMode(shellGapMode); +// +// // Set the extended gap levels +// forAll(shellGapLevel, shelli) +// { +// shellGapLevel[shelli] = FixedList<label, 3>({3, -1, labelMax}); +// shellGapMode[shelli] = volumeType::MIXED; +// } +//Pout<< "shellLevel was:" << shellOldLevel << endl; +//Pout<< "shellLevel now:" << shellGapLevel << endl; +// +// const label nAdditionalRefined = markSurfaceGapRefinement +// ( +// planarCos, +// +// nAllowRefine, +// neiLevel, +// neiCc, +// +// refineCell, +// nRefine +// ); +// +//Pout<< "nRefine now:" << nRefine << endl; +// +// // Restore +// surfGapLevel = surfOldLevel; +// surfGapMode = surfOldMode; +// shellGapLevel = shellOldLevel; +// shellGapMode = shellOldMode; +// +// return nAdditionalRefined; +//} + + +void Foam::meshRefinement::markOutsideFaces +( + const labelList& cellLevel, + const labelList& neiLevel, + const labelList& refineCell, + bitSet& isOutsideFace +) const +{ + // Get faces: + // - on outside of cell set + // - inbetween same cell level (i.e. quads) + + isOutsideFace.setSize(mesh_.nFaces()); + isOutsideFace = Zero; + + forAll(mesh_.faceNeighbour(), facei) + { + label own = mesh_.faceOwner()[facei]; + label nei = mesh_.faceNeighbour()[facei]; + if + ( + (cellLevel[own] == cellLevel[nei]) + && ( + (refineCell[own] != -1) + != (refineCell[nei] != -1) + ) + ) + { + isOutsideFace.set(facei); + } + } + { + + const label nBnd = mesh_.nFaces()-mesh_.nInternalFaces(); + + labelList neiRefineCell(nBnd); + syncTools::swapBoundaryCellList(mesh_, refineCell, neiRefineCell); + for (label bFacei = 0; bFacei < nBnd; ++bFacei) + { + label facei = mesh_.nInternalFaces()+bFacei; + label own = mesh_.faceOwner()[facei]; + + if + ( + (cellLevel[own] == neiLevel[bFacei]) + && ( + (refineCell[own] != -1) + != (neiRefineCell[bFacei] != -1) + ) + ) + { + isOutsideFace.set(facei); + } + } + } +} + + +Foam::label Foam::meshRefinement::countFaceDirs +( + const bitSet& isOutsideFace, + const label celli +) const +{ + const cell& cFaces = mesh_.cells()[celli]; + const vectorField& faceAreas = mesh_.faceAreas(); + + Vector<bool> haveDirs(vector::uniform(false)); + + forAll(cFaces, cFacei) + { + const label facei = cFaces[cFacei]; + + if (isOutsideFace[facei]) + { + const vector& n = faceAreas[facei]; + scalar magSqrN = magSqr(n); + + if (magSqrN > ROOTVSMALL) + { + for + ( + direction dir = 0; + dir < pTraits<vector>::nComponents; + dir++ + ) + { + if (Foam::sqr(n[dir]) > 0.99*magSqrN) + { + haveDirs[dir] = true; + break; + } + } + } + } + } + + label nDirs = 0; + forAll(haveDirs, dir) + { + if (haveDirs[dir]) + { + nDirs++; + } + } + return nDirs; +} + + +void Foam::meshRefinement::growSet +( + const labelList& neiLevel, + const bitSet& isOutsideFace, + labelList& refineCell, + label& nRefine +) const +{ + // Get cells with three or more outside faces + const cellList& cells = mesh_.cells(); + forAll(cells, celli) + { + if (refineCell[celli] == -1) + { + if (countFaceDirs(isOutsideFace, celli) == 3) + { + // Mark cell with any value + refineCell[celli] = 0; + nRefine++; + } + } + } +} + + +Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::removeGapCells +( + const scalar planarAngle, + const labelList& minSurfaceLevel, + const labelList& globalToMasterPatch, + const label growIter +) +{ + // Swap neighbouring cell centres and cell level + labelList neiLevel(mesh_.nFaces()-mesh_.nInternalFaces()); + pointField neiCc(mesh_.nFaces()-mesh_.nInternalFaces()); + calcNeighbourData(neiLevel, neiCc); + + labelList refineCell(mesh_.nCells(), -1); + label nRefine = 0; + markProximityRefinement + ( + Foam::cos(degToRad(planarAngle)), + + minSurfaceLevel, // surface min level + labelList(minSurfaceLevel.size(), labelMax), // surfaceGapLevel + + labelMax/Pstream::nProcs(), //nAllowRefine, + neiLevel, + neiCc, + + refineCell, + nRefine + ); + + + //// Mark big-gap refinement + //markFakeGapRefinement + //( + // Foam::cos(degToRad(planarAngle)), + // + // labelMax/Pstream::nProcs(), //nAllowRefine, + // neiLevel, + // neiCc, + // + // refineCell, + // nRefine + //); + + + Info<< "Marked for blocking due to close opposite surfaces : " + << returnReduce(nRefine, sumOp<label>()) << " cells." << endl; + + // Remove outliers, i.e. cells with all points exposed + if (growIter) + { + labelList oldRefineCell(refineCell); + + // Pass1: extend the set to fill in gaps + bitSet isOutsideFace; + for (label iter = 0; iter < growIter; iter++) + { + // Get outside faces + markOutsideFaces + ( + meshCutter_.cellLevel(), + neiLevel, + refineCell, + isOutsideFace + ); + // Extend with cells with three outside faces + growSet(neiLevel, isOutsideFace, refineCell, nRefine); + } + + + // Pass2: erode back to original set if pass1 didn't help + for (label iter = 0; iter < growIter; iter++) + { + // Get outside faces. Ignore cell level. + markOutsideFaces + ( + labelList(mesh_.nCells(), 0), + labelList(neiLevel.size(), 0), + refineCell, + isOutsideFace + ); + + // Unmark cells with three or more outside faces + for (label celli = 0; celli < mesh_.nCells(); celli++) + { + if (refineCell[celli] != -1 && oldRefineCell[celli] == -1) + { + if (countFaceDirs(isOutsideFace, celli) >= 3) + { + refineCell[celli] = -1; + --nRefine; + } + } + } + } + + Info<< "Marked for blocking after filtering : " + << returnReduce(nRefine, sumOp<label>()) << " cells." << endl; + } + + + // Determine patch for every mesh face + const PtrList<surfaceZonesInfo>& surfZones = surfaces_.surfZones(); + labelList unnamedSurfaces(surfaceZonesInfo::getUnnamedSurfaces(surfZones)); + const label defaultRegion(surfaces_.globalRegion(unnamedSurfaces[0], 0)); + + const labelList nearestRegion + ( + nearestIntersection + ( + unnamedSurfaces, + defaultRegion + ) + ); + + // Pack + labelList cellsToRemove(nRefine); + nRefine = 0; + + forAll(refineCell, cellI) + { + if (refineCell[cellI] != -1) + { + cellsToRemove[nRefine++] = cellI; + } + } + + // Remove cells + removeCells cellRemover(mesh_); + labelList exposedFaces(cellRemover.getExposedFaces(cellsToRemove)); + + labelList exposedPatches(exposedFaces.size()); + forAll(exposedFaces, i) + { + label facei = exposedFaces[i]; + exposedPatches[i] = globalToMasterPatch[nearestRegion[facei]]; + } + + return doRemoveCells + ( + cellsToRemove, + exposedFaces, + exposedPatches, + cellRemover + ); +} + + +// ************************************************************************* // diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementProblemCells.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementProblemCells.C index 2d66b8eb78231174e9b797e5615306e1be7ebb61..000ae8de28d83bf9071bca9e338d89f205ff57bc 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementProblemCells.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementProblemCells.C @@ -42,8 +42,6 @@ License #include "snapParameters.H" #include "motionSmoother.H" -#include "topoDistanceData.H" -#include "FaceCellWave.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -375,94 +373,6 @@ bool Foam::meshRefinement::isCollapsedCell } -Foam::labelList Foam::meshRefinement::nearestPatch -( - const labelList& adaptPatchIDs -) const -{ - const polyBoundaryMesh& patches = mesh_.boundaryMesh(); - - labelList nearestAdaptPatch; - - if (adaptPatchIDs.size()) - { - nearestAdaptPatch.setSize(mesh_.nFaces(), adaptPatchIDs[0]); - - - // Count number of faces in adaptPatchIDs - label nFaces = 0; - forAll(adaptPatchIDs, i) - { - const polyPatch& pp = patches[adaptPatchIDs[i]]; - nFaces += pp.size(); - } - - // Field on cells and faces. - List<topoDistanceData> cellData(mesh_.nCells()); - List<topoDistanceData> faceData(mesh_.nFaces()); - - // Start of changes - labelList patchFaces(nFaces); - List<topoDistanceData> patchData(nFaces); - nFaces = 0; - forAll(adaptPatchIDs, i) - { - label patchi = adaptPatchIDs[i]; - const polyPatch& pp = patches[patchi]; - - forAll(pp, i) - { - patchFaces[nFaces] = pp.start()+i; - patchData[nFaces] = topoDistanceData(patchi, 0); - nFaces++; - } - } - - // Propagate information inwards - FaceCellWave<topoDistanceData> deltaCalc - ( - mesh_, - patchFaces, - patchData, - faceData, - cellData, - mesh_.globalData().nTotalCells()+1 - ); - - // And extract - - bool haveWarned = false; - forAll(faceData, facei) - { - if (!faceData[facei].valid(deltaCalc.data())) - { - if (!haveWarned) - { - WarningInFunction - << "Did not visit some faces, e.g. face " << facei - << " at " << mesh_.faceCentres()[facei] << endl - << "Assigning these cells to patch " - << adaptPatchIDs[0] - << endl; - haveWarned = true; - } - } - else - { - nearestAdaptPatch[facei] = faceData[facei].data(); - } - } - } - else - { - // Use patch 0 - nearestAdaptPatch.setSize(mesh_.nFaces(), 0); - } - - return nearestAdaptPatch; -} - - // Returns list with for every internal face -1 or the patch they should // be baffled into. Gets run after createBaffles so all the unzoned surface // intersections have already been turned into baffles. (Note: zoned surfaces diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementRefine.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementRefine.C index 60f41bd9f0357d1133ead73b4b848efa95a40fac..f5dfad986b5649980d0df308d9301f2d7912aeed 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementRefine.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementRefine.C @@ -1191,13 +1191,14 @@ Foam::label Foam::meshRefinement::markSurfaceCurvatureRefinement // Per segment the list of levels of the surfaces labelListList surfaceLevel; - surfaces_.findAllHigherIntersections + surfaces_.findAllIntersections ( start, end, minLevel, // max level of surface has to be bigger // than min level of neighbouring cells + labelList(surfaces_.maxLevel().size(), 0), // min level surfaces_.maxLevel(), surfaceNormal, @@ -1572,13 +1573,17 @@ bool Foam::meshRefinement::isGap bool Foam::meshRefinement::isNormalGap ( const scalar planarCos, + const label level0, const vector& point0, const vector& normal0, + const label level1, const vector& point1, const vector& normal1 ) const { + //const scalar edge0Len = meshCutter_.level0EdgeLength(); + //- Hits differ and angles are oppositeish and // hits have a normal distance vector d = point1-point0; @@ -1588,24 +1593,31 @@ bool Foam::meshRefinement::isNormalGap { scalar cosAngle = (normal0 & normal1); - vector avg = Zero; + vector avgNormal = Zero; if (cosAngle < (-1+planarCos)) { // Opposite normals - avg = 0.5*(normal0-normal1); + avgNormal = 0.5*(normal0-normal1); } else if (cosAngle > (1-planarCos)) { - avg = 0.5*(normal0+normal1); + avgNormal = 0.5*(normal0+normal1); } - if (avg != vector::zero) + if (avgNormal != vector::zero) { - avg /= mag(avg); - d /= magD; + avgNormal /= mag(avgNormal); + + //scalar normalDist = mag(d&avgNormal); + //const scalar avgCellSize = edge0Len/pow(2.0, 0.5*(level0+level1)); + //if (normalDist > 1*avgCellSize) + //{ + // Pout<< "** skipping large distance " << endl; + // return false; + //} // Check average normal with respect to intersection locations - if (mag(avg&d) > Foam::cos(degToRad(45.0))) + if (mag(avgNormal&d/magD) > Foam::cos(degToRad(45.0))) { return true; } @@ -1628,7 +1640,7 @@ bool Foam::meshRefinement::checkProximity const label cellI, label& cellMaxLevel, // cached max surface level for this cell - vector& cellMaxLocation, // cached surface normal for this cell + vector& cellMaxLocation, // cached surface location for this cell vector& cellMaxNormal, // cached surface normal for this cell labelList& refineCell, @@ -1657,8 +1669,10 @@ bool Foam::meshRefinement::checkProximity bool closeSurfaces = isNormalGap ( planarCos, + cellLevel[cellI], //cellMaxLevel, cellMaxLocation, cellMaxNormal, + cellLevel[cellI], //surfaceLevel, surfaceLocation, surfaceNormal ); @@ -1702,6 +1716,10 @@ bool Foam::meshRefinement::checkProximity Foam::label Foam::meshRefinement::markProximityRefinement ( const scalar planarCos, + + const labelList& surfaceMinLevel, + const labelList& surfaceMaxLevel, + const label nAllowRefine, const labelList& neiLevel, const pointField& neiCc, @@ -1723,7 +1741,7 @@ Foam::label Foam::meshRefinement::markProximityRefinement // Collect candidate faces (i.e. intersecting any surface and // owner/neighbour not yet refined. - labelList testFaces(getRefineCandidateFaces(refineCell)); + const labelList testFaces(getRefineCandidateFaces(refineCell)); // Collect segments pointField start(testFaces.size()); @@ -1755,14 +1773,15 @@ Foam::label Foam::meshRefinement::markProximityRefinement // Per segment the list of levels of the surfaces labelListList surfaceLevel; - surfaces_.findAllHigherIntersections + surfaces_.findAllIntersections ( start, end, minLevel, // gap level of surface has to be bigger // than min level of neighbouring cells - surfaces_.gapLevel(), + surfaceMinLevel, + surfaceMaxLevel, surfaceLocation, surfaceNormal, @@ -1777,7 +1796,7 @@ Foam::label Foam::meshRefinement::markProximityRefinement //OBJstream str //( // mesh_.time().path() - // / "findAllHigherIntersections_" + // / "findAllIntersections_" // + mesh_.time().timeName() // + ".obj" //); @@ -1785,7 +1804,7 @@ Foam::label Foam::meshRefinement::markProximityRefinement //OBJstream str2 //( // mesh_.time().path() - // / "findAllHigherIntersections2_" + // / "findAllIntersections2_" // + mesh_.time().timeName() // + ".obj" //); @@ -1884,8 +1903,10 @@ Foam::label Foam::meshRefinement::markProximityRefinement isNormalGap ( planarCos, + cellLevel[own], //cellMaxLevel[own], cellMaxLocation[own], cellMaxNormal[own], + cellLevel[nei], //cellMaxLevel[nei], cellMaxLocation[nei], cellMaxNormal[nei] ) @@ -1954,8 +1975,10 @@ Foam::label Foam::meshRefinement::markProximityRefinement isNormalGap ( planarCos, + cellLevel[own], //cellMaxLevel[own], cellMaxLocation[own], cellMaxNormal[own], + neiLevel[bFaceI], //neiBndMaxLevel[bFaceI], neiBndMaxLocation[bFaceI], neiBndMaxNormal[bFaceI] ) @@ -2217,19 +2240,25 @@ Foam::labelList Foam::meshRefinement::refineCandidates // Refinement based on gap (only neighbouring cells) // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + const labelList& surfaceGapLevel = surfaces_.gapLevel(); + if ( gapRefinement && (planarCos >= -1 && planarCos <= 1) - && (max(surfaces_.gapLevel()) > -1) + && (max(surfaceGapLevel) > -1) ) { - Info<< "Specified gap level : " << max(surfaces_.gapLevel()) + Info<< "Specified gap level : " << max(surfaceGapLevel) << ", planar angle " << planarAngle << endl; label nGap = markProximityRefinement ( planarCos, + + labelList(surfaceGapLevel.size(), -1), // surface min level + surfaceGapLevel, // surface max level + nAllowRefine, neiLevel, neiCc, diff --git a/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C b/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C index a80cdbad901b93f1b01e3c59b9bac6d21ae2c0cf..98496210fda0c9a6c22ebeeede49e73390938c9d 100644 --- a/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C +++ b/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C @@ -160,6 +160,7 @@ Foam::refinementSurfaces::refinementSurfaces surfZones_.setSize(surfI); regionOffset_.setSize(surfI); + // Per surface data labelList globalMinLevel(surfI, Zero); labelList globalMaxLevel(surfI, Zero); labelList globalLevelIncr(surfI, Zero); @@ -174,6 +175,10 @@ Foam::refinementSurfaces::refinementSurfaces scalarField globalAngle(surfI, -GREAT); PtrList<dictionary> globalPatchInfo(surfI); + + labelList globalBlockLevel(surfI, labelMax); + + // Per surface, per region data List<Map<label>> regionMinLevel(surfI); List<Map<label>> regionMaxLevel(surfI); List<Map<label>> regionLevelIncr(surfI); @@ -181,7 +186,7 @@ Foam::refinementSurfaces::refinementSurfaces List<Map<volumeType>> regionGapMode(surfI); List<Map<scalar>> regionAngle(surfI); List<Map<autoPtr<dictionary>>> regionPatchInfo(surfI); - + List<Map<label>> regionBlockLevel(surfI); wordHashSet unmatchedKeys(surfacesDict.toc()); @@ -282,6 +287,8 @@ Foam::refinementSurfaces::refinementSurfaces ); } dict.readIfPresent("perpendicularAngle", globalAngle[surfI]); + dict.readIfPresent("blockLevel", globalBlockLevel[surfI]); + if (dict.found("regions")) { @@ -392,6 +399,12 @@ Foam::refinementSurfaces::refinementSurfaces regionDict.subDict("patchInfo").clone() ); } + + label l; + if (regionDict.readIfPresent<label>("blockLevel", l)) + { + regionBlockLevel[surfI].insert(regionI, l); + } } } } @@ -432,6 +445,8 @@ Foam::refinementSurfaces::refinementSurfaces perpendicularAngle_.setSize(nRegions); perpendicularAngle_ = -GREAT; patchInfo_.setSize(nRegions); + blockLevel_.setSize(nRegions); + blockLevel_ = labelMax; forAll(globalMinLevel, surfI) @@ -458,6 +473,7 @@ Foam::refinementSurfaces::refinementSurfaces globalPatchInfo[surfI].clone() ); } + blockLevel_[globalRegionI] = globalBlockLevel[surfI]; } // Overwrite with region specific information @@ -490,6 +506,12 @@ Foam::refinementSurfaces::refinementSurfaces patchInfo_.set(globalRegionI, dict.clone()); } + + forAllConstIter(Map<label>, regionBlockLevel[surfI], iter) + { + label globalRegionI = regionOffset_[surfI] + iter.key(); + blockLevel_[globalRegionI] = regionBlockLevel[surfI][iter.key()]; + } } } @@ -903,13 +925,14 @@ void Foam::refinementSurfaces::findHigherIntersection } -void Foam::refinementSurfaces::findAllHigherIntersections +void Foam::refinementSurfaces::findAllIntersections ( const pointField& start, const pointField& end, const labelList& currentLevel, // current cell refinement level - const labelList& globalRegionLevel, + const labelList& globalMinLevel, + const labelList& globalMaxLevel, List<vectorList>& surfaceNormal, labelListList& surfaceLevel @@ -976,7 +999,11 @@ void Foam::refinementSurfaces::findAllHigherIntersections label region = globalRegion(surfI, surfRegion[i]); label pointI = pointMap[i]; - if (globalRegionLevel[region] > currentLevel[pointI]) + if + ( + currentLevel[pointI] >= globalMinLevel[region] + && currentLevel[pointI] < globalMaxLevel[region] + ) { // Append to pointI info label sz = surfaceNormal[pointI].size(); @@ -984,20 +1011,21 @@ void Foam::refinementSurfaces::findAllHigherIntersections surfaceNormal[pointI][sz] = surfNormal[i]; surfaceLevel[pointI].setSize(sz+1); - surfaceLevel[pointI][sz] = globalRegionLevel[region]; + surfaceLevel[pointI][sz] = globalMaxLevel[region]; } } } } -void Foam::refinementSurfaces::findAllHigherIntersections +void Foam::refinementSurfaces::findAllIntersections ( const pointField& start, const pointField& end, const labelList& currentLevel, // current cell refinement level - const labelList& globalRegionLevel, + const labelList& globalMinLevel, + const labelList& globalMaxLevel, List<pointList>& surfaceLocation, List<vectorList>& surfaceNormal, @@ -1063,7 +1091,11 @@ void Foam::refinementSurfaces::findAllHigherIntersections label region = globalRegion(surfI, surfRegion[i]); label pointI = pointMap[i]; - if (globalRegionLevel[region] > currentLevel[pointI]) + if + ( + currentLevel[pointI] >= globalMinLevel[region] + && currentLevel[pointI] < globalMaxLevel[region] + ) { // Append to pointI info label sz = surfaceNormal[pointI].size(); @@ -1074,7 +1106,9 @@ void Foam::refinementSurfaces::findAllHigherIntersections surfaceNormal[pointI][sz] = surfNormal[i]; surfaceLevel[pointI].setSize(sz+1); - surfaceLevel[pointI][sz] = globalRegionLevel[region]; + // Level should just be higher than provided point level. + // Actual value is not important. + surfaceLevel[pointI][sz] = globalMaxLevel[region]; } } } diff --git a/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.H b/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.H index 26f695ef5c61bb6420891e7ae48542724adcf1a4..c438b0c6a8b8b84ddadab3fd2847fa62204a2891 100644 --- a/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.H +++ b/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.H @@ -88,6 +88,10 @@ class refinementSurfaces //- From global region number to small-gap level labelList gapLevel_; + //- From global region number to cell level at which blockage detection + // needs to apply + labelList blockLevel_; + //- From global region number to small-gap level specification List<FixedList<label, 3>> extendedGapLevel_; @@ -202,6 +206,13 @@ public: return gapLevel_; } + //- From global region number to cell level at which blockage + //- detection is applied + const labelList& blockLevel() const + { + return blockLevel_; + } + //- From global region number to specification of gap and its // refinement: 3 labels specifying // - minimum wanted number of cells in the gap @@ -287,25 +298,31 @@ public: labelList& surfaceLevel ) const; - //- Find all intersections of edge. Unsorted order. - void findAllHigherIntersections + //- Find all intersections of edge with any surface with applicable + // min/max refinement level. Unsorted order. + void findAllIntersections ( const pointField& start, const pointField& end, const labelList& currentLevel, // current cell refinement level - const labelList& globalRegionLevel, // level per surfregion + + const labelList& globalMinLevel, // level per surfregion + const labelList& globalMaxLevel, // level per surfregion List<vectorList>& surfaceNormal, labelListList& surfaceLevel ) const; - //- Find all intersections of edge. Unsorted order. - void findAllHigherIntersections + //- Find all intersections of edge with any surface with applicable + // min/max refinement level. Unsorted order. + void findAllIntersections ( const pointField& start, const pointField& end, const labelList& currentLevel, // current cell refinement level - const labelList& globalRegionLevel, // level per surfregion + + const labelList& globalMinLevel, // level per surfregion + const labelList& globalMaxLevel, // level per surfregion List<pointList>& surfaceLocation, List<vectorList>& surfaceNormal, diff --git a/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.H b/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.H index 26a8a263d17c0b12db0228864f8dfcfa8b9db9a1..c5763abf99f993c10b6a0690f9ab400478c4dd4e 100644 --- a/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.H +++ b/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.H @@ -193,6 +193,18 @@ public: return shells_; } + //- Per shell, per region the small-gap level specification + const List<List<FixedList<label, 3>>>& extendedGapLevel() const + { + return extendedGapLevel_; + } + + //- Per shell, per region the small-gap level specification + const List<List<volumeType>>& extendedGapMode() const + { + return extendedGapMode_; + } + // Query //- Highest shell level diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.C index c36516f918d0220fe5dcca0852a2a722d01a2803..47b4edcf4893d863e9c669dc0a93ecb0ba19f121 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.C +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015-2018 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2015-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2015 OpenFOAM Foundation @@ -92,6 +92,7 @@ Foam::refinementParameters::refinementParameters dict.lookupOrDefault<Switch>("interfaceRefine", true) ), nErodeCellZone_(dict.lookupOrDefault<label>("nCellZoneErodeIter", 0)), + nFilterIter_(dict.lookupOrDefault<label>("nFilterIter", 2)), dryRun_(dryRun) { point locationInMesh; diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.H b/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.H index 7c4f0953481dade84ca210b6f83d5a6b8f906156..3c81a2f31ab23484f7c79d6445d5ed5df1904df7 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.H +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2015-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2014 OpenFOAM Foundation @@ -90,7 +90,7 @@ class refinementParameters wordList zonesInMesh_; //- Information on how to handle faces on faceZones - dictionary faceZoneControls_; + const dictionary faceZoneControls_; //- FaceZone faces allowed which have owner and neighbour in same @@ -110,6 +110,8 @@ class refinementParameters const label nErodeCellZone_; + const label nFilterIter_; + const bool dryRun_; @@ -219,11 +221,19 @@ public: return interfaceRefine_; } + //- Number of iterations of erosion to get a consistent cellZone label nErodeCellZone() const { return nErodeCellZone_; } + //- Number of iterations of infill/erosion to get a smoother + // blockage + label nFilterIter() const + { + return nFilterIter_; + } + // Other diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C index 5a2957b1136019a8d620d51cec11859299ac61c9..75ba0a0f155ce5ed6ac022ae3dead97705a88f7c 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C @@ -549,6 +549,22 @@ Foam::label Foam::snappyRefineDriver::gapOnlyRefine if (debug&meshRefinement::MESH) { + Pout<< "Writing current mesh to time " + << meshRefiner_.timeName() << endl; + meshRefiner_.write + ( + meshRefinement::debugType(debug), + meshRefinement::writeType + ( + meshRefinement::writeLevel() + | meshRefinement::WRITEMESH + ), + mesh.time().path()/meshRefiner_.timeName() + ); + Pout<< "Dumped mesh in = " + << mesh.time().cpuTimeIncrement() << " s\n" << nl << endl; + + Pout<< "Dumping " << candidateCells.size() << " cells to cellSet candidateCellsFromGap." << endl; cellSet c(mesh, "candidateCellsFromGap", candidateCells); @@ -716,6 +732,56 @@ Foam::label Foam::snappyRefineDriver::gapOnlyRefine } +Foam::label Foam::snappyRefineDriver::surfaceProximityBlock +( + const refinementParameters& refineParams, + const label maxIter +) +{ + if (refineParams.minRefineCells() == -1) + { + // Special setting to be able to restart shm on meshes with inconsistent + // cellLevel/pointLevel + return 0; + } + + fvMesh& mesh = meshRefiner_.mesh(); + + if (min(meshRefiner_.surfaces().blockLevel()) == labelMax) + { + return 0; + } + + label iter = 0; + + for (iter = 0; iter < maxIter; iter++) + { + Info<< nl + << "Gap blocking iteration " << iter << nl + << "------------------------" << nl + << endl; + + + // Determine cells to block + // ~~~~~~~~~~~~~~~~~~~~~~~~ + + meshRefiner_.removeGapCells + ( + refineParams.planarAngle(), + meshRefiner_.surfaces().blockLevel(), + globalToMasterPatch_, + refineParams.nFilterIter() + ); + + if (debug) + { + const_cast<Time&>(mesh.time())++; + } + } + return iter; +} + + Foam::label Foam::snappyRefineDriver::bigGapOnlyRefine ( const refinementParameters& refineParams, @@ -787,6 +853,21 @@ Foam::label Foam::snappyRefineDriver::bigGapOnlyRefine if (debug&meshRefinement::MESH) { + Pout<< "Writing current mesh to time " + << meshRefiner_.timeName() << endl; + meshRefiner_.write + ( + meshRefinement::debugType(debug), + meshRefinement::writeType + ( + meshRefinement::writeLevel() + | meshRefinement::WRITEMESH + ), + mesh.time().path()/meshRefiner_.timeName() + ); + Pout<< "Dumped mesh in = " + << mesh.time().cpuTimeIncrement() << " s\n" << nl << endl; + Pout<< "Dumping " << candidateCells.size() << " cells to cellSet candidateCellsFromBigGap." << endl; cellSet c(mesh, "candidateCellsFromBigGap", candidateCells); @@ -1421,7 +1502,7 @@ void Foam::snappyRefineDriver::removeInsideCells ); // Fix any additional (e.g. locationsOutsideMesh). Note: probably not - // nessecary. + // necessary. meshRefiner_.splitMesh ( nBufferLayers, // nBufferLayers @@ -2859,6 +2940,13 @@ void Foam::snappyRefineDriver::doRefine 100 // maxIter ); + // Remove cells inbetween two surfaces + surfaceProximityBlock + ( + refineParams, + 1 //100 // maxIter + ); + // Remove cells (a certain distance) beyond surface intersections removeInsideCells ( diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.H b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.H index ab4d6a06e4de9f7ff8bc4b78ad8ff0e95ed814f2..eeec7ed89abfdef23d169e9260fbffc49987aff1 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.H +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.H @@ -134,6 +134,13 @@ class snappyRefineDriver const label maxIter ); + //- Block all cells in small gaps + label surfaceProximityBlock + ( + const refinementParameters& refineParams, + const label maxIter + ); + //- Refine all cells in large gaps label bigGapOnlyRefine ( diff --git a/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C b/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C index e0677dd0e0ad6dbbac8643a0a9c0ffaa298c5bff..0a0a09597eb50a19138e65719d0e50d001c7325e 100644 --- a/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C +++ b/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C @@ -106,7 +106,7 @@ Foam::fileName Foam::triSurfaceMesh::checkFile { const fileName rawFName(fName); - fName = relativeFilePath(io, fName, isGlobal); + fName = relativeFilePath(io, rawFName, isGlobal); if (!exists(fName)) { diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/0/polyMesh/sets/cellsToRemove b/tutorials/mesh/snappyHexMesh/opposite_walls/0/polyMesh/sets/cellsToRemove new file mode 100644 index 0000000000000000000000000000000000000000..d60446d02a364021ab2391ceeea20b04a6fbdacf --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/0/polyMesh/sets/cellsToRemove @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v1806 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class cellSet; + arch "LSB;label=32;scalar=64"; + location "0/polyMesh/sets"; + object cellsToRemove; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +0() + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/Allclean b/tutorials/mesh/snappyHexMesh/opposite_walls/Allclean new file mode 100755 index 0000000000000000000000000000000000000000..be7ddb068847225ad69704840909a7b0d05a5466 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/Allclean @@ -0,0 +1,7 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory +. $WM_PROJECT_DIR/bin/tools/CleanFunctions # Tutorial clean functions + +cleanCase + +#------------------------------------------------------------------------------ diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/Allrun b/tutorials/mesh/snappyHexMesh/opposite_walls/Allrun new file mode 100755 index 0000000000000000000000000000000000000000..b97b2ffde17ea7473dbabc101fecf9319a4535f1 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/Allrun @@ -0,0 +1,15 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory +. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions + +runApplication blockMesh + +runApplication snappyHexMesh + +#runApplication decomposePar +# +#runParallel snappyHexMesh -overwrite +# +#runApplication reconstructParMesh -constant + +#------------------------------------------------------------------------------ diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap0.stl b/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap0.stl new file mode 100644 index 0000000000000000000000000000000000000000..7e8153b9ff9136f90018e10c038e6e025810ad13 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap0.stl @@ -0,0 +1,702 @@ +solid ascii + facet normal 0.0661619 -0.997809 0 + outer loop + vertex -3.29359 0.155981 0.0271616 + vertex -3.27701 0.157081 0.0270155 + vertex -3.29359 0.155981 5.02716 + endloop + endfacet + facet normal 0.0661619 -0.997809 0 + outer loop + vertex -3.29359 0.155981 5.02716 + vertex -3.27701 0.157081 0.0270155 + vertex -3.27701 0.157081 5.02702 + endloop + endfacet + facet normal 0.0628737 -0.998021 0 + outer loop + vertex -3.27701 0.157081 0.0270155 + vertex -3.22853 0.160134 0.0265803 + vertex -3.27701 0.157081 5.02702 + endloop + endfacet + facet normal 0.0628737 -0.998021 0 + outer loop + vertex -3.27701 0.157081 5.02702 + vertex -3.22853 0.160134 0.0265803 + vertex -3.22853 0.160134 5.02658 + endloop + endfacet + facet normal 0.0590454 -0.998255 0 + outer loop + vertex -3.22853 0.160134 0.0265803 + vertex -3.15011 0.164773 0.0258607 + vertex -3.22853 0.160134 5.02658 + endloop + endfacet + facet normal 0.0590454 -0.998255 0 + outer loop + vertex -3.22853 0.160134 5.02658 + vertex -3.15011 0.164773 0.0258607 + vertex -3.15011 0.164773 5.02586 + endloop + endfacet + facet normal 0.054922 -0.998491 0 + outer loop + vertex -3.15011 0.164773 0.0258607 + vertex -3.04367 0.170628 0.0248616 + vertex -3.15011 0.164773 5.02586 + endloop + endfacet + facet normal 0.054922 -0.998491 0 + outer loop + vertex -3.15011 0.164773 5.02586 + vertex -3.04367 0.170628 0.0248616 + vertex -3.04367 0.170628 5.02486 + endloop + endfacet + facet normal 0.050508 -0.998724 0 + outer loop + vertex -3.04367 0.170628 0.0248616 + vertex -2.91114 0.17733 0.0235877 + vertex -3.04367 0.170628 5.02486 + endloop + endfacet + facet normal 0.050508 -0.998724 0 + outer loop + vertex -3.04367 0.170628 5.02486 + vertex -2.91114 0.17733 0.0235877 + vertex -2.91114 0.17733 5.02359 + endloop + endfacet + facet normal 0.0457832 -0.998951 0 + outer loop + vertex -2.91114 0.17733 0.0235877 + vertex -2.75447 0.184511 0.0220438 + vertex -2.91114 0.17733 5.02359 + endloop + endfacet + facet normal 0.0457832 -0.998951 0 + outer loop + vertex -2.91114 0.17733 5.02359 + vertex -2.75447 0.184511 0.0220438 + vertex -2.75447 0.184511 5.02204 + endloop + endfacet + facet normal 0.0407187 -0.999171 0 + outer loop + vertex -2.75447 0.184511 0.0220438 + vertex -2.57557 0.191801 0.0202347 + vertex -2.75447 0.184511 5.02204 + endloop + endfacet + facet normal 0.0407187 -0.999171 0 + outer loop + vertex -2.75447 0.184511 5.02204 + vertex -2.57557 0.191801 0.0202347 + vertex -2.57557 0.191801 5.02023 + endloop + endfacet + facet normal 0.0352794 -0.999377 0 + outer loop + vertex -2.57557 0.191801 0.0202347 + vertex -2.3764 0.198832 0.0181651 + vertex -2.57557 0.191801 5.02023 + endloop + endfacet + facet normal 0.0352794 -0.999377 0 + outer loop + vertex -2.57557 0.191801 5.02023 + vertex -2.3764 0.198832 0.0181651 + vertex -2.3764 0.198832 5.01817 + endloop + endfacet + facet normal 0.0294239 -0.999567 0 + outer loop + vertex -2.3764 0.198832 0.0181651 + vertex -2.15887 0.205236 0.0158399 + vertex -2.3764 0.198832 5.01817 + endloop + endfacet + facet normal 0.0294239 -0.999567 0 + outer loop + vertex -2.3764 0.198832 5.01817 + vertex -2.15887 0.205236 0.0158399 + vertex -2.15887 0.205236 5.01584 + endloop + endfacet + facet normal 0.023104 -0.999733 0 + outer loop + vertex -2.15887 0.205236 0.0158399 + vertex -1.92493 0.210642 0.0132637 + vertex -2.15887 0.205236 5.01584 + endloop + endfacet + facet normal 0.023104 -0.999733 0 + outer loop + vertex -2.15887 0.205236 5.01584 + vertex -1.92493 0.210642 0.0132637 + vertex -1.92493 0.210642 5.01326 + endloop + endfacet + facet normal 0.0162636 -0.999868 0 + outer loop + vertex -1.92493 0.210642 0.0132637 + vertex -1.6765 0.214683 0.0104414 + vertex -1.92493 0.210642 5.01326 + endloop + endfacet + facet normal 0.0162636 -0.999868 0 + outer loop + vertex -1.92493 0.210642 5.01326 + vertex -1.6765 0.214683 0.0104414 + vertex -1.6765 0.214683 5.01044 + endloop + endfacet + facet normal 0.00883721 -0.999961 0 + outer loop + vertex -1.6765 0.214683 0.0104414 + vertex -1.41553 0.216989 0.00737764 + vertex -1.6765 0.214683 5.01044 + endloop + endfacet + facet normal 0.00883721 -0.999961 0 + outer loop + vertex -1.6765 0.214683 5.01044 + vertex -1.41553 0.216989 0.00737764 + vertex -1.41553 0.216989 5.00738 + endloop + endfacet + facet normal 0.000747672 -1 0 + outer loop + vertex -1.41553 0.216989 0.00737764 + vertex -1.14395 0.217192 0.00407733 + vertex -1.41553 0.216989 5.00738 + endloop + endfacet + facet normal 0.000747672 -1 0 + outer loop + vertex -1.41553 0.216989 5.00738 + vertex -1.14395 0.217192 0.00407733 + vertex -1.14395 0.217192 5.00408 + endloop + endfacet + facet normal -0.00809571 -0.999967 0 + outer loop + vertex -1.14395 0.217192 0.00407733 + vertex -0.863677 0.214923 0.000545189 + vertex -1.14395 0.217192 5.00408 + endloop + endfacet + facet normal -0.00809571 -0.999967 0 + outer loop + vertex -1.14395 0.217192 5.00408 + vertex -0.863677 0.214923 0.000545189 + vertex -0.863677 0.214923 5.00055 + endloop + endfacet + facet normal -0.0176094 -0.999845 0 + outer loop + vertex -0.863677 0.214923 0.000545189 + vertex -0.576681 0.209869 -0.00320975 + vertex -0.863677 0.214923 5.00055 + endloop + endfacet + facet normal -0.0176094 -0.999845 0 + outer loop + vertex -0.863677 0.214923 5.00055 + vertex -0.576681 0.209869 -0.00320975 + vertex -0.576681 0.209869 4.99679 + endloop + endfacet + facet normal -0.0267547 -0.999642 0 + outer loop + vertex -0.576681 0.209869 -0.00320975 + vertex -0.285042 0.202063 -0.00715164 + vertex -0.576681 0.209869 4.99679 + endloop + endfacet + facet normal -0.0267547 -0.999642 0 + outer loop + vertex -0.576681 0.209869 4.99679 + vertex -0.285042 0.202063 -0.00715164 + vertex -0.285042 0.202063 4.99285 + endloop + endfacet + facet normal -0.0352891 -0.999377 0 + outer loop + vertex -0.285042 0.202063 -0.00715164 + vertex 0.00910685 0.191676 -0.0112343 + vertex -0.285042 0.202063 4.99285 + endloop + endfacet + facet normal -0.0352891 -0.999377 0 + outer loop + vertex -0.285042 0.202063 4.99285 + vertex 0.00910685 0.191676 -0.0112343 + vertex 0.00910685 0.191676 4.98877 + endloop + endfacet + facet normal -0.043412 -0.999057 0 + outer loop + vertex 0.00910685 0.191676 -0.0112343 + vertex 0.303633 0.178878 -0.0154114 + vertex 0.00910685 0.191676 4.98877 + endloop + endfacet + facet normal -0.043412 -0.999057 0 + outer loop + vertex 0.00910685 0.191676 4.98877 + vertex 0.303633 0.178878 -0.0154114 + vertex 0.303633 0.178878 4.98459 + endloop + endfacet + facet normal -0.0513019 -0.998683 0 + outer loop + vertex 0.303633 0.178878 -0.0154114 + vertex 0.596402 0.163839 -0.0196367 + vertex 0.303633 0.178878 4.98459 + endloop + endfacet + facet normal -0.0513019 -0.998683 0 + outer loop + vertex 0.303633 0.178878 4.98459 + vertex 0.596402 0.163839 -0.0196367 + vertex 0.596402 0.163839 4.98036 + endloop + endfacet + facet normal -0.0591281 -0.99825 0 + outer loop + vertex 0.596402 0.163839 -0.0196367 + vertex 0.885281 0.146728 -0.023864 + vertex 0.596402 0.163839 4.98036 + endloop + endfacet + facet normal -0.0591281 -0.99825 0 + outer loop + vertex 0.596402 0.163839 4.98036 + vertex 0.885281 0.146728 -0.023864 + vertex 0.885281 0.146728 4.97614 + endloop + endfacet + facet normal -0.0670644 -0.997749 0 + outer loop + vertex 0.885281 0.146728 -0.023864 + vertex 1.16814 0.127716 -0.028047 + vertex 0.885281 0.146728 4.97614 + endloop + endfacet + facet normal -0.0670644 -0.997749 0 + outer loop + vertex 0.885281 0.146728 4.97614 + vertex 1.16814 0.127716 -0.028047 + vertex 1.16814 0.127716 4.97195 + endloop + endfacet + facet normal -0.0753008 -0.997161 0 + outer loop + vertex 1.16814 0.127716 -0.028047 + vertex 1.44283 0.106972 -0.0321394 + vertex 1.16814 0.127716 4.97195 + endloop + endfacet + facet normal -0.0753008 -0.997161 0 + outer loop + vertex 1.16814 0.127716 4.97195 + vertex 1.44283 0.106972 -0.0321394 + vertex 1.44283 0.106972 4.96786 + endloop + endfacet + facet normal -0.0840617 -0.996461 0 + outer loop + vertex 1.44283 0.106972 -0.0321394 + vertex 1.70724 0.0846666 -0.0360951 + vertex 1.44283 0.106972 4.96786 + endloop + endfacet + facet normal -0.0840617 -0.996461 0 + outer loop + vertex 1.44283 0.106972 4.96786 + vertex 1.70724 0.0846666 -0.0360951 + vertex 1.70724 0.0846666 4.9639 + endloop + endfacet + facet normal -0.0936296 -0.995607 0 + outer loop + vertex 1.70724 0.0846666 -0.0360951 + vertex 1.95922 0.0609695 -0.0398677 + vertex 1.70724 0.0846666 4.9639 + endloop + endfacet + facet normal -0.0936296 -0.995607 0 + outer loop + vertex 1.70724 0.0846666 4.9639 + vertex 1.95922 0.0609695 -0.0398677 + vertex 1.95922 0.0609695 4.96013 + endloop + endfacet + facet normal -0.104381 -0.994537 0 + outer loop + vertex 1.95922 0.0609695 -0.0398677 + vertex 2.19665 0.0360507 -0.043411 + vertex 1.95922 0.0609695 4.96013 + endloop + endfacet + facet normal -0.104381 -0.994537 0 + outer loop + vertex 1.95922 0.0609695 4.96013 + vertex 2.19665 0.0360507 -0.043411 + vertex 2.19665 0.0360507 4.95659 + endloop + endfacet + facet normal -0.11685 -0.99315 0 + outer loop + vertex 2.19665 0.0360507 -0.043411 + vertex 2.41738 0.0100801 -0.0466788 + vertex 2.19665 0.0360507 4.95659 + endloop + endfacet + facet normal -0.11685 -0.99315 0 + outer loop + vertex 2.19665 0.0360507 4.95659 + vertex 2.41738 0.0100801 -0.0466788 + vertex 2.41738 0.0100801 4.95332 + endloop + endfacet + facet normal -0.131833 -0.991272 0 + outer loop + vertex 2.41738 0.0100801 -0.0466788 + vertex 2.61929 -0.0167723 -0.0496248 + vertex 2.41738 0.0100801 4.95332 + endloop + endfacet + facet normal -0.131833 -0.991272 0 + outer loop + vertex 2.41738 0.0100801 4.95332 + vertex 2.61929 -0.0167723 -0.0496248 + vertex 2.61929 -0.0167723 4.95038 + endloop + endfacet + facet normal -0.150594 -0.988596 0 + outer loop + vertex 2.61929 -0.0167723 -0.0496248 + vertex 2.80024 -0.0443366 -0.0522027 + vertex 2.61929 -0.0167723 4.95038 + endloop + endfacet + facet normal -0.150594 -0.988596 0 + outer loop + vertex 2.61929 -0.0167723 4.95038 + vertex 2.80024 -0.0443366 -0.0522027 + vertex 2.80024 -0.0443366 4.9478 + endloop + endfacet + facet normal -0.175292 -0.984517 0 + outer loop + vertex 2.80024 -0.0443366 -0.0522027 + vertex 2.95809 -0.0724429 -0.0543663 + vertex 2.80024 -0.0443366 4.9478 + endloop + endfacet + facet normal -0.175292 -0.984517 0 + outer loop + vertex 2.80024 -0.0443366 4.9478 + vertex 2.95809 -0.0724429 -0.0543663 + vertex 2.95809 -0.0724429 4.94563 + endloop + endfacet + facet normal -0.209932 -0.977716 0 + outer loop + vertex 2.95809 -0.0724429 -0.0543663 + vertex 3.09073 -0.100921 -0.0560693 + vertex 2.95809 -0.0724429 4.94563 + endloop + endfacet + facet normal -0.209932 -0.977716 0 + outer loop + vertex 2.95809 -0.0724429 4.94563 + vertex 3.09073 -0.100921 -0.0560693 + vertex 3.09073 -0.100921 4.94393 + endloop + endfacet + facet normal -0.262858 -0.964835 0 + outer loop + vertex 3.09073 -0.100921 -0.0560693 + vertex 3.196 -0.129602 -0.0572656 + vertex 3.09073 -0.100921 4.94393 + endloop + endfacet + facet normal -0.262858 -0.964835 0 + outer loop + vertex 3.09073 -0.100921 4.94393 + vertex 3.196 -0.129602 -0.0572656 + vertex 3.196 -0.129602 4.94273 + endloop + endfacet + facet normal -0.354313 -0.935127 0 + outer loop + vertex 3.196 -0.129602 -0.0572656 + vertex 3.27178 -0.158314 -0.0579087 + vertex 3.196 -0.129602 4.94273 + endloop + endfacet + facet normal -0.354313 -0.935127 0 + outer loop + vertex 3.196 -0.129602 4.94273 + vertex 3.27178 -0.158314 -0.0579087 + vertex 3.27178 -0.158314 4.94209 + endloop + endfacet + facet normal -0.543308 -0.839533 0 + outer loop + vertex 3.27178 -0.158314 -0.0579087 + vertex 3.31593 -0.186889 -0.0579526 + vertex 3.27178 -0.158314 4.94209 + endloop + endfacet + facet normal -0.543308 -0.839533 0 + outer loop + vertex 3.27178 -0.158314 4.94209 + vertex 3.31593 -0.186889 -0.0579526 + vertex 3.31593 -0.186889 4.94205 + endloop + endfacet + facet normal -0.938554 -0.345133 0 + outer loop + vertex 3.31593 -0.186889 -0.0579526 + vertex 3.32633 -0.215156 -0.0573508 + vertex 3.31593 -0.186889 4.94205 + endloop + endfacet + facet normal -0.938554 -0.345133 0 + outer loop + vertex 3.31593 -0.186889 4.94205 + vertex 3.32633 -0.215156 -0.0573508 + vertex 3.32633 -0.215156 4.94265 + endloop + endfacet + facet normal -0.736826 0.676082 0 + outer loop + vertex 3.32633 -0.215156 -0.0573508 + vertex 3.30083 -0.242945 -0.0560573 + vertex 3.32633 -0.215156 4.94265 + endloop + endfacet + facet normal -0.736826 0.676082 0 + outer loop + vertex 3.32633 -0.215156 4.94265 + vertex 3.30083 -0.242945 -0.0560573 + vertex 3.30083 -0.242945 4.94394 + endloop + endfacet + facet normal -0.392899 0.919581 0 + outer loop + vertex 3.30083 -0.242945 -0.0560573 + vertex 3.2373 -0.270087 -0.0540256 + vertex 3.30083 -0.242945 4.94394 + endloop + endfacet + facet normal -0.392899 0.919581 0 + outer loop + vertex 3.30083 -0.242945 4.94394 + vertex 3.2373 -0.270087 -0.0540256 + vertex 3.2373 -0.270087 4.94597 + endloop + endfacet + facet normal -0.246078 0.96925 0 + outer loop + vertex 3.2373 -0.270087 -0.0540256 + vertex 3.13362 -0.296411 -0.0512096 + vertex 3.2373 -0.270087 4.94597 + endloop + endfacet + facet normal -0.246078 0.96925 0 + outer loop + vertex 3.2373 -0.270087 4.94597 + vertex 3.13362 -0.296411 -0.0512096 + vertex 3.13362 -0.296411 4.94879 + endloop + endfacet + facet normal -0.173081 0.984908 0 + outer loop + vertex 3.13362 -0.296411 -0.0512096 + vertex 2.98943 -0.32175 -0.0476006 + vertex 3.13362 -0.296411 4.94879 + endloop + endfacet + facet normal -0.173081 0.984908 0 + outer loop + vertex 3.13362 -0.296411 4.94879 + vertex 2.98943 -0.32175 -0.0476006 + vertex 2.98943 -0.32175 4.9524 + endloop + endfacet + facet normal -0.134459 0.990919 0 + outer loop + vertex 2.98943 -0.32175 -0.0476006 + vertex 2.81109 -0.345949 -0.0433305 + vertex 2.98943 -0.32175 4.9524 + endloop + endfacet + facet normal -0.134459 0.990919 0 + outer loop + vertex 2.98943 -0.32175 4.9524 + vertex 2.81109 -0.345949 -0.0433305 + vertex 2.81109 -0.345949 4.95667 + endloop + endfacet + facet normal -0.111286 0.993788 0 + outer loop + vertex 2.81109 -0.345949 -0.0433305 + vertex 2.60657 -0.368851 -0.0385647 + vertex 2.81109 -0.345949 4.95667 + endloop + endfacet + facet normal -0.111286 0.993788 0 + outer loop + vertex 2.81109 -0.345949 4.95667 + vertex 2.60657 -0.368851 -0.0385647 + vertex 2.60657 -0.368851 4.96144 + endloop + endfacet + facet normal -0.0958597 0.995395 0 + outer loop + vertex 2.60657 -0.368851 -0.0385647 + vertex 2.38381 -0.390304 -0.0334684 + vertex 2.60657 -0.368851 4.96144 + endloop + endfacet + facet normal -0.0958597 0.995395 0 + outer loop + vertex 2.60657 -0.368851 4.96144 + vertex 2.38381 -0.390304 -0.0334684 + vertex 2.38381 -0.390304 4.96653 + endloop + endfacet + facet normal -0.0848608 0.996393 0 + outer loop + vertex 2.38381 -0.390304 -0.0334684 + vertex 2.15075 -0.410154 -0.028207 + vertex 2.38381 -0.390304 4.96653 + endloop + endfacet + facet normal -0.0848608 0.996393 0 + outer loop + vertex 2.38381 -0.390304 4.96653 + vertex 2.15075 -0.410154 -0.028207 + vertex 2.15075 -0.410154 4.97179 + endloop + endfacet + facet normal -0.0766254 0.99706 0 + outer loop + vertex 2.15075 -0.410154 -0.028207 + vertex 1.91534 -0.428245 -0.0229456 + vertex 2.15075 -0.410154 4.97179 + endloop + endfacet + facet normal -0.0766254 0.99706 0 + outer loop + vertex 2.15075 -0.410154 4.97179 + vertex 1.91534 -0.428245 -0.0229456 + vertex 1.91534 -0.428245 4.97705 + endloop + endfacet + facet normal -0.0702302 0.997531 0 + outer loop + vertex 1.91534 -0.428245 -0.0229456 + vertex 1.68553 -0.444424 -0.0178496 + vertex 1.91534 -0.428245 4.97705 + endloop + endfacet + facet normal -0.0702302 0.997531 0 + outer loop + vertex 1.91534 -0.428245 4.97705 + vertex 1.68553 -0.444424 -0.0178496 + vertex 1.68553 -0.444424 4.98215 + endloop + endfacet + facet normal -0.0651223 0.997877 0 + outer loop + vertex 1.68553 -0.444424 -0.0178496 + vertex 1.46928 -0.458537 -0.0130841 + vertex 1.68553 -0.444424 4.98215 + endloop + endfacet + facet normal -0.0651223 0.997877 0 + outer loop + vertex 1.68553 -0.444424 4.98215 + vertex 1.46928 -0.458537 -0.0130841 + vertex 1.46928 -0.458537 4.98692 + endloop + endfacet + facet normal -0.0609499 0.998141 0 + outer loop + vertex 1.46928 -0.458537 -0.0130841 + vertex 1.27451 -0.47043 -0.00881455 + vertex 1.46928 -0.458537 4.98692 + endloop + endfacet + facet normal -0.0609499 0.998141 0 + outer loop + vertex 1.46928 -0.458537 4.98692 + vertex 1.27451 -0.47043 -0.00881455 + vertex 1.27451 -0.47043 4.99119 + endloop + endfacet + facet normal -0.0574809 0.998347 0 + outer loop + vertex 1.27451 -0.47043 -0.00881455 + vertex 1.1092 -0.479948 -0.00520608 + vertex 1.27451 -0.47043 4.99119 + endloop + endfacet + facet normal -0.0574809 0.998347 0 + outer loop + vertex 1.27451 -0.47043 4.99119 + vertex 1.1092 -0.479948 -0.00520608 + vertex 1.1092 -0.479948 4.99479 + endloop + endfacet + facet normal -0.0545577 0.998511 0 + outer loop + vertex 1.1092 -0.479948 -0.00520608 + vertex 0.981276 -0.486938 -0.00242399 + vertex 1.1092 -0.479948 4.99479 + endloop + endfacet + facet normal -0.0545577 0.998511 0 + outer loop + vertex 1.1092 -0.479948 4.99479 + vertex 0.981276 -0.486938 -0.00242399 + vertex 0.981276 -0.486938 4.99758 + endloop + endfacet + facet normal -0.0520808 0.998643 0 + outer loop + vertex 0.981276 -0.486938 -0.00242399 + vertex 0.898694 -0.491245 -0.000633541 + vertex 0.981276 -0.486938 4.99758 + endloop + endfacet + facet normal -0.0520808 0.998643 0 + outer loop + vertex 0.981276 -0.486938 4.99758 + vertex 0.898694 -0.491245 -0.000633541 + vertex 0.898694 -0.491245 4.99937 + endloop + endfacet + facet normal -0.0501135 0.998744 0 + outer loop + vertex 0.898694 -0.491245 -0.000633541 + vertex 0.8694 -0.492715 -6.93889e-18 + vertex 0.898694 -0.491245 4.99937 + endloop + endfacet + facet normal -0.0501135 0.998744 0 + outer loop + vertex 0.898694 -0.491245 4.99937 + vertex 0.8694 -0.492715 -6.93889e-18 + vertex 0.8694 -0.492715 5 + endloop + endfacet +endsolid diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap1.stl b/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap1.stl new file mode 100644 index 0000000000000000000000000000000000000000..c3552e532d31e4b586710399c32e03a91d6c2fb5 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap1.stl @@ -0,0 +1,702 @@ +solid ascii + facet normal -0.529226 -0.848481 0 + outer loop + vertex -3.29064 1.36317 0.227764 + vertex -3.25894 1.3434 0.226215 + vertex -3.29064 1.36317 5.22776 + endloop + endfacet + facet normal -0.529226 -0.848481 0 + outer loop + vertex -3.29064 1.36317 5.22776 + vertex -3.25894 1.3434 0.226215 + vertex -3.25894 1.3434 5.22622 + endloop + endfacet + facet normal -0.522329 -0.852744 0 + outer loop + vertex -3.25894 1.3434 0.226215 + vertex -3.17197 1.29012 0.221796 + vertex -3.25894 1.3434 5.22622 + endloop + endfacet + facet normal -0.522329 -0.852744 0 + outer loop + vertex -3.25894 1.3434 5.22622 + vertex -3.17197 1.29012 0.221796 + vertex -3.17197 1.29012 5.2218 + endloop + endfacet + facet normal -0.512917 -0.858438 0 + outer loop + vertex -3.17197 1.29012 0.221796 + vertex -3.04192 1.21242 0.214849 + vertex -3.17197 1.29012 5.2218 + endloop + endfacet + facet normal -0.512917 -0.858438 0 + outer loop + vertex -3.17197 1.29012 5.2218 + vertex -3.04192 1.21242 0.214849 + vertex -3.04192 1.21242 5.21485 + endloop + endfacet + facet normal -0.500622 -0.865666 0 + outer loop + vertex -3.04192 1.21242 0.214849 + vertex -2.88097 1.11934 0.205716 + vertex -3.04192 1.21242 5.21485 + endloop + endfacet + facet normal -0.500622 -0.865666 0 + outer loop + vertex -3.04192 1.21242 5.21485 + vertex -2.88097 1.11934 0.205716 + vertex -2.88097 1.11934 5.20572 + endloop + endfacet + facet normal -0.484062 -0.875034 0 + outer loop + vertex -2.88097 1.11934 0.205716 + vertex -2.70132 1.01996 0.194739 + vertex -2.88097 1.11934 5.20572 + endloop + endfacet + facet normal -0.484062 -0.875034 0 + outer loop + vertex -2.88097 1.11934 5.20572 + vertex -2.70132 1.01996 0.194739 + vertex -2.70132 1.01996 5.19474 + endloop + endfacet + facet normal -0.460657 -0.887578 0 + outer loop + vertex -2.70132 1.01996 0.194739 + vertex -2.51516 0.92334 0.182259 + vertex -2.70132 1.01996 5.19474 + endloop + endfacet + facet normal -0.460657 -0.887578 0 + outer loop + vertex -2.70132 1.01996 5.19474 + vertex -2.51516 0.92334 0.182259 + vertex -2.51516 0.92334 5.18226 + endloop + endfacet + facet normal -0.426861 -0.904317 0 + outer loop + vertex -2.51516 0.92334 0.182259 + vertex -2.33341 0.83755 0.16861 + vertex -2.51516 0.92334 5.18226 + endloop + endfacet + facet normal -0.426861 -0.904317 0 + outer loop + vertex -2.51516 0.92334 5.18226 + vertex -2.33341 0.83755 0.16861 + vertex -2.33341 0.83755 5.16861 + endloop + endfacet + facet normal -0.387382 -0.921919 0 + outer loop + vertex -2.33341 0.83755 0.16861 + vertex -2.15882 0.764192 0.154069 + vertex -2.33341 0.83755 5.16861 + endloop + endfacet + facet normal -0.387382 -0.921919 0 + outer loop + vertex -2.33341 0.83755 5.16861 + vertex -2.15882 0.764192 0.154069 + vertex -2.15882 0.764192 5.15407 + endloop + endfacet + facet normal -0.345891 -0.938275 0 + outer loop + vertex -2.15882 0.764192 0.154069 + vertex -1.99089 0.702285 0.138891 + vertex -2.15882 0.764192 5.15407 + endloop + endfacet + facet normal -0.345891 -0.938275 0 + outer loop + vertex -2.15882 0.764192 5.15407 + vertex -1.99089 0.702285 0.138891 + vertex -1.99089 0.702285 5.13889 + endloop + endfacet + facet normal -0.302998 -0.952991 0 + outer loop + vertex -1.99089 0.702285 0.138891 + vertex -1.82908 0.650839 0.123332 + vertex -1.99089 0.702285 5.13889 + endloop + endfacet + facet normal -0.302998 -0.952991 0 + outer loop + vertex -1.99089 0.702285 5.13889 + vertex -1.82908 0.650839 0.123332 + vertex -1.82908 0.650839 5.12333 + endloop + endfacet + facet normal -0.259494 -0.965745 0 + outer loop + vertex -1.82908 0.650839 0.123332 + vertex -1.67288 0.608866 0.107646 + vertex -1.82908 0.650839 5.12333 + endloop + endfacet + facet normal -0.259494 -0.965745 0 + outer loop + vertex -1.82908 0.650839 5.12333 + vertex -1.67288 0.608866 0.107646 + vertex -1.67288 0.608866 5.10765 + endloop + endfacet + facet normal -0.216335 -0.976319 0 + outer loop + vertex -1.67288 0.608866 0.107646 + vertex -1.52174 0.575378 0.0920886 + vertex -1.67288 0.608866 5.10765 + endloop + endfacet + facet normal -0.216335 -0.976319 0 + outer loop + vertex -1.67288 0.608866 5.10765 + vertex -1.52174 0.575378 0.0920886 + vertex -1.52174 0.575378 5.09209 + endloop + endfacet + facet normal -0.174601 -0.984639 0 + outer loop + vertex -1.52174 0.575378 0.0920886 + vertex -1.37516 0.549385 0.0769146 + vertex -1.52174 0.575378 5.09209 + endloop + endfacet + facet normal -0.174601 -0.984639 0 + outer loop + vertex -1.52174 0.575378 5.09209 + vertex -1.37516 0.549385 0.0769146 + vertex -1.37516 0.549385 5.07691 + endloop + endfacet + facet normal -0.135429 -0.990787 0 + outer loop + vertex -1.37516 0.549385 0.0769146 + vertex -1.2326 0.529898 0.062379 + vertex -1.37516 0.549385 5.07691 + endloop + endfacet + facet normal -0.135429 -0.990787 0 + outer loop + vertex -1.37516 0.549385 5.07691 + vertex -1.2326 0.529898 0.062379 + vertex -1.2326 0.529898 5.06238 + endloop + endfacet + facet normal -0.0999443 -0.994993 0 + outer loop + vertex -1.2326 0.529898 0.062379 + vertex -1.09354 0.51593 0.0487369 + vertex -1.2326 0.529898 5.06238 + endloop + endfacet + facet normal -0.0999443 -0.994993 0 + outer loop + vertex -1.2326 0.529898 5.06238 + vertex -1.09354 0.51593 0.0487369 + vertex -1.09354 0.51593 5.04874 + endloop + endfacet + facet normal -0.0691936 -0.997603 0 + outer loop + vertex -1.09354 0.51593 0.0487369 + vertex -0.957447 0.506491 0.0362434 + vertex -1.09354 0.51593 5.04874 + endloop + endfacet + facet normal -0.0691936 -0.997603 0 + outer loop + vertex -1.09354 0.51593 5.04874 + vertex -0.957447 0.506491 0.0362434 + vertex -0.957447 0.506491 5.03624 + endloop + endfacet + facet normal -0.0440947 -0.999027 0 + outer loop + vertex -0.957447 0.506491 0.0362434 + vertex -0.823806 0.500592 0.0251535 + vertex -0.957447 0.506491 5.03624 + endloop + endfacet + facet normal -0.0440947 -0.999027 0 + outer loop + vertex -0.957447 0.506491 5.03624 + vertex -0.823806 0.500592 0.0251535 + vertex -0.823806 0.500592 5.02515 + endloop + endfacet + facet normal -0.0254015 -0.999677 0 + outer loop + vertex -0.823806 0.500592 0.0251535 + vertex -0.692088 0.497245 0.0157222 + vertex -0.823806 0.500592 5.02515 + endloop + endfacet + facet normal -0.0254015 -0.999677 0 + outer loop + vertex -0.823806 0.500592 5.02515 + vertex -0.692088 0.497245 0.0157222 + vertex -0.692088 0.497245 5.01572 + endloop + endfacet + facet normal -0.0136871 -0.999906 0 + outer loop + vertex -0.692088 0.497245 0.0157222 + vertex -0.561767 0.495461 0.00820454 + vertex -0.692088 0.497245 5.01572 + endloop + endfacet + facet normal -0.0136871 -0.999906 0 + outer loop + vertex -0.692088 0.497245 5.01572 + vertex -0.561767 0.495461 0.00820454 + vertex -0.561767 0.495461 5.0082 + endloop + endfacet + facet normal -0.00934395 -0.999956 0 + outer loop + vertex -0.561767 0.495461 0.00820454 + vertex -0.432318 0.494252 0.00285559 + vertex -0.561767 0.495461 5.0082 + endloop + endfacet + facet normal -0.00934395 -0.999956 0 + outer loop + vertex -0.561767 0.495461 5.0082 + vertex -0.432318 0.494252 0.00285559 + vertex -0.432318 0.494252 5.00286 + endloop + endfacet + facet normal -0.0125788 -0.999921 0 + outer loop + vertex -0.432318 0.494252 0.00285559 + vertex -0.303216 0.492628 -6.96415e-05 + vertex -0.432318 0.494252 5.00286 + endloop + endfacet + facet normal -0.0125788 -0.999921 0 + outer loop + vertex -0.432318 0.494252 5.00286 + vertex -0.303216 0.492628 -6.96415e-05 + vertex -0.303216 0.492628 4.99993 + endloop + endfacet + facet normal -0.0213899 -0.999771 0 + outer loop + vertex -0.303216 0.492628 -6.96415e-05 + vertex -0.173951 0.489862 -0.000468252 + vertex -0.303216 0.492628 4.99993 + endloop + endfacet + facet normal -0.0213899 -0.999771 0 + outer loop + vertex -0.303216 0.492628 4.99993 + vertex -0.173951 0.489862 -0.000468252 + vertex -0.173951 0.489862 4.99953 + endloop + endfacet + facet normal -0.0285485 -0.999592 0 + outer loop + vertex -0.173951 0.489862 -0.000468252 + vertex -0.044067 0.486153 0.00122502 + vertex -0.173951 0.489862 4.99953 + endloop + endfacet + facet normal -0.0285485 -0.999592 0 + outer loop + vertex -0.173951 0.489862 4.99953 + vertex -0.044067 0.486153 0.00122502 + vertex -0.044067 0.486153 5.00122 + endloop + endfacet + facet normal -0.0324509 -0.999473 0 + outer loop + vertex -0.044067 0.486153 0.00122502 + vertex 0.0868784 0.481901 0.00445673 + vertex -0.044067 0.486153 5.00122 + endloop + endfacet + facet normal -0.0324509 -0.999473 0 + outer loop + vertex -0.044067 0.486153 5.00122 + vertex 0.0868784 0.481901 0.00445673 + vertex 0.0868784 0.481901 5.00446 + endloop + endfacet + facet normal -0.0331395 -0.999451 0 + outer loop + vertex 0.0868784 0.481901 0.00445673 + vertex 0.219329 0.477509 0.00867343 + vertex 0.0868784 0.481901 5.00446 + endloop + endfacet + facet normal -0.0331395 -0.999451 0 + outer loop + vertex 0.0868784 0.481901 5.00446 + vertex 0.219329 0.477509 0.00867343 + vertex 0.219329 0.477509 5.00867 + endloop + endfacet + facet normal -0.0307156 -0.999528 0 + outer loop + vertex 0.219329 0.477509 0.00867343 + vertex 0.353728 0.473379 0.0133217 + vertex 0.219329 0.477509 5.00867 + endloop + endfacet + facet normal -0.0307156 -0.999528 0 + outer loop + vertex 0.219329 0.477509 5.00867 + vertex 0.353728 0.473379 0.0133217 + vertex 0.353728 0.473379 5.01332 + endloop + endfacet + facet normal -0.0253347 -0.999679 0 + outer loop + vertex 0.353728 0.473379 0.0133217 + vertex 0.490519 0.469913 0.017848 + vertex 0.353728 0.473379 5.01332 + endloop + endfacet + facet normal -0.0253347 -0.999679 0 + outer loop + vertex 0.353728 0.473379 5.01332 + vertex 0.490519 0.469913 0.017848 + vertex 0.490519 0.469913 5.01785 + endloop + endfacet + facet normal -0.0171959 -0.999852 0 + outer loop + vertex 0.490519 0.469913 0.017848 + vertex 0.630145 0.467511 0.021699 + vertex 0.490519 0.469913 5.01785 + endloop + endfacet + facet normal -0.0171959 -0.999852 0 + outer loop + vertex 0.490519 0.469913 5.01785 + vertex 0.630145 0.467511 0.021699 + vertex 0.630145 0.467511 5.0217 + endloop + endfacet + facet normal -0.00653719 -0.999979 0 + outer loop + vertex 0.630145 0.467511 0.021699 + vertex 0.773049 0.466577 0.0243212 + vertex 0.630145 0.467511 5.0217 + endloop + endfacet + facet normal -0.00653719 -0.999979 0 + outer loop + vertex 0.630145 0.467511 5.0217 + vertex 0.773049 0.466577 0.0243212 + vertex 0.773049 0.466577 5.02432 + endloop + endfacet + facet normal 0.00637471 -0.99998 0 + outer loop + vertex 0.773049 0.466577 0.0243212 + vertex 0.919676 0.467512 0.0251611 + vertex 0.773049 0.466577 5.02432 + endloop + endfacet + facet normal 0.00637471 -0.99998 0 + outer loop + vertex 0.773049 0.466577 5.02432 + vertex 0.919676 0.467512 0.0251611 + vertex 0.919676 0.467512 5.02516 + endloop + endfacet + facet normal 0.0212534 -0.999774 0 + outer loop + vertex 0.919676 0.467512 0.0251611 + vertex 1.07047 0.470717 0.0236654 + vertex 0.919676 0.467512 5.02516 + endloop + endfacet + facet normal 0.0212534 -0.999774 0 + outer loop + vertex 0.919676 0.467512 5.02516 + vertex 1.07047 0.470717 0.0236654 + vertex 1.07047 0.470717 5.02367 + endloop + endfacet + facet normal 0.037799 -0.999285 0 + outer loop + vertex 1.07047 0.470717 0.0236654 + vertex 1.22587 0.476595 0.0192805 + vertex 1.07047 0.470717 5.02367 + endloop + endfacet + facet normal 0.037799 -0.999285 0 + outer loop + vertex 1.07047 0.470717 5.02367 + vertex 1.22587 0.476595 0.0192805 + vertex 1.22587 0.476595 5.01928 + endloop + endfacet + facet normal 0.0557097 -0.998447 0 + outer loop + vertex 1.22587 0.476595 0.0192805 + vertex 1.38632 0.485548 0.0114531 + vertex 1.22587 0.476595 5.01928 + endloop + endfacet + facet normal 0.0557097 -0.998447 0 + outer loop + vertex 1.22587 0.476595 5.01928 + vertex 1.38632 0.485548 0.0114531 + vertex 1.38632 0.485548 5.01145 + endloop + endfacet + facet normal 0.0746878 -0.997207 0 + outer loop + vertex 1.38632 0.485548 0.0114531 + vertex 1.55227 0.497977 -0.000370394 + vertex 1.38632 0.485548 5.01145 + endloop + endfacet + facet normal 0.0746878 -0.997207 0 + outer loop + vertex 1.38632 0.485548 5.01145 + vertex 1.55227 0.497977 -0.000370394 + vertex 1.55227 0.497977 4.99963 + endloop + endfacet + facet normal 0.0944474 -0.99553 0 + outer loop + vertex 1.55227 0.497977 -0.000370394 + vertex 1.72415 0.514284 -0.0167433 + vertex 1.55227 0.497977 4.99963 + endloop + endfacet + facet normal 0.0944474 -0.99553 0 + outer loop + vertex 1.55227 0.497977 4.99963 + vertex 1.72415 0.514284 -0.0167433 + vertex 1.72415 0.514284 4.98326 + endloop + endfacet + facet normal 0.114721 -0.993398 0 + outer loop + vertex 1.72415 0.514284 -0.0167433 + vertex 1.90242 0.534871 -0.0382192 + vertex 1.72415 0.514284 4.98326 + endloop + endfacet + facet normal 0.114721 -0.993398 0 + outer loop + vertex 1.72415 0.514284 4.98326 + vertex 1.90242 0.534871 -0.0382192 + vertex 1.90242 0.534871 4.96178 + endloop + endfacet + facet normal 0.135265 -0.990809 0 + outer loop + vertex 1.90242 0.534871 -0.0382192 + vertex 2.08751 0.56014 -0.0653515 + vertex 1.90242 0.534871 4.96178 + endloop + endfacet + facet normal 0.135265 -0.990809 0 + outer loop + vertex 1.90242 0.534871 4.96178 + vertex 2.08751 0.56014 -0.0653515 + vertex 2.08751 0.56014 4.93465 + endloop + endfacet + facet normal 0.155593 -0.987821 0 + outer loop + vertex 2.08751 0.56014 -0.0653515 + vertex 2.27966 0.590405 -0.0985847 + vertex 2.08751 0.56014 4.93465 + endloop + endfacet + facet normal 0.155593 -0.987821 0 + outer loop + vertex 2.08751 0.56014 4.93465 + vertex 2.27966 0.590405 -0.0985847 + vertex 2.27966 0.590405 4.90142 + endloop + endfacet + facet normal 0.173128 -0.984899 0 + outer loop + vertex 2.27966 0.590405 -0.0985847 + vertex 2.47673 0.625047 -0.137215 + vertex 2.27966 0.590405 4.90142 + endloop + endfacet + facet normal 0.173128 -0.984899 0 + outer loop + vertex 2.27966 0.590405 4.90142 + vertex 2.47673 0.625047 -0.137215 + vertex 2.47673 0.625047 4.86279 + endloop + endfacet + facet normal 0.187282 -0.982306 0 + outer loop + vertex 2.47673 0.625047 -0.137215 + vertex 2.67522 0.66289 -0.179847 + vertex 2.47673 0.625047 4.86279 + endloop + endfacet + facet normal 0.187282 -0.982306 0 + outer loop + vertex 2.47673 0.625047 4.86279 + vertex 2.67522 0.66289 -0.179847 + vertex 2.67522 0.66289 4.82015 + endloop + endfacet + facet normal 0.198928 -0.980014 0 + outer loop + vertex 2.67522 0.66289 -0.179847 + vertex 2.87159 0.702749 -0.22508 + vertex 2.67522 0.66289 4.82015 + endloop + endfacet + facet normal 0.198928 -0.980014 0 + outer loop + vertex 2.67522 0.66289 4.82015 + vertex 2.87159 0.702749 -0.22508 + vertex 2.87159 0.702749 4.77492 + endloop + endfacet + facet normal 0.208673 -0.977985 0 + outer loop + vertex 2.87159 0.702749 -0.22508 + vertex 3.0623 0.743442 -0.271509 + vertex 2.87159 0.702749 4.77492 + endloop + endfacet + facet normal 0.208673 -0.977985 0 + outer loop + vertex 2.87159 0.702749 4.77492 + vertex 3.0623 0.743442 -0.271509 + vertex 3.0623 0.743442 4.72849 + endloop + endfacet + facet normal 0.216945 -0.976184 0 + outer loop + vertex 3.0623 0.743442 -0.271509 + vertex 3.24382 0.783782 -0.317731 + vertex 3.0623 0.743442 4.72849 + endloop + endfacet + facet normal 0.216945 -0.976184 0 + outer loop + vertex 3.0623 0.743442 4.72849 + vertex 3.24382 0.783782 -0.317731 + vertex 3.24382 0.783782 4.68227 + endloop + endfacet + facet normal 0.224052 -0.974577 0 + outer loop + vertex 3.24382 0.783782 -0.317731 + vertex 3.41261 0.822586 -0.362342 + vertex 3.24382 0.783782 4.68227 + endloop + endfacet + facet normal 0.224052 -0.974577 0 + outer loop + vertex 3.24382 0.783782 4.68227 + vertex 3.41261 0.822586 -0.362342 + vertex 3.41261 0.822586 4.63766 + endloop + endfacet + facet normal 0.230221 -0.973138 0 + outer loop + vertex 3.41261 0.822586 -0.362342 + vertex 3.56513 0.858669 -0.403941 + vertex 3.41261 0.822586 4.63766 + endloop + endfacet + facet normal 0.230221 -0.973138 0 + outer loop + vertex 3.41261 0.822586 4.63766 + vertex 3.56513 0.858669 -0.403941 + vertex 3.56513 0.858669 4.59606 + endloop + endfacet + facet normal 0.235625 -0.971844 0 + outer loop + vertex 3.56513 0.858669 -0.403941 + vertex 3.69785 0.890848 -0.441122 + vertex 3.56513 0.858669 4.59606 + endloop + endfacet + facet normal 0.235625 -0.971844 0 + outer loop + vertex 3.56513 0.858669 4.59606 + vertex 3.69785 0.890848 -0.441122 + vertex 3.69785 0.890848 4.55888 + endloop + endfacet + facet normal 0.240392 -0.970676 0 + outer loop + vertex 3.69785 0.890848 -0.441122 + vertex 3.80723 0.917937 -0.472484 + vertex 3.69785 0.890848 4.55888 + endloop + endfacet + facet normal 0.240392 -0.970676 0 + outer loop + vertex 3.69785 0.890848 4.55888 + vertex 3.80723 0.917937 -0.472484 + vertex 3.80723 0.917937 4.52752 + endloop + endfacet + facet normal 0.24462 -0.969619 0 + outer loop + vertex 3.80723 0.917937 -0.472484 + vertex 3.88974 0.938753 -0.496623 + vertex 3.80723 0.917937 4.52752 + endloop + endfacet + facet normal 0.24462 -0.969619 0 + outer loop + vertex 3.80723 0.917937 4.52752 + vertex 3.88974 0.938753 -0.496623 + vertex 3.88974 0.938753 4.50338 + endloop + endfacet + facet normal 0.248364 -0.968667 0 + outer loop + vertex 3.88974 0.938753 -0.496623 + vertex 3.94184 0.952111 -0.512135 + vertex 3.88974 0.938753 4.50338 + endloop + endfacet + facet normal 0.248364 -0.968667 0 + outer loop + vertex 3.88974 0.938753 4.50338 + vertex 3.94184 0.952111 -0.512135 + vertex 3.94184 0.952111 4.48786 + endloop + endfacet + facet normal 0.251448 -0.967871 0 + outer loop + vertex 3.94184 0.952111 -0.512135 + vertex 3.96 0.956827 -0.517617 + vertex 3.94184 0.952111 4.48786 + endloop + endfacet + facet normal 0.251448 -0.967871 0 + outer loop + vertex 3.94184 0.952111 4.48786 + vertex 3.96 0.956827 -0.517617 + vertex 3.96 0.956827 4.48238 + endloop + endfacet +endsolid diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap_transformed0.stl b/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap_transformed0.stl new file mode 100644 index 0000000000000000000000000000000000000000..8d52d72f5e0f4bd0fe3404b2deb1637eee4efe3d --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap_transformed0.stl @@ -0,0 +1,485 @@ +solid ascii + facet normal 0.162993 -0.653976 -0.738748 + outer loop + vertex -2.00546 -1.92761 1.77067 + vertex -1.9956 -1.91659 1.76309 + vertex 1.91049 -3.77569 4.27067 + endloop + endfacet + facet normal 0.163003 -0.653965 -0.738756 + outer loop + vertex 1.91049 -3.77569 4.27067 + vertex -1.9956 -1.91659 1.76309 + vertex 1.92035 -3.76467 4.26309 + endloop + endfacet + facet normal 0.160822 -0.656358 -0.737109 + outer loop + vertex -1.9956 -1.91659 1.76309 + vertex -1.96676 -1.88448 1.74079 + vertex 1.92035 -3.76467 4.26309 + endloop + endfacet + facet normal 0.16084 -0.656339 -0.737122 + outer loop + vertex 1.92035 -3.76467 4.26309 + vertex -1.96676 -1.88448 1.74079 + vertex 1.94918 -3.73256 4.24079 + endloop + endfacet + facet normal 0.158576 -0.658813 -0.735404 + outer loop + vertex -1.96676 -1.88448 1.74079 + vertex -1.9201 -1.83274 1.7045 + vertex 1.94918 -3.73256 4.24079 + endloop + endfacet + facet normal 0.158577 -0.658811 -0.735406 + outer loop + vertex 1.94918 -3.73256 4.24079 + vertex -1.9201 -1.83274 1.7045 + vertex 1.99584 -3.68082 4.2045 + endloop + endfacet + facet normal 0.156086 -0.661518 -0.733506 + outer loop + vertex -1.9201 -1.83274 1.7045 + vertex -1.85672 -1.76281 1.65492 + vertex 1.99584 -3.68082 4.2045 + endloop + endfacet + facet normal 0.156086 -0.661519 -0.733505 + outer loop + vertex 1.99584 -3.68082 4.2045 + vertex -1.85672 -1.76281 1.65492 + vertex 2.05922 -3.61089 4.15492 + endloop + endfacet + facet normal 0.153429 -0.664391 -0.731467 + outer loop + vertex -1.85672 -1.76281 1.65492 + vertex -1.77776 -1.67614 1.59276 + vertex 2.05922 -3.61089 4.15492 + endloop + endfacet + facet normal 0.153422 -0.664399 -0.731462 + outer loop + vertex 2.05922 -3.61089 4.15492 + vertex -1.77776 -1.67614 1.59276 + vertex 2.13819 -3.52422 4.09276 + endloop + endfacet + facet normal 0.150555 -0.66748 -0.729249 + outer loop + vertex -1.77776 -1.67614 1.59276 + vertex -1.68435 -1.57419 1.51873 + vertex 2.13819 -3.52422 4.09276 + endloop + endfacet + facet normal 0.150532 -0.667504 -0.729232 + outer loop + vertex 2.13819 -3.52422 4.09276 + vertex -1.68435 -1.57419 1.51873 + vertex 2.23159 -3.42227 4.01872 + endloop + endfacet + facet normal 0.14752 -0.67072 -0.726892 + outer loop + vertex -1.68435 -1.57419 1.51873 + vertex -1.57762 -1.45838 1.43353 + vertex 2.23159 -3.42227 4.01872 + endloop + endfacet + facet normal 0.14752 -0.67072 -0.726893 + outer loop + vertex 2.23159 -3.42227 4.01872 + vertex -1.57762 -1.45838 1.43353 + vertex 2.33832 -3.30646 3.93352 + endloop + endfacet + facet normal 0.144192 -0.674251 -0.724289 + outer loop + vertex -1.57762 -1.45838 1.43353 + vertex -1.4587 -1.3302 1.33788 + vertex 2.33832 -3.30646 3.93352 + endloop + endfacet + facet normal 0.144209 -0.674234 -0.724301 + outer loop + vertex 2.33832 -3.30646 3.93352 + vertex -1.4587 -1.3302 1.33788 + vertex 2.45725 -3.17828 3.83788 + endloop + endfacet + facet normal 0.140684 -0.677946 -0.721524 + outer loop + vertex -1.4587 -1.3302 1.33788 + vertex -1.32871 -1.19105 1.23248 + vertex 2.45725 -3.17828 3.83788 + endloop + endfacet + facet normal 0.140689 -0.677941 -0.721528 + outer loop + vertex 2.45725 -3.17828 3.83788 + vertex -1.32871 -1.19105 1.23248 + vertex 2.58723 -3.03913 3.73248 + endloop + endfacet + facet normal 0.136822 -0.681982 -0.718457 + outer loop + vertex -1.32871 -1.19105 1.23248 + vertex -1.1888 -1.04242 1.11804 + vertex 2.58723 -3.03913 3.73248 + endloop + endfacet + facet normal 0.136822 -0.681982 -0.718457 + outer loop + vertex 2.58723 -3.03913 3.73248 + vertex -1.1888 -1.04242 1.11804 + vertex 2.72714 -2.8905 3.61804 + endloop + endfacet + facet normal 0.13269 -0.686262 -0.715149 + outer loop + vertex -1.1888 -1.04242 1.11804 + vertex -1.04008 -0.885731 0.995274 + vertex 2.72714 -2.8905 3.61804 + endloop + endfacet + facet normal 0.132684 -0.686267 -0.715145 + outer loop + vertex 2.72714 -2.8905 3.61804 + vertex -1.04008 -0.885731 0.995274 + vertex 2.87586 -2.73381 3.49527 + endloop + endfacet + facet normal 0.128168 -0.690901 -0.711497 + outer loop + vertex -1.04008 -0.885731 0.995274 + vertex -0.883688 -0.722446 0.864888 + vertex 2.87586 -2.73381 3.49527 + endloop + endfacet + facet normal 0.128168 -0.690902 -0.711497 + outer loop + vertex 2.87586 -2.73381 3.49527 + vertex -0.883688 -0.722446 0.864888 + vertex 3.03226 -2.57053 3.36489 + endloop + endfacet + facet normal 0.123244 -0.695903 -0.707481 + outer loop + vertex -0.883688 -0.722446 0.864888 + vertex -0.720759 -0.554011 0.727592 + vertex 3.03226 -2.57053 3.36489 + endloop + endfacet + facet normal 0.123248 -0.695899 -0.707484 + outer loop + vertex 3.03226 -2.57053 3.36489 + vertex -0.720759 -0.554011 0.727592 + vertex 3.19518 -2.40209 3.22759 + endloop + endfacet + facet normal 0.117849 -0.701322 -0.703036 + outer loop + vertex -0.720759 -0.554011 0.727592 + vertex -0.552409 -0.381864 0.584085 + vertex 3.19518 -2.40209 3.22759 + endloop + endfacet + facet normal 0.117846 -0.701324 -0.703034 + outer loop + vertex 3.19518 -2.40209 3.22759 + vertex -0.552409 -0.381864 0.584085 + vertex 3.36354 -2.22995 3.08409 + endloop + endfacet + facet normal 0.112035 -0.707089 -0.698193 + outer loop + vertex -0.552409 -0.381864 0.584085 + vertex -0.379793 -0.207438 0.435135 + vertex 3.36354 -2.22995 3.08409 + endloop + endfacet + facet normal 0.112043 -0.707083 -0.698198 + outer loop + vertex 3.36354 -2.22995 3.08409 + vertex -0.379793 -0.207438 0.435135 + vertex 3.53615 -2.05552 2.93514 + endloop + endfacet + facet normal 0.106436 -0.712575 -0.693476 + outer loop + vertex -0.379793 -0.207438 0.435135 + vertex -0.204156 -0.0320027 0.281825 + vertex 3.53615 -2.05552 2.93514 + endloop + endfacet + facet normal 0.106443 -0.712569 -0.693481 + outer loop + vertex 3.53615 -2.05552 2.93514 + vertex -0.204156 -0.0320027 0.281825 + vertex 3.71179 -1.88008 2.78183 + endloop + endfacet + facet normal 0.101202 -0.71764 -0.689021 + outer loop + vertex -0.204156 -0.0320027 0.281825 + vertex -0.0267831 0.143231 0.125365 + vertex 3.71179 -1.88008 2.78183 + endloop + endfacet + facet normal 0.101197 -0.717645 -0.689017 + outer loop + vertex 3.71179 -1.88008 2.78183 + vertex -0.0267831 0.143231 0.125365 + vertex 3.88916 -1.70485 2.62537 + endloop + endfacet + facet normal 0.0962111 -0.722415 -0.684734 + outer loop + vertex -0.0267831 0.143231 0.125365 + vertex 0.151042 0.317053 -0.0330364 + vertex 3.88916 -1.70485 2.62537 + endloop + endfacet + facet normal 0.0961934 -0.72243 -0.68472 + outer loop + vertex 3.88916 -1.70485 2.62537 + vertex 0.151042 0.317053 -0.0330364 + vertex 4.06699 -1.53103 2.46696 + endloop + endfacet + facet normal 0.091355 -0.727007 -0.680525 + outer loop + vertex 0.151042 0.317053 -0.0330364 + vertex 0.328034 0.488251 -0.192168 + vertex 4.06699 -1.53103 2.46696 + endloop + endfacet + facet normal 0.0913634 -0.727 -0.680532 + outer loop + vertex 4.06699 -1.53103 2.46696 + vertex 0.328034 0.488251 -0.192168 + vertex 4.24397 -1.35983 2.30783 + endloop + endfacet + facet normal 0.0865321 -0.731521 -0.676306 + outer loop + vertex 0.328034 0.488251 -0.192168 + vertex 0.502908 0.655614 -0.35082 + vertex 4.24397 -1.35983 2.30783 + endloop + endfacet + facet normal 0.0865288 -0.731523 -0.676303 + outer loop + vertex 4.24397 -1.35983 2.30783 + vertex 0.502908 0.655614 -0.35082 + vertex 4.41885 -1.19247 2.14918 + endloop + endfacet + facet normal 0.0816325 -0.736054 -0.671983 + outer loop + vertex 0.502908 0.655614 -0.35082 + vertex 0.67438 0.817933 -0.507785 + vertex 4.41885 -1.19247 2.14918 + endloop + endfacet + facet normal 0.0816267 -0.736058 -0.671978 + outer loop + vertex 4.41885 -1.19247 2.14918 + vertex 0.67438 0.817933 -0.507785 + vertex 4.59032 -1.03015 1.99221 + endloop + endfacet + facet normal 0.0765397 -0.740711 -0.667449 + outer loop + vertex 0.67438 0.817933 -0.507785 + vertex 0.841157 0.973988 -0.661844 + vertex 4.59032 -1.03015 1.99221 + endloop + endfacet + facet normal 0.0765572 -0.740697 -0.667463 + outer loop + vertex 4.59032 -1.03015 1.99221 + vertex 0.841157 0.973988 -0.661844 + vertex 4.7571 -0.874093 1.83816 + endloop + endfacet + facet normal 0.0711146 -0.745614 -0.662573 + outer loop + vertex 0.841157 0.973988 -0.661844 + vertex 1.00197 1.12258 -0.811799 + vertex 4.7571 -0.874093 1.83816 + endloop + endfacet + facet normal 0.0711122 -0.745616 -0.662571 + outer loop + vertex 4.7571 -0.874093 1.83816 + vertex 1.00197 1.12258 -0.811799 + vertex 4.9179 -0.725499 1.6882 + endloop + endfacet + facet normal 0.0651802 -0.750903 -0.657188 + outer loop + vertex 1.00197 1.12258 -0.811799 + vertex 1.15551 1.26249 -0.956432 + vertex 4.9179 -0.725499 1.6882 + endloop + endfacet + facet normal 0.0651797 -0.750903 -0.657188 + outer loop + vertex 4.9179 -0.725499 1.6882 + vertex 1.15551 1.26249 -0.956432 + vertex 5.07145 -0.585591 1.54357 + endloop + endfacet + facet normal 0.0584879 -0.756779 -0.651049 + outer loop + vertex 1.15551 1.26249 -0.956432 + vertex 1.30052 1.39251 -1.09454 + vertex 5.07145 -0.585591 1.54357 + endloop + endfacet + facet normal 0.0584863 -0.75678 -0.651048 + outer loop + vertex 5.07145 -0.585591 1.54357 + vertex 1.30052 1.39251 -1.09454 + vertex 5.21646 -0.45557 1.40546 + endloop + endfacet + facet normal 0.0507177 -0.763483 -0.643834 + outer loop + vertex 1.30052 1.39251 -1.09454 + vertex 1.43569 1.51142 -1.2249 + vertex 5.21646 -0.45557 1.40546 + endloop + endfacet + facet normal 0.0507291 -0.763474 -0.643843 + outer loop + vertex 5.21646 -0.45557 1.40546 + vertex 1.43569 1.51142 -1.2249 + vertex 5.35163 -0.336655 1.2751 + endloop + endfacet + facet normal 0.0413665 -0.771383 -0.635025 + outer loop + vertex 1.43569 1.51142 -1.2249 + vertex 1.55976 1.61803 -1.34632 + vertex 5.35163 -0.336655 1.2751 + endloop + endfacet + facet normal 0.0413648 -0.771384 -0.635024 + outer loop + vertex 5.35163 -0.336655 1.2751 + vertex 1.55976 1.61803 -1.34632 + vertex 5.4757 -0.230054 1.15369 + endloop + endfacet + facet normal 0.0295873 -0.781073 -0.623738 + outer loop + vertex 1.55976 1.61803 -1.34632 + vertex 1.67142 1.7111 -1.45757 + vertex 5.4757 -0.230054 1.15369 + endloop + endfacet + facet normal 0.0295845 -0.781075 -0.623735 + outer loop + vertex 5.4757 -0.230054 1.15369 + vertex 1.67142 1.7111 -1.45757 + vertex 5.58736 -0.136977 1.04243 + endloop + endfacet + facet normal 0.0140508 -0.793412 -0.608523 + outer loop + vertex 1.67142 1.7111 -1.45757 + vertex 1.76939 1.78944 -1.55745 + vertex 5.58736 -0.136977 1.04243 + endloop + endfacet + facet normal 0.0140334 -0.793424 -0.608507 + outer loop + vertex 5.58736 -0.136977 1.04243 + vertex 1.76939 1.78944 -1.55745 + vertex 5.68533 -0.0586386 0.942545 + endloop + endfacet + facet normal -0.00789605 -0.809984 -0.586399 + outer loop + vertex 1.76939 1.78944 -1.55745 + vertex 1.8524 1.85184 -1.64476 + vertex 5.68533 -0.0586386 0.942545 + endloop + endfacet + facet normal -0.00790256 -0.809989 -0.586392 + outer loop + vertex 5.68533 -0.0586386 0.942545 + vertex 1.8524 1.85184 -1.64476 + vertex 5.76834 0.00375753 0.855238 + endloop + endfacet + facet normal -0.0417851 -0.833605 -0.550778 + outer loop + vertex 1.8524 1.85184 -1.64476 + vertex 1.91915 1.89707 -1.71828 + vertex 5.76834 0.00375753 0.855238 + endloop + endfacet + facet normal -0.0417606 -0.83359 -0.550803 + outer loop + vertex 5.76834 0.00375753 0.855238 + vertex 1.91915 1.89707 -1.71828 + vertex 5.83509 0.04899 0.781722 + endloop + endfacet + facet normal -0.101141 -0.869157 -0.484083 + outer loop + vertex 1.91915 1.89707 -1.71828 + vertex 1.96837 1.92393 -1.77679 + vertex 5.83509 0.04899 0.781722 + endloop + endfacet + facet normal -0.101138 -0.869155 -0.484087 + outer loop + vertex 5.83509 0.04899 0.781722 + vertex 1.96837 1.92393 -1.77679 + vertex 5.88431 0.0758517 0.72321 + endloop + endfacet + facet normal -0.2281 -0.918864 -0.321962 + outer loop + vertex 1.96837 1.92393 -1.77679 + vertex 1.99875 1.93121 -1.81909 + vertex 5.88431 0.0758517 0.72321 + endloop + endfacet + facet normal -0.228106 -0.918865 -0.321955 + outer loop + vertex 5.88431 0.0758517 0.72321 + vertex 1.99875 1.93121 -1.81909 + vertex 5.9147 0.0831286 0.68091 + endloop + endfacet + facet normal -0.529665 -0.817787 0.225122 + outer loop + vertex 1.99875 1.93121 -1.81909 + vertex 2.00903 1.9177 -1.84398 + vertex 5.9147 0.0831286 0.68091 + endloop + endfacet + facet normal -0.529651 -0.817805 0.225087 + outer loop + vertex 5.9147 0.0831286 0.68091 + vertex 2.00903 1.9177 -1.84398 + vertex 5.92498 0.0696207 0.656022 + endloop + endfacet + facet normal -0.532142 0.0175015 0.846474 + outer loop + vertex 2.00903 1.9177 -1.84398 + vertex 1.99792 1.88218 -1.85023 + vertex 5.92498 0.0696207 0.656022 + endloop + endfacet +endsolid diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap_transformed0_with_hook.stl b/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap_transformed0_with_hook.stl new file mode 100644 index 0000000000000000000000000000000000000000..93b3359a4c20ab4b943a4879e3aea8d989d870f5 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap_transformed0_with_hook.stl @@ -0,0 +1,702 @@ +solid ascii + facet normal 0.16287 -0.654111 -0.738655 + outer loop + vertex -2.00546 -1.92761 1.77067 + vertex -1.9956 -1.91659 1.76309 + vertex 1.91049 -3.77569 4.27067 + endloop + endfacet + facet normal 0.162874 -0.654106 -0.738659 + outer loop + vertex 1.91049 -3.77569 4.27067 + vertex -1.9956 -1.91659 1.76309 + vertex 1.92035 -3.76467 4.26309 + endloop + endfacet + facet normal 0.160855 -0.656322 -0.737134 + outer loop + vertex -1.9956 -1.91659 1.76309 + vertex -1.96676 -1.88448 1.74079 + vertex 1.92035 -3.76467 4.26309 + endloop + endfacet + facet normal 0.160852 -0.656325 -0.737132 + outer loop + vertex 1.92035 -3.76467 4.26309 + vertex -1.96676 -1.88448 1.74079 + vertex 1.94918 -3.73256 4.24079 + endloop + endfacet + facet normal 0.158569 -0.65882 -0.735399 + outer loop + vertex -1.96676 -1.88448 1.74079 + vertex -1.9201 -1.83274 1.7045 + vertex 1.94918 -3.73256 4.24079 + endloop + endfacet + facet normal 0.158568 -0.658821 -0.735399 + outer loop + vertex 1.94918 -3.73256 4.24079 + vertex -1.9201 -1.83274 1.7045 + vertex 1.99584 -3.68082 4.2045 + endloop + endfacet + facet normal 0.156081 -0.661524 -0.733501 + outer loop + vertex -1.9201 -1.83274 1.7045 + vertex -1.85672 -1.76281 1.65492 + vertex 1.99584 -3.68082 4.2045 + endloop + endfacet + facet normal 0.156083 -0.661522 -0.733503 + outer loop + vertex 1.99584 -3.68082 4.2045 + vertex -1.85672 -1.76281 1.65492 + vertex 2.05922 -3.61089 4.15492 + endloop + endfacet + facet normal 0.153416 -0.664405 -0.731457 + outer loop + vertex -1.85672 -1.76281 1.65492 + vertex -1.77776 -1.67614 1.59276 + vertex 2.05922 -3.61089 4.15492 + endloop + endfacet + facet normal 0.153416 -0.664405 -0.731457 + outer loop + vertex 2.05922 -3.61089 4.15492 + vertex -1.77776 -1.67614 1.59276 + vertex 2.13819 -3.52422 4.09276 + endloop + endfacet + facet normal 0.150568 -0.667466 -0.729259 + outer loop + vertex -1.77776 -1.67614 1.59276 + vertex -1.68435 -1.57419 1.51873 + vertex 2.13819 -3.52422 4.09276 + endloop + endfacet + facet normal 0.150568 -0.667466 -0.729258 + outer loop + vertex 2.13819 -3.52422 4.09276 + vertex -1.68435 -1.57419 1.51873 + vertex 2.23159 -3.42227 4.01872 + endloop + endfacet + facet normal 0.147503 -0.670739 -0.726878 + outer loop + vertex -1.68435 -1.57419 1.51873 + vertex -1.57762 -1.45838 1.43353 + vertex 2.23159 -3.42227 4.01872 + endloop + endfacet + facet normal 0.147504 -0.670739 -0.726878 + outer loop + vertex 2.23159 -3.42227 4.01872 + vertex -1.57762 -1.45838 1.43353 + vertex 2.33832 -3.30646 3.93352 + endloop + endfacet + facet normal 0.144216 -0.674227 -0.724306 + outer loop + vertex -1.57762 -1.45838 1.43353 + vertex -1.4587 -1.3302 1.33788 + vertex 2.33832 -3.30646 3.93352 + endloop + endfacet + facet normal 0.144216 -0.674227 -0.724306 + outer loop + vertex 2.33832 -3.30646 3.93352 + vertex -1.4587 -1.3302 1.33788 + vertex 2.45725 -3.17828 3.83788 + endloop + endfacet + facet normal 0.140672 -0.677959 -0.721514 + outer loop + vertex -1.4587 -1.3302 1.33788 + vertex -1.32871 -1.19105 1.23248 + vertex 2.45725 -3.17828 3.83788 + endloop + endfacet + facet normal 0.140672 -0.677959 -0.721514 + outer loop + vertex 2.45725 -3.17828 3.83788 + vertex -1.32871 -1.19105 1.23248 + vertex 2.58723 -3.03913 3.73248 + endloop + endfacet + facet normal 0.136837 -0.681966 -0.718469 + outer loop + vertex -1.32871 -1.19105 1.23248 + vertex -1.1888 -1.04242 1.11804 + vertex 2.58723 -3.03913 3.73248 + endloop + endfacet + facet normal 0.136837 -0.681966 -0.718469 + outer loop + vertex 2.58723 -3.03913 3.73248 + vertex -1.1888 -1.04242 1.11804 + vertex 2.72714 -2.8905 3.61804 + endloop + endfacet + facet normal 0.132685 -0.686267 -0.715145 + outer loop + vertex -1.1888 -1.04242 1.11804 + vertex -1.04008 -0.885731 0.995274 + vertex 2.72714 -2.8905 3.61804 + endloop + endfacet + facet normal 0.132685 -0.686266 -0.715145 + outer loop + vertex 2.72714 -2.8905 3.61804 + vertex -1.04008 -0.885731 0.995274 + vertex 2.87586 -2.73381 3.49527 + endloop + endfacet + facet normal 0.128169 -0.690901 -0.711497 + outer loop + vertex -1.04008 -0.885731 0.995274 + vertex -0.883688 -0.722446 0.864888 + vertex 2.87586 -2.73381 3.49527 + endloop + endfacet + facet normal 0.128169 -0.690901 -0.711497 + outer loop + vertex 2.87586 -2.73381 3.49527 + vertex -0.883688 -0.722446 0.864888 + vertex 3.03226 -2.57053 3.36489 + endloop + endfacet + facet normal 0.123243 -0.695904 -0.70748 + outer loop + vertex -0.883688 -0.722446 0.864888 + vertex -0.720759 -0.554011 0.727592 + vertex 3.03226 -2.57053 3.36489 + endloop + endfacet + facet normal 0.123243 -0.695904 -0.70748 + outer loop + vertex 3.03226 -2.57053 3.36489 + vertex -0.720759 -0.554011 0.727592 + vertex 3.19518 -2.40209 3.22759 + endloop + endfacet + facet normal 0.117849 -0.701322 -0.703036 + outer loop + vertex -0.720759 -0.554011 0.727592 + vertex -0.552409 -0.381864 0.584085 + vertex 3.19518 -2.40209 3.22759 + endloop + endfacet + facet normal 0.117849 -0.701322 -0.703036 + outer loop + vertex 3.19518 -2.40209 3.22759 + vertex -0.552409 -0.381864 0.584085 + vertex 3.36354 -2.22995 3.08409 + endloop + endfacet + facet normal 0.112036 -0.707088 -0.698194 + outer loop + vertex -0.552409 -0.381864 0.584085 + vertex -0.379793 -0.207438 0.435135 + vertex 3.36354 -2.22995 3.08409 + endloop + endfacet + facet normal 0.112037 -0.707088 -0.698194 + outer loop + vertex 3.36354 -2.22995 3.08409 + vertex -0.379793 -0.207438 0.435135 + vertex 3.53615 -2.05552 2.93514 + endloop + endfacet + facet normal 0.106435 -0.712575 -0.693475 + outer loop + vertex -0.379793 -0.207438 0.435135 + vertex -0.204156 -0.0320027 0.281825 + vertex 3.53615 -2.05552 2.93514 + endloop + endfacet + facet normal 0.106435 -0.712575 -0.693475 + outer loop + vertex 3.53615 -2.05552 2.93514 + vertex -0.204156 -0.0320027 0.281825 + vertex 3.71179 -1.88008 2.78183 + endloop + endfacet + facet normal 0.101201 -0.717641 -0.689021 + outer loop + vertex -0.204156 -0.0320027 0.281825 + vertex -0.0267831 0.143231 0.125365 + vertex 3.71179 -1.88008 2.78183 + endloop + endfacet + facet normal 0.101201 -0.717641 -0.689021 + outer loop + vertex 3.71179 -1.88008 2.78183 + vertex -0.0267831 0.143231 0.125365 + vertex 3.88916 -1.70485 2.62537 + endloop + endfacet + facet normal 0.0962108 -0.722414 -0.684734 + outer loop + vertex -0.0267831 0.143231 0.125365 + vertex 0.151042 0.317053 -0.0330364 + vertex 3.88916 -1.70485 2.62537 + endloop + endfacet + facet normal 0.0962109 -0.722414 -0.684734 + outer loop + vertex 3.88916 -1.70485 2.62537 + vertex 0.151042 0.317053 -0.0330364 + vertex 4.06699 -1.53103 2.46696 + endloop + endfacet + facet normal 0.0913564 -0.727007 -0.680525 + outer loop + vertex 0.151042 0.317053 -0.0330364 + vertex 0.328034 0.488251 -0.192168 + vertex 4.06699 -1.53103 2.46696 + endloop + endfacet + facet normal 0.0913561 -0.727007 -0.680525 + outer loop + vertex 4.06699 -1.53103 2.46696 + vertex 0.328034 0.488251 -0.192168 + vertex 4.24397 -1.35983 2.30783 + endloop + endfacet + facet normal 0.0865316 -0.731521 -0.676305 + outer loop + vertex 0.328034 0.488251 -0.192168 + vertex 0.502908 0.655614 -0.35082 + vertex 4.24397 -1.35983 2.30783 + endloop + endfacet + facet normal 0.0865318 -0.731521 -0.676305 + outer loop + vertex 4.24397 -1.35983 2.30783 + vertex 0.502908 0.655614 -0.35082 + vertex 4.41885 -1.19247 2.14918 + endloop + endfacet + facet normal 0.0816341 -0.736053 -0.671984 + outer loop + vertex 0.502908 0.655614 -0.35082 + vertex 0.67438 0.817933 -0.507785 + vertex 4.41885 -1.19247 2.14918 + endloop + endfacet + facet normal 0.0816342 -0.736053 -0.671984 + outer loop + vertex 4.41885 -1.19247 2.14918 + vertex 0.67438 0.817933 -0.507785 + vertex 4.59032 -1.03015 1.99221 + endloop + endfacet + facet normal 0.0765387 -0.740713 -0.667447 + outer loop + vertex 0.67438 0.817933 -0.507785 + vertex 0.841157 0.973988 -0.661844 + vertex 4.59032 -1.03015 1.99221 + endloop + endfacet + facet normal 0.0765387 -0.740713 -0.667447 + outer loop + vertex 4.59032 -1.03015 1.99221 + vertex 0.841157 0.973988 -0.661844 + vertex 4.7571 -0.874093 1.83816 + endloop + endfacet + facet normal 0.0711149 -0.745613 -0.662574 + outer loop + vertex 0.841157 0.973988 -0.661844 + vertex 1.00197 1.12258 -0.811799 + vertex 4.7571 -0.874093 1.83816 + endloop + endfacet + facet normal 0.0711149 -0.745613 -0.662574 + outer loop + vertex 4.7571 -0.874093 1.83816 + vertex 1.00197 1.12258 -0.811799 + vertex 4.9179 -0.725499 1.6882 + endloop + endfacet + facet normal 0.065177 -0.750906 -0.657185 + outer loop + vertex 1.00197 1.12258 -0.811799 + vertex 1.15551 1.26249 -0.956432 + vertex 4.9179 -0.725499 1.6882 + endloop + endfacet + facet normal 0.065177 -0.750906 -0.657185 + outer loop + vertex 4.9179 -0.725499 1.6882 + vertex 1.15551 1.26249 -0.956432 + vertex 5.07145 -0.585591 1.54357 + endloop + endfacet + facet normal 0.058494 -0.756773 -0.651055 + outer loop + vertex 1.15551 1.26249 -0.956432 + vertex 1.30052 1.39251 -1.09454 + vertex 5.07145 -0.585591 1.54357 + endloop + endfacet + facet normal 0.0584939 -0.756773 -0.651055 + outer loop + vertex 5.07145 -0.585591 1.54357 + vertex 1.30052 1.39251 -1.09454 + vertex 5.21646 -0.45557 1.40546 + endloop + endfacet + facet normal 0.0507207 -0.76348 -0.643837 + outer loop + vertex 1.30052 1.39251 -1.09454 + vertex 1.43569 1.51142 -1.2249 + vertex 5.21646 -0.45557 1.40546 + endloop + endfacet + facet normal 0.050721 -0.76348 -0.643837 + outer loop + vertex 5.21646 -0.45557 1.40546 + vertex 1.43569 1.51142 -1.2249 + vertex 5.35163 -0.336655 1.2751 + endloop + endfacet + facet normal 0.0413597 -0.771388 -0.63502 + outer loop + vertex 1.43569 1.51142 -1.2249 + vertex 1.55976 1.61803 -1.34632 + vertex 5.35163 -0.336655 1.2751 + endloop + endfacet + facet normal 0.0413597 -0.771388 -0.63502 + outer loop + vertex 5.35163 -0.336655 1.2751 + vertex 1.55976 1.61803 -1.34632 + vertex 5.4757 -0.230054 1.15369 + endloop + endfacet + facet normal 0.0295946 -0.781067 -0.623746 + outer loop + vertex 1.55976 1.61803 -1.34632 + vertex 1.67142 1.7111 -1.45757 + vertex 5.4757 -0.230054 1.15369 + endloop + endfacet + facet normal 0.0295944 -0.781067 -0.623746 + outer loop + vertex 5.4757 -0.230054 1.15369 + vertex 1.67142 1.7111 -1.45757 + vertex 5.58736 -0.136977 1.04243 + endloop + endfacet + facet normal 0.0140343 -0.793424 -0.608508 + outer loop + vertex 1.67142 1.7111 -1.45757 + vertex 1.76939 1.78944 -1.55745 + vertex 5.58736 -0.136977 1.04243 + endloop + endfacet + facet normal 0.0140342 -0.793424 -0.608507 + outer loop + vertex 5.58736 -0.136977 1.04243 + vertex 1.76939 1.78944 -1.55745 + vertex 5.68533 -0.0586386 0.942545 + endloop + endfacet + facet normal -0.00790206 -0.809989 -0.586392 + outer loop + vertex 1.76939 1.78944 -1.55745 + vertex 1.8524 1.85184 -1.64476 + vertex 5.68533 -0.0586386 0.942545 + endloop + endfacet + facet normal -0.00790171 -0.809989 -0.586392 + outer loop + vertex 5.68533 -0.0586386 0.942545 + vertex 1.8524 1.85184 -1.64476 + vertex 5.76834 0.00375753 0.855238 + endloop + endfacet + facet normal -0.0417599 -0.833589 -0.550804 + outer loop + vertex 1.8524 1.85184 -1.64476 + vertex 1.91915 1.89707 -1.71828 + vertex 5.76834 0.00375753 0.855238 + endloop + endfacet + facet normal -0.0417601 -0.833589 -0.550804 + outer loop + vertex 5.76834 0.00375753 0.855238 + vertex 1.91915 1.89707 -1.71828 + vertex 5.83509 0.04899 0.781722 + endloop + endfacet + facet normal -0.101143 -0.869158 -0.484082 + outer loop + vertex 1.91915 1.89707 -1.71828 + vertex 1.96837 1.92393 -1.77679 + vertex 5.83509 0.04899 0.781722 + endloop + endfacet + facet normal -0.101143 -0.869158 -0.484082 + outer loop + vertex 5.83509 0.04899 0.781722 + vertex 1.96837 1.92393 -1.77679 + vertex 5.88431 0.0758517 0.72321 + endloop + endfacet + facet normal -0.228112 -0.918866 -0.321946 + outer loop + vertex 1.96837 1.92393 -1.77679 + vertex 1.99875 1.93121 -1.81909 + vertex 5.88431 0.0758517 0.72321 + endloop + endfacet + facet normal -0.228113 -0.918867 -0.321945 + outer loop + vertex 5.88431 0.0758517 0.72321 + vertex 1.99875 1.93121 -1.81909 + vertex 5.9147 0.0831286 0.68091 + endloop + endfacet + facet normal -0.529652 -0.817804 0.225088 + outer loop + vertex 1.99875 1.93121 -1.81909 + vertex 2.00903 1.9177 -1.84398 + vertex 5.9147 0.0831286 0.68091 + endloop + endfacet + facet normal -0.529651 -0.817806 0.225085 + outer loop + vertex 5.9147 0.0831286 0.68091 + vertex 2.00903 1.9177 -1.84398 + vertex 5.92498 0.0696207 0.656022 + endloop + endfacet + facet normal -0.532128 0.0175456 0.846482 + outer loop + vertex 2.00903 1.9177 -1.84398 + vertex 1.99792 1.88218 -1.85023 + vertex 5.92498 0.0696207 0.656022 + endloop + endfacet + facet normal -0.532126 0.0175498 0.846483 + outer loop + vertex 5.92498 0.0696207 0.656022 + vertex 1.99792 1.88218 -1.85023 + vertex 5.91386 0.0341051 0.649767 + endloop + endfacet + facet normal -0.352389 0.398675 0.846688 + outer loop + vertex 1.99792 1.88218 -1.85023 + vertex 1.96412 1.82345 -1.83664 + vertex 5.91386 0.0341051 0.649767 + endloop + endfacet + facet normal -0.35239 0.398674 0.846688 + outer loop + vertex 5.91386 0.0341051 0.649767 + vertex 1.96412 1.82345 -1.83664 + vertex 5.88005 -0.024629 0.663355 + endloop + endfacet + facet normal -0.269012 0.523558 0.808406 + outer loop + vertex 1.96412 1.82345 -1.83664 + vertex 1.90636 1.74029 -1.80201 + vertex 5.88005 -0.024629 0.663355 + endloop + endfacet + facet normal -0.269013 0.523557 0.808406 + outer loop + vertex 5.88005 -0.024629 0.663355 + vertex 1.90636 1.74029 -1.80201 + vertex 5.8223 -0.107785 0.697991 + endloop + endfacet + facet normal -0.226435 0.579376 0.782976 + outer loop + vertex 1.90636 1.74029 -1.80201 + vertex 1.8244 1.63261 -1.74603 + vertex 5.8223 -0.107785 0.697991 + endloop + endfacet + facet normal -0.226434 0.579377 0.782975 + outer loop + vertex 5.8223 -0.107785 0.697991 + vertex 1.8244 1.63261 -1.74603 + vertex 5.74035 -0.215469 0.753974 + endloop + endfacet + facet normal -0.20363 0.607323 0.767915 + outer loop + vertex 1.8244 1.63261 -1.74603 + vertex 1.72201 1.50447 -1.67183 + vertex 5.74035 -0.215469 0.753974 + endloop + endfacet + facet normal -0.203631 0.607323 0.767915 + outer loop + vertex 5.74035 -0.215469 0.753974 + vertex 1.72201 1.50447 -1.67183 + vertex 5.63796 -0.343612 0.828167 + endloop + endfacet + facet normal -0.189857 0.623578 0.758357 + outer loop + vertex 1.72201 1.50447 -1.67183 + vertex 1.6039 1.36094 -1.58338 + vertex 5.63796 -0.343612 0.828167 + endloop + endfacet + facet normal -0.189857 0.623578 0.758357 + outer loop + vertex 5.63796 -0.343612 0.828167 + vertex 1.6039 1.36094 -1.58338 + vertex 5.51984 -0.487142 0.916618 + endloop + endfacet + facet normal -0.180654 0.634184 0.751781 + outer loop + vertex 1.6039 1.36094 -1.58338 + vertex 1.47474 1.20708 -1.48463 + vertex 5.51984 -0.487142 0.916618 + endloop + endfacet + facet normal -0.180654 0.634184 0.751781 + outer loop + vertex 5.51984 -0.487142 0.916618 + vertex 1.47474 1.20708 -1.48463 + vertex 5.39068 -0.641003 1.01537 + endloop + endfacet + facet normal -0.174073 0.641645 0.746988 + outer loop + vertex 1.47474 1.20708 -1.48463 + vertex 1.33924 1.04793 -1.3795 + vertex 5.39068 -0.641003 1.01537 + endloop + endfacet + facet normal -0.174073 0.641644 0.746988 + outer loop + vertex 5.39068 -0.641003 1.01537 + vertex 1.33924 1.04793 -1.3795 + vertex 5.25518 -0.800147 1.1205 + endloop + endfacet + facet normal -0.169132 0.647179 0.74334 + outer loop + vertex 1.33924 1.04793 -1.3795 + vertex 1.20209 0.888568 -1.27196 + vertex 5.25518 -0.800147 1.1205 + endloop + endfacet + facet normal -0.169132 0.647179 0.743339 + outer loop + vertex 5.25518 -0.800147 1.1205 + vertex 1.20209 0.888568 -1.27196 + vertex 5.11803 -0.959511 1.22804 + endloop + endfacet + facet normal -0.165291 0.651441 0.740475 + outer loop + vertex 1.20209 0.888568 -1.27196 + vertex 1.06799 0.73404 -1.16595 + vertex 5.11803 -0.959511 1.22804 + endloop + endfacet + facet normal -0.165291 0.651441 0.740475 + outer loop + vertex 5.11803 -0.959511 1.22804 + vertex 1.06799 0.73404 -1.16595 + vertex 4.98393 -1.11404 1.33405 + endloop + endfacet + facet normal -0.162223 0.654822 0.738168 + outer loop + vertex 1.06799 0.73404 -1.16595 + vertex 0.941641 0.589416 -1.06542 + vertex 4.98393 -1.11404 1.33405 + endloop + endfacet + facet normal -0.162223 0.654822 0.738168 + outer loop + vertex 4.98393 -1.11404 1.33405 + vertex 0.941641 0.589416 -1.06542 + vertex 4.85759 -1.25867 1.43459 + endloop + endfacet + facet normal -0.15971 0.657575 0.736266 + outer loop + vertex 0.941641 0.589416 -1.06542 + vertex 0.827725 0.459735 -0.974307 + vertex 4.85759 -1.25867 1.43459 + endloop + endfacet + facet normal -0.15971 0.657575 0.736266 + outer loop + vertex 4.85759 -1.25867 1.43459 + vertex 0.827725 0.459735 -0.974307 + vertex 4.74367 -1.38835 1.5257 + endloop + endfacet + facet normal -0.157622 0.659851 0.734678 + outer loop + vertex 0.827725 0.459735 -0.974307 + vertex 0.730956 0.350076 -0.896578 + vertex 4.74367 -1.38835 1.5257 + endloop + endfacet + facet normal -0.157622 0.659851 0.734678 + outer loop + vertex 4.74367 -1.38835 1.5257 + vertex 0.730956 0.350076 -0.896578 + vertex 4.64689 -1.498 1.60342 + endloop + endfacet + facet normal -0.155862 0.661762 0.733334 + outer loop + vertex 0.730956 0.350076 -0.896578 + vertex 0.656019 0.265483 -0.836167 + vertex 4.64689 -1.498 1.60342 + endloop + endfacet + facet normal -0.155861 0.661763 0.733333 + outer loop + vertex 4.64689 -1.498 1.60342 + vertex 0.656019 0.265483 -0.836167 + vertex 4.57196 -1.5826 1.66383 + endloop + endfacet + facet normal -0.154368 0.663378 0.732189 + outer loop + vertex 0.656019 0.265483 -0.836167 + vertex 0.607613 0.211018 -0.797026 + vertex 4.57196 -1.5826 1.66383 + endloop + endfacet + facet normal -0.154369 0.663377 0.732189 + outer loop + vertex 4.57196 -1.5826 1.66383 + vertex 0.607613 0.211018 -0.797026 + vertex 4.52356 -1.63706 1.70298 + endloop + endfacet + facet normal -0.153182 0.664657 0.731277 + outer loop + vertex 0.607613 0.211018 -0.797026 + vertex 0.590434 0.191739 -0.783102 + vertex 4.52356 -1.63706 1.70298 + endloop + endfacet + facet normal -0.153182 0.664657 0.731277 + outer loop + vertex 4.52356 -1.63706 1.70298 + vertex 0.590434 0.191739 -0.783102 + vertex 4.50638 -1.65634 1.7169 + endloop + endfacet +endsolid diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap_transformed1.stl b/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap_transformed1.stl new file mode 100644 index 0000000000000000000000000000000000000000..a478b610a30164a37a374e931d4ff90ee099a278 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/constant/triSurface/gap_transformed1.stl @@ -0,0 +1,702 @@ +solid ascii + facet normal -0.218371 -0.916419 -0.335396 + outer loop + vertex -1.99478 -1.1593 2.72311 + vertex -1.97424 -1.15299 2.6925 + vertex 1.92116 -3.00738 5.22311 + endloop + endfacet + facet normal -0.218368 -0.916418 -0.335399 + outer loop + vertex 1.92116 -3.00738 5.22311 + vertex -1.97424 -1.15299 2.6925 + vertex 1.94171 -3.00107 5.19251 + endloop + endfacet + facet normal -0.213715 -0.915164 -0.341761 + outer loop + vertex -1.97424 -1.15299 2.6925 + vertex -1.91815 -1.13496 2.60914 + vertex 1.94171 -3.00107 5.19251 + endloop + endfacet + facet normal -0.213715 -0.915164 -0.34176 + outer loop + vertex 1.94171 -3.00107 5.19251 + vertex -1.91815 -1.13496 2.60914 + vertex 1.9978 -2.98304 5.10914 + endloop + endfacet + facet normal -0.207222 -0.913323 -0.350571 + outer loop + vertex -1.91815 -1.13496 2.60914 + vertex -1.83478 -1.10649 2.48569 + vertex 1.9978 -2.98304 5.10914 + endloop + endfacet + facet normal -0.207222 -0.913323 -0.350571 + outer loop + vertex 1.9978 -2.98304 5.10914 + vertex -1.83478 -1.10649 2.48569 + vertex 2.08117 -2.95457 4.9857 + endloop + endfacet + facet normal -0.19886 -0.910799 -0.361802 + outer loop + vertex -1.83478 -1.10649 2.48569 + vertex -1.73239 -1.06892 2.33484 + vertex 2.08117 -2.95457 4.9857 + endloop + endfacet + facet normal -0.198859 -0.910798 -0.361803 + outer loop + vertex 2.08117 -2.95457 4.9857 + vertex -1.73239 -1.06892 2.33484 + vertex 2.18355 -2.917 4.83484 + endloop + endfacet + facet normal -0.187609 -0.907132 -0.376715 + outer loop + vertex -1.73239 -1.06892 2.33484 + vertex -1.61928 -1.02354 2.16925 + vertex 2.18355 -2.917 4.83484 + endloop + endfacet + facet normal -0.187609 -0.907132 -0.376715 + outer loop + vertex 2.18355 -2.917 4.83484 + vertex -1.61928 -1.02354 2.16925 + vertex 2.29666 -2.87163 4.66925 + endloop + endfacet + facet normal -0.171811 -0.901472 -0.397277 + outer loop + vertex -1.61928 -1.02354 2.16925 + vertex -1.50372 -0.97169 2.00161 + vertex 2.29666 -2.87163 4.66925 + endloop + endfacet + facet normal -0.171811 -0.901472 -0.397277 + outer loop + vertex 2.29666 -2.87163 4.66925 + vertex -1.50372 -0.97169 2.00161 + vertex 2.41222 -2.81977 4.50161 + endloop + endfacet + facet normal -0.149148 -0.892335 -0.426021 + outer loop + vertex -1.50372 -0.97169 2.00161 + vertex -1.39309 -0.914576 1.84325 + vertex 2.41222 -2.81977 4.50161 + endloop + endfacet + facet normal -0.149148 -0.892335 -0.426021 + outer loop + vertex 2.41222 -2.81977 4.50161 + vertex -1.39309 -0.914576 1.84325 + vertex 2.52285 -2.76266 4.34325 + endloop + endfacet + facet normal -0.122915 -0.880301 -0.458216 + outer loop + vertex -1.39309 -0.914576 1.84325 + vertex -1.28906 -0.852878 1.69681 + vertex 2.52285 -2.76266 4.34325 + endloop + endfacet + facet normal -0.122915 -0.880301 -0.458215 + outer loop + vertex 2.52285 -2.76266 4.34325 + vertex -1.28906 -0.852878 1.69681 + vertex 2.62689 -2.70096 4.19681 + endloop + endfacet + facet normal -0.0956268 -0.866171 -0.490514 + outer loop + vertex -1.28906 -0.852878 1.69681 + vertex -1.19098 -0.787069 1.56148 + vertex 2.62689 -2.70096 4.19681 + endloop + endfacet + facet normal -0.0956263 -0.866171 -0.490514 + outer loop + vertex 2.62689 -2.70096 4.19681 + vertex -1.19098 -0.787069 1.56148 + vertex 2.72496 -2.63515 4.06148 + endloop + endfacet + facet normal -0.0676719 -0.85003 -0.52237 + outer loop + vertex -1.19098 -0.787069 1.56148 + vertex -1.09822 -0.717599 1.43642 + vertex 2.72496 -2.63515 4.06148 + endloop + endfacet + facet normal -0.0676726 -0.85003 -0.522369 + outer loop + vertex 2.72496 -2.63515 4.06148 + vertex -1.09822 -0.717599 1.43642 + vertex 2.81772 -2.56568 3.93642 + endloop + endfacet + facet normal -0.0395992 -0.832155 -0.553128 + outer loop + vertex -1.09822 -0.717599 1.43642 + vertex -1.01014 -0.644937 1.3208 + vertex 2.81772 -2.56568 3.93642 + endloop + endfacet + facet normal -0.039599 -0.832154 -0.553128 + outer loop + vertex 2.81772 -2.56568 3.93642 + vertex -1.01014 -0.644937 1.3208 + vertex 2.9058 -2.49302 3.8208 + endloop + endfacet + facet normal -0.0119769 -0.812956 -0.582203 + outer loop + vertex -1.01014 -0.644937 1.3208 + vertex -0.926088 -0.569527 1.21377 + vertex 2.9058 -2.49302 3.8208 + endloop + endfacet + facet normal -0.0119772 -0.812956 -0.582202 + outer loop + vertex 2.9058 -2.49302 3.8208 + vertex -0.926088 -0.569527 1.21377 + vertex 2.98985 -2.41761 3.71377 + endloop + endfacet + facet normal 0.0144723 -0.793083 -0.608942 + outer loop + vertex -0.926088 -0.569527 1.21377 + vertex -0.845434 -0.491844 1.11451 + vertex 2.98985 -2.41761 3.71377 + endloop + endfacet + facet normal 0.0144728 -0.793083 -0.608942 + outer loop + vertex 2.98985 -2.41761 3.71377 + vertex -0.845434 -0.491844 1.11451 + vertex 3.0705 -2.33992 3.61451 + endloop + endfacet + facet normal 0.039104 -0.773266 -0.632875 + outer loop + vertex -0.845434 -0.491844 1.11451 + vertex -0.76753 -0.41234 1.02218 + vertex 3.0705 -2.33992 3.61451 + endloop + endfacet + facet normal 0.0391043 -0.773266 -0.632875 + outer loop + vertex 3.0705 -2.33992 3.61451 + vertex -0.76753 -0.41234 1.02218 + vertex 3.14841 -2.26042 3.52218 + endloop + endfacet + facet normal 0.0612539 -0.754362 -0.653595 + outer loop + vertex -0.76753 -0.41234 1.02218 + vertex -0.691736 -0.331475 0.935956 + vertex 3.14841 -2.26042 3.52218 + endloop + endfacet + facet normal 0.0612534 -0.754362 -0.653595 + outer loop + vertex 3.14841 -2.26042 3.52218 + vertex -0.691736 -0.331475 0.935956 + vertex 3.22421 -2.17956 3.43596 + endloop + endfacet + facet normal 0.0803191 -0.737261 -0.670817 + outer loop + vertex -0.691736 -0.331475 0.935956 + vertex -0.617408 -0.249707 0.854988 + vertex 3.22421 -2.17956 3.43596 + endloop + endfacet + facet normal 0.080319 -0.737261 -0.670817 + outer loop + vertex 3.22421 -2.17956 3.43596 + vertex -0.617408 -0.249707 0.854988 + vertex 3.29853 -2.09779 3.35499 + endloop + endfacet + facet normal 0.0957891 -0.722815 -0.68437 + outer loop + vertex -0.617408 -0.249707 0.854988 + vertex -0.543909 -0.167501 0.778452 + vertex 3.29853 -2.09779 3.35499 + endloop + endfacet + facet normal 0.0957893 -0.722815 -0.68437 + outer loop + vertex 3.29853 -2.09779 3.35499 + vertex -0.543909 -0.167501 0.778452 + vertex 3.37203 -2.01558 3.27845 + endloop + endfacet + facet normal 0.107265 -0.711767 -0.694178 + outer loop + vertex -0.543909 -0.167501 0.778452 + vertex -0.470598 -0.0853143 0.70551 + vertex 3.37203 -2.01558 3.27845 + endloop + endfacet + facet normal 0.107264 -0.711767 -0.694177 + outer loop + vertex 3.37203 -2.01558 3.27845 + vertex -0.470598 -0.0853143 0.70551 + vertex 3.44534 -1.93339 3.20551 + endloop + endfacet + facet normal 0.114433 -0.70472 -0.700196 + outer loop + vertex -0.470598 -0.0853143 0.70551 + vertex -0.39683 -0.00360559 0.63533 + vertex 3.44534 -1.93339 3.20551 + endloop + endfacet + facet normal 0.114433 -0.70472 -0.700197 + outer loop + vertex 3.44534 -1.93339 3.20551 + vertex -0.39683 -0.00360559 0.63533 + vertex 3.51911 -1.85168 3.13533 + endloop + endfacet + facet normal 0.11709 -0.702079 -0.702406 + outer loop + vertex -0.39683 -0.00360559 0.63533 + vertex -0.321967 0.0771655 0.567076 + vertex 3.51911 -1.85168 3.13533 + endloop + endfacet + facet normal 0.11709 -0.702079 -0.702406 + outer loop + vertex 3.51911 -1.85168 3.13533 + vertex -0.321967 0.0771655 0.567076 + vertex 3.59398 -1.77092 3.06708 + endloop + endfacet + facet normal 0.115111 -0.704047 -0.700762 + outer loop + vertex -0.321967 0.0771655 0.567076 + vertex -0.245366 0.156538 0.499914 + vertex 3.59398 -1.77092 3.06708 + endloop + endfacet + facet normal 0.115111 -0.704047 -0.700762 + outer loop + vertex 3.59398 -1.77092 3.06708 + vertex -0.245366 0.156538 0.499914 + vertex 3.67058 -1.69154 2.99991 + endloop + endfacet + facet normal 0.10972 -0.709366 -0.696248 + outer loop + vertex -0.245366 0.156538 0.499914 + vertex -0.166546 0.234282 0.433126 + vertex 3.67058 -1.69154 2.99991 + endloop + endfacet + facet normal 0.10972 -0.709365 -0.696249 + outer loop + vertex 3.67058 -1.69154 2.99991 + vertex -0.166546 0.234282 0.433126 + vertex 3.74939 -1.6138 2.93313 + endloop + endfacet + facet normal 0.105339 -0.713641 -0.692546 + outer loop + vertex -0.166546 0.234282 0.433126 + vertex -0.0855948 0.310977 0.366408 + vertex 3.74939 -1.6138 2.93313 + endloop + endfacet + facet normal 0.105338 -0.713641 -0.692546 + outer loop + vertex 3.74939 -1.6138 2.93313 + vertex -0.0855948 0.310977 0.366408 + vertex 3.83034 -1.5371 2.86641 + endloop + endfacet + facet normal 0.102941 -0.715963 -0.690507 + outer loop + vertex -0.0855948 0.310977 0.366408 + vertex -0.00272523 0.387378 0.299545 + vertex 3.83034 -1.5371 2.86641 + endloop + endfacet + facet normal 0.102941 -0.715963 -0.690507 + outer loop + vertex 3.83034 -1.5371 2.86641 + vertex -0.00272523 0.387378 0.299545 + vertex 3.91322 -1.4607 2.79955 + endloop + endfacet + facet normal 0.102519 -0.71637 -0.690148 + outer loop + vertex -0.00272523 0.387378 0.299545 + vertex 0.0818505 0.464244 0.232322 + vertex 3.91322 -1.4607 2.79955 + endloop + endfacet + facet normal 0.10252 -0.71637 -0.690148 + outer loop + vertex 3.91322 -1.4607 2.79955 + vertex 0.0818505 0.464244 0.232322 + vertex 3.99779 -1.38384 2.73232 + endloop + endfacet + facet normal 0.104008 -0.714931 -0.691416 + outer loop + vertex 0.0818505 0.464244 0.232322 + vertex 0.16792 0.542331 0.164526 + vertex 3.99779 -1.38384 2.73232 + endloop + endfacet + facet normal 0.104008 -0.714931 -0.691416 + outer loop + vertex 3.99779 -1.38384 2.73232 + vertex 0.16792 0.542331 0.164526 + vertex 4.08386 -1.30575 2.66453 + endloop + endfacet + facet normal 0.107309 -0.711723 -0.694215 + outer loop + vertex 0.16792 0.542331 0.164526 + vertex 0.25527 0.622397 0.0959432 + vertex 4.08386 -1.30575 2.66453 + endloop + endfacet + facet normal 0.107309 -0.711723 -0.694215 + outer loop + vertex 4.08386 -1.30575 2.66453 + vertex 0.25527 0.622397 0.0959432 + vertex 4.17121 -1.22568 2.59594 + endloop + endfacet + facet normal 0.112285 -0.706843 -0.698402 + outer loop + vertex 0.25527 0.622397 0.0959432 + vertex 0.343688 0.705198 0.0263572 + vertex 4.17121 -1.22568 2.59594 + endloop + endfacet + facet normal 0.112285 -0.706843 -0.698402 + outer loop + vertex 4.17121 -1.22568 2.59594 + vertex 0.343688 0.705198 0.0263572 + vertex 4.25963 -1.14288 2.52636 + endloop + endfacet + facet normal 0.118801 -0.70037 -0.703824 + outer loop + vertex 0.343688 0.705198 0.0263572 + vertex 0.432963 0.791491 -0.0444441 + vertex 4.25963 -1.14288 2.52636 + endloop + endfacet + facet normal 0.118802 -0.70037 -0.703824 + outer loop + vertex 4.25963 -1.14288 2.52636 + vertex 0.432963 0.791491 -0.0444441 + vertex 4.3489 -1.05659 2.45556 + endloop + endfacet + facet normal 0.126672 -0.692427 -0.710281 + outer loop + vertex 0.432963 0.791491 -0.0444441 + vertex 0.522881 0.882036 -0.116677 + vertex 4.3489 -1.05659 2.45556 + endloop + endfacet + facet normal 0.126671 -0.692428 -0.71028 + outer loop + vertex 4.3489 -1.05659 2.45556 + vertex 0.522881 0.882036 -0.116677 + vertex 4.43882 -0.966044 2.38332 + endloop + endfacet + facet normal 0.135712 -0.683135 -0.717572 + outer loop + vertex 0.522881 0.882036 -0.116677 + vertex 0.613231 0.977588 -0.190555 + vertex 4.43882 -0.966044 2.38332 + endloop + endfacet + facet normal 0.135713 -0.683134 -0.717572 + outer loop + vertex 4.43882 -0.966044 2.38332 + vertex 0.613231 0.977588 -0.190555 + vertex 4.52918 -0.870495 2.30945 + endloop + endfacet + facet normal 0.145739 -0.672614 -0.7255 + outer loop + vertex 0.613231 0.977588 -0.190555 + vertex 0.703797 1.0789 -0.266291 + vertex 4.52918 -0.870495 2.30945 + endloop + endfacet + facet normal 0.145739 -0.672614 -0.725501 + outer loop + vertex 4.52918 -0.870495 2.30945 + vertex 0.703797 1.0789 -0.266291 + vertex 4.61974 -0.769178 2.23371 + endloop + endfacet + facet normal 0.156556 -0.661009 -0.733865 + outer loop + vertex 0.703797 1.0789 -0.266291 + vertex 0.794368 1.18674 -0.344099 + vertex 4.61974 -0.769178 2.23371 + endloop + endfacet + facet normal 0.156556 -0.661008 -0.733865 + outer loop + vertex 4.61974 -0.769178 2.23371 + vertex 0.794368 1.18674 -0.344099 + vertex 4.71031 -0.661342 2.1559 + endloop + endfacet + facet normal 0.167969 -0.648473 -0.742475 + outer loop + vertex 0.794368 1.18674 -0.344099 + vertex 0.884735 1.30185 -0.424197 + vertex 4.71031 -0.661342 2.1559 + endloop + endfacet + facet normal 0.167969 -0.648473 -0.742475 + outer loop + vertex 4.71031 -0.661342 2.1559 + vertex 0.884735 1.30185 -0.424197 + vertex 4.80068 -0.546227 2.0758 + endloop + endfacet + facet normal 0.17981 -0.635146 -0.751171 + outer loop + vertex 0.884735 1.30185 -0.424197 + vertex 0.974678 1.425 -0.506793 + vertex 4.80068 -0.546227 2.0758 + endloop + endfacet + facet normal 0.17981 -0.635146 -0.751171 + outer loop + vertex 4.80068 -0.546227 2.0758 + vertex 0.974678 1.425 -0.506793 + vertex 4.89062 -0.423081 1.99321 + endloop + endfacet + facet normal 0.191903 -0.621192 -0.759798 + outer loop + vertex 0.974678 1.425 -0.506793 + vertex 1.06399 1.55694 -0.592109 + vertex 4.89062 -0.423081 1.99321 + endloop + endfacet + facet normal 0.191903 -0.621192 -0.759798 + outer loop + vertex 4.89062 -0.423081 1.99321 + vertex 1.06399 1.55694 -0.592109 + vertex 4.97993 -0.291136 1.90789 + endloop + endfacet + facet normal 0.20411 -0.606748 -0.768242 + outer loop + vertex 1.06399 1.55694 -0.592109 + vertex 1.15246 1.69844 -0.680352 + vertex 4.97993 -0.291136 1.90789 + endloop + endfacet + facet normal 0.204111 -0.606748 -0.768242 + outer loop + vertex 4.97993 -0.291136 1.90789 + vertex 1.15246 1.69844 -0.680352 + vertex 5.0684 -0.149646 1.81965 + endloop + endfacet + facet normal 0.21613 -0.592167 -0.77629 + outer loop + vertex 1.15246 1.69844 -0.680352 + vertex 1.23984 1.85 -0.771643 + vertex 5.0684 -0.149646 1.81965 + endloop + endfacet + facet normal 0.21613 -0.592167 -0.77629 + outer loop + vertex 5.0684 -0.149646 1.81965 + vertex 1.23984 1.85 -0.771643 + vertex 5.15578 0.00192113 1.72836 + endloop + endfacet + facet normal 0.226464 -0.57934 -0.782994 + outer loop + vertex 1.23984 1.85 -0.771643 + vertex 1.32545 2.00964 -0.864998 + vertex 5.15578 0.00192113 1.72836 + endloop + endfacet + facet normal 0.226464 -0.57934 -0.782994 + outer loop + vertex 5.15578 0.00192113 1.72836 + vertex 1.32545 2.00964 -0.864998 + vertex 5.2414 0.161559 1.635 + endloop + endfacet + facet normal 0.234771 -0.568829 -0.788236 + outer loop + vertex 1.32545 2.00964 -0.864998 + vertex 1.40841 2.17386 -0.958799 + vertex 5.2414 0.161559 1.635 + endloop + endfacet + facet normal 0.234771 -0.568829 -0.788236 + outer loop + vertex 5.2414 0.161559 1.635 + vertex 1.40841 2.17386 -0.958799 + vertex 5.32434 0.325781 1.5412 + endloop + endfacet + facet normal 0.241585 -0.560072 -0.792437 + outer loop + vertex 1.40841 2.17386 -0.958799 + vertex 1.48778 2.33914 -1.05142 + vertex 5.32434 0.325781 1.5412 + endloop + endfacet + facet normal 0.241585 -0.560072 -0.792437 + outer loop + vertex 5.32434 0.325781 1.5412 + vertex 1.48778 2.33914 -1.05142 + vertex 5.40372 0.49106 1.44858 + endloop + endfacet + facet normal 0.247283 -0.552656 -0.795879 + outer loop + vertex 1.48778 2.33914 -1.05142 + vertex 1.56267 2.50196 -1.14121 + vertex 5.40372 0.49106 1.44858 + endloop + endfacet + facet normal 0.247282 -0.552656 -0.795879 + outer loop + vertex 5.40372 0.49106 1.44858 + vertex 1.56267 2.50196 -1.14121 + vertex 5.47861 0.653882 1.35879 + endloop + endfacet + facet normal 0.252099 -0.546319 -0.798738 + outer loop + vertex 1.56267 2.50196 -1.14121 + vertex 1.63216 2.65881 -1.22656 + vertex 5.47861 0.653882 1.35879 + endloop + endfacet + facet normal 0.252098 -0.546319 -0.798738 + outer loop + vertex 5.47861 0.653882 1.35879 + vertex 1.63216 2.65881 -1.22656 + vertex 5.5481 0.810727 1.27344 + endloop + endfacet + facet normal 0.256234 -0.540827 -0.801156 + outer loop + vertex 1.63216 2.65881 -1.22656 + vertex 1.69534 2.80616 -1.30582 + vertex 5.5481 0.810727 1.27344 + endloop + endfacet + facet normal 0.256234 -0.540827 -0.801156 + outer loop + vertex 5.5481 0.810727 1.27344 + vertex 1.69534 2.80616 -1.30582 + vertex 5.61128 0.958075 1.19418 + endloop + endfacet + facet normal 0.25982 -0.536026 -0.803224 + outer loop + vertex 1.69534 2.80616 -1.30582 + vertex 1.75129 2.94049 -1.37736 + vertex 5.61128 0.958075 1.19418 + endloop + endfacet + facet normal 0.25982 -0.536027 -0.803224 + outer loop + vertex 5.61128 0.958075 1.19418 + vertex 1.75129 2.94049 -1.37736 + vertex 5.66724 1.09241 1.12264 + endloop + endfacet + facet normal 0.262957 -0.531799 -0.805012 + outer loop + vertex 1.75129 2.94049 -1.37736 + vertex 1.79912 3.05829 -1.43956 + vertex 5.66724 1.09241 1.12264 + endloop + endfacet + facet normal 0.262957 -0.531798 -0.805012 + outer loop + vertex 5.66724 1.09241 1.12264 + vertex 1.79912 3.05829 -1.43956 + vertex 5.71506 1.21021 1.06044 + endloop + endfacet + facet normal 0.265719 -0.528053 -0.806569 + outer loop + vertex 1.79912 3.05829 -1.43956 + vertex 1.8379 3.15603 -1.49078 + vertex 5.71506 1.21021 1.06044 + endloop + endfacet + facet normal 0.265718 -0.528053 -0.806569 + outer loop + vertex 5.71506 1.21021 1.06044 + vertex 1.8379 3.15603 -1.49078 + vertex 5.75385 1.30795 1.00922 + endloop + endfacet + facet normal 0.268164 -0.524719 -0.807934 + outer loop + vertex 1.8379 3.15603 -1.49078 + vertex 1.86674 3.23021 -1.52938 + vertex 5.75385 1.30795 1.00922 + endloop + endfacet + facet normal 0.268163 -0.52472 -0.807934 + outer loop + vertex 5.75385 1.30795 1.00922 + vertex 1.86674 3.23021 -1.52938 + vertex 5.78268 1.38213 0.970619 + endloop + endfacet + facet normal 0.270324 -0.521759 -0.809131 + outer loop + vertex 1.86674 3.23021 -1.52938 + vertex 1.8847 3.2773 -1.55374 + vertex 5.78268 1.38213 0.970619 + endloop + endfacet + facet normal 0.270326 -0.521757 -0.809131 + outer loop + vertex 5.78268 1.38213 0.970619 + vertex 1.8847 3.2773 -1.55374 + vertex 5.80064 1.42922 0.946254 + endloop + endfacet + facet normal 0.272055 -0.519379 -0.810082 + outer loop + vertex 1.8847 3.2773 -1.55374 + vertex 1.8909 3.29378 -1.56223 + vertex 5.80064 1.42922 0.946254 + endloop + endfacet + facet normal 0.272056 -0.519377 -0.810082 + outer loop + vertex 5.80064 1.42922 0.946254 + vertex 1.8909 3.29378 -1.56223 + vertex 5.80684 1.4457 0.937769 + endloop + endfacet +endsolid diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/system/blockMeshDict b/tutorials/mesh/snappyHexMesh/opposite_walls/system/blockMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..b7b28115b98d18128accc0e62274b60c045351d3 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/system/blockMeshDict @@ -0,0 +1,98 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v1806 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale 1; + +vertices +( + (-1 -3 -1) + ( 5 -3 -1) + ( 5 3 -1) + (-1 3 -1) + (-1 -3 5) + ( 5 -3 5) + ( 5 3 5) + (-1 3 5) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (6 6 6) simpleGrading (1 1 1) +); + +edges +( +); + +boundary +( + maxY + { + type patch; + faces + ( + (3 7 6 2) + ); + } + + minX + { + type patch; + faces + ( + (0 4 7 3) + ); + } + + maxX + { + type patch; + faces + ( + (2 6 5 1) + ); + } + + minY + { + type patch; + faces + ( + (1 5 4 0) + ); + } + + minZ + { + type patch; + faces + ( + (0 3 2 1) + ); + } + + maxZ + { + type patch; + faces + ( + (4 5 6 7) + ); + } +); + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/system/controlDict b/tutorials/mesh/snappyHexMesh/opposite_walls/system/controlDict new file mode 100644 index 0000000000000000000000000000000000000000..b9a88e8955344525a18141c6b10ca887b07d5ef9 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/system/controlDict @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v1806 s | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application snappyHexMesh; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 2000; + +deltaT 1; + +writeControl timeStep; + +writeInterval 100; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/system/decomposeParDict b/tutorials/mesh/snappyHexMesh/opposite_walls/system/decomposeParDict new file mode 100644 index 0000000000000000000000000000000000000000..edfa32d242e7c0ee32406153d47ca12f56b89435 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/system/decomposeParDict @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v1806 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 8; + +method hierarchical; + +coeffs +{ + n (2 2 2); + //delta 0.001; // default=0.001 + //order xyz; // default=xzy + dataFile "cellDecomposition"; +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/system/fvSchemes b/tutorials/mesh/snappyHexMesh/opposite_walls/system/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..8ef0651ea170f9a6308a9f948564b315776737ee --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/system/fvSchemes @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v1806 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + + div(phi,U) bounded Gauss upwind; + div(phi,T) bounded Gauss upwind; + div(phi,k) bounded Gauss upwind; + div(phi,epsilon) bounded Gauss upwind; + div(phi,R) bounded Gauss upwind; + div(R) Gauss linear; + div((nuEff*dev(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear limited corrected 0.333; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default limited corrected 0.333; +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/system/fvSolution b/tutorials/mesh/snappyHexMesh/opposite_walls/system/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..b8ea24dd90019cdaa866298c9dbbb61e9e57c375 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/system/fvSolution @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v1806 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + p_rgh + { + solver PCG; + preconditioner DIC; + tolerance 1e-08; + relTol 0.01; + } + + "(U|T|k|epsilon)" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-07; + relTol 0.1; + } +} + +SIMPLE +{ + nNonOrthogonalCorrectors 2; + pRefCell 0; + pRefValue 0; + + residualControl + { + p_rgh 1e-2; + U 1e-4; + T 1e-3; + + // possibly check turbulence fields + "(k|epsilon|omega)" 1e-3; + } +} + +relaxationFactors +{ + fields + { + p_rgh 0.7; + } + equations + { + U 0.2; + T 0.5; + "(k|epsilon)" 0.7; + } +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/system/meshQualityDict b/tutorials/mesh/snappyHexMesh/opposite_walls/system/meshQualityDict new file mode 100644 index 0000000000000000000000000000000000000000..f94681c006da542be44fe95a58ebe082ff601116 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/system/meshQualityDict @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v1806 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object meshQualityDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Include defaults parameters from master dictionary +#includeEtc "caseDicts/meshQualityDict" + + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/opposite_walls/system/snappyHexMeshDict b/tutorials/mesh/snappyHexMesh/opposite_walls/system/snappyHexMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..66ef0e1f46db221503a960f4bedb94e9989beb45 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/opposite_walls/system/snappyHexMeshDict @@ -0,0 +1,326 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v1806 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object snappyHexMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Which of the steps to run +castellatedMesh true; +snap true; +addLayers false; + + +// Geometry. Definition of all surfaces. All surfaces are of class +// searchableSurface. +// Surfaces are used +// - to specify refinement for any mesh cell intersecting it +// - to specify refinement for any mesh cell inside/outside/near +// - to 'snap' the mesh boundary to the surface +geometry +{ + gap0 + { + file "gap_transformed0.stl"; + type triSurfaceMesh; + } + gap1 + { + file "gap_transformed1.stl"; + type triSurfaceMesh; + } + all + { + type searchableBox; + min (-1000 -1000 -1000); + max (1000 1000 1000); + } +}; + + +// Settings for the castellatedMesh generation. +castellatedMeshControls +{ + + // Refinement parameters + // ~~~~~~~~~~~~~~~~~~~~~ + + // If local number of cells is >= maxLocalCells on any processor + // switches from from refinement followed by balancing + // (current method) to (weighted) balancing before refinement. + maxLocalCells 100000; + + // Overall cell limit (approximately). Refinement will stop immediately + // upon reaching this number so a refinement level might not complete. + // Note that this is the number of cells before removing the part which + // is not 'visible' from the keepPoint. The final number of cells might + // actually be a lot less. + maxGlobalCells 2000000; + + // The surface refinement loop might spend lots of iterations refining just a + // few cells. This setting will cause refinement to stop if <= minimumRefine + // are selected for refinement. Note: it will at least do one iteration + // (unless the number of cells to refine is 0) + minRefinementCells 0; + + // Number of buffer layers between different levels. + // 1 means normal 2:1 refinement restriction, larger means slower + // refinement. + nCellsBetweenLevels 1; + + + + // Explicit feature edge refinement + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + // Specifies a level for any cell intersected by its edges. + // This is a featureEdgeMesh, read from constant/triSurface for now. + features + ( + ); + + + + // Surface based refinement + // ~~~~~~~~~~~~~~~~~~~~~~~~ + + // Specifies two levels for every surface. The first is the minimum level, + // every cell intersecting a surface gets refined up to the minimum level. + // The second level is the maximum level. Cells that 'see' multiple + // intersections where the intersections make an + // angle > resolveFeatureAngle get refined up to the maximum level. + + refinementSurfaces + { + "gap.*" + { + // Surface-wise min and max refinement level + level (2 2); + // Additional refinement in tight gaps + //MEJ: only to trigger entering gap finding + //gapLevelIncrement 1; + + //MEJ: from cell level 2 onwards start checking for opposite + // surfaces + //gapLevel (1 2 10); + + //MEJ: from cell level 2 onwards start checking for opposite + // surfaces + blockLevel 2; + } + } + + // Resolve sharp angles + resolveFeatureAngle 60; + + + // Region-wise refinement + // ~~~~~~~~~~~~~~~~~~~~~~ + + // Specifies refinement level for cells in relation to a surface. One of + // three modes + // - distance. 'levels' specifies per distance to the surface the + // wanted refinement level. The distances need to be specified in + // descending order. + // - inside. 'levels' is only one entry and only the level is used. All + // cells inside the surface get refined up to the level. The surface + // needs to be closed for this to be possible. + // - outside. Same but cells outside. + + refinementRegions + { + all + { + mode inside; + + // Dummy base level + levels ((10000 0)); + + // If cells + // - have level 4..9 + // - and are in a gap < 3 cell sizes across + // - with the gap on the inside ('inside'), outside ('outside') + // or both ('mixed') of the surface + // refine them + gapLevel (100 100 100); + gapMode inside; + } + } + + + // Mesh selection + // ~~~~~~~~~~~~~~ + + // After refinement patches get added for all refinementSurfaces and + // all cells intersecting the surfaces get put into these patches. The + // section reachable from the locationInMesh is kept. + // NOTE: This point should never be on a face, always inside a cell, even + // after refinement. + locationInMesh (1.5 -0.6 2.1); + + + // Whether any faceZones (as specified in the refinementSurfaces) + // are only on the boundary of corresponding cellZones or also allow + // free-standing zone faces. Not used if there are no faceZones. + allowFreeStandingZoneFaces false; +} + + + +// Settings for the snapping. +snapControls +{ + //- Number of patch smoothing iterations before finding correspondence + // to surface + nSmoothPatch 3; + + //- Relative distance for points to be attracted by surface feature point + // or edge. True distance is this factor times local + // maximum edge length. + tolerance 2.0; + + //- Number of mesh displacement relaxation iterations. + nSolveIter 30; + + //- Maximum number of snapping relaxation iterations. Should stop + // before upon reaching a correct mesh. + nRelaxIter 5; + + + // Feature snapping + + //- Number of feature edge snapping iterations. + // Leave out altogether to disable. + nFeatureSnapIter 10; + + //- Detect (geometric) features by sampling the surface (default=false) + //implicitFeatureSnap true; + + //- Use castellatedMeshControls::features (default = true) + explicitFeatureSnap true; +} + + + +// Settings for the layer addition. +addLayersControls +{ + // Are the thickness parameters below relative to the undistorted + // size of the refined cell outside layer (true) or absolute sizes (false). + relativeSizes true; + + // Per final patch (so not geometry!) the layer information + layers + { + } + + // Expansion factor for layer mesh + expansionRatio 1.0; + + // Wanted thickness of final added cell layer. If multiple layers + // is the thickness of the layer furthest away from the wall. + // Relative to undistorted size of cell outside layer. + // is the thickness of the layer furthest away from the wall. + // See relativeSizes parameter. + finalLayerThickness 0.5; + + // Minimum thickness of cell layer. If for any reason layer + // cannot be above minThickness do not add layer. + // Relative to undistorted size of cell outside layer. + // See relativeSizes parameter. + minThickness 0.25; + + // If points get not extruded do nGrow layers of connected faces that are + // also not grown. This helps convergence of the layer addition process + // close to features. + // Note: changed(corrected) w.r.t 1.7.x! (didn't do anything in 1.7.x) + nGrow 0; + + + // Advanced settings + + // When not to extrude surface. 0 is flat surface, 90 is when two faces + // are perpendicular + featureAngle 60; + + // Maximum number of snapping relaxation iterations. Should stop + // before upon reaching a correct mesh. + nRelaxIter 5; + + // Number of smoothing iterations of surface normals + nSmoothSurfaceNormals 1; + + // Number of smoothing iterations of interior mesh movement direction + nSmoothNormals 3; + + // Smooth layer thickness over surface patches + nSmoothThickness 10; + + // Stop layer growth on highly warped cells + maxFaceThicknessRatio 0.5; + + // Reduce layer growth where ratio thickness to medial + // distance is large + maxThicknessToMedialRatio 0.3; + + // Angle used to pick up medial axis points + // Note: changed(corrected) w.r.t 16x! 90 degrees corresponds to 130 in 16x. + minMedianAxisAngle 90; + + // Create buffer region for new layer terminations + nBufferCellsNoExtrude 0; + + + // Overall max number of layer addition iterations. The mesher will exit + // if it reaches this number of iterations; possibly with an illegal + // mesh. + nLayerIter 50; +} + + + +// Generic mesh quality settings. At any undoable phase these determine +// where to undo. +meshQualityControls +{ + #include "meshQualityDict" + + // Advanced + + //- Number of error distribution iterations + nSmoothScale 4; + //- amount to scale back displacement at error points + errorReduction 0.75; +} + + +// Advanced + +// Merge tolerance. Is fraction of overall bounding box of initial mesh. +// Note: the write tolerance needs to be higher than this. +mergeTolerance 1e-6; + + +//// Debug flags +//debugFlags +//( +// mesh // write intermediate meshes +// attraction // write attraction as .obj files +//); +// +//// Write flags +//writeFlags +//( +// scalarLevels // write volScalarField with cellLevel for postprocessing +//); + +// ************************************************************************* //