mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of ssh://dm/home/dm4/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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)
|
||||
)
|
||||
;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -21,7 +21,7 @@ active no;
|
||||
|
||||
regionName none;
|
||||
|
||||
thermoBaffle2DCoeffs
|
||||
thermoBaffleCoeffs
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ dictionaryReplacement
|
||||
{
|
||||
"region0_to.*"
|
||||
{
|
||||
type compressible::temperatureThermoBaffle;
|
||||
type compressible::thermoBaffle;
|
||||
neighbourFieldName T;
|
||||
kappa solidThermo;
|
||||
kappaName none;
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@ -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}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
@ -15,7 +15,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application MRFSimpleFoam;
|
||||
application simpleFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -36,4 +36,6 @@ cp -r 0.org 0
|
||||
runApplication decomposePar -cellDist
|
||||
runParallel $application 5
|
||||
|
||||
runApplication reconstructPar
|
||||
|
||||
# ----------------------------------------------------------------- end-of-file
|
||||
|
||||
@ -15,6 +15,13 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
libs
|
||||
(
|
||||
"libOpenFOAM.so"
|
||||
"libincompressibleTurbulenceModel.so"
|
||||
"libincompressibleRASModels.so"
|
||||
);
|
||||
|
||||
application simpleFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -11,7 +11,7 @@ FoamFile
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object sourcesProperties;
|
||||
object fvOptions;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -11,7 +11,7 @@ FoamFile
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object sourcesProperties;
|
||||
object fvOptions;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -11,7 +11,7 @@ FoamFile
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object sourcesProperties;
|
||||
object fvOptions;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -80,6 +80,9 @@ thermoSingleLayerCoeffs
|
||||
variance 100;
|
||||
}
|
||||
}
|
||||
|
||||
zeroForcePatches
|
||||
();
|
||||
}
|
||||
|
||||
injectionModels
|
||||
|
||||
@ -55,6 +55,8 @@ kinematicSingleLayerCoeffs
|
||||
variance 100;
|
||||
}
|
||||
}
|
||||
|
||||
zeroForcePatches ();
|
||||
}
|
||||
|
||||
surfaceShearCoeffs
|
||||
|
||||
@ -11,7 +11,7 @@ FoamFile
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object sourcesProperties;
|
||||
object fvOptions;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -11,7 +11,7 @@ FoamFile
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object sourcesProperties;
|
||||
object fvOptions;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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"
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 ( );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
{
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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");
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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"
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 ( );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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";
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
File diff suppressed because it is too large
Load Diff
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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";
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
Reference in New Issue
Block a user