foamyHexMesh, foamyQuadMesh: Removed pending funding for further development and maintenance

This commit is contained in:
Henry Weller
2023-01-06 22:23:59 +00:00
parent f16e60c517
commit 9e51bb48ce
288 changed files with 27 additions and 290178 deletions

View File

@ -1,35 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Any cases that are links to solver test cases and are run when the Allrun
# scripts of those solvers are run. This script avoids meshing these cases
# twice.
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
if [ -n "$FOAMY_HEX_MESH" ]
then
(
cd blob || exit
./Allrun $*
)
(
cd flange || exit
./Allrun $*
)
(
cd simpleShapes || exit
./Allrun $*
)
if ! isTest $@
then
(
cd mixerVessel || exit
./Allrun $*
)
fi
fi
#------------------------------------------------------------------------------

View File

@ -1,24 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
rm -rf 0
rm -f constant/cellAlignments
rm -f constant/targetCellSize
rm -f constant/internalDelaunayVertices
for f in points faces owner neighbour boundary
do
rm -f constant/backgroundMeshDecomposition/polyMesh/$f
done
rm -f snapToSurface?.obj
rm -f tetsToSnapTo.obj
#------------------------------------------------------------------------------

View File

@ -1,18 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication foamyHexMesh
runApplication -s collapseFaces \
collapseEdges -latestTime -collapseFaces
runApplication -s collapseFaceSet \
collapseEdges -latestTime -collapseFaceSet indirectPatchFaces
runApplication checkMesh -latestTime -allGeometry -allTopology
#------------------------------------------------------------------------------

View File

@ -1,23 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication blockMesh -region backgroundMeshDecomposition
runApplication decomposePar -region backgroundMeshDecomposition
runParallel foamyHexMesh
runParallel -s collapseFaces \
collapseEdges -latestTime -collapseFaces
runParallel -s collapseFaceSet \
collapseEdges -latestTime -collapseFaceSet indirectPatchFaces
runParallel checkMesh -latestTime -allTopology -allGeometry
runApplication reconstructPar -latestTime
#------------------------------------------------------------------------------

View File

@ -1,61 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1.0;
xmin -1.3;
xmax 0.65;
ymin -1.1;
ymax 0.8;
zmin -1.4;
zmax 0.55;
vertices
(
($xmin $ymin $zmin)
($xmax $ymin $zmin)
($xmax $ymax $zmin)
($xmin $ymax $zmin)
($xmin $ymin $zmax)
($xmax $ymin $zmax)
($xmax $ymax $zmax)
($xmin $ymax $zmax)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (11 11 9) simpleGrading (1 1 1)
);
boundary
(
walls
{
type wall;
faces
(
(3 7 6 2)
(0 4 7 3)
(2 6 5 1)
(1 5 4 0)
(0 3 2 1)
(4 5 6 7)
);
}
);
// ************************************************************************* //

View File

@ -1,83 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object collapseDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
controlMeshQuality on;
collapseEdgesCoeffs
{
// Edges shorter than this absolute value will be merged
minimumEdgeLength 1e-6;
// The maximum angle between two edges that share a point attached to
// no other edges
maximumMergeAngle 180;
}
collapseFacesCoeffs
{
// The initial face length factor
initialFaceLengthFactor 0.5;
// If the face can't be collapsed to an edge, and it has a span less than
// the target face length multiplied by this coefficient, collapse it
// to a point.
maxCollapseFaceToPointSideLengthCoeff 0.3;
// Allow early collapse of edges to a point
allowEarlyCollapseToPoint on;
// Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if
// allowEarlyCollapseToPoint is enabled
allowEarlyCollapseCoeff 0.2;
// Defining how close to the midpoint (M) of the projected
// vertices line a projected vertex (X) can be before making this
// an invalid edge collapse
//
// X---X-g----------------M----X-----------g----X--X
//
// Only allow a collapse if all projected vertices are outwith
// guardFraction (g) of the distance form the face centre to the
// furthest vertex in the considered direction
guardFraction 0.1;
}
controlMeshQualityCoeffs
{
// Name of the dictionary that has the mesh quality coefficients used
// by motionSmoother::checkMesh
#include "meshQualityDict"
// The amount that minimumEdgeLength will be reduced by for each
// edge if that edge's collapse generates a poor quality face
edgeReductionFactor 0.5;
// The amount that initialFaceLengthFactor will be reduced by for each
// face if its collapse generates a poor quality face
faceReductionFactor 0.5;
// Maximum number of smoothing iterations for the reductionFactors
maximumSmoothingIterations 2;
// Maximum number of outer iterations is mesh quality checking is enabled
maximumIterations 10;
// Maximum number of iterations deletion of a point can cause a bad face
// to be constructed before it is forced to not be deleted
maxPointErrorCount 3;
}
// ************************************************************************* //

View File

@ -1,52 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 80;
deltaT 1;
writeControl timeStep;
writeInterval 80;
purgeWrite 0;
writeFormat ascii;
writePrecision 12;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// ************************************************************************* //

View File

@ -1,22 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 2;
method scotch;
// ************************************************************************* //

View File

@ -1,124 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object foamyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Include defaults parameters from master dictionary
#includeEtc "caseDicts/mesh/generation/foamyHexMeshDict"
geometry
{
blob.stl
{
name blob;
type triSurfaceMesh;
}
refinementBox
{
type searchableBox;
min (-0.2 -0.6 -0.2);
max ( 0.4 0.2 0.35);
}
}
backgroundMeshDecomposition
{
minLevels 0;
sampleResolution 4;
spanScale 20;
maxCellWeightCoeff 20;
}
initialPoints
{
initialPointsMethod autoDensity;
// initialPointsMethod pointFile;
autoDensityCoeffs
{
minLevels 0;
maxSizeRatio 5.0;
sampleResolution 5;
surfaceSampleResolution 5;
}
pointFileCoeffs
{
pointFile "constant/internalDelaunayVertices";
}
}
surfaceConformation
{
insidePoint (0.1 0.1 0.2);
featurePointControls
{
specialiseFeaturePoints off;
edgeAiming off;
guardFeaturePoints off;
snapFeaturePoints off;
circulateEdges off;
}
geometryToConformTo
{
blob
{
featureMethod none;
}
}
}
motionControl
{
defaultCellSize 0.1;
minimumCellSizeCoeff 0;
maxSmoothingIterations 100;
maxRefinementIterations 0;
shapeControlFunctions
{
blob
{
type searchableSurfaceControl;
priority 1;
mode bothSides;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 1;
}
cellSizeFunction uniform;
uniformCoeffs
{}
}
}
objOutput no;
timeChecks no;
}
meshQualityControls
{
#include "meshQualityDict"
}
// ************************************************************************* //

View File

@ -1,58 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object meshQualityDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//- Maximum non-orthogonality allowed. Set to 180 to disable.
maxNonOrtho 65;
//- Max skewness allowed. Set to <0 to disable.
maxBoundarySkewness 50;
maxInternalSkewness 10;
//- Max concaveness allowed. Is angle (in degrees) below which concavity
// is allowed. 0 is straight face, <0 would be convex face.
// Set to 180 to disable.
maxConcave 80;
//- Minimum quality of the tet formed by the face-centre
// and variable base point minimum decomposition triangles and
// the cell centre. This has to be a positive number for tracking
// to work. Set to very negative number (e.g. -1e30) to
// disable.
// <0 = inside out tet,
// 0 = flat tet
// 1 = regular tet
minTetQuality 1e-30;
//- Minimum cell pyramid volume relative to min bounding box length^3
// Set to a fraction of the smallest cell volume expected.
// Set to very negative number (e.g. -1e30) to disable.
minVol -1e30;
//- Minimum face twist. Set to <-1 to disable. dot product of face normal
// and face centre triangles normal
minTwist 0.001;
//- Minimum normalised cell determinant
// 1 = hex, <= 0 = folded or flattened illegal cell
minDeterminant 0.001;
//- minFaceWeight (0 -> 0.5)
minFaceWeight 0.02;
//- minVolRatio (0 -> 1)
minVolRatio 0.01;
// ************************************************************************* //

View File

@ -1,277 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Which of the steps to run
castellatedMesh false;
snap false;
addLayers true;
// 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
{
// motorBike
// {
// type triSurfaceMesh;
// file "motorBike.obj";
// }
//
// refinementBox
// {
// type searchableBox;
// min (-1.0 -0.7 0.0);
// max ( 8.0 0.7 2.5);
// }
};
// 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 10;
// Allow a certain level of imbalance during refining
// (since balancing is quite expensive)
// Expressed as fraction of perfect balance (= overall number of cells /
// nProcs). 0=balance always.
maxLoadUnbalance 0.10;
// Number of buffer layers between different levels.
// 1 means normal 2:1 refinement restriction, larger means slower
// refinement.
nCellsBetweenLevels 3;
// Explicit feature edge refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Specifies a level for any cell intersected by its edges.
// This is a featureEdgeMesh, read from constant/geometry for now.
features
(
//{
// file "someLine.eMesh";
// level 2;
//}
);
// 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
{
// motorBike
// {
// // Surface-wise min and max refinement level
// level (5 6);
//
// // Optional specification of patch type (default is wall). No
// // constraint types (cyclic, symmetry) etc. are allowed.
// patchInfo
// {
// type wall;
// inGroups (motorBike);
// }
// }
}
// Resolve sharp angles
resolveFeatureAngle 30;
// 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 insidePoint is kept.
// NOTE: This point should never be on a face, always inside a cell, even
// after refinement.
insidePoint (-1 0 0);
// 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 true;
}
// 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 4.0;
//- Number of mesh displacement relaxation iterations.
nSolveIter 0;
//- Maximum number of snapping relaxation iterations. Should stop
// before upon reaching a correct mesh.
nRelaxIter 5;
//- Highly experimental and wip: number of feature edge snapping
// iterations. Leave out altogether to disable.
// Do not use here since mesh resolution too low and baffles present
// nFeatureSnapIter 10;
}
// 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 false;
// Per final patch (so not geometry!) the layer information
layers
{
blob.stl_patch1
{
nSurfaceLayers 4;
}
}
// Expansion factor for layer mesh
expansionRatio 1.5;
// 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.
// See relativeSizes parameter.
finalLayerThickness 0.02;
// 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.
minThickness 0.005;
// 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 17x! (didn't do anything in 17x)
nGrow 0;
// Advanced settings
// When not to extrude surface. 0 is flat surface, 90 is when two faces
// are perpendicular
featureAngle 90;
// Maximum number of snapping relaxation iterations. Should stop
// before upon reaching a correct mesh.
nRelaxIter 3;
// 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 1000;
// 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 17x! 90 degrees corresponds to 130 in 17x.
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;
// ************************************************************************* //

View File

@ -1,121 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name z;
type cellSet;
action new;
source boxToCell;
box (-100 -100 -0.2)(100 100 100);
}
{
name zf;
type faceSet;
action new;
source cellToFace;
set z;
option all;
}
{
name z;
type cellSet;
action invert;
}
{
name zf;
type faceSet;
action subset;
source cellToFace;
set z;
option all;
}
// ~~~~~~~~~~~~~~~~ //
{
name x;
type cellSet;
action new;
source boxToCell;
box (-0.32 -100 -100)(100 100 100);
}
{
name xf;
type faceSet;
action new;
source cellToFace;
set x;
option all;
}
{
name x;
type cellSet;
action invert;
}
{
name xf;
type faceSet;
action subset;
source cellToFace;
set x;
option all;
}
// ~~~~~~~~~~~~~~~~ //
{
name sp;
type cellSet;
action new;
source sphereToCell;
centre (-0.3 -0.3 -0.3);
radius 0.4;
}
{
name spf;
type faceSet;
action new;
source cellToFace;
set sp;
option all;
}
{
name sp;
type cellSet;
action invert;
}
{
name spf;
type faceSet;
action subset;
source cellToFace;
set sp;
option all;
}
);
// ************************************************************************* //

View File

@ -1,23 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
rm -f constant/geometry/flange.stl.gz
rm -f constant/ccx constant/ccy constant/ccz
rm -f constant/internalDelaunayVertices constant/targetCellSize
rm -rf 0
for f in points faces owner neighbour boundary
do
rm -f constant/backgroundMeshDecomposition/polyMesh/$f
done
rm -rf *.obj
cleanCase
cleanExplicitFeatures
#------------------------------------------------------------------------------

View File

@ -1,21 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# copy flange surface from resources directory
cp $FOAM_TUTORIALS/resources/geometry/flange.stl.gz constant/geometry/
runApplication foamyHexMesh
runApplication -s collapseFaces \
collapseEdges -latestTime -collapseFaces
runApplication -s collapseFaceSet \
collapseEdges -latestTime -collapseFaceSet indirectPatchFaces
runApplication checkMesh -latestTime -allGeometry -allTopology
#------------------------------------------------------------------------------

View File

@ -1,27 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# copy flange surface from resources directory
cp $FOAM_TUTORIALS/resources/geometry/flange.stl.gz constant/geometry/
# Create tight-fitting background mesh
runApplication blockMesh -region backgroundMeshDecomposition
runApplication decomposePar -region backgroundMeshDecomposition
runParallel foamyHexMesh
runParallel -s collapseFaces \
collapseEdges -latestTime -collapseFaces
runParallel -s collapseFaceSet \
collapseEdges -latestTime -collapseFaceSet indirectPatchFaces
runParallel checkMesh -latestTime -allTopology -allGeometry
runApplication reconstructPar -latestTime
#------------------------------------------------------------------------------

View File

@ -1,4 +0,0 @@
Directory to house tri-surfaces
The Allrun script copies the surface from the $FOAM_TUTORIALS/resources/geometry
directory

View File

@ -1,61 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1.0;
xmin -0.0265;
xmax 0.0265;
ymin -0.028;
ymax 0.023;
zmin -0.024;
zmax 0.01;
vertices
(
($xmin $ymin $zmin)
($xmax $ymin $zmin)
($xmax $ymax $zmin)
($xmin $ymax $zmin)
($xmin $ymin $zmax)
($xmax $ymin $zmax)
($xmax $ymax $zmax)
($xmin $ymax $zmax)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (5 6 3) simpleGrading (1 1 1)
);
boundary
(
walls
{
type wall;
faces
(
(3 7 6 2)
(0 4 7 3)
(2 6 5 1)
(1 5 4 0)
(0 3 2 1)
(4 5 6 7)
);
}
);
// ************************************************************************* //

View File

@ -1,83 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object collapseDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
controlMeshQuality on;
collapseEdgesCoeffs
{
// Edges shorter than this absolute value will be merged
minimumEdgeLength 1e-6;
// The maximum angle between two edges that share a point attached to
// no other edges
maximumMergeAngle 180;
}
collapseFacesCoeffs
{
// The initial face length factor
initialFaceLengthFactor 0.5;
// If the face can't be collapsed to an edge, and it has a span less than
// the target face length multiplied by this coefficient, collapse it
// to a point.
maxCollapseFaceToPointSideLengthCoeff 0.3;
// Allow early collapse of edges to a point
allowEarlyCollapseToPoint on;
// Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if
// allowEarlyCollapseToPoint is enabled
allowEarlyCollapseCoeff 0.2;
// Defining how close to the midpoint (M) of the projected
// vertices line a projected vertex (X) can be before making this
// an invalid edge collapse
//
// X---X-g----------------M----X-----------g----X--X
//
// Only allow a collapse if all projected vertices are outwith
// guardFraction (g) of the distance form the face centre to the
// furthest vertex in the considered direction
guardFraction 0.1;
}
controlMeshQualityCoeffs
{
// Name of the dictionary that has the mesh quality coefficients used
// by motionSmoother::checkMesh
#include "meshQualityDict"
// The amount that minimumEdgeLength will be reduced by for each
// edge if that edge's collapse generates a poor quality face
edgeReductionFactor 0.5;
// The amount that initialFaceLengthFactor will be reduced by for each
// face if its collapse generates a poor quality face
faceReductionFactor 0.5;
// Maximum number of smoothing iterations for the reductionFactors
maximumSmoothingIterations 2;
// Maximum number of outer iterations is mesh quality checking is enabled
maximumIterations 10;
// Maximum number of iterations deletion of a point can cause a bad face
// to be constructed before it is forced to not be deleted
maxPointErrorCount 3;
}
// ************************************************************************* //

View File

@ -1,57 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application foamyHexMesh;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 100;
deltaT 1;
writeControl timeStep;
writeInterval 100;
purgeWrite 0;
writeFormat ascii;
writePrecision 10;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
libs ("libdistributed.so");
// ************************************************************************* //

View File

@ -1,43 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 8;
//method scotch;
method hierarchical;
simpleCoeffs
{
n (2 2 2);
}
hierarchicalCoeffs
{
n (2 2 2);
order xyz;
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots ( );
// ************************************************************************* //

View File

@ -1,171 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object foamyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Include defaults parameters from master dictionary
#includeEtc "caseDicts/mesh/generation/foamyHexMeshDict"
// Any scalar with a name <name>Coeff specifies a value that will be implemented
// as a faction of the target cell size
geometry
{
#include "meshDict.geometry"
}
initialPoints
{
initialPointsMethod autoDensity;
autoDensityCoeffs
{
minLevels 2;
maxSizeRatio 3.0;
sampleResolution 4;
surfaceSampleResolution 5;
}
}
surfaceConformation
{
insidePoint (0 0 0);
geometryToConformTo
{
flange
{
featureMethod extractFeatures;
includedAngle 140;
regions
{
patch1
{
patchInfo
{
type wall;
inGroups (groupFlange groupWalls);
}
}
patch2
{
patchInfo
{
type wall;
inGroups (groupFlange groupWalls);
}
}
patch3
{
patchInfo
{
type wall;
inGroups (groupFlange);
}
}
patch4
{
patchInfo
{
type patch;
inGroups (groupFlange);
}
}
}
}
}
}
motionControl
{
defaultCellSize 0.0008;
minimumCellSizeCoeff 0;
maxSmoothingIterations 100;
maxRefinementIterations 0;
shapeControlFunctions
{
flange
{
type searchableSurfaceControl;
priority 1;
mode inside;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 1;
}
cellSizeFunction surfaceOffsetLinearDistance;
surfaceOffsetLinearDistanceCoeffs
{
distanceCellSizeCoeff 1;
surfaceOffsetCoeff 2.5;
linearDistanceCoeff 2.5;
}
regions
{
patch3
{
type searchableSurfaceControl;
priority 2;
mode inside;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 0.25;
}
cellSizeFunction surfaceOffsetLinearDistance;
surfaceOffsetLinearDistanceCoeffs
{
distanceCellSizeCoeff 1;
surfaceOffsetCoeff 2;
linearDistanceCoeff 2;
}
}
}
}
}
adaptiveLinearCoeffs
{
relaxationStart 1.0;
relaxationEnd 0.0;
}
objOutput no;
timeChecks no;
}
backgroundMeshDecomposition
{
minLevels 1;
sampleResolution 4;
spanScale 5;
maxCellWeightCoeff 10;
}
meshQualityControls
{
#include "meshQualityDict"
}
// ************************************************************************* //

View File

@ -1,46 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object meshDict.geometry;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
flange.stl
{
name flange;
type triSurfaceMesh;
regions
{
patch1
{
name wall;
}
patch2
{
name plate;
}
patch3
{
name rings;
}
patch4
{
name outlet;
}
}
}
// ************************************************************************* //

View File

@ -1,58 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object meshQualityDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//- Maximum non-orthogonality allowed. Set to 180 to disable.
maxNonOrtho 45;
//- Max skewness allowed. Set to <0 to disable.
maxBoundarySkewness 50;
maxInternalSkewness 10;
//- Max concaveness allowed. Is angle (in degrees) below which concavity
// is allowed. 0 is straight face, <0 would be convex face.
// Set to 180 to disable.
maxConcave 80;
//- Minimum quality of the tet formed by the face-centre
// and variable base point minimum decomposition triangles and
// the cell centre. This has to be a positive number for tracking
// to work. Set to very negative number (e.g. -1e30) to
// disable.
// <0 = inside out tet,
// 0 = flat tet
// 1 = regular tet
minTetQuality 1e-30;
//- Minimum cell pyramid volume relative to min bounding box length^3
// Set to a fraction of the smallest cell volume expected.
// Set to very negative number (e.g. -1e30) to disable.
minVol 0;
//- Minimum face twist. Set to <-1 to disable. dot product of face normal
// and face centre triangles normal
minTwist 0.001;
//- Minimum normalised cell determinant
// 1 = hex, <= 0 = folded or flattened illegal cell
minDeterminant 0.001;
//- minFaceWeight (0 -> 0.5)
minFaceWeight 0.02;
//- minVolRatio (0 -> 1)
minVolRatio 0.01;
// ************************************************************************* //

View File

@ -1,21 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
rm -rf constant/internalDelaunayVertices
rm -f constant/geometry/*_orient*
rm -rf constant/polyMesh
rm -rf constant/tetDualMesh
rm -f snapToSurface?.obj tetsToSnapTo.obj
rm -f domain coneAndSphere
rm -rf 0
cleanCase
cleanExplicitFeatures
#------------------------------------------------------------------------------

View File

@ -1,32 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication -s cone \
surfaceOrient constant/geometry/cone.stl \
constant/geometry/cone_orient.stl \
-inside '(0 -0.5 0)'
runApplication -s sphere \
surfaceOrient constant/geometry/sphere.stl \
constant/geometry/sphere_orient.stl \
-inside '(0 -0.5 0)'
runApplication \
surfaceBooleanFeatures \
constant/geometry/cone_orient.stl \
constant/geometry/sphere_orient.stl \
intersection
runApplication foamyHexMesh
runApplication -s collapseFaceSet \
collapseEdges -latestTime -collapseFaceSet indirectPatchFaces
runApplication -s collapseFaces \
collapseEdges -latestTime -collapseFaces
#------------------------------------------------------------------------------

View File

@ -1,828 +0,0 @@
solid ascii
facet normal -1 0 0
outer loop
vertex -0.5 0.475528 -0.154509
vertex -0.5 0.456773 -0.203368
vertex -0.5 0.489074 -0.103956
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.489074 -0.103956
vertex -0.5 0.456773 -0.203368
vertex -0.5 0.497261 -0.0522642
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.497261 -0.0522642
vertex -0.5 0.456773 -0.203368
vertex -0.5 0.5 0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.5 0
vertex -0.5 0.456773 -0.203368
vertex -0.5 0.497261 0.0522642
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.497261 0.0522642
vertex -0.5 0.456773 -0.203368
vertex -0.5 0.489074 0.103956
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.489074 0.103956
vertex -0.5 0.456773 -0.203368
vertex -0.5 0.475528 0.154509
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.475528 0.154509
vertex -0.5 0.456773 -0.203368
vertex -0.5 0.456773 0.203368
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.456773 0.203368
vertex -0.5 0.456773 -0.203368
vertex -0.5 0.433013 0.25
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.456773 -0.203368
vertex -0.5 0.433013 -0.25
vertex -0.5 0.433013 0.25
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.433013 0.25
vertex -0.5 0.433013 -0.25
vertex -0.5 0.404509 0.293893
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.404509 0.293893
vertex -0.5 0.433013 -0.25
vertex -0.5 0.371572 0.334565
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.433013 -0.25
vertex -0.5 0.404509 -0.293893
vertex -0.5 0.371572 0.334565
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.404509 -0.293893
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.371572 0.334565
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.371572 0.334565
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.334565 0.371572
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.334565 0.371572
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.293893 0.404509
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.293893 0.404509
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.25 0.433013
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.25 0.433013
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.203368 0.456773
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.203368 0.456773
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.154509 0.475528
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.154509 0.475528
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.103956 0.489074
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.103956 0.489074
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.0522642 0.497261
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.0522642 0.497261
vertex -0.5 0.371572 -0.334565
vertex -0.5 -1.02552e-10 0.5
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -1.02552e-10 0.5
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.0522642 0.497261
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.0522642 0.497261
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.103956 0.489074
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.103956 0.489074
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.154509 0.475528
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.154509 0.475528
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.203368 0.456773
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.203368 0.456773
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.25 0.433013
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.25 0.433013
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.293893 0.404509
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.293893 0.404509
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.334565 0.371572
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.334565 0.371572
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.371572 0.334565
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.371572 0.334565
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.404509 0.293893
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.404509 0.293893
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.433013 0.25
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.433013 0.25
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.456773 0.203368
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.456773 0.203368
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.475528 0.154509
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.475528 0.154509
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.489074 0.103956
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.489074 0.103956
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.497261 0.0522642
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.497261 0.0522642
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.5 -2.05103e-10
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.5 -2.05103e-10
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.497261 -0.0522642
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.497261 -0.0522642
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.489074 -0.103956
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.489074 -0.103956
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.475528 -0.154509
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.475528 -0.154509
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.456773 -0.203368
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.456773 -0.203368
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.433013 -0.25
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.433013 -0.25
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.404509 -0.293893
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.404509 -0.293893
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.371572 -0.334565
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -0.5 -0.371572 -0.334565
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.334565 -0.371572
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.334565 -0.371572
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.293893 -0.404509
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.293893 -0.404509
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.25 -0.433013
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.25 -0.433013
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.203368 -0.456773
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.203368 -0.456773
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.154509 -0.475528
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.154509 -0.475528
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.103956 -0.489074
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.103956 -0.489074
vertex -0.5 0.371572 -0.334565
vertex -0.5 -0.0522642 -0.497261
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 -0.0522642 -0.497261
vertex -0.5 0.371572 -0.334565
vertex -0.5 3.07655e-10 -0.5
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 3.07655e-10 -0.5
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.0522642 -0.497261
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.0522642 -0.497261
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.103956 -0.489074
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.103956 -0.489074
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.154509 -0.475528
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.334565 -0.371572
vertex -0.5 0.154509 -0.475528
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -0.5 0.334565 -0.371572
vertex -0.5 0.293893 -0.404509
vertex -0.5 0.154509 -0.475528
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -0.5 0.293893 -0.404509
vertex -0.5 0.25 -0.433013
vertex -0.5 0.154509 -0.475528
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.5 0.203368 -0.456773
vertex -0.5 0.154509 -0.475528
vertex -0.5 0.25 -0.433013
endloop
endfacet
facet normal 0.446723 0.893446 0.0468234
outer loop
vertex 0.5 0 0
vertex -0.5 0.5 0
vertex -0.5 0.497261 0.0522642
endloop
endfacet
facet normal 0.446723 0.883657 0.139958
outer loop
vertex 0.5 0 0
vertex -0.5 0.497261 0.0522642
vertex -0.5 0.489074 0.103956
endloop
endfacet
facet normal 0.446723 0.864187 0.231558
outer loop
vertex 0.5 0 0
vertex -0.5 0.489074 0.103956
vertex -0.5 0.475528 0.154509
endloop
endfacet
facet normal 0.446723 0.835248 0.320622
outer loop
vertex 0.5 0 0
vertex -0.5 0.475528 0.154509
vertex -0.5 0.456773 0.203368
endloop
endfacet
facet normal 0.446723 0.797159 0.406173
outer loop
vertex 0.5 0 0
vertex -0.5 0.456773 0.203368
vertex -0.5 0.433013 0.25
endloop
endfacet
facet normal 0.446723 0.750335 0.487273
outer loop
vertex 0.5 0 0
vertex -0.5 0.433013 0.25
vertex -0.5 0.404509 0.293893
endloop
endfacet
facet normal 0.446723 0.695291 0.563036
outer loop
vertex 0.5 0 0
vertex -0.5 0.404509 0.293893
vertex -0.5 0.371572 0.334565
endloop
endfacet
facet normal 0.446723 0.632629 0.632629
outer loop
vertex 0.5 0 0
vertex -0.5 0.371572 0.334565
vertex -0.5 0.334565 0.371572
endloop
endfacet
facet normal 0.446723 0.563036 0.695291
outer loop
vertex 0.5 0 0
vertex -0.5 0.334565 0.371572
vertex -0.5 0.293893 0.404509
endloop
endfacet
facet normal 0.446723 0.487273 0.750335
outer loop
vertex 0.5 0 0
vertex -0.5 0.293893 0.404509
vertex -0.5 0.25 0.433013
endloop
endfacet
facet normal 0.446723 0.406173 0.797159
outer loop
vertex 0.5 0 0
vertex -0.5 0.25 0.433013
vertex -0.5 0.203368 0.456773
endloop
endfacet
facet normal 0.446723 0.320622 0.835248
outer loop
vertex 0.5 0 0
vertex -0.5 0.203368 0.456773
vertex -0.5 0.154509 0.475528
endloop
endfacet
facet normal 0.446723 0.231558 0.864187
outer loop
vertex 0.5 0 0
vertex -0.5 0.154509 0.475528
vertex -0.5 0.103956 0.489074
endloop
endfacet
facet normal 0.446723 0.139958 0.883657
outer loop
vertex 0.5 0 0
vertex -0.5 0.103956 0.489074
vertex -0.5 0.0522642 0.497261
endloop
endfacet
facet normal 0.446723 0.0468234 0.893446
outer loop
vertex 0.5 0 0
vertex -0.5 0.0522642 0.497261
vertex -0.5 -1.02552e-10 0.5
endloop
endfacet
facet normal 0.446723 -0.0468234 0.893446
outer loop
vertex 0.5 0 0
vertex -0.5 -1.02552e-10 0.5
vertex -0.5 -0.0522642 0.497261
endloop
endfacet
facet normal 0.446723 -0.139958 0.883657
outer loop
vertex 0.5 0 0
vertex -0.5 -0.0522642 0.497261
vertex -0.5 -0.103956 0.489074
endloop
endfacet
facet normal 0.446723 -0.231558 0.864187
outer loop
vertex 0.5 0 0
vertex -0.5 -0.103956 0.489074
vertex -0.5 -0.154509 0.475528
endloop
endfacet
facet normal 0.446723 -0.320622 0.835248
outer loop
vertex 0.5 0 0
vertex -0.5 -0.154509 0.475528
vertex -0.5 -0.203368 0.456773
endloop
endfacet
facet normal 0.446723 -0.406173 0.797159
outer loop
vertex 0.5 0 0
vertex -0.5 -0.203368 0.456773
vertex -0.5 -0.25 0.433013
endloop
endfacet
facet normal 0.446723 -0.487273 0.750335
outer loop
vertex 0.5 0 0
vertex -0.5 -0.25 0.433013
vertex -0.5 -0.293893 0.404509
endloop
endfacet
facet normal 0.446723 -0.563036 0.695291
outer loop
vertex 0.5 0 0
vertex -0.5 -0.293893 0.404509
vertex -0.5 -0.334565 0.371572
endloop
endfacet
facet normal 0.446723 -0.632629 0.632629
outer loop
vertex 0.5 0 0
vertex -0.5 -0.334565 0.371572
vertex -0.5 -0.371572 0.334565
endloop
endfacet
facet normal 0.446723 -0.695291 0.563036
outer loop
vertex 0.5 0 0
vertex -0.5 -0.371572 0.334565
vertex -0.5 -0.404509 0.293893
endloop
endfacet
facet normal 0.446723 -0.750335 0.487273
outer loop
vertex 0.5 0 0
vertex -0.5 -0.404509 0.293893
vertex -0.5 -0.433013 0.25
endloop
endfacet
facet normal 0.446723 -0.797159 0.406173
outer loop
vertex 0.5 0 0
vertex -0.5 -0.433013 0.25
vertex -0.5 -0.456773 0.203368
endloop
endfacet
facet normal 0.446723 -0.835248 0.320622
outer loop
vertex 0.5 0 0
vertex -0.5 -0.456773 0.203368
vertex -0.5 -0.475528 0.154509
endloop
endfacet
facet normal 0.446723 -0.864187 0.231558
outer loop
vertex 0.5 0 0
vertex -0.5 -0.475528 0.154509
vertex -0.5 -0.489074 0.103956
endloop
endfacet
facet normal 0.446723 -0.883657 0.139958
outer loop
vertex 0.5 0 0
vertex -0.5 -0.489074 0.103956
vertex -0.5 -0.497261 0.0522642
endloop
endfacet
facet normal 0.446723 -0.893446 0.0468234
outer loop
vertex 0.5 0 0
vertex -0.5 -0.497261 0.0522642
vertex -0.5 -0.5 -2.05103e-10
endloop
endfacet
facet normal 0.446723 -0.893446 -0.0468234
outer loop
vertex 0.5 0 0
vertex -0.5 -0.5 -2.05103e-10
vertex -0.5 -0.497261 -0.0522642
endloop
endfacet
facet normal 0.446723 -0.883657 -0.139958
outer loop
vertex 0.5 0 0
vertex -0.5 -0.497261 -0.0522642
vertex -0.5 -0.489074 -0.103956
endloop
endfacet
facet normal 0.446723 -0.864187 -0.231558
outer loop
vertex 0.5 0 0
vertex -0.5 -0.489074 -0.103956
vertex -0.5 -0.475528 -0.154509
endloop
endfacet
facet normal 0.446723 -0.835248 -0.320622
outer loop
vertex 0.5 0 0
vertex -0.5 -0.475528 -0.154509
vertex -0.5 -0.456773 -0.203368
endloop
endfacet
facet normal 0.446723 -0.797159 -0.406173
outer loop
vertex 0.5 0 0
vertex -0.5 -0.456773 -0.203368
vertex -0.5 -0.433013 -0.25
endloop
endfacet
facet normal 0.446723 -0.750335 -0.487273
outer loop
vertex 0.5 0 0
vertex -0.5 -0.433013 -0.25
vertex -0.5 -0.404509 -0.293893
endloop
endfacet
facet normal 0.446723 -0.695291 -0.563036
outer loop
vertex 0.5 0 0
vertex -0.5 -0.404509 -0.293893
vertex -0.5 -0.371572 -0.334565
endloop
endfacet
facet normal 0.446723 -0.632629 -0.632629
outer loop
vertex 0.5 0 0
vertex -0.5 -0.371572 -0.334565
vertex -0.5 -0.334565 -0.371572
endloop
endfacet
facet normal 0.446723 -0.563036 -0.695291
outer loop
vertex 0.5 0 0
vertex -0.5 -0.334565 -0.371572
vertex -0.5 -0.293893 -0.404509
endloop
endfacet
facet normal 0.446723 -0.487273 -0.750335
outer loop
vertex 0.5 0 0
vertex -0.5 -0.293893 -0.404509
vertex -0.5 -0.25 -0.433013
endloop
endfacet
facet normal 0.446723 -0.406173 -0.797159
outer loop
vertex 0.5 0 0
vertex -0.5 -0.25 -0.433013
vertex -0.5 -0.203368 -0.456773
endloop
endfacet
facet normal 0.446723 -0.320622 -0.835248
outer loop
vertex 0.5 0 0
vertex -0.5 -0.203368 -0.456773
vertex -0.5 -0.154509 -0.475528
endloop
endfacet
facet normal 0.446723 -0.231558 -0.864187
outer loop
vertex 0.5 0 0
vertex -0.5 -0.154509 -0.475528
vertex -0.5 -0.103956 -0.489074
endloop
endfacet
facet normal 0.446723 -0.139958 -0.883657
outer loop
vertex 0.5 0 0
vertex -0.5 -0.103956 -0.489074
vertex -0.5 -0.0522642 -0.497261
endloop
endfacet
facet normal 0.446723 -0.0468234 -0.893446
outer loop
vertex 0.5 0 0
vertex -0.5 -0.0522642 -0.497261
vertex -0.5 3.07655e-10 -0.5
endloop
endfacet
facet normal 0.446723 0.0468234 -0.893446
outer loop
vertex 0.5 0 0
vertex -0.5 3.07655e-10 -0.5
vertex -0.5 0.0522642 -0.497261
endloop
endfacet
facet normal 0.446723 0.139958 -0.883657
outer loop
vertex 0.5 0 0
vertex -0.5 0.0522642 -0.497261
vertex -0.5 0.103956 -0.489074
endloop
endfacet
facet normal 0.446723 0.231558 -0.864187
outer loop
vertex 0.5 0 0
vertex -0.5 0.103956 -0.489074
vertex -0.5 0.154509 -0.475528
endloop
endfacet
facet normal 0.446723 0.320622 -0.835248
outer loop
vertex 0.5 0 0
vertex -0.5 0.154509 -0.475528
vertex -0.5 0.203368 -0.456773
endloop
endfacet
facet normal 0.446723 0.406173 -0.797159
outer loop
vertex 0.5 0 0
vertex -0.5 0.203368 -0.456773
vertex -0.5 0.25 -0.433013
endloop
endfacet
facet normal 0.446723 0.487273 -0.750335
outer loop
vertex 0.5 0 0
vertex -0.5 0.25 -0.433013
vertex -0.5 0.293893 -0.404509
endloop
endfacet
facet normal 0.446723 0.563036 -0.695291
outer loop
vertex 0.5 0 0
vertex -0.5 0.293893 -0.404509
vertex -0.5 0.334565 -0.371572
endloop
endfacet
facet normal 0.446723 0.632629 -0.632629
outer loop
vertex 0.5 0 0
vertex -0.5 0.334565 -0.371572
vertex -0.5 0.371572 -0.334565
endloop
endfacet
facet normal 0.446723 0.695291 -0.563036
outer loop
vertex 0.5 0 0
vertex -0.5 0.371572 -0.334565
vertex -0.5 0.404509 -0.293893
endloop
endfacet
facet normal 0.446723 0.750335 -0.487273
outer loop
vertex 0.5 0 0
vertex -0.5 0.404509 -0.293893
vertex -0.5 0.433013 -0.25
endloop
endfacet
facet normal 0.446723 0.797159 -0.406173
outer loop
vertex 0.5 0 0
vertex -0.5 0.433013 -0.25
vertex -0.5 0.456773 -0.203368
endloop
endfacet
facet normal 0.446723 0.835248 -0.320622
outer loop
vertex 0.5 0 0
vertex -0.5 0.456773 -0.203368
vertex -0.5 0.475528 -0.154509
endloop
endfacet
facet normal 0.446723 0.864187 -0.231558
outer loop
vertex 0.5 0 0
vertex -0.5 0.475528 -0.154509
vertex -0.5 0.489074 -0.103956
endloop
endfacet
facet normal 0.446723 0.883657 -0.139958
outer loop
vertex 0.5 0 0
vertex -0.5 0.489074 -0.103956
vertex -0.5 0.497261 -0.0522642
endloop
endfacet
facet normal 0.446723 0.893446 -0.0468234
outer loop
vertex 0.5 0 0
vertex -0.5 0.497261 -0.0522642
vertex -0.5 0.5 0
endloop
endfacet
endsolid

View File

@ -1,84 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object collapseDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
controlMeshQuality on;
collapseEdgesCoeffs
{
// Edges shorter than this absolute value will be merged
minimumEdgeLength 1e-6;
// The maximum angle between two edges that share a point attached to
// no other edges
maximumMergeAngle 180;
}
collapseFacesCoeffs
{
// The initial face length factor
initialFaceLengthFactor 0.5;
// If the face can't be collapsed to an edge, and it has a span less than
// the target face length multiplied by this coefficient, collapse it
// to a point.
maxCollapseFaceToPointSideLengthCoeff 0.3;
// Allow early collapse of edges to a point
allowEarlyCollapseToPoint on;
// Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if
// allowEarlyCollapseToPoint is enabled
allowEarlyCollapseCoeff 0.2;
// Defining how close to the midpoint (M) of the projected
// vertices line a projected vertex (X) can be before making this
// an invalid edge collapse
//
// X---X-g----------------M----X-----------g----X--X
//
// Only allow a collapse if all projected vertices are outwith
// guardFraction (g) of the distance form the face centre to the
// furthest vertex in the considered direction
guardFraction 0.1;
}
controlMeshQualityCoeffs
{
// Name of the dictionary that has the mesh quality coefficients used
// by motionSmoother::checkMesh
#include "meshQualityDict"
// The amount that minimumEdgeLength will be reduced by for each
// edge if that edge's collapse generates a poor quality face
edgeReductionFactor 0.5;
// The amount that initialFaceLengthFactor will be reduced by for each
// face if its collapse generates a poor quality face
faceReductionFactor 0.5;
// Maximum number of smoothing iterations for the reductionFactors
maximumSmoothingIterations 2;
// Maximum number of outer iterations is mesh quality checking is enabled
maximumIterations 10;
// Maximum number of iterations deletion of a point can cause a bad face
// to be constructed before it is forced to not be deleted
maxPointErrorCount 3;
}
// ************************************************************************* //

View File

@ -1,46 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
location "system";
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 80;
deltaT 1;
writeControl timeStep;
writeInterval 80; // 10 to see the meshing steps
purgeWrite 0;
writeFormat ascii;
writePrecision 10;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// ************************************************************************* //

View File

@ -1,203 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object foamyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Include defaults parameters from master dictionary
#includeEtc "caseDicts/mesh/generation/foamyHexMeshDict"
geometry
{
sphere_orient.stl
{
name sphere;
type triSurfaceMesh;
}
cone_orient.stl
{
name cone;
type triSurfaceMesh;
}
// Outside of domain
domain
{
type searchableBox;
min (-0.7 -0.9 -1);
max (1.3 1.1 1);
}
}
surfaceConformation
{
insidePoint (0 -0.5 0);
featurePointControls
{
specialiseFeaturePoints off;
edgeAiming off;
guardFeaturePoints off;
snapFeaturePoints off;
circulateEdges off;
}
// Geometry to mesh to
geometryToConformTo
{
cone
{
featureMethod extractFeatures;
includedAngle 140;
patchInfo
{
type wall;
inGroups (groupConeAndSphere);
}
}
sphere
{
featureMethod none;
patchInfo
{
type wall;
inGroups (groupConeAndSphere);
}
}
domain
{
featureMethod extractFeatures;
includedAngle 100;
mode outside;
}
}
additionalFeatures
{
coneSphereIntersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "cone_orient_sphere_orient_intersection.extendedFeatureEdgeMesh";
}
}
}
initialPoints
{
initialPointsMethod autoDensity;
autoDensityCoeffs
{
minCellSizeLimit 0.1;
minLevels 4;
maxSizeRatio 5.0;
sampleResolution 3;
surfaceSampleResolution 3;
}
}
motionControl
{
defaultCellSize 0.1;
minimumCellSizeCoeff 0;
// For background cell size and alignment grid
maxSmoothingIterations 100;
maxRefinementIterations 0;
shapeControlFunctions
{
sphere
{
type searchableSurfaceControl;
priority 2;
mode inside;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 0.25;
}
cellSizeFunction linearDistance;
linearDistanceCoeffs
{
distanceCellSizeCoeff 1;
distanceCoeff 2;
}
}
cone
{
type searchableSurfaceControl;
priority 1;
mode bothSides;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 1;
}
cellSizeFunction uniform;
uniformCoeffs
{}
}
domain
{
type searchableSurfaceControl;
priority 1;
mode bothSides;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 1;
}
cellSizeFunction uniform;
uniformCoeffs
{}
}
}
// Output lots and lots of .obj files
objOutput no;
// Timing and memory usage.
timeChecks no;
}
// After simulation, when converting to polyMesh, filter out small faces/edges.
// Do not change. See cvControls.H
polyMeshFiltering
{
filterEdges on;
filterFaces on;
writeTetDualMesh false;
}
meshQualityControls
{
#include "meshQualityDict"
}
// ************************************************************************* //

View File

@ -1,58 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object meshQualityDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//- Maximum non-orthogonality allowed. Set to 180 to disable.
maxNonOrtho 65;
//- Max skewness allowed. Set to <0 to disable.
maxBoundarySkewness 50;
maxInternalSkewness 10;
//- Max concaveness allowed. Is angle (in degrees) below which concavity
// is allowed. 0 is straight face, <0 would be convex face.
// Set to 180 to disable.
maxConcave 80;
//- Minimum quality of the tet formed by the face-centre
// and variable base point minimum decomposition triangles and
// the cell centre. This has to be a positive number for tracking
// to work. Set to very negative number (e.g. -1e30) to
// disable.
// <0 = inside out tet,
// 0 = flat tet
// 1 = regular tet
minTetQuality 1e-30;
//- Minimum cell pyramid volume relative to min bounding box length^3
// Set to a fraction of the smallest cell volume expected.
// Set to very negative number (e.g. -1e30) to disable.
minVol 0;
//- Minimum face twist. Set to <-1 to disable. dot product of face normal
// and face centre triangles normal
minTwist 0.001;
//- Minimum normalised cell determinant
// 1 = hex, <= 0 = folded or flattened illegal cell
minDeterminant 0.001;
//- minFaceWeight (0 -> 0.5)
minFaceWeight 0.02;
//- minVolRatio (0 -> 1)
minVolRatio 0.01;
// ************************************************************************* //

View File

@ -1,120 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name z;
type cellSet;
action new;
source boxToCell;
box (-100 -100 0)(100 100 100);
}
{
name zf;
type faceSet;
action new;
source cellToFace;
set z;
option all;
}
{
name z;
type cellSet;
action invert;
}
{
name zf;
type faceSet;
action subset;
source cellToFace;
set z;
option all;
}
// ~~~~~~~~~~~~~~~~ //
{
name y;
type cellSet;
action new;
source boxToCell;
box (-100 0.1 -100)(100 100 100);
}
{
name yf;
type faceSet;
action new;
source cellToFace;
set y;
option all;
}
{
name y;
type cellSet;
action invert;
}
{
name yf;
type faceSet;
action subset;
source cellToFace;
set y;
option all;
}
// ~~~~~~~~~~~~~~~~ //
{
name x;
type cellSet;
action new;
source boxToCell;
box (0.3 -100 -100)(100 100 100);
}
{
name xf;
type faceSet;
action new;
source cellToFace;
set x;
option all;
}
{
name x;
type cellSet;
action invert;
}
{
name xf;
type faceSet;
action subset;
source cellToFace;
set x;
option all;
}
);
// ************************************************************************* //

View File

@ -1 +0,0 @@
../../incompressible/porousSimpleFoam/straightDuctImplicit

View File

@ -1,23 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Any cases that are links to solver test cases and are run when the Allrun
# scripts of those solvers are run. This script avoids meshing these cases
# twice.
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
if [ -n "$FOAMY_HEX_MESH" ]
then
(
cd jaggedBoundary || exit
./Allrun $*
)
(
cd square || exit
./Allrun $*
)
fi
#------------------------------------------------------------------------------

View File

@ -1,14 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
rm -rf constant/polyMesh
rm -f MeshedSurface*.obj
cleanCase
cleanExplicitFeatures
#------------------------------------------------------------------------------

View File

@ -1,12 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication surfaceFeatures
runApplication foamyQuadMesh -overwrite
runApplication extrude2DMesh -overwrite MeshedSurface
runApplication checkMesh -allGeometry -allTopology -constant -noZero
#------------------------------------------------------------------------------

View File

@ -1,954 +0,0 @@
solid jagged
facet normal 0.468764725245 0.883323062286 -0
outer loop
vertex 0.0385189987719 -0.0289657991379 -1.5
vertex -0.0187957007438 0.00145015004091 1.5
vertex 0.0385189987719 -0.0289657991379 1.5
endloop
endfacet
facet normal 0.647754318236 0.761849291662 -0
outer loop
vertex -0.0682383030653 0.0434882007539 -1.5
vertex -0.0682383030653 0.0434882007539 1.5
vertex -0.0187957007438 0.00145015004091 -1.5
endloop
endfacet
facet normal 0.647754318236 0.761849291662 -0
outer loop
vertex -0.0187957007438 0.00145015004091 -1.5
vertex -0.0682383030653 0.0434882007539 1.5
vertex -0.0187957007438 0.00145015004091 1.5
endloop
endfacet
facet normal 0.796376571447 0.604801088334 -0
outer loop
vertex -0.107496999204 0.0951823964715 -1.5
vertex -0.107496999204 0.0951823964715 1.5
vertex -0.0682383030653 0.0434882007539 -1.5
endloop
endfacet
facet normal 0.796376571447 0.604801088334 -0
outer loop
vertex -0.0682383030653 0.0434882007539 -1.5
vertex -0.107496999204 0.0951823964715 1.5
vertex -0.0682383030653 0.0434882007539 1.5
endloop
endfacet
facet normal 0.907731420759 0.419551746233 -0
outer loop
vertex -0.134736001492 0.154116004705 -1.5
vertex -0.134736001492 0.154116004705 1.5
vertex -0.107496999204 0.0951823964715 -1.5
endloop
endfacet
facet normal 0.907731420759 0.419551746233 -0
outer loop
vertex -0.107496999204 0.0951823964715 -1.5
vertex -0.134736001492 0.154116004705 1.5
vertex -0.107496999204 0.0951823964715 1.5
endloop
endfacet
facet normal 0.976665530864 0.214766014121 -0
outer loop
vertex -0.148680999875 0.217531993985 -1.5
vertex -0.148680999875 0.217531993985 1.5
vertex -0.134736001492 0.154116004705 -1.5
endloop
endfacet
facet normal 0.976665530864 0.214766014121 -0
outer loop
vertex -0.134736001492 0.154116004705 -1.5
vertex -0.148680999875 0.217531993985 1.5
vertex -0.134736001492 0.154116004705 1.5
endloop
endfacet
facet normal 1 0 -0
outer loop
vertex -0.148680999875 0.282467007637 -1.5
vertex -0.148680999875 0.282467007637 1.5
vertex -0.148680999875 0.217531993985 -1.5
endloop
endfacet
facet normal 1 0 0
outer loop
vertex -0.148680999875 0.217531993985 -1.5
vertex -0.148680999875 0.282467007637 1.5
vertex -0.148680999875 0.217531993985 1.5
endloop
endfacet
facet normal 0.976666240056 -0.214762788992 0
outer loop
vertex -0.134736001492 0.345883995295 -1.5
vertex -0.134736001492 0.345883995295 1.5
vertex -0.148680999875 0.282467007637 -1.5
endloop
endfacet
facet normal 0.976666240056 -0.214762788992 0
outer loop
vertex -0.148680999875 0.282467007637 -1.5
vertex -0.134736001492 0.345883995295 1.5
vertex -0.148680999875 0.282467007637 1.5
endloop
endfacet
facet normal 0.90773249136 -0.4195494299 0
outer loop
vertex -0.107496999204 0.404817998409 -1.5
vertex -0.107496999204 0.404817998409 1.5
vertex -0.134736001492 0.345883995295 -1.5
endloop
endfacet
facet normal 0.90773249136 -0.4195494299 0
outer loop
vertex -0.134736001492 0.345883995295 -1.5
vertex -0.107496999204 0.404817998409 1.5
vertex -0.134736001492 0.345883995295 1.5
endloop
endfacet
facet normal 0.796375500831 -0.604802498073 0
outer loop
vertex -0.0682383030653 0.456512004137 -1.5
vertex -0.0682383030653 0.456512004137 1.5
vertex -0.107496999204 0.404817998409 -1.5
endloop
endfacet
facet normal -0.99415065992 0.108002154517 0
outer loop
vertex 0.442546993494 0.185445994139 -1.5
vertex 0.442546993494 0.185445994139 1.5
vertex 0.449559986591 0.25 -1.5
endloop
endfacet
facet normal -0.99415065992 0.108002154517 0
outer loop
vertex 0.449559986591 0.25 -1.5
vertex 0.442546993494 0.185445994139 1.5
vertex 0.449559986591 0.25 1.5
endloop
endfacet
facet normal -0.947745893024 0.319026209355 0
outer loop
vertex 0.421833008528 0.12391000241 -1.5
vertex 0.421833008528 0.12391000241 1.5
vertex 0.442546993494 0.185445994139 -1.5
endloop
endfacet
facet normal -0.947745893024 0.319026209355 0
outer loop
vertex 0.442546993494 0.185445994139 -1.5
vertex 0.421833008528 0.12391000241 1.5
vertex 0.442546993494 0.185445994139 1.5
endloop
endfacet
facet normal -0.857078113059 0.515186478971 0
outer loop
vertex 0.388388007879 0.0682699978352 -1.5
vertex 0.388388007879 0.0682699978352 1.5
vertex 0.421833008528 0.12391000241 -1.5
endloop
endfacet
facet normal -0.857078113059 0.515186478971 0
outer loop
vertex 0.421833008528 0.12391000241 -1.5
vertex 0.388388007879 0.0682699978352 1.5
vertex 0.421833008528 0.12391000241 1.5
endloop
endfacet
facet normal -0.726331758 0.687344293146 0
outer loop
vertex 0.343775987625 0.02112749964 -1.5
vertex 0.343775987625 0.02112749964 1.5
vertex 0.388388007879 0.0682699978352 -1.5
endloop
endfacet
facet normal -0.726331758 0.687344293146 0
outer loop
vertex 0.388388007879 0.0682699978352 -1.5
vertex 0.343775987625 0.02112749964 1.5
vertex 0.388388007879 0.0682699978352 1.5
endloop
endfacet
facet normal -0.561565427605 0.827432335916 0
outer loop
vertex 0.290082991123 -0.0153131000698 -1.5
vertex 0.290082991123 -0.0153131000698 1.5
vertex 0.343775987625 0.02112749964 -1.5
endloop
endfacet
facet normal -0.561565427605 0.827432335916 0
outer loop
vertex 0.343775987625 0.02112749964 -1.5
vertex 0.290082991123 -0.0153131000698 1.5
vertex 0.343775987625 0.02112749964 1.5
endloop
endfacet
facet normal -0.370449778906 0.928852497068 0
outer loop
vertex 0.229818999767 -0.0393478982151 -1.5
vertex 0.229818999767 -0.0393478982151 1.5
vertex 0.290082991123 -0.0153131000698 -1.5
endloop
endfacet
facet normal -0.370449778906 0.928852497068 0
outer loop
vertex 0.290082991123 -0.0153131000698 -1.5
vertex 0.229818999767 -0.0393478982151 1.5
vertex 0.290082991123 -0.0153131000698 1.5
endloop
endfacet
facet normal -0.161937308414 0.986801047904 0
outer loop
vertex 0.165802001953 -0.0498532988131 -1.5
vertex 0.165802001953 -0.0498532988131 1.5
vertex 0.229818999767 -0.0393478982151 -1.5
endloop
endfacet
facet normal -0.161937308414 0.986801047904 0
outer loop
vertex 0.229818999767 -0.0393478982151 -1.5
vertex 0.165802001953 -0.0498532988131 1.5
vertex 0.229818999767 -0.0393478982151 1.5
endloop
endfacet
facet normal 0.0541918998299 0.998530539339 -0
outer loop
vertex 0.101025998592 -0.0463377982378 -1.5
vertex 0.101025998592 -0.0463377982378 1.5
vertex 0.165802001953 -0.0498532988131 -1.5
endloop
endfacet
facet normal 0.0541918998299 0.998530539339 -0
outer loop
vertex 0.165802001953 -0.0498532988131 -1.5
vertex 0.101025998592 -0.0463377982378 1.5
vertex 0.165802001953 -0.0498532988131 1.5
endloop
endfacet
facet normal 0.267771842801 0.963482350748 -0
outer loop
vertex 0.0385189987719 -0.0289657991379 -1.5
vertex 0.0385189987719 -0.0289657991379 1.5
vertex 0.101025998592 -0.0463377982378 -1.5
endloop
endfacet
facet normal 0.267771842801 0.963482350748 -0
outer loop
vertex 0.101025998592 -0.0463377982378 -1.5
vertex 0.0385189987719 -0.0289657991379 1.5
vertex 0.101025998592 -0.0463377982378 1.5
endloop
endfacet
facet normal 0.468764725245 0.883323062286 -0
outer loop
vertex -0.0187957007438 0.00145015004091 -1.5
vertex -0.0187957007438 0.00145015004091 1.5
vertex 0.0385189987719 -0.0289657991379 -1.5
endloop
endfacet
facet normal -0.947745881345 -0.31902624405 0
outer loop
vertex 0.442546993494 0.314554005861 -1.5
vertex 0.442546993494 0.314554005861 1.5
vertex 0.421833008528 0.376089990139 -1.5
endloop
endfacet
facet normal -0.947745881345 -0.31902624405 0
outer loop
vertex 0.421833008528 0.376089990139 -1.5
vertex 0.442546993494 0.314554005861 1.5
vertex 0.421833008528 0.376089990139 1.5
endloop
endfacet
facet normal -0.99415065992 -0.108002154517 0
outer loop
vertex 0.449559986591 0.25 -1.5
vertex 0.449559986591 0.25 1.5
vertex 0.442546993494 0.314554005861 -1.5
endloop
endfacet
facet normal -0.99415065992 -0.108002154517 0
outer loop
vertex 0.442546993494 0.314554005861 -1.5
vertex 0.449559986591 0.25 1.5
vertex 0.442546993494 0.314554005861 1.5
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -0.300000011921 0 -1.39999997616
vertex -0.300000011921 0 1.5
vertex -0.699999988079 0 -1.39999997616
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -0.699999988079 0 -1.39999997616
vertex -0.300000011921 0 1.5
vertex -0.699999988079 0 1.5
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.300000011921 -0.40000000596 -1.39999997616
vertex -0.300000011921 -0.40000000596 1.5
vertex -0.300000011921 0 -1.39999997616
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.300000011921 0 -1.39999997616
vertex -0.300000011921 -0.40000000596 1.5
vertex -0.300000011921 0 1.5
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.699999988079 -0.40000000596 -1.39999997616
vertex -0.699999988079 -0.40000000596 1.5
vertex -0.300000011921 -0.40000000596 -1.39999997616
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex -0.300000011921 -0.40000000596 -1.39999997616
vertex -0.699999988079 -0.40000000596 1.5
vertex -0.300000011921 -0.40000000596 1.5
endloop
endfacet
facet normal 1 0 -0
outer loop
vertex -0.699999988079 0 -1.39999997616
vertex -0.699999988079 0 1.5
vertex -0.699999988079 -0.40000000596 -1.39999997616
endloop
endfacet
facet normal 1 0 0
outer loop
vertex -0.699999988079 -0.40000000596 -1.39999997616
vertex -0.699999988079 0 1.5
vertex -0.699999988079 -0.40000000596 1.5
endloop
endfacet
facet normal 0.796375500831 -0.604802498073 0
outer loop
vertex -0.107496999204 0.404817998409 -1.5
vertex -0.0682383030653 0.456512004137 1.5
vertex -0.107496999204 0.404817998409 1.5
endloop
endfacet
facet normal 0.647754558747 -0.761849087171 0
outer loop
vertex -0.018795799464 0.498549997807 -1.5
vertex -0.018795799464 0.498549997807 1.5
vertex -0.0682383030653 0.456512004137 -1.5
endloop
endfacet
facet normal 0.647754558747 -0.761849087171 0
outer loop
vertex -0.0682383030653 0.456512004137 -1.5
vertex -0.018795799464 0.498549997807 1.5
vertex -0.0682383030653 0.456512004137 1.5
endloop
endfacet
facet normal 0.468765490288 -0.88332265629 0
outer loop
vertex 0.0385188981891 0.528966009617 -1.5
vertex 0.0385188981891 0.528966009617 1.5
vertex -0.018795799464 0.498549997807 -1.5
endloop
endfacet
facet normal 0.468765490288 -0.88332265629 0
outer loop
vertex -0.018795799464 0.498549997807 -1.5
vertex 0.0385188981891 0.528966009617 1.5
vertex -0.018795799464 0.498549997807 1.5
endloop
endfacet
facet normal 0.267771629378 -0.963482410063 0
outer loop
vertex 0.101025998592 0.546338021755 -1.5
vertex 0.101025998592 0.546338021755 1.5
vertex 0.0385188981891 0.528966009617 -1.5
endloop
endfacet
facet normal 0.267771629378 -0.963482410063 0
outer loop
vertex 0.0385188981891 0.528966009617 -1.5
vertex 0.101025998592 0.546338021755 1.5
vertex 0.0385188981891 0.528966009617 1.5
endloop
endfacet
facet normal 0.0541842846189 -0.9985309526 0
outer loop
vertex 0.165802001953 0.549853026867 -1.5
vertex 0.165802001953 0.549853026867 1.5
vertex 0.101025998592 0.546338021755 -1.5
endloop
endfacet
facet normal 0.0541842846189 -0.9985309526 0
outer loop
vertex 0.101025998592 0.546338021755 -1.5
vertex 0.165802001953 0.549853026867 1.5
vertex 0.101025998592 0.546338021755 1.5
endloop
endfacet
facet normal -0.161931604744 -0.986801983878 0
outer loop
vertex 0.229818999767 0.539348006248 -1.5
vertex 0.229818999767 0.539348006248 1.5
vertex 0.165802001953 0.549853026867 -1.5
endloop
endfacet
facet normal -0.161931604744 -0.986801983878 0
outer loop
vertex 0.165802001953 0.549853026867 -1.5
vertex 0.229818999767 0.539348006248 1.5
vertex 0.165802001953 0.549853026867 1.5
endloop
endfacet
facet normal -0.370452156748 -0.928851548721 0
outer loop
vertex 0.290082991123 0.515313029289 -1.5
vertex 0.290082991123 0.515313029289 1.5
vertex 0.229818999767 0.539348006248 -1.5
endloop
endfacet
facet normal -0.370452156748 -0.928851548721 0
outer loop
vertex 0.229818999767 0.539348006248 -1.5
vertex 0.290082991123 0.515313029289 1.5
vertex 0.229818999767 0.539348006248 1.5
endloop
endfacet
facet normal -0.561559256785 -0.827436523921 0
outer loop
vertex 0.343775987625 0.47887301445 -1.5
vertex 0.343775987625 0.47887301445 1.5
vertex 0.290082991123 0.515313029289 -1.5
endloop
endfacet
facet normal -0.561559256785 -0.827436523921 0
outer loop
vertex 0.290082991123 0.515313029289 -1.5
vertex 0.343775987625 0.47887301445 1.5
vertex 0.290082991123 0.515313029289 1.5
endloop
endfacet
facet normal -0.726335500024 -0.687340338846 0
outer loop
vertex 0.388388007879 0.431730002165 -1.5
vertex 0.388388007879 0.431730002165 1.5
vertex 0.343775987625 0.47887301445 -1.5
endloop
endfacet
facet normal -0.726335500024 -0.687340338846 0
outer loop
vertex 0.343775987625 0.47887301445 -1.5
vertex 0.388388007879 0.431730002165 1.5
vertex 0.343775987625 0.47887301445 1.5
endloop
endfacet
facet normal -0.857078143521 -0.515186428295 0
outer loop
vertex 0.421833008528 0.376089990139 -1.5
vertex 0.421833008528 0.376089990139 1.5
vertex 0.388388007879 0.431730002165 -1.5
endloop
endfacet
facet normal -0.857078143521 -0.515186428295 0
outer loop
vertex 0.388388007879 0.431730002165 -1.5
vertex 0.421833008528 0.376089990139 1.5
vertex 0.388388007879 0.431730002165 1.5
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.29999995232 0 1.5
vertex 1.29999995232 0.40000000596 -1.5
vertex 1.29999995232 0.40000000596 1.5
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.899999976158 0 1.5
vertex 0.899999976158 0 -1.5
vertex 1.29999995232 0 -1.5
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.899999976158 0 1.5
vertex 1.29999995232 0 -1.5
vertex 1.29999995232 0 1.5
endloop
endfacet
facet normal 0.196116149188 -0.980580672881 0
outer loop
vertex 0.40000000596 -0.10000000149 1.5
vertex 0.40000000596 -0.10000000149 -1.5
vertex 0.899999976158 0 -1.5
endloop
endfacet
facet normal 0.196116149188 -0.980580672881 0
outer loop
vertex 0.40000000596 -0.10000000149 1.5
vertex 0.899999976158 0 -1.5
vertex 0.899999976158 0 1.5
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 0.40000000596 -0.300000011921 1.5
vertex 0.40000000596 -0.300000011921 -1.5
vertex 0.40000000596 -0.10000000149 -1.5
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 0.40000000596 -0.300000011921 1.5
vertex 0.40000000596 -0.10000000149 -1.5
vertex 0.40000000596 -0.10000000149 1.5
endloop
endfacet
facet normal 0.242535608029 0.970142504397 0
outer loop
vertex 0.800000011921 -0.40000000596 1.5
vertex 0.800000011921 -0.40000000596 -1.5
vertex 0.40000000596 -0.300000011921 -1.5
endloop
endfacet
facet normal 0.242535608029 0.970142504397 0
outer loop
vertex 0.800000011921 -0.40000000596 1.5
vertex 0.40000000596 -0.300000011921 -1.5
vertex 0.40000000596 -0.300000011921 1.5
endloop
endfacet
facet normal 0.242535591022 0.970142508649 0
outer loop
vertex 1.20000004768 -0.5 1.5
vertex 1.20000004768 -0.5 -1.5
vertex 0.800000011921 -0.40000000596 -1.5
endloop
endfacet
facet normal 0.242535591022 0.970142508649 0
outer loop
vertex 1.20000004768 -0.5 1.5
vertex 0.800000011921 -0.40000000596 -1.5
vertex 0.800000011921 -0.40000000596 1.5
endloop
endfacet
facet normal 0.980580666699 -0.196116180098 0
outer loop
vertex 1.10000002384 -1 1.5
vertex 1.10000002384 -1 -1.5
vertex 1.20000004768 -0.5 -1.5
endloop
endfacet
facet normal 0.980580666699 -0.196116180098 0
outer loop
vertex 1.10000002384 -1 1.5
vertex 1.20000004768 -0.5 -1.5
vertex 1.20000004768 -0.5 1.5
endloop
endfacet
facet normal 0.124034761887 -0.992277873301 0
outer loop
vertex 0.300000011921 -1.10000002384 1.5
vertex 0.300000011921 -1.10000002384 -1.5
vertex 1.10000002384 -1 -1.5
endloop
endfacet
facet normal 0.124034761887 -0.992277873301 0
outer loop
vertex 0.300000011921 -1.10000002384 1.5
vertex 1.10000002384 -1 -1.5
vertex 1.10000002384 -1 1.5
endloop
endfacet
facet normal -0.894427244312 0.447213488876 0
outer loop
vertex 0.40000000596 -0.899999976158 1.5
vertex 0.40000000596 -0.899999976158 -1.5
vertex 0.300000011921 -1.10000002384 -1.5
endloop
endfacet
facet normal 0.707106781187 0.707106781187 0
outer loop
vertex -0.600000023842 0.699999988079 1.5
vertex -0.600000023842 0.699999988079 -1.5
vertex -0.800000011921 0.899999976158 -1.5
endloop
endfacet
facet normal 0.707106781187 0.707106781187 0
outer loop
vertex -0.600000023842 0.699999988079 1.5
vertex -0.800000011921 0.899999976158 -1.5
vertex -0.800000011921 0.899999976158 1.5
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.40000000596 0.699999988079 1.5
vertex -0.40000000596 0.699999988079 -1.5
vertex -0.600000023842 0.699999988079 -1.5
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.40000000596 0.699999988079 1.5
vertex -0.600000023842 0.699999988079 -1.5
vertex -0.600000023842 0.699999988079 1.5
endloop
endfacet
facet normal -0.948683307475 0.316227737744 0
outer loop
vertex -0.300000011921 1 1.5
vertex -0.300000011921 1 -1.5
vertex -0.40000000596 0.699999988079 -1.5
endloop
endfacet
facet normal -0.948683307475 0.316227737744 0
outer loop
vertex -0.300000011921 1 1.5
vertex -0.40000000596 0.699999988079 -1.5
vertex -0.40000000596 0.699999988079 1.5
endloop
endfacet
facet normal -0.316227822563 0.948683279202 0
outer loop
vertex 0 1.10000002384 1.5
vertex 0 1.10000002384 -1.5
vertex -0.300000011921 1 -1.5
endloop
endfacet
facet normal -0.316227822563 0.948683279202 0
outer loop
vertex 0 1.10000002384 1.5
vertex -0.300000011921 1 -1.5
vertex -0.300000011921 1 1.5
endloop
endfacet
facet normal 0.447213675468 0.894427151016 0
outer loop
vertex 0.20000000298 1 1.5
vertex 0.20000000298 1 -1.5
vertex 0 1.10000002384 -1.5
endloop
endfacet
facet normal 0.447213675468 0.894427151016 0
outer loop
vertex 0.20000000298 1 1.5
vertex 0 1.10000002384 -1.5
vertex 0 1.10000002384 1.5
endloop
endfacet
facet normal 0.554700177151 0.832050307054 0
outer loop
vertex 0.5 0.800000011921 1.5
vertex 0.5 0.800000011921 -1.5
vertex 0.20000000298 1 -1.5
endloop
endfacet
facet normal 0.554700177151 0.832050307054 0
outer loop
vertex 0.5 0.800000011921 1.5
vertex 0.20000000298 1 -1.5
vertex 0.20000000298 1 1.5
endloop
endfacet
facet normal -0.707106781187 0.707106781187 0
outer loop
vertex 0.699999988079 1 1.5
vertex 0.699999988079 1 -1.5
vertex 0.5 0.800000011921 -1.5
endloop
endfacet
facet normal -0.707106781187 0.707106781187 0
outer loop
vertex 0.699999988079 1 1.5
vertex 0.5 0.800000011921 -1.5
vertex 0.5 0.800000011921 1.5
endloop
endfacet
facet normal 0.554700158076 0.832050319771 0
outer loop
vertex 1 0.800000011921 1.5
vertex 1 0.800000011921 -1.5
vertex 0.699999988079 1 -1.5
endloop
endfacet
facet normal 0.554700158076 0.832050319771 0
outer loop
vertex 1 0.800000011921 1.5
vertex 0.699999988079 1 -1.5
vertex 0.699999988079 1 1.5
endloop
endfacet
facet normal 0.800000050068 0.599999933243 0
outer loop
vertex 1.29999995232 0.40000000596 1.5
vertex 1.29999995232 0.40000000596 -1.5
vertex 1 0.800000011921 -1.5
endloop
endfacet
facet normal 0.800000050068 0.599999933243 0
outer loop
vertex 1.29999995232 0.40000000596 1.5
vertex 1 0.800000011921 -1.5
vertex 1 0.800000011921 1.5
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.29999995232 0 1.5
vertex 1.29999995232 0 -1.5
vertex 1.29999995232 0.40000000596 -1.5
endloop
endfacet
facet normal -0.707106702161 -0.707106860212 -0
outer loop
vertex -1.20000004768 0.10000000149 1.5
vertex -1.20000004768 0.10000000149 -1.5
vertex -1.10000002384 0 -1.5
endloop
endfacet
facet normal -0.707106702161 -0.707106860212 0
outer loop
vertex -1.20000004768 0.10000000149 1.5
vertex -1.10000002384 0 -1.5
vertex -1.10000002384 0 1.5
endloop
endfacet
facet normal -0.894427370928 -0.447213235644 -0
outer loop
vertex -1.29999995232 0.300000011921 1.5
vertex -1.29999995232 0.300000011921 -1.5
vertex -1.20000004768 0.10000000149 -1.5
endloop
endfacet
facet normal -0.894427370928 -0.447213235644 0
outer loop
vertex -1.29999995232 0.300000011921 1.5
vertex -1.20000004768 0.10000000149 -1.5
vertex -1.20000004768 0.10000000149 1.5
endloop
endfacet
facet normal -0.894427350936 0.447213275628 0
outer loop
vertex -1.20000004768 0.5 1.5
vertex -1.20000004768 0.5 -1.5
vertex -1.29999995232 0.300000011921 -1.5
endloop
endfacet
facet normal -0.894427350936 0.447213275628 0
outer loop
vertex -1.20000004768 0.5 1.5
vertex -1.29999995232 0.300000011921 -1.5
vertex -1.29999995232 0.300000011921 1.5
endloop
endfacet
facet normal -0.894427350936 -0.447213275628 -0
outer loop
vertex -1.29999995232 0.699999988079 1.5
vertex -1.29999995232 0.699999988079 -1.5
vertex -1.20000004768 0.5 -1.5
endloop
endfacet
facet normal -0.894427350936 -0.447213275628 0
outer loop
vertex -1.29999995232 0.699999988079 1.5
vertex -1.20000004768 0.5 -1.5
vertex -1.20000004768 0.5 1.5
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -1.29999995232 0.800000011921 1.5
vertex -1.29999995232 0.800000011921 -1.5
vertex -1.29999995232 0.699999988079 -1.5
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -1.29999995232 0.800000011921 1.5
vertex -1.29999995232 0.699999988079 -1.5
vertex -1.29999995232 0.699999988079 1.5
endloop
endfacet
facet normal 0.447213808748 0.894427084376 0
outer loop
vertex -1.10000002384 0.699999988079 1.5
vertex -1.10000002384 0.699999988079 -1.5
vertex -1.29999995232 0.800000011921 -1.5
endloop
endfacet
facet normal 0.447213808748 0.894427084376 0
outer loop
vertex -1.10000002384 0.699999988079 1.5
vertex -1.29999995232 0.800000011921 -1.5
vertex -1.29999995232 0.800000011921 1.5
endloop
endfacet
facet normal -0.4472135955 0.894427191 0
outer loop
vertex -0.899999976158 0.800000011921 1.5
vertex -0.899999976158 0.800000011921 -1.5
vertex -1.10000002384 0.699999988079 -1.5
endloop
endfacet
facet normal -0.4472135955 0.894427191 0
outer loop
vertex -0.899999976158 0.800000011921 1.5
vertex -1.10000002384 0.699999988079 -1.5
vertex -1.10000002384 0.699999988079 1.5
endloop
endfacet
facet normal -0.707106781187 0.707106781187 0
outer loop
vertex -0.800000011921 0.899999976158 1.5
vertex -0.800000011921 0.899999976158 -1.5
vertex -0.899999976158 0.800000011921 -1.5
endloop
endfacet
facet normal -0.707106781187 0.707106781187 0
outer loop
vertex -0.800000011921 0.899999976158 1.5
vertex -0.899999976158 0.800000011921 -1.5
vertex -0.899999976158 0.800000011921 1.5
endloop
endfacet
facet normal -0.894427244312 0.447213488876 0
outer loop
vertex 0.40000000596 -0.899999976158 1.5
vertex 0.300000011921 -1.10000002384 -1.5
vertex 0.300000011921 -1.10000002384 1.5
endloop
endfacet
facet normal -0.316227744812 -0.948683305119 -0
outer loop
vertex -0.20000000298 -0.699999988079 1.5
vertex -0.20000000298 -0.699999988079 -1.5
vertex 0.40000000596 -0.899999976158 -1.5
endloop
endfacet
facet normal -0.316227744812 -0.948683305119 0
outer loop
vertex -0.20000000298 -0.699999988079 1.5
vertex 0.40000000596 -0.899999976158 -1.5
vertex 0.40000000596 -0.899999976158 1.5
endloop
endfacet
facet normal 0.707106754845 -0.707106807528 0
outer loop
vertex -0.40000000596 -0.899999976158 1.5
vertex -0.40000000596 -0.899999976158 -1.5
vertex -0.20000000298 -0.699999988079 -1.5
endloop
endfacet
facet normal 0.707106754845 -0.707106807528 0
outer loop
vertex -0.40000000596 -0.899999976158 1.5
vertex -0.20000000298 -0.699999988079 -1.5
vertex -0.20000000298 -0.699999988079 1.5
endloop
endfacet
facet normal -0.196116078939 -0.980580686931 -0
outer loop
vertex -0.899999976158 -0.800000011921 1.5
vertex -0.899999976158 -0.800000011921 -1.5
vertex -0.40000000596 -0.899999976158 -1.5
endloop
endfacet
facet normal -0.196116078939 -0.980580686931 0
outer loop
vertex -0.899999976158 -0.800000011921 1.5
vertex -0.40000000596 -0.899999976158 -1.5
vertex -0.40000000596 -0.899999976158 1.5
endloop
endfacet
facet normal -0.316227766017 -0.948683298051 -0
outer loop
vertex -1.20000004768 -0.699999988079 1.5
vertex -1.20000004768 -0.699999988079 -1.5
vertex -0.899999976158 -0.800000011921 -1.5
endloop
endfacet
facet normal -0.316227766017 -0.948683298051 0
outer loop
vertex -1.20000004768 -0.699999988079 1.5
vertex -0.899999976158 -0.800000011921 -1.5
vertex -0.899999976158 -0.800000011921 1.5
endloop
endfacet
facet normal -0.948683382869 -0.31622751156 -0
outer loop
vertex -1.29999995232 -0.40000000596 1.5
vertex -1.29999995232 -0.40000000596 -1.5
vertex -1.20000004768 -0.699999988079 -1.5
endloop
endfacet
facet normal -0.948683382869 -0.31622751156 0
outer loop
vertex -1.29999995232 -0.40000000596 1.5
vertex -1.20000004768 -0.699999988079 -1.5
vertex -1.20000004768 -0.699999988079 1.5
endloop
endfacet
facet normal -0.707106912895 0.707106649478 0
outer loop
vertex -1.10000002384 -0.20000000298 1.5
vertex -1.10000002384 -0.20000000298 -1.5
vertex -1.29999995232 -0.40000000596 -1.5
endloop
endfacet
facet normal -0.707106912895 0.707106649478 0
outer loop
vertex -1.10000002384 -0.20000000298 1.5
vertex -1.29999995232 -0.40000000596 -1.5
vertex -1.29999995232 -0.40000000596 1.5
endloop
endfacet
facet normal -0.447213515532 0.894427230984 0
outer loop
vertex -0.899999976158 -0.10000000149 1.5
vertex -0.899999976158 -0.10000000149 -1.5
vertex -1.10000002384 -0.20000000298 -1.5
endloop
endfacet
facet normal -0.447213515532 0.894427230984 0
outer loop
vertex -0.899999976158 -0.10000000149 1.5
vertex -1.10000002384 -0.20000000298 -1.5
vertex -1.10000002384 -0.20000000298 1.5
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -0.899999976158 0.20000000298 1.5
vertex -0.899999976158 0.20000000298 -1.5
vertex -0.899999976158 -0.10000000149 -1.5
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -0.899999976158 0.20000000298 1.5
vertex -0.899999976158 -0.10000000149 -1.5
vertex -0.899999976158 -0.10000000149 1.5
endloop
endfacet
facet normal 0.707106702161 -0.707106860212 0
outer loop
vertex -1.10000002384 0 1.5
vertex -1.10000002384 0 -1.5
vertex -0.899999976158 0.20000000298 -1.5
endloop
endfacet
facet normal 0.707106702161 -0.707106860212 0
outer loop
vertex -1.10000002384 0 1.5
vertex -0.899999976158 0.20000000298 -1.5
vertex -0.899999976158 0.20000000298 1.5
endloop
endfacet
endsolid jagged

View File

@ -1,46 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 100;
deltaT 1;
writeControl timeStep;
writeInterval 1;
purgeWrite 0;
writeFormat ascii;
writePrecision 12;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
// ************************************************************************* //

View File

@ -1,41 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object extrude2DMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
extrudeModel linearDirection;
patchInfo
{}
patchType empty;
nLayers 1;
expansionRatio 1.0;
linearDirectionCoeffs
{
direction (0 0 1);
thickness 0.1;
}
wedgeCoeffs
{
axisPt (0 0 0);
axis (1 0 0);
angle 10;
}
// ************************************************************************* //

View File

@ -1,147 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object foamyQuadMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
geometry
{
jaggedBoundary.stl
{
name jaggedBoundary;
type closedTriSurfaceMesh;
}
}
surfaceConformation
{
// The z-coordinate of the plane is taken from here.
insidePoint (-0.6 0.3 0.0);
pointPairDistanceCoeff 0.001;
// If area of a dual cell is less than the square of this, do not refine.
minEdgeLenCoeff 0.001;
// How much cells are allowed to stick out of the surfaces before
// points are inserted onto the boundary
maxNotchLenCoeff 1;
minNearPointDistCoeff 0.001;
maxQuadAngle 125;
// Insert near-boundary point mirror or point-pairs
insertSurfaceNearestPointPairs yes;
// Mirror near-boundary points rather than insert point-pairs
mirrorPoints no;
// Insert point-pairs vor dual-cell vertices very near the surface
insertSurfaceNearPointPairs yes;
// Maximum number of iterations used in boundaryConform.
maxBoundaryConformingIter 5;
geometryToConformTo
{
jaggedBoundary
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "jaggedBoundary.extendedFeatureEdgeMesh";
}
}
additionalFeatures
{
}
// Choose if to randomise the initial grid created by insertGrid.
randomiseInitialGrid yes;
// Perturbation fraction, 1 = cell-size.
randomPerturbation 0.1;
}
motionControl
{
// This is a tolerance for determining whether to deal with surface
// protrusions or not.
minCellSize 0.04;
// Assign a priority to all requests for cell sizes, the highest overrules.
defaultPriority 0;
shapeControlFunctions
{
jaggedBoundary
{
type searchableSurfaceControl;
priority 1;
mode inside;
cellSizeFunction surfaceOffsetLinearDistance;
surfaceOffsetLinearDistanceCoeffs
{
distanceCellSizeCoeff 1;
totalDistanceCoeff 5;
surfaceOffsetCoeff 1;
}
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 0.1;
}
}
}
relaxationModel adaptiveLinear;
adaptiveLinearCoeffs
{
relaxationStart 0.5;
relaxationEnd 0.0;
}
objOutput no;
meshedSurfaceOutput yes;
// Near-wall region where cells are aligned with the wall specified as a
// number of cell layers
nearWallAlignedDist 3;
}
shortEdgeFilter
{
// Factor to multiply the average of a face's edge lengths by.
// If an edge of that face is smaller than that value then delete it.
shortEdgeFilterFactor 0.2;
// Weighting for the lengths of edges that are attached to the boundaries.
// Used when calculating the length of an edge. Default 2.0.
edgeAttachedToBoundaryFactor 2.0;
}
extrusion
{
extrude off;
#include "extrude2DMeshDict"
}
// ************************************************************************* //

View File

@ -1,42 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object surfaceFeaturesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
surfaces
(
"jaggedBoundary.stl"
);
// Identify a feature when angle between faces < includedAngle
includedAngle 175;
subsetFeatures
{
// Keep only edges that intersect the plane
plane
{
planeType pointAndNormal;
point (-0.6 0.3 0);
normal (0 0 1);
}
// Keep nonManifold edges (edges with >2 connected faces where
// the faces form more than two different normal planes)
nonManifoldEdges no;
// Keep open edges (edges with 1 connected face)
openEdges no;
}
// ************************************************************************* //

View File

@ -1,14 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
rm -rf constant/polyMesh
rm -f MeshedSurface*.obj
cleanCase
cleanExplicitFeatures
#------------------------------------------------------------------------------

View File

@ -1,12 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication surfaceFeatures
runApplication foamyQuadMesh -overwrite
runApplication extrude2DMesh -overwrite polyMesh2D
runApplication checkMesh -allGeometry -allTopology -constant -noZero
#------------------------------------------------------------------------------

View File

@ -1,88 +0,0 @@
solid inlet
facet normal 1 0 0
outer loop
vertex 1 1 0.5
vertex 1 0 0.5
vertex 1 0 -0.5
endloop
endfacet
facet normal 1 0 -0
outer loop
vertex 1 1 -0.5
vertex 1 1 0.5
vertex 1 0 -0.5
endloop
endfacet
endsolid inlet
solid cube.tri
facet normal -1 0 0
outer loop
vertex 0 0 -0.5
vertex 0 0 0.5
vertex 0 1 0.5
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0 1 -0.5
vertex 0 0 -0.5
vertex 0 1 0.5
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1 1 0.5
vertex 1 1 -0.5
vertex 0 1 -0.5
endloop
endfacet
facet normal -0 1 0
outer loop
vertex 0 1 0.5
vertex 1 1 0.5
vertex 0 1 -0.5
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0 0 -0.5
vertex 1 0 -0.5
vertex 1 0 0.5
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0 0 0.5
vertex 0 0 -0.5
vertex 1 0 0.5
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1 1 0.5
vertex 0 1 0.5
vertex 0 0 0.5
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex 1 0 0.5
vertex 1 1 0.5
vertex 0 0 0.5
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 0 -0.5
vertex 0 1 -0.5
vertex 1 1 -0.5
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1 0 -0.5
vertex 0 0 -0.5
vertex 1 1 -0.5
endloop
endfacet
endsolid cube.tri

View File

@ -1,51 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 100;
deltaT 1;
writeControl timeStep;
writeInterval 1;
purgeWrite 0;
writeFormat ascii;
writePrecision 12;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
DebugSwitches
{
shortEdgeFilter2D 0;
}
// ************************************************************************* //

View File

@ -1,31 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object extrude2DMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
extrudeModel wedge;
patchInfo
{}
patchType wedge;
sectorCoeffs
{
axisPt (0 0 0);
axis (1 0 0);
angle 10;
}
// ************************************************************************* //

View File

@ -1,165 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object foamyQuadMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
geometry
{
unit_cube.stl
{
name cube;
type triSurfaceMesh;
}
refinementBox
{
type searchableBox;
min (0.25 0.25 -1000);
max (0.75 0.75 1000);
}
}
surfaceConformation
{
// The z-coordinate of the plane is taken from here.
insidePoint (0 0 0);
pointPairDistanceCoeff 0.005;
minEdgeLenCoeff 0.005;
maxNotchLenCoeff 0.003;
minNearPointDistCoeff 0.0025;
maxQuadAngle 125;
// Insert near-boundary point mirror or point-pairs
insertSurfaceNearestPointPairs yes;
// Mirror near-boundary points rather than insert point-pairs
mirrorPoints no;
// Insert point-pairs vor dual-cell vertices very near the surface
insertSurfaceNearPointPairs yes;
// Maximum number of iterations used in boundaryConform.
maxBoundaryConformingIter 5;
geometryToConformTo
{
cube
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "unit_cube.extendedFeatureEdgeMesh";
}
}
additionalFeatures
{}
// Choose if to randomise the initial grid created by insertGrid.
randomiseInitialGrid yes;
// Perturbation fraction, 1 = cell-size.
randomPerturbation 0.1;
}
motionControl
{
minCellSize 0.04;
// Assign a priority to all requests for cell sizes, the highest overrules.
defaultPriority 0;
shapeControlFunctions
{
cube
{
type searchableSurfaceControl;
priority 1;
mode bothSides;
cellSizeFunction linearDistance;
linearDistanceCoeffs
{
distanceCellSizeCoeff 1;
distanceCoeff 5;
}
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 0.05;
}
}
refinementBox
{
type searchableSurfaceControl;
priority 1;
mode bothSides;
cellSizeFunction linearDistance;
linearDistanceCoeffs
{
distanceCellSizeCoeff 1;
distanceCoeff 5;
}
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 0.05;
}
}
}
relaxationModel adaptiveLinear;
adaptiveLinearCoeffs
{
relaxationStart 0.5;
relaxationEnd 0.0;
}
objOutput no;
meshedSurfaceOutput yes;
// Near-wall region where cells are aligned with the wall specified as a
// number of cell layers
nearWallAlignedDist 3;
}
shortEdgeFilter
{
// Factor to multiply the average of a face's edge lengths by.
// If an edge of that face is smaller than that value then delete it.
shortEdgeFilterFactor 0.25;
// Weighting for the lengths of edges that are attached to the boundaries.
// Used when calculating the length of an edge. Default 2.0.
edgeAttachedToBoundaryFactor 2.0;
}
extrusion
{
extrude off;
#include "extrude2DMeshDict"
}
// ************************************************************************* //

View File

@ -1,42 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object surfaceFeaturesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
surfaces
(
"unit_cube.stl"
);
// Identify a feature when angle between faces < includedAngle
includedAngle 175;
subsetFeatures
{
// Keep only edges that intersect the plane
plane
{
planeType pointAndNormal;
point (0 0 0);
normal (1 0 0);
}
// Keep nonManifold edges (edges with >2 connected faces where
// the faces form more than two different normal planes)
nonManifoldEdges no;
// Keep open edges (edges with 1 connected face)
openEdges yes;
}
// ************************************************************************* //