Merge branch 'master' of ssh://dm/home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
Henry
2013-01-09 14:44:28 +00:00
566 changed files with 4596 additions and 82792 deletions

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -19,8 +19,6 @@ porosity1
{
type explicitPorositySource;
active true;
timeStart 0;
duration 1000000;
selectionMode cellZone;
cellZone porosity;

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -19,8 +19,6 @@ source1
{
type fixedTemperatureConstraint;
active true;
timeStart 0;
duration 1000000;
selectionMode cellZone;
cellZone porosity;

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -19,8 +19,6 @@ fixedTemperaure1
{
type fixedTemperatureConstraint;
active true;
timeStart 0;
duration 1000000;
selectionMode cellZone;
cellZone porosity;
@ -36,8 +34,6 @@ porosity1
{
type explicitPorositySource;
active true;
timeStart 0;
duration 1000000;
selectionMode cellZone;
cellZone porosity;

View File

@ -1,133 +0,0 @@
/*--------------------------------*- 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;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
9
(
floor
{
type wall;
nFaces 50;
startFace 3882;
}
ceiling
{
type wall;
nFaces 50;
startFace 3932;
}
inlet
{
type patch;
nFaces 40;
startFace 3982;
}
outlet
{
type patch;
nFaces 40;
startFace 4022;
}
fixedWalls
{
type empty;
inGroups 1(empty);
nFaces 4000;
startFace 4062;
}
baffle1Wall_0
{
type mappedWall;
nFaces 14;
startFace 8062;
sampleMode nearestPatchFace;
sampleRegion region0;
samplePatch baffle1Wall_1;
offsetMode uniform;
offset (0 0 0);
}
baffle1Wall_1
{
type mappedWall;
nFaces 14;
startFace 8076;
sampleMode nearestPatchFace;
sampleRegion region0;
samplePatch baffle1Wall_0;
offsetMode uniform;
offset (0 0 0);
}
region0_to_baffleRegion_baffleFaces2_top
{
type mappedWall;
nFaces 14;
startFace 8090;
sampleMode nearestPatchFace;
sampleRegion baffleRegion;
samplePatch region0_to_baffleRegion_baffleFaces2_top;
offsetMode nonuniform;
offsets nonuniform List<vector>
14
(
(0.02 8.67362e-19 -0)
(0.02 -0 -0)
(0.02 -0 -0)
(0.02 -6.93889e-18 -0)
(0.02 -6.93889e-18 -0)
(0.02 -0 -0)
(0.02 -0 -0)
(0.02 -0 -0)
(0.02 -0 -0)
(0.02 -0 -0)
(0.02 -0 -0)
(0.02 -0 -0)
(0.02 -0 -0)
(0.02 -2.77556e-17 -0)
)
;
}
region0_to_baffleRegion_baffleFaces2_bottom
{
type mappedWall;
nFaces 14;
startFace 8104;
sampleMode nearestPatchFace;
sampleRegion baffleRegion;
samplePatch region0_to_baffleRegion_baffleFaces2_bottom;
offsetMode nonuniform;
offsets nonuniform List<vector>
14
(
(1.11022e-16 8.67362e-19 -0)
(1.11022e-16 -3.46945e-18 -0)
(-1.11022e-16 -0 -0)
(-1.11022e-16 -6.93889e-18 1.11022e-16)
(-1.11022e-16 -1.38778e-17 -0)
(-1.11022e-16 1.38778e-17 -0)
(-1.11022e-16 -0 -0)
(-0 -0 -0)
(-1.11022e-16 -0 -0)
(-1.11022e-16 -0 -0)
(-0 -0 -0)
(-0 -2.77556e-17 -0)
(-0 -0 -0)
(-0 -2.77556e-17 -0)
)
;
}
)
// ************************************************************************* //

View File

@ -21,7 +21,7 @@ active no;
regionName none;
thermoBaffle2DCoeffs
thermoBaffleCoeffs
{
}

View File

@ -22,7 +22,7 @@ dictionaryReplacement
{
"region0_to.*"
{
type compressible::temperatureThermoBaffle;
type compressible::thermoBaffle;
neighbourFieldName T;
kappa solidThermo;
kappaName none;

View File

@ -88,7 +88,7 @@ dictionaryReplacement
{
"baffle.*"
{
type compressible::temperatureThermoBaffle1D<hConstSolidThermoPhysics>;
type compressible::thermoBaffle1D<hConstSolidThermoPhysics>;
baffleActivated yes;
thickness uniform 0.005; // thickness [m]
Qs uniform 100; // heat flux [W/m2]

View File

@ -88,7 +88,7 @@ dictionaryReplacement
{
"baffle1Wall.*"
{
type compressible::temperatureThermoBaffle1D<hConstSolidThermoPhysics>;
type compressible::thermoBaffle1D<hConstSolidThermoPhysics>;
baffleActivated yes;
thickness uniform 0.005; // thickness [m]
Qs uniform 100; // heat flux [W/m2]

View File

@ -91,7 +91,7 @@ dictionaryReplacement
"region0_to.*"
{
type compressible::temperatureThermoBaffle;
type compressible::thermoBaffle;
// Coupled BC.
neighbourFieldName T;
@ -99,11 +99,11 @@ dictionaryReplacement
kappaName none;
// Thermo baffle model
thermoBaffleModel thermoBaffle2D;
thermoBaffleModel thermoBaffle;
regionName baffleRegion;
infoOutput no;
active yes;
thermoBaffle2DCoeffs
thermoBaffleCoeffs
{
}

View File

@ -0,0 +1,170 @@
/*--------------------------------*- 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;
class dictionary;
object createBafflesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Whether to convert internal faces only (so leave boundary faces intact).
// This is only relevant if your face selection type can pick up boundary
// faces.
internalFacesOnly true;
// Baffles to create.
baffles
{
baffleFaces
{
//- Use predefined faceZone to select faces and orientation.
type faceZone;
zoneName baffleFaces;
//- Optional flip
//flip false;
patches
{
master
{
//- Master side patch
name baffle1Wall_0;
type mappedWall;
sampleMode nearestPatchFace;
sampleRegion region0;
samplePatch baffle1Wall_1;
offsetMode uniform;
offset (0 0 0);
patchFields
{
T
{
type compressible::thermoBaffle;
// Coupled BC.
neighbourFieldName T;
kappa fluidThermo;
kappaName none;
// Thermo baffle model
thermoBaffleModel thermoBaffle;
regionName baffleRegion;
infoOutput no;
active yes;
thermoBaffleCoeffs
{
}
// Solid thermo
thermoType
{
type heSolidThermo;
mixture pureMixture;
transport constIso;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}
mixture
{
specie
{
nMoles 1;
molWeight 20;
}
transport
{
kappa 0.01;
}
thermodynamics
{
Hf 0;
Cp 15;
}
equationOfState
{
rho 80;
}
}
radiation
{
radiationModel opaqueSolid;
absorptionEmissionModel none;
scatterModel none;
}
value uniform 300;
}
alphat
{
type alphatWallFunction;
value uniform 0;
}
epsilon
{
type compressible::epsilonWallFunction;
value uniform 0.01;
}
k
{
type compressible::kqRWallFunction;
value uniform 0.01;
}
mut
{
type mutkWallFunction;
value uniform 0;
}
p
{
type calculated;
value uniform 101325;
}
p_rgh
{
type fixedFluxPressure;
}
U
{
type fixedValue;
value uniform (0 0 0);
}
}
}
slave
{
//- Slave side patch
name baffle1Wall_1;
type mappedWall;
sampleMode nearestPatchFace;
sampleRegion region0;
samplePatch baffle1Wall_0;
offsetMode uniform;
offset (0 0 0);
${..master.patchFields}
}
}
}
}
// ************************************************************************* //

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -19,8 +19,6 @@ momentumSource
{
type pressureGradientExplicitSource;
active on; //on/off switch
timeStart 0.0; //start time
duration 1000000.0; //duration
selectionMode all; //cellSet // points //cellZone
pressureGradientExplicitSourceCoeffs

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application MRFSimpleFoam;
application simpleFoam;
startFrom startTime;

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -19,8 +19,6 @@ MRF1
{
type MRFSource;
active true;
timeStart 0;
duration 1e100;
selectionMode cellZone;
cellZone rotor;

View File

@ -20,6 +20,9 @@ internalField uniform (1 0 0);
boundaryField
{
//- Set patchGroups for constraint patches
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type codedFixedValue;
@ -48,11 +51,6 @@ boundaryField
type fixedValue;
value uniform (0 0 0);
}
"side.*"
{
type cyclicAMI;
}
}
// ************************************************************************* //

View File

@ -21,6 +21,9 @@ internalField uniform 1;
boundaryField
{
//- Set patchGroups for constraint patches
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type turbulentMixingLengthDissipationRateInlet;
@ -39,11 +42,6 @@ boundaryField
type epsilonWallFunction;
value uniform 0;
}
"side.*"
{
type cyclicAMI;
}
}

View File

@ -21,6 +21,9 @@ internalField uniform 1;
boundaryField
{
//- Set patchGroups for constraint patches
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type turbulentIntensityKineticEnergyInlet;
@ -39,11 +42,6 @@ boundaryField
type kqRWallFunction;
value uniform 0;
}
"side.*"
{
type cyclicAMI;
}
}

View File

@ -20,6 +20,9 @@ internalField uniform 0;
boundaryField
{
//- Set patchGroups for constraint patches
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type zeroGradient;
@ -34,11 +37,6 @@ boundaryField
{
type zeroGradient;
}
"side.*"
{
type cyclicAMI;
}
}
// ************************************************************************* //

View File

@ -21,6 +21,9 @@ internalField uniform 0;
boundaryField
{
//- Set patchGroups for constraint patches
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type calculated;
@ -38,11 +41,6 @@ boundaryField
type nutkWallFunction;
value $internalField;
}
"side.*"
{
type cyclicAMI;
}
}

View File

@ -20,6 +20,9 @@ internalField uniform 0;
boundaryField
{
//- Set patchGroups for constraint patches
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type zeroGradient;
@ -35,11 +38,6 @@ boundaryField
{
type zeroGradient;
}
"side.*"
{
type cyclicAMI;
}
}
// ************************************************************************* //

View File

@ -36,4 +36,6 @@ cp -r 0.org 0
runApplication decomposePar -cellDist
runParallel $application 5
runApplication reconstructPar
# ----------------------------------------------------------------- end-of-file

View File

@ -15,6 +15,13 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
libs
(
"libOpenFOAM.so"
"libincompressibleTurbulenceModel.so"
"libincompressibleRASModels.so"
);
application simpleFoam;
startFrom startTime;

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -19,8 +19,6 @@ disk1
{
type actuationDiskSource;
active on; //on/off switch
timeStart 0.0; //start time
duration 1000.0; //duration
selectionMode cellSet; //cellSet // points //cellZone
cellSet actuationDisk1;//cellSet name when selectionMode = cellSet
@ -39,8 +37,6 @@ disk2
{
type actuationDiskSource;
active on;
timeStart 0.0;
duration 1000.0;
selectionMode cellSet;
cellSet actuationDisk2;

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -80,6 +80,9 @@ thermoSingleLayerCoeffs
variance 100;
}
}
zeroForcePatches
();
}
injectionModels

View File

@ -55,6 +55,8 @@ kinematicSingleLayerCoeffs
variance 100;
}
}
zeroForcePatches ();
}
surfaceShearCoeffs

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object sourcesProperties;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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
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

@ -1,11 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication cvMesh
runApplication collapseEdges -latestTime -collapseFaces
runApplication checkMesh -latestTime -allGeometry -allTopology
# ----------------------------------------------------------------- end-of-file

View File

@ -1,19 +0,0 @@
#!/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 blockMesh
runApplication decomposePar
runParallel cvMesh $nProc
runParallel collapseEdges $nProc -latestTime -collapseFaces
runParallel checkMesh $nProc -latestTime -allTopology -allGeometry
runApplication reconstructParMesh -latestTime
# ----------------------------------------------------------------- end-of-file

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 cvMesh
# Change collapseEdges to only do one iteration
cp system/collapseDict system/collapseDict.org
sed -e s/"\(maximumIterations[ \t]*\)\([0-9]*\);"/"\1 1;"/g \
system/collapseDict.org > system/collapseDict
runApplication collapseEdges -latestTime -collapseFaces
# ----------------------------------------------------------------- end-of-file

View File

@ -1,69 +0,0 @@
/*--------------------------------*- 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;
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)
);
edges
(
);
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)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -1,28 +0,0 @@
/*--------------------------------*- 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;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
1
(
walls
{
type wall;
nFaces 638;
startFace 2948;
}
)
// ************************************************************************* //

File diff suppressed because it is too large Load Diff

View File

@ -1,54 +0,0 @@
/*--------------------------------*- 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 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

@ -1,53 +0,0 @@
/*--------------------------------*- 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 controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 80;
deltaT 1;
writeControl timeStep;
writeInterval 80;
purgeWrite 0;
writeFormat ascii;
writePrecision 12;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// ************************************************************************* //

View File

@ -1,212 +0,0 @@
/*--------------------------------*- 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 cvMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Any scalar with a name <name>Coeff specifies a value that will be implemented
// as a faction of the local target cell size
geometry
{
blob.stl
{
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
{
minimumSurfaceDistanceCoeff 0.55;
initialPointsMethod autoDensity;
// initialPointsMethod pointFile;
autoDensityCoeffs
{
minLevels 0;
maxSizeRatio 5.0;
sampleResolution 5;
surfaceSampleResolution 5;
}
pointFileCoeffs
{
pointFile "constant/internalDelaunayVertices";
}
}
surfaceConformation
{
locationInMesh (0.1 0.1 0.2);
pointPairDistanceCoeff 0.1;
mixedFeaturePointPPDistanceCoeff 5.0;
featurePointExclusionDistanceCoeff 0.4;
featureEdgeExclusionDistanceCoeff 0.2;
surfaceSearchDistanceCoeff 5;
nearBoundaryDistanceCoeff 5;
maxSurfaceProtrusionCoeff 0.001;
maxQuadAngle 125;
surfaceConformationRebuildFrequency 10;
specialiseFeaturePoints off;
conformationControls
{
edgeSearchDistCoeff 5;
surfacePtReplaceDistCoeff 0.5;
surfacePtExclusionDistanceCoeff 0.5;
maxIterations 15;
iterationToInitialHitRatioLimit 0.0001;
}
geometryToConformTo
{
blob.stl
{
featureMethod none;
}
}
additionalFeatures
{
}
}
motionControl
{
defaultCellSize 0.1;
shapeControlFunctions
{
blob.stl
{
type searchableSurfaceControl;
priority 1;
mode bothSides;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSize $defaultCellSize;
}
cellSizeFunction uniform;
uniformCoeffs
{}
}
}
maxRefinementIterations 1;
cellAspectRatioControl
{
aspectRatio 1.0;
aspectRatioDirection (1 0 0);
}
relaxationModel adaptiveLinear;
adaptiveLinearCoeffs
{
relaxationStart 1.0;
relaxationEnd 0.0;
}
objOutput no;
timeChecks no;
maxLoadUnbalance 0.5;
alignmentSearchSpokes 24;
alignmentAcceptanceAngle 48;
sizeAndAlignmentRebuildFrequency 40;
pointInsertionCriteria
{
cellCentreDistCoeff 1.75;
faceAreaRatioCoeff 0.0025;
acceptanceAngle 21.5;
}
pointRemovalCriteria
{
cellCentreDistCoeff 0.65;
}
faceAreaWeightModel piecewiseLinearRamp;
piecewiseLinearRampCoeffs
{
lowerAreaFraction 0.5;
upperAreaFraction 1.0;
}
}
polyMeshFiltering
{
filterEdges on;
filterFaces off;
writeTetDualMesh false;
}
meshQualityControls
{
#include "meshQualityDict"
}
// ************************************************************************* //

View File

@ -1,47 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
location "system";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 2;
method scotch;
//method ptscotch;
// method hierarchical;
simpleCoeffs
{
n ( 2 2 1 );
delta 0.001;
}
hierarchicalCoeffs
{
n ( 2 1 1 );
delta 0.001;
order xyz;
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots ( );
// ************************************************************************* //

View File

@ -1,54 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default none;
}
gradSchemes
{
default none;
}
divSchemes
{
default none;
}
laplacianSchemes
{
default none;
}
interpolationSchemes
{
default none;
}
snGradSchemes
{
default none;
}
fluxRequired
{
default no;
}
// ************************************************************************* //

View File

@ -1,22 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
}
// ************************************************************************* //

View File

@ -1,73 +0,0 @@
/*--------------------------------*- 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 1e-20;
//- 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;
// ************************************************************************* //

View File

@ -1,310 +0,0 @@
/*--------------------------------*- 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;
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.obj
// {
// type triSurfaceMesh;
// name motorBike;
// }
//
// 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/triSurface 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;
// Region-wise refinement
// ~~~~~~~~~~~~~~~~~~~~~~
// Specifies refinement level for cells in relation to a surface. One of
// three modes
// - distance. 'levels' specifies per distance to the surface the
// wanted refinement level. The distances need to be specified in
// descending order.
// - inside. 'levels' is only one entry and only the level is used. All
// cells inside the surface get refined up to the level. The surface
// needs to be closed for this to be possible.
// - outside. Same but cells outside.
refinementRegions
{
// refinementBox
// {
// mode inside;
// levels ((1E15 4));
// }
}
// Mesh selection
// ~~~~~~~~~~~~~~
// After refinement patches get added for all refinementSurfaces and
// all cells intersecting the surfaces get put into these patches. The
// section reachable from the locationInMesh is kept.
// NOTE: This point should never be on a face, always inside a cell, even
// after refinement.
locationInMesh (-1 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.
// is the thickness of the layer furthest away from the wall.
// 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
// Flags for optional output
// 0 : only write final meshes
// 1 : write intermediate meshes
// 2 : write volScalarField with cellLevel for postprocessing
// 4 : write current intersections as .obj files
debug 0;
// 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,149 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name z;
type cellSet;
action new;
source boxToCell;
sourceInfo
{
box (-100 -100 -0.2)(100 100 100);
}
}
{
name zf;
type faceSet;
action new;
source cellToFace;
sourceInfo
{
set z;
option all;
}
}
{
name z;
type cellSet;
action invert;
}
{
name zf;
type faceSet;
action subset;
source cellToFace;
sourceInfo
{
set z;
option all;
}
}
// ~~~~~~~~~~~~~~~~ //
{
name x;
type cellSet;
action new;
source boxToCell;
sourceInfo
{
box (-0.32 -100 -100)(100 100 100);
}
}
{
name xf;
type faceSet;
action new;
source cellToFace;
sourceInfo
{
set x;
option all;
}
}
{
name x;
type cellSet;
action invert;
}
{
name xf;
type faceSet;
action subset;
source cellToFace;
sourceInfo
{
set x;
option all;
}
}
// ~~~~~~~~~~~~~~~~ //
{
name sp;
type cellSet;
action new;
source sphereToCell;
sourceInfo
{
centre (-0.3 -0.3 -0.3);
radius 0.4;
}
}
{
name spf;
type faceSet;
action new;
source cellToFace;
sourceInfo
{
set sp;
option all;
}
}
{
name sp;
type cellSet;
action invert;
}
{
name spf;
type faceSet;
action subset;
source cellToFace;
sourceInfo
{
set sp;
option all;
}
}
);
// ************************************************************************* //

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/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
# ----------------------------------------------------------------- end-of-file

View File

@ -1,19 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
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 cvMesh
runApplication collapseEdges -latestTime -collapseFaces
runApplication checkMesh -latestTime -allGeometry -allTopology
# ----------------------------------------------------------------- end-of-file

View File

@ -1,26 +0,0 @@
#!/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 collapseEdges $nProc -latestTime -collapseFaces
runParallel checkMesh $nProc -latestTime -allTopology -allGeometry
runApplication reconstructParMesh -latestTime
# ----------------------------------------------------------------- end-of-file

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
runApplication surfaceFeatureExtract
# Create tight-fitting background mesh
runApplication blockMesh
runApplication cvMesh
# Change collapseEdges to only do one iteration
cp system/collapseDict system/collapseDict.org
sed -e s/"\(maximumIterations[ \t]*\)\([0-9]*\);"/"\1 1;"/g \
system/collapseDict.org > system/collapseDict
runApplication collapseEdges -latestTime -collapseFaces
# ----------------------------------------------------------------- end-of-file

View File

@ -1,69 +0,0 @@
/*--------------------------------*- 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;
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)
);
edges
(
);
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)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -1,28 +0,0 @@
/*--------------------------------*- 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;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
1
(
walls
{
type wall;
nFaces 126;
startFace 207;
}
)
// ************************************************************************* //

File diff suppressed because it is too large Load Diff

View File

@ -1,52 +0,0 @@
/*--------------------------------*- 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 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

@ -1,58 +0,0 @@
/*--------------------------------*- 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 controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application cvMesh;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 100;
deltaT 1;
writeControl timeStep;
writeInterval 10;
purgeWrite 0;
writeFormat ascii;
writePrecision 10;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
libs ("libdistributed.so");
// ************************************************************************* //

View File

@ -1,200 +0,0 @@
/*--------------------------------*- 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 cvMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Any scalar with a name <name>Coeff specifies a value that will be implemented
// as a faction of the local target cell size
geometry
{
flange.obj
{
type triSurfaceMesh;
}
}
backgroundMeshDecomposition
{
minLevels 1;
sampleResolution 4;
spanScale 5;
maxCellWeightCoeff 10;
}
surfaceConformation
{
locationInMesh (0 0 0);
pointPairDistanceCoeff 0.1;
mixedFeaturePointPPDistanceCoeff 5.0;
featurePointExclusionDistanceCoeff 0.7;
featureEdgeExclusionDistanceCoeff 0.7;
surfaceSearchDistanceCoeff 5;
maxSurfaceProtrusionCoeff 0.1;
maxQuadAngle 125;
surfaceConformationRebuildFrequency 10;
specialiseFeaturePoints on;
conformationControls
{
edgeSearchDistCoeff 5;
surfacePtReplaceDistCoeff 0.5;
surfacePtExclusionDistanceCoeff 0.5;
maxIterations 15;
iterationToInitialHitRatioLimit 0.0001;
}
geometryToConformTo
{
flange.obj
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "flange.extendedFeatureEdgeMesh";
}
}
additionalFeatures
{
}
}
initialPoints
{
minimumSurfaceDistanceCoeff 0.55;
initialPointsMethod autoDensity;
//initialPointsMethod pointFile;
autoDensityCoeffs
{
minLevels 1;
maxSizeRatio 3.0;
sampleResolution 4;
surfaceSampleResolution 5;
}
pointFileCoeffs
{
pointFile "constant/internalDelaunayVertices";
}
}
motionControl
{
defaultCellSize 0.001;
shapeControlFunctions
{
flange.obj
{
type searchableSurfaceControl;
priority 1;
mode inside;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSize $defaultCellSize;
}
cellSizeFunction uniform;
uniformCoeffs{}
}
}
cellAspectRatioControl
{
aspectRatio 1.0;
aspectRatioDirection (0 0 0);
}
relaxationModel adaptiveLinear;
adaptiveLinearCoeffs
{
relaxationStart 1.0;
relaxationEnd 0.0;
}
objOutput no;
timeChecks no;
maxLoadUnbalance 0.2;
alignmentSearchSpokes 36;
alignmentAcceptanceAngle 48;
sizeAndAlignmentRebuildFrequency 20;
pointInsertionCriteria
{
cellCentreDistCoeff 1.75;
faceAreaRatioCoeff 0.0025;
acceptanceAngle 21.5;
}
pointRemovalCriteria
{
cellCentreDistCoeff 0.65;
}
faceAreaWeightModel piecewiseLinearRamp;
piecewiseLinearRampCoeffs
{
lowerAreaFraction 0.5;
upperAreaFraction 1.0;
}
}
polyMeshFiltering
{
filterEdges on;
filterFaces off;
writeTetDualMesh false;
}
meshQualityControls
{
#include "meshQualityDict"
}
// ************************************************************************* //

View File

@ -1,46 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
location "system";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 8;
//method scotch;
method hierarchical;
simpleCoeffs
{
n ( 2 2 2 );
delta 0.001;
}
hierarchicalCoeffs
{
n ( 2 2 2 );
delta 0.001;
order xyz;
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots ( );
// ************************************************************************* //

View File

@ -1,35 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
object faceSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Name of set to operate on
name facesToBeRemoved;
// One of clear/new/invert/add/delete|subset/list
action new;
// Actions to apply to pointSet. These are all the topoSetSource's ending
// in ..ToFace (see the meshTools library).
topoSetSources
(
// Select by explicitly providing face labels
labelToFace
{
value #include "../facesToBeRemoved";
}
);
// ************************************************************************* //

View File

@ -1,55 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default none;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
}
laplacianSchemes
{
default none;
laplacian(nn) Gauss linear corrected;
}
interpolationSchemes
{
default none;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
}
// ************************************************************************* //

View File

@ -1,29 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
nn
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0;
}
}
// ************************************************************************* //

View File

@ -1,73 +0,0 @@
/*--------------------------------*- 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 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 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;
// ************************************************************************* //

View File

@ -1,308 +0,0 @@
/*--------------------------------*- 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;
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.obj
// {
// type triSurfaceMesh;
// name motorBike;
// }
//
// 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/triSurface 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;
// Region-wise refinement
// ~~~~~~~~~~~~~~~~~~~~~~
// Specifies refinement level for cells in relation to a surface. One of
// three modes
// - distance. 'levels' specifies per distance to the surface the
// wanted refinement level. The distances need to be specified in
// descending order.
// - inside. 'levels' is only one entry and only the level is used. All
// cells inside the surface get refined up to the level. The surface
// needs to be closed for this to be possible.
// - outside. Same but cells outside.
refinementRegions
{
// refinementBox
// {
// mode inside;
// levels ((1E15 4));
// }
}
// Mesh selection
// ~~~~~~~~~~~~~~
// After refinement patches get added for all refinementSurfaces and
// all cells intersecting the surfaces get put into these patches. The
// section reachable from the locationInMesh is kept.
// NOTE: This point should never be on a face, always inside a cell, even
// after refinement.
locationInMesh (-1 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
{
"flange.obj.*"
{
nSurfaceLayers 1;
}
}
// 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.
// is the thickness of the layer furthest away from the wall.
// See relativeSizes parameter.
finalLayerThickness 0.0003;
// 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.0001;
// 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;
}
meshQualityControls
{
// Generic mesh quality settings. At any undoable phase these determine
// where to undo.
#include "meshQualityDict"
//- Number of error distribution iterations
nSmoothScale 4;
//- amount to scale back displacement at error points
errorReduction 0.75;
}
// Advanced
// Flags for optional output
// 0 : only write final meshes
// 1 : write intermediate meshes
// 2 : write volScalarField with cellLevel for postprocessing
// 4 : write current intersections as .obj files
debug 0;
// 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,38 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
object surfaceFeatureExtractDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
flange.obj
{
extractionMethod extractFromSurface;
extractFromSurfaceCoeffs
{
// Mark edges whose adjacent surface normals are at an angle less
// than includedAngle as features
// - 0 : selects no edges
// - 180: selects all edges
includedAngle 100;
}
// Write options
// Write features to obj format for postprocessing
writeObj yes;
}
// ************************************************************************* //

View File

@ -1,319 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// List of actions. Each action is a dictionary with e.g.
// // name of set
// name c0;
//
// // type: pointSet/faceSet/cellSet/faceZoneSet/cellZoneSet
// type cellSet;
//
// // action to perform on set. Two types:
// // - require no source : clear/invert
// // - require source : new/add/delete/subset
// action new;
//
// The source entry varies according to the type of set:
//
// cellSet
// ~~~~~~~
//
// // Select by explicitly providing cell labels
// source labelToCell;
// {
// value (12 13 56); // labels of cells
// }
//
// // Copy elements from cellSet
// source cellToCell;
// {
// set c1;
// }
//
// // Cells in cell zone
// source zoneToCell;
// {
// name ".*Zone"; // Name of cellZone, regular expressions allowed
// }
//
// // Cells on master or slave side of faceZone
// source faceZoneToCell;
// {
// name ".*Zone"; // Name of faceZone, regular expressions allowed
// option master; // master/slave
// }
//
// // Select based on faceSet
// source faceToCell;
// {
// set f0; // Name of faceSet
//
// //option neighbour; // cell with neighbour in faceSet
// //option owner; // ,, owner
// option any; // cell with any face in faceSet
// //option all; // cell with all faces in faceSet
// }
//
// // Select based on pointSet
// source pointToCell;
// {
// set p0;
// option any; // cell with any point in pointSet
// //option all; // cell with all points in pointSet
// }
//
// // Select based on cellShape
// source shapeToCell;
// {
// type hex; // hex/wedge/prism/pyr/tet/tetWedge/splitHex
// }
//
// // Cells with cell centre within box
// source boxToCell;
// {
// box (0 0 0) (1 1 1);
// }
//
// // Cells with cell centre within box
// // Is skewed, rotated box. Given as origin and three spanning vectors.
// source rotatedBoxToCell;
// {
// origin (0.2 0.2 -10);
// i (0.2 0.2 0);
// j (-0.2 0.2 0);
// k (10 10 10);
// }
//
// // Cells with centre within cylinder
// source cylinderToCell;
// {
// p1 (0.2 0.2 -10); // start point on cylinder axis
// p2 (0.2 0.2 0); // end point on cylinder axis
// radius 5.0;
// }
//
// // Cells with centre within sphere
// source sphereToCell;
// {
// centre (0.2 0.2 -10);
// radius 5.0;
// }
//
// // Cells with cellCentre nearest to coordinates
// source nearestToCell;
// {
// points ((0 0 0) (1 1 1)(2 2 2));
// }
//
// // Select based on surface
// source surfaceToCell;
// {
// file "www.avl.com-geometry.stl";
// outsidePoints ((-99 -99 -59)); // definition of outside
// includeCut false; // cells cut by surface
// includeInside false; // cells not on outside of surf
// includeOutside false; // cells on outside of surf
// nearDistance -1; // cells with centre near surf
// // (set to -1 if not used)
// curvature 0.9; // cells within nearDistance
// // and near surf curvature
// // (set to -100 if not used)
// }
//
// // values of field within certain range
// source fieldToCell;
// {
// fieldName U; // Note: uses mag(U) since volVectorField
// min 0.1;
// max 0.5;
// }
//
// // Mesh region (non-face connected part of (subset of)mesh)
// source regionToCell;
// {
// set c0; // name of cellSet giving mesh subset
// insidePoint (1 2 3); // point inside region to select
// }
//
//
//
// faceSet
// ~~~~~~~
//
// // Copy elements from faceSet
// source faceToFace;
// {
// set f1;
// }
//
// // Select based on cellSet
// source cellToFace;
// {
// set c0;
// option all; // All faces of cells
// //option both; // Only faces whose owner&neighbour are in cellSet
// }
//
// // Select based on pointSet
// source pointToFace;
// {
// set p0;
// option any; // Faces using any point in pointSet
// //option all // Faces with all points in pointSet
// }
//
// // Select by explicitly providing face labels
// source labelToFace;
// {
// value (12 13 56); // labels of faces
// }
//
// // All faces of patch
// source patchToFace;
// {
// name ".*Wall"; // Name of patch, regular expressions allowed
// }
//
// // All faces of faceZone
// source zoneToFace;
// {
// name ".*Zone1"; // Name of faceZone, regular expressions allowed
// }
//
// // Faces with face centre within box
// source boxToFace;
// {
// box (0 0 0) (1 1 1);
// }
//
// // Faces with normal to within certain angle aligned with vector.
// source normalToFace;
// {
// normal (0 0 1); // Vector
// cos 0.01; // Tolerance (max cos of angle)
// }
//
//
//
// pointSet
// ~~~~~~~
//
// // Copy elements from pointSet
// source pointToPoint;
// {
// set p1;
// }
//
// // Select based on cellSet
// source cellToPoint;
// {
// set c0;
// option all; // all points of cell
// }
//
// // Select based on faceSet
// source faceToPoint;
// {
// set f0; // name of faceSet
// option all; // all points of face
// }
//
// // Select by explicitly providing point labels
// source labelToPoint;
// {
// value (12 13 56); // labels of points
// }
//
// // All points in pointzone
// source zoneToPoint;
// {
// name ".*Zone"; // name of pointZone, regular expressions allowed
// }
//
// // Points nearest to coordinates
// source nearestToPoint;
// {
// points ((0 0 0) (1 1 1));
// }
//
// // Points with coordinate within box
// source boxToPoint;
// {
// box (0 0 0) (1 1 1);
// }
//
// // Select based on surface
// source surfaceToPoint;
// {
// file "www.avl.com-geometry.stl";
// nearDistance 0.1; // points near to surface
// includeInside false; // points on inside of surface
// // (requires closed surface with consistent
// // normals)
// includeOutside false; // ,, outside ,,
// }
//
//
//
//
// cellZoneSet
// ~~~~~~~~~~~
// (mirrors operations on a cellSet into a cellZone)
//
// // Select based on cellSet
// source setToCellZone;
// {
// set c0; // name of cellSet
// }
//
//
//
// faceZoneSet
// ~~~~~~~~~~~
// // Select based on faceSet without orientation
// source setToFaceZone;
// {
// set f0; // name of faceSet
// }
//
// // Select based on faceSet, using cellSet to determine orientation
// source setsToFaceZone;
// {
// faceSet f0; // name of faceSet
// cellSet c0; // name of cellSet of slave side
// }
actions
(
{
name background;
type cellSet;
action new;
source surfaceToCell;
sourceInfo
{
file "constant/triSurface/flange.obj";
outsidePoints ((-0.026 -0.0275 -0.0235));
includeCut true;
includeInside true;
includeOutside false;
nearDistance -1;
curvature -100;
}
}
);
// ************************************************************************* //

View File

@ -1,152 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
zSlice -0.009;
ySlice 0.0;
xSlice 0.0;
actions
(
{
name z;
type cellSet;
action new;
source boxToCell;
sourceInfo
{
box (-100 -100 $zSlice)(100 100 100);
}
}
{
name zf;
type faceSet;
action new;
source cellToFace;
sourceInfo
{
set z;
option all;
}
}
{
name z;
type cellSet;
action invert;
}
{
name zf;
type faceSet;
action subset;
source cellToFace;
sourceInfo
{
set z;
option all;
}
}
// ~~~~~~~~~~~~~~~~ //
{
name y;
type cellSet;
action new;
source boxToCell;
sourceInfo
{
box (-100 $ySlice -100)(100 100 100);
}
}
{
name yf;
type faceSet;
action new;
source cellToFace;
sourceInfo
{
set y;
option all;
}
}
{
name y;
type cellSet;
action invert;
}
{
name yf;
type faceSet;
action subset;
source cellToFace;
sourceInfo
{
set y;
option all;
}
}
// ~~~~~~~~~~~~~~~~ //
{
name x;
type cellSet;
action new;
source boxToCell;
sourceInfo
{
box ($xSlice -100 -100)(100 100 100);
}
}
{
name xf;
type faceSet;
action new;
source cellToFace;
sourceInfo
{
set x;
option all;
}
}
{
name x;
type cellSet;
action invert;
}
{
name xf;
type faceSet;
action subset;
source cellToFace;
sourceInfo
{
set x;
option all;
}
}
);
// ************************************************************************* //

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/CleanFunctions
rm -r constant/extendedFeatureEdgeMesh constant/internalDelaunayVertices > /dev/null 2>&1
rm constant/triSurface/*.eMesh > /dev/null 2>&1
rm constant/triSurface/*_clean* > /dev/null 2>&1
rm -r constant/polyMesh > /dev/null 2>&1
rm constant/targetCellSize > /dev/null 2>&1
rm -r constant/tetDualMesh > /dev/null 2>&1
rm domain coneAndSphere > /dev/null 2>&1
cleanCase
# ----------------------------------------------------------------- end-of-file

View File

@ -1,43 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Remove any small triangles (edges < 1e-4, sliver with Q < 1e-6) from surface
# (cvMesh will try to conform to every feature).
runApplication surfaceClean \
constant/triSurface/coneAndSphere.obj \
1e-4 1e-6 \
constant/triSurface/coneAndSphere_clean.obj
mv log.surfaceClean log.surfaceClean.coneAndSphere
# Orient so point to be meshed is inside surface
runApplication surfaceOrient \
constant/triSurface/coneAndSphere_clean.obj \
-inside '(0 -0.5 0)' \
constant/triSurface/coneAndSphere_clean_orient.obj
mv log.surfaceOrient log.surfaceOrient.coneAndSphere
# Same for outside
runApplication surfaceClean \
constant/triSurface/domain.stl \
1e-4 1e-6 \
constant/triSurface/domain_clean.stl
mv log.surfaceClean log.surfaceClean.domain
runApplication surfaceOrient \
constant/triSurface/domain_clean.stl \
-inside '(0 -0.5 0)' \
constant/triSurface/domain_clean_orient.stl
mv log.surfaceOrient log.surfaceOrient.domain
unset FOAM_SIGFPE
runApplication surfaceFeatureExtract
# Generate aligned points (in constant/internalDelaunayVertices) and a
# mesh from that.
runApplication cvMesh
# Generate some sets for a bit of mesh inspection
runApplication topoSet -time 0:100
# ----------------------------------------------------------------- end-of-file

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,86 +0,0 @@
solid ascii
facet normal -1 0 0
outer loop
vertex -0.7 -0.9 -1
vertex -0.7 -0.9 1
vertex -0.7 1.1 -1
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -0.7 1.1 1
vertex -0.7 1.1 -1
vertex -0.7 -0.9 1
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.3 -0.9 -1
vertex 1.3 1.1 -1
vertex 1.3 -0.9 1
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.3 1.1 1
vertex 1.3 -0.9 1
vertex 1.3 1.1 -1
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex -0.7 -0.9 -1
vertex 1.3 -0.9 -1
vertex -0.7 -0.9 1
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.3 -0.9 1
vertex -0.7 -0.9 1
vertex 1.3 -0.9 -1
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -0.7 1.1 -1
vertex -0.7 1.1 1
vertex 1.3 1.1 -1
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.3 1.1 1
vertex 1.3 1.1 -1
vertex -0.7 1.1 1
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex -0.7 -0.9 -1
vertex -0.7 1.1 -1
vertex 1.3 -0.9 -1
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.3 1.1 -1
vertex 1.3 -0.9 -1
vertex -0.7 1.1 -1
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.7 -0.9 1
vertex 1.3 -0.9 1
vertex -0.7 1.1 1
endloop
endfacet
facet normal -0 0 1
outer loop
vertex 1.3 1.1 1
vertex -0.7 1.1 1
vertex 1.3 -0.9 1
endloop
endfacet
endsolid

View File

@ -1,52 +0,0 @@
/*--------------------------------*- 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 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

@ -1,54 +0,0 @@
/*--------------------------------*- 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 controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom latestTime;
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 uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// ************************************************************************* //

View File

@ -1,371 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
object cvMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
/*
Control dictionary for cvMesh - polyhedral mesh generator.
cvMesh phases:
1. fill volume with initial points (initialPoints subdictionary). An option
is to reread from previous set of points.
2. internal point motion (motionControl subdictionary)
3. every once in a while add point duplets/triplets to conform to
surfaces and features (surfaceConformation subdictionary)
4. back to 2
5. construct polyMesh.
- filter (polyMeshFiltering subdictionary)
- check (meshQualityControls subdictionary) and undo filtering
See also cvControls.H in the conformalVoronoiMesh library
*/
// Important:
// ----------
// Any scalar with a name <name>Coeff specifies a value that will be implemented
// as a faction of the local target cell size
// Any scalar with a name <name>Size specifies an absolute size.
// Geometry. Definition of all surfaces. All surfaces are of class
// searchableSurface.
// Surfaces need to be (almost) closed - use closedTriSurfaceMesh
// if they are not topologically closed. Surfaces need to be oriented so
// the space to be meshed is always on the inside of all surfaces. Use e.g.
// surfaceOrient.
geometry
{
// Internal shape
coneAndSphere_clean_orient.obj
{
name coneAndSphere;
type triSurfaceMesh;
}
// Outside of domain
domain_clean_orient.stl
{
name domain;
type triSurfaceMesh;
}
}
// Controls for conforming to the surfaces.
surfaceConformation
{
// A point inside surfaces that is inside mesh.
locationInMesh (0 -0.5 0);
// How far apart are point-duplets generated. Balance this between
// - very low distance: little chance of interference from other
// surfaces
// - largish distance: less non-orthogonality in final cell
// (circumcentre far away from centroid)
pointPairDistanceCoeff 0.1;
// Mixed feature edges - both inside and outside edges. Recreated
// by inserting triplets of points to recreate a single edge. Done for
// all edges emanating from point. triplets of points get inserted
// mixedFeaturePointPPDistanceCoeff distance away from feature point.
mixedFeaturePointPPDistanceCoeff 5.0;
// Distance to a feature point within which surface and edge
// conformation points are excluded - fraction of the local target
// cell size
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.6;
// Optimisation: do not check for surface intersection (of dual edges)
// for points near to surface.
surfaceSearchDistanceCoeff 2.5;
// Maximum allowable protrusion through the surface before
// conformation points are added - fraction of the local target
// cell size. These small protusions are (hopefully) done by mesh filtering
// instead.
maxSurfaceProtrusionCoeff 0.1;
// If feature edge with large angle (so more than 125 degrees) introduce
// additional points to create two half angled cells (= mitering).
maxQuadAngle 125;
// Frequency to redo surface conformation (expensive).
surfaceConformationRebuildFrequency 10;
// Specialised feature point handling
specialiseFeaturePoints on;
// Initial and intermediate controls
conformationControls
{
// We've got a point poking through the surface. Don't do any
// surface conformation if near feature edge (since feature edge
// conformation should have priority)
// distance to search for near feature edges
edgeSearchDistCoeff 2;
// Proximity to a feature edge where a surface hit is
// not created, only the edge conformation is created
// - fraction of the local target cell size. Coarse
// conformation, initial protrusion tests.
surfacePtReplaceDistCoeff 0.5;
surfacePtExclusionDistanceCoeff 0.5;
// Stop either at maxIterations or if the number of surface pokes
// is very small (iterationToInitialHitRatioLimit * initial number)
// Note: perhaps iterationToInitialHitRatioLimit should be absolute
// count?
maxIterations 15;
iterationToInitialHitRatioLimit 0.001;
}
// Geometry to mesh to
geometryToConformTo
{
coneAndSphere
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "coneAndSphere_clean_orient.extendedFeatureEdgeMesh";
}
domain
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "domain_clean_orient.extendedFeatureEdgeMesh";
}
}
additionalFeatures {}
}
// Controls for seeding initial points and general control of the target
// cell size (used everywhere)
initialPoints
{
// Do not place point closer than minimumSurfaceDistanceCoeff
// to the surface. Is fraction of local target cell size (see below)
minimumSurfaceDistanceCoeff 0.55;
initialPointsMethod autoDensity;
// initialPointsMethod uniformGrid;
// initialPointsMethod bodyCentredCubic;
// initialPointsMethod pointFile;
// Take boundbox of all geometry. Samples with this box. If too much
// samples (due to target cell size) in box split box.
autoDensityCoeffs
{
minCellSizeLimit 0.1;
// Initial number of refinement levels. Needs to be enough to pick
// up features due to size ratio. If not enough it will take longer
// to determine point seeding.
minLevels 4;
// Split box if ratio of min to max cell size larger than maxSizeRatio
maxSizeRatio 5.0;
// Per box sample 3x3x3 internally
sampleResolution 3;
// Additionally per face of the box sample 3
surfaceSampleResolution 3;
}
uniformGridCoeffs
{
// Absolute cell size.
initialCellSize 0.0015;
randomiseInitialGrid yes;
randomPerturbationCoeff 0.02;
}
bodyCentredCubicCoeffs
{
initialCellSize 0.0015;
randomiseInitialGrid no;
randomPerturbationCoeff 0.1;
}
pointFileCoeffs
{
// Reads points from file. Still rejects points that are too
// close to the surface (minimumSurfaceDistanceCoeff) or on the
// wrong side of the surfaces.
pointFile "constant/internalDelaunayVertices";
}
}
// Control size of voronoi cells i.e. distance between points. This
// determines the target cell size which is used everywhere.
// It determines the cell size given a location. It then uses all
// the rules
// - defaultCellSize
// - cellSizeControlGeometry
// to determine target cell size. Rule with highest priority wins. If same
// priority smallest cell size wins.
motionControl
{
// Absolute cell size of back ground mesh. This is the maximum cell size.
defaultCellSize 0.1;
shapeControlFunctions
{
coneAndSphere
{
type searchableSurfaceControl;
priority 1;
mode bothSides;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSize 0.075;
}
cellSizeFunction uniform;
uniformCoeffs
{}
}
domain
{
type searchableSurfaceControl;
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
// and lowers to 0 (at simulation endTime) to converge points.
// adaptiveLinear is preferred choice.
// Points move by e.g. 10% of tet size.
relaxationModel adaptiveLinear; //rampHoldFall
adaptiveLinearCoeffs
{
relaxationStart 1.0;
relaxationEnd 0.0;
}
// Output lots and lots of .obj files
objOutput no;
// Timing and memory usage.
timeChecks no;
// Number of rays in plane parallel to nearest surface. Used to detect
// next closest surfaces. Used to work out alignment (three vectors)
// to surface.
// Note that only the initial points (from the seeding) calculate this
// information so if these are not fine enough the alignment will
// not be correct. (any points added during the running will lookup
// this information from the nearest initial point since it is
// expensive)
alignmentSearchSpokes 36;
// For each delaunay edge (between two vertices, becomes
// the Voronoi face normal) snap to the alignment direction if within
// alignmentAcceptanceAngle. Slightly > 45 is a good choice - prevents
// flipping.
alignmentAcceptanceAngle 48;
// How often to rebuild the alignment info (expensive)
sizeAndAlignmentRebuildFrequency 20;
// When to insert points. Not advisable change to
// these settings.
pointInsertionCriteria
{
// If edge larger than 1.75 target cell size
// (so tets too large/stretched) insert point
cellCentreDistCoeff 1.75;
// Do not insert point if voronoi face (on edge) very small.
faceAreaRatioCoeff 0.0025;
// Insert point only if edge closely aligned to local alignment
// direction.
acceptanceAngle 21.5;
}
// Opposite: remove point if mesh too compressed. Do not change these
// settings.
pointRemovalCriteria
{
cellCentreDistCoeff 0.65;
}
// How to determine the point motion. All edges got some direction.
// Sum all edge contributions to determine point motion. Weigh by
// face area so motion is preferentially determined by large faces
// (or more importantly ignore contribution from small faces).
// Do not change these settings.
faceAreaWeightModel piecewiseLinearRamp;
piecewiseLinearRampCoeffs
{
lowerAreaFraction 0.5;
upperAreaFraction 1.0;
}
}
// After simulation, when converting to polyMesh, filter out small faces/edges.
// Do not change. See cvControls.H
polyMeshFiltering
{
filterEdges on;
filterFaces on;
writeTetDualMesh false;
}
#include "meshQualityDict";
// ************************************************************************* //

View File

@ -1,55 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
d2dt2Schemes
{
default steadyState;
}
gradSchemes
{
default Gauss cubic;
}
divSchemes
{
default Gauss cubic;
}
laplacianSchemes
{
default Gauss linear uncorrected;
}
interpolationSchemes
{
default cubic;
}
snGradSchemes
{
default uncorrected;
}
fluxRequired
{
default no;
D ;
}
// ************************************************************************* //

View File

@ -1,41 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
"(D|Dcorr)"
{
solver GAMG;
tolerance 1e-06;
relTol 0.99;
smoother GaussSeidel;
cacheAgglomeration true;
nCellsInCoarsestLevel 6;
agglomerator faceAreaPair;
mergeLevels 1;
}
}
stressAnalysis
{
nCorrectors 1;
D 1e-10;
accelerationFactor 2;
}
// ************************************************************************* //

View File

@ -1,73 +0,0 @@
/*--------------------------------*- 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;
// ************************************************************************* //

View File

@ -1,57 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
object surfaceFeatureExtractDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
coneAndSphere_clean_orient.obj
{
extractionMethod extractFromSurface;
extractFromSurfaceCoeffs
{
// Mark edges whose adjacent surface normals are at an angle less
// than includedAngle as features
// - 0 : selects no edges
// - 180: selects all edges
includedAngle 125;
}
// Write options
// Write features to obj format for postprocessing
writeObj no;
}
domain_clean_orient.stl
{
extractionMethod extractFromSurface;
extractFromSurfaceCoeffs
{
// Mark edges whose adjacent surface normals are at an angle less
// than includedAngle as features
// - 0 : selects no edges
// - 180: selects all edges
includedAngle 125;
}
// Write options
// Write features to obj format for postprocessing
writeObj no;
}
// ************************************************************************* //

View File

@ -1,148 +0,0 @@
/*--------------------------------*- 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;
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name z;
type cellSet;
action new;
source boxToCell;
sourceInfo
{
box (-100 -100 0)(100 100 100);
}
}
{
name zf;
type faceSet;
action new;
source cellToFace;
sourceInfo
{
set z;
option all;
}
}
{
name z;
type cellSet;
action invert;
}
{
name zf;
type faceSet;
action subset;
source cellToFace;
sourceInfo
{
set z;
option all;
}
}
// ~~~~~~~~~~~~~~~~ //
{
name y;
type cellSet;
action new;
source boxToCell;
sourceInfo
{
box (-100 0.1 -100)(100 100 100);
}
}
{
name yf;
type faceSet;
action new;
source cellToFace;
sourceInfo
{
set y;
option all;
}
}
{
name y;
type cellSet;
action invert;
}
{
name yf;
type faceSet;
action subset;
source cellToFace;
sourceInfo
{
set y;
option all;
}
}
// ~~~~~~~~~~~~~~~~ //
{
name x;
type cellSet;
action new;
source boxToCell;
sourceInfo
{
box (0.3 -100 -100)(100 100 100);
}
}
{
name xf;
type faceSet;
action new;
source cellToFace;
sourceInfo
{
set x;
option all;
}
}
{
name x;
type cellSet;
action invert;
}
{
name xf;
type faceSet;
action subset;
source cellToFace;
sourceInfo
{
set x;
option all;
}
}
);
// ************************************************************************* //