ENH: Update cvMesh tutorials.

This commit is contained in:
laurence 2012-12-11 17:22:49 +00:00
parent fd8eebab13
commit 6fcb21987d
25 changed files with 1910 additions and 464 deletions

View File

@ -6,4 +6,9 @@ cd ${0%/*} || exit 1 # run from this directory
cleanCase
rm -rf constant/cellAlignments > /dev/null 2>&1
rm -rf constant/targetCellSize > /dev/null 2>&1
rm -rf constant/internalDelaunayVertices > /dev/null 2>&1
# ----------------------------------------------------------------- end-of-file

View File

@ -4,10 +4,8 @@ cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication blockMesh
runApplication cvMesh
#runApplication collapseEdges 1e-10 180 -overwrite
runApplication snappyHexMesh -overwrite
runApplication checkMesh -constant -allGeometry -allTopology
runApplication collapseEdges -latestTime -collapseFaces
runApplication checkMesh -latestTime -allGeometry -allTopology
# ----------------------------------------------------------------- end-of-file

View File

@ -5,30 +5,15 @@ cd ${0%/*} || exit 1 # run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Get the number of processors to run on from system/decomposeParDict
nProc=`grep numberOfSubdomains system/decomposeParDict \
| sed s/"numberOfSubdomains *\(.*\);"/"\1"/`
nProc=$(getNumberOfProcessors)
runApplication blockMesh
runApplication decomposePar
for dir in processor*
do
if [[ -d $dir ]]
then
cp -r $dir/constant/polyMesh $dir/constant/polyMesh_background
fi
done
runParallel cvMesh $nProc
runParallel collapseEdges $nProc -latestTime -collapseFaces
runParallel checkMesh $nProc -latestTime -allTopology -allGeometry
runApplication reconstructParMesh -constant -mergeTol 1e-10
runParallel checkMesh $nProc -constant -allGeometry -allTopology
# To run from the same background mesh as before
# for dir in processor*;
# do
# rm -r $dir/constant/polyMesh
# cp -r $dir/constant/polyMesh_background $dir/constant/polyMesh
# done
runApplication reconstructParMesh -latestTime
# ----------------------------------------------------------------- end-of-file

View File

@ -8,7 +8,7 @@
FoamFile
{
version 2.0;
format binary;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object collapseDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
collapseEdgesCoeffs
{
minimumEdgeLength 1e-4;
maximumMergeAngle 180;
reductionFactor 0.5;
}
collapseFacesCoeffs
{
initialFaceLengthFactor 0.5;
reductionFactor 0.5;
allowEarlyCollapseToPoint on;
allowEarlyCollapseCoeff 0.2;
guardFraction 0.1;
maxCollapseFaceToPointSideLengthCoeff 0.3;
}
meshQualityCoeffs
{
#include "meshQualityDict";
maximumIterations 30;
maximumSmoothingIterations 1;
maxPointErrorCount 5;
}
// ************************************************************************* //

View File

@ -34,11 +34,11 @@ deltaT 1;
writeControl timeStep;
writeInterval 1000;
writeInterval 80;
purgeWrite 0;
writeFormat binary;//ascii;
writeFormat ascii;
writePrecision 12;

View File

@ -86,7 +86,9 @@ surfaceConformation
surfaceSearchDistanceCoeff 5;
maxSurfaceProtrusionCoeff 0.1;
nearBoundaryDistanceCoeff 5;
maxSurfaceProtrusionCoeff 0.001;
maxQuadAngle 125;
@ -95,35 +97,16 @@ surfaceConformation
specialiseFeaturePoints off;
conformationControls
{
initial
{
edgeSearchDistCoeff 5;
surfacePtReplaceDistCoeff 0.5;
surfacePtExclusionDistanceCoeff 0.5;
}
iteration
{
edgeSearchDistCoeff 1.5;
surfacePtReplaceDistCoeff 0.7;
}
maxIterations 15;
iterationToInitialHitRatioLimit 0.0001;
}
coarseConformationControls
{
$conformationControls;
}
fineConformationControls
{
$conformationControls;
}
geometryToConformTo
{
blob.stl
@ -140,12 +123,26 @@ surfaceConformation
motionControl
{
defaultCellSize 0.04;
defaultCellSize 0.1;
// Assign a priority to all requests for cell sizes, the highest overrules.
defaultPriority 0;
//cellShapeControl constantControl;
//cellShapeControl fileControl;
cellShapeControl surfaceControl;
cellSizeControlGeometry
constantControlCoeffs
{
cellSize $defaultCellSize;
cellAlignment (1 1 0 0 1 0 0 1 1);
}
fileControlCoeffs
{
pointFile "alignmentPoints";
sizesFile "alignmentSizes";
alignmentsFile "alignmentTensors";
}
surfaceControlCoeffs
{
blob.stl
{
@ -155,20 +152,21 @@ motionControl
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSize 0.04;
surfaceCellSize 0.1;
}
cellSizeFunction uniformDistance;
uniformDistanceCoeffs
cellSizeFunction uniform;
uniformCoeffs
{}
}
}
maxRefinementIterations 1;
cellAspectRatioControl
{
distance 0.1;
}
linearDistanceCoeffs
{
distanceCellSize $defaultCellSize;
distance 0.1;
}
}
aspectRatio 1.0;
aspectRatioDirection (1 0 0);
}
relaxationModel adaptiveLinear;
@ -183,7 +181,7 @@ motionControl
timeChecks no;
maxLoadUnbalance 0.05;
maxLoadUnbalance 0.5;
alignmentSearchSpokes 24;
@ -215,18 +213,9 @@ motionControl
polyMeshFiltering
{
filterEdges on;
filterFaces off;
writeTetDualMesh false;
filterSizeCoeff 0.2;
mergeClosenessCoeff 1e-3;
edgeMergeAngle 45;
continueFilteringOnBadInitialPolyMesh true;
filterErrorReductionCoeff 0.5;
filterCountSkipThreshold 4;
surfaceStepFaceAngle 80;
maxCollapseIterations 25;
maxConsecutiveEqualFaceSets 5;
edgeCollapseGuardFraction 0.1;
maxCollapseFaceToPointSideLengthCoeff 0.35;
}

View File

@ -15,10 +15,10 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 8;
numberOfSubdomains 2;
//method scotch;
method ptscotch;
method scotch;
//method ptscotch;
// method hierarchical;
simpleCoeffs
@ -29,7 +29,7 @@ simpleCoeffs
hierarchicalCoeffs
{
n ( 2 2 2 );
n ( 2 1 1 );
delta 0.001;
order xyz;
}

View File

@ -4,8 +4,10 @@ cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
rm -rf constant/extendedFeatureEdgeMesh flange > /dev/null 2>&1
rm -rf constant/extendedFeatureEdgeMesh > /dev/null 2>&1
rm -r constant/ccx constant/ccy constant/ccz > /dev/null 2>&1
rm -r constant/internalDelaunayVertices constant/targetCellSize > /dev/null 2>&1
rm -r 0/ccx 0/ccy 0/ccz > /dev/null 2>&1
cleanCase

View File

@ -4,10 +4,6 @@ cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Get the number of processors to run on from system/decomposeParDict
nProc=`grep numberOfSubdomains system/decomposeParDict \
| sed s/"numberOfSubdomains *\(.*\);"/"\1"/`
runApplication surfaceFeatureExtract
# Create tight-fitting background mesh
@ -16,25 +12,8 @@ runApplication topoSet -dict system/topoSetDict-background
mv log.topoSet log.topoSet.background
runApplication subsetMesh -cellSet background -patch walls -overwrite
runApplication decomposePar
# Backup initial background mesh on each processor
for dir in processor*
do
if [[ -d $dir ]]
then
cp -r $dir/constant/polyMesh $dir/constant/polyMesh_background
fi
done
runParallel cvMesh $nProc
#runParallel snappyHexMesh $nProc
runApplication reconstructParMesh -constant -mergeTol 1e-6
runApplication topoSet -dict system/topoSetDict-slices
mv log.topoSet log.topoSet.slices
runApplication writeCellCentres -constant
runParallel checkMesh $nProc -constant -allGeometry -allTopology
runApplication cvMesh
#runApplication collapseEdges -time 100 -collapseFaces
runApplication checkMesh -latestTime -allGeometry -allTopology
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,25 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Get the number of processors to run on from system/decomposeParDict
nProc=$(getNumberOfProcessors)
runApplication surfaceFeatureExtract
# Create tight-fitting background mesh
runApplication blockMesh
runApplication topoSet -dict system/topoSetDict-background
mv log.topoSet log.topoSet.background
runApplication subsetMesh background -patch walls -overwrite
runApplication decomposePar
runParallel cvMesh $nProc
runParallel checkMesh $nProc -latestTime -allTopology -allGeometry
runApplication reconstructParMesh -constant
# ----------------------------------------------------------------- end-of-file

View File

@ -21,7 +21,7 @@ xmax 0.0265;
ymin -0.028;
ymax 0.023;
zmin -0.024;
zmax 0.0025;
zmax 0.01;
vertices
(

View File

@ -8,44 +8,20 @@
FoamFile
{
version 2.0;
format binary;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
5
1
(
flange.obj_patch1
walls
{
type wall;
nFaces 24684;
startFace 193547;
}
flange.obj_patch2
{
type wall;
nFaces 1674;
startFace 218231;
}
flange.obj_patch3
{
type wall;
nFaces 438;
startFace 219905;
}
flange.obj_patch4
{
type wall;
nFaces 3595;
startFace 220343;
}
cvMesh_defaultPatch
{
type wall;
nFaces 0;
startFace 223938;
nFaces 116;
startFace 155;
}
)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,52 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object collapseDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
collapseEdgesCoeffs
{
minimumEdgeLength 1e-6;
maximumMergeAngle 180;
reductionFactor 0.5;
}
collapseFacesCoeffs
{
initialFaceLengthFactor 0.5;
reductionFactor 0.5;
allowEarlyCollapseToPoint on;
allowEarlyCollapseCoeff 0.2;
guardFraction 0.1;
maxCollapseFaceToPointSideLengthCoeff 0.3;
}
meshQualityCoeffs
{
#include "meshQualityDict";
maximumIterations 30;
maximumSmoothingIterations 1;
maxPointErrorCount 5;
}
// ************************************************************************* //

View File

@ -22,23 +22,25 @@ FoamFile
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application cvMesh;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0;
endTime 100;
deltaT 1;
writeControl timeStep;
writeInterval 1000;
writeInterval 100;
purgeWrite 0;
writeFormat binary; //ascii;
writeFormat ascii;
writePrecision 10;

View File

@ -51,11 +51,11 @@ surfaceConformation
mixedFeaturePointPPDistanceCoeff 5.0;
featurePointExclusionDistanceCoeff 0.65;
featurePointExclusionDistanceCoeff 0.7;
featureEdgeExclusionDistanceCoeff 0.8;
featureEdgeExclusionDistanceCoeff 0.7;
surfaceSearchDistanceCoeff 3;
surfaceSearchDistanceCoeff 5;
maxSurfaceProtrusionCoeff 0.1;
@ -63,34 +63,17 @@ surfaceConformation
surfaceConformationRebuildFrequency 10;
specialiseFeaturePoints on;
conformationControls
{
initial
{
edgeSearchDistCoeff 5;
surfacePtReplaceDistCoeff 0.5;
surfacePtExclusionDistanceCoeff 0.5;
}
iteration
{
edgeSearchDistCoeff 2;
surfacePtReplaceDistCoeff 0.5;
}
maxIterations 15;
iterationToInitialHitRatioLimit 0.001;
}
coarseConformationControls
{
$conformationControls;
}
fineConformationControls
{
$conformationControls;
iterationToInitialHitRatioLimit 0.0001;
}
geometryToConformTo
@ -134,10 +117,25 @@ motionControl
{
defaultCellSize 0.001;
// Assign a priority to all requests for cell sizes, the highest overrules.
defaultPriority 0;
//cellShapeControl constantControl;
//cellShapeControl fileControl;
cellShapeControl surfaceControl;
cellSizeControlGeometry
constantControlCoeffs
{
cellSize 0.05;
cellAlignment (1 1 0 0 1 0 0 1 1);
}
fileControlCoeffs
{
pointFile "";
sizesFile "";
alignmentsFile "";
}
surfaceControlCoeffs
//cellSizeControlGeometry
{
flange.obj
{
@ -146,16 +144,18 @@ motionControl
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSize 0.0005;
surfaceCellSize 0.001;
}
cellSizeFunction linearDistance;
linearDistanceCoeffs
cellSizeFunction uniform;
uniformCoeffs{}
}
}
cellAspectRatioControl
{
distanceCellSize $defaultCellSize;
distance 0.004;
}
}
aspectRatio 1.0;
aspectRatioDirection (0 0 0);
}
relaxationModel adaptiveLinear;
@ -202,18 +202,9 @@ motionControl
polyMeshFiltering
{
filterEdges on;
filterFaces on;
writeTetDualMesh false;
filterSizeCoeff 0.2;
mergeClosenessCoeff 1e-9;
continueFilteringOnBadInitialPolyMesh true;
filterErrorReductionCoeff 0.5;
filterCountSkipThreshold 4;
maxCollapseIterations 25;
maxConsecutiveEqualFaceSets 5;
surfaceStepFaceAngle 90;
edgeCollapseGuardFraction 0.0; //0.3;
maxCollapseFaceToPointSideLengthCoeff 0.35;
edgeMergeAngle 30;
}
@ -222,4 +213,5 @@ meshQualityControls
#include "meshQualityDict"
}
// ************************************************************************* //

View File

@ -15,14 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
numberOfSubdomains 8;
method scotch;
//method hierarchical;
//method scotch;
method hierarchical;
simpleCoeffs
{
n ( 2 2 1 );
n ( 2 2 2 );
delta 0.001;
}

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
@ -22,7 +22,7 @@ ddtSchemes
gradSchemes
{
default none;
default Gauss linear;
}
divSchemes
@ -33,6 +33,7 @@ divSchemes
laplacianSchemes
{
default none;
laplacian(nn) Gauss linear corrected;
}
interpolationSchemes
@ -42,7 +43,7 @@ interpolationSchemes
snGradSchemes
{
default none;
default corrected;
}
fluxRequired

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
@ -17,6 +17,13 @@ FoamFile
solvers
{
nn
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0;
}
}
// ************************************************************************* //

View File

@ -23,7 +23,7 @@ FoamFile
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//- Maximum non-orthogonality allowed. Set to 180 to disable.
maxNonOrtho 65;
maxNonOrtho 45;
//- Max skewness allowed. Set to <0 to disable.
maxBoundarySkewness 50;

View File

@ -24,7 +24,7 @@ flange.obj
// than includedAngle as features
// - 0 : selects no edges
// - 180: selects all edges
includedAngle 155;
includedAngle 100;
}

View File

@ -30,12 +30,8 @@ runApplication surfaceOrient \
constant/triSurface/domain_clean_orient.stl
mv log.surfaceOrient log.surfaceOrient.domain
runApplication surfaceFeatureExtract
mv log.surfaceFeatureExtract log.surfaceFeatureExtract.coneAndSphere_clean
unset FOAM_SIGFPE
runApplication surfaceFeatureExtract
mv log.surfaceFeatureExtract log.surfaceFeatureExtract.domain
# Generate aligned points (in constant/internalDelaunayVertices) and a
# mesh from that.

View File

@ -96,12 +96,12 @@ surfaceConformation
// Distance to a feature point within which surface and edge
// conformation points are excluded - fraction of the local target
// cell size
featurePointExclusionDistanceCoeff 0.4;
featurePointExclusionDistanceCoeff 0.6;
// Distance to an existing feature edge conformation location
// within which other edge conformation location are excluded -
// fraction of the local target cell size
featureEdgeExclusionDistanceCoeff 0.2;
featureEdgeExclusionDistanceCoeff 0.6;
// Optimisation: do not check for surface intersection (of dual edges)
// for points near to surface.
@ -120,6 +120,9 @@ surfaceConformation
// Frequency to redo surface conformation (expensive).
surfaceConformationRebuildFrequency 10;
// Specialised feature point handling
specialiseFeaturePoints on;
// Initial and intermediate controls
conformationControls
{
@ -131,7 +134,7 @@ surfaceConformation
// conformation should have priority)
// distance to search for near feature edges
edgeSearchDistCoeff 1.1;
edgeSearchDistCoeff 2;
// Proximity to a feature edge where a surface hit is
// not created, only the edge conformation is created
@ -255,13 +258,49 @@ initialPoints
motionControl
{
// Absolute cell size of back ground mesh. This is the maximum cell size.
defaultCellSize 0.1;
defaultCellSize 0.05;
// Assign a priority to all requests for cell sizes, the highest overrules.
defaultPriority 0;
cellShapeControl surfaceControl;
cellSizeControlGeometry
surfaceControlCoeffs
{
coneAndSphere
{
priority 1;
mode bothSides;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSize $defaultCellSize;
}
cellSizeFunction uniform;
uniformCoeffs
{}
}
domain
{
priority 1;
mode bothSides;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSize $defaultCellSize;
}
cellSizeFunction uniform;
uniformCoeffs
{}
}
}
cellAspectRatioControl
{
aspectRatio 1.0;
aspectRatioDirection (0 0 0);
}
// Underrelaxation for point motion. Simulated annealing: starts off at 1
@ -343,12 +382,14 @@ polyMeshFiltering
{
// Upper limit on the size of faces to be filtered.
// fraction of the local target cell size
filterSizeCoeff 0.2;
filterSizeCoeff 0.5;
// Upper limit on how close two dual vertices can be before
// being merged, fraction of the local target cell size
mergeClosenessCoeff 1e-9;
edgeMergeAngle 30;
// To not filter: set maxNonOrtho to 1 (so check fails) and then
// set continueFilteringOnBadInitialPolyMesh to false.
continueFilteringOnBadInitialPolyMesh true;
@ -384,58 +425,7 @@ polyMeshFiltering
}
// Generic mesh quality settings. At any undoable phase these determine
// where to undo. Same as in snappyHexMeshDict
meshQualityControls
{
//- 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 pyramid volume. Is absolute volume of cell pyramid.
// Set to a sensible fraction of the smallest cell volume expected.
// Set to very negative number (e.g. -1E30) to disable.
minVol -1E30;
//- Minimum quality of the tet formed by the
// variable base point minimum decomposition triangles and
// the cell centre (so not face-centre decomposition).
// 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 absolute face area. Set to <0 to disable.
minArea -1;
//- 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;
//must be >0 for Fluent compatibility
minTriangleTwist -1;
}
#include "meshQualityDict";
// ************************************************************************* //

View File

@ -0,0 +1,73 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
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 pyramid volume. Is absolute volume of cell pyramid.
// Set to a sensible fraction of the smallest cell volume expected.
// Set to very negative number (e.g. -1E30) to disable.
minVol 0;
//- Minimum face area. Set to <0 to disable.
minArea -1;
//- 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;
//must be >0 for Fluent compatibility
minTriangleTwist -1;
// ************************************************************************* //