mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Snappy hex mesh proximity check
This commit is contained in:
committed by
Andrew Heather
parent
a1999bc92c
commit
6c3f2f4df1
@ -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
|
||||
|
||||
@ -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 \
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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
|
||||
@ -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;}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
437
src/mesh/snappyHexMesh/meshRefinement/meshRefinementBlock.C
Normal file
437
src/mesh/snappyHexMesh/meshRefinement/meshRefinementBlock.C
Normal file
@ -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
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
(
|
||||
|
||||
@ -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
|
||||
(
|
||||
|
||||
@ -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))
|
||||
{
|
||||
|
||||
@ -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()
|
||||
|
||||
// ************************************************************************* //
|
||||
7
tutorials/mesh/snappyHexMesh/opposite_walls/Allclean
Executable file
7
tutorials/mesh/snappyHexMesh/opposite_walls/Allclean
Executable file
@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
. $WM_PROJECT_DIR/bin/tools/CleanFunctions # Tutorial clean functions
|
||||
|
||||
cleanCase
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
15
tutorials/mesh/snappyHexMesh/opposite_walls/Allrun
Executable file
15
tutorials/mesh/snappyHexMesh/opposite_walls/Allrun
Executable file
@ -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
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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";
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
57
tutorials/mesh/snappyHexMesh/opposite_walls/system/fvSchemes
Normal file
57
tutorials/mesh/snappyHexMesh/opposite_walls/system/fvSchemes
Normal file
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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"
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
//);
|
||||
|
||||
// ************************************************************************* //
|
||||
Reference in New Issue
Block a user