Add the OpenFOAM source tree

This commit is contained in:
Henry
2014-12-10 22:40:10 +00:00
parent ee487c860d
commit 446e5777f0
13379 changed files with 3983377 additions and 0 deletions

View File

@ -0,0 +1,64 @@
/*--------------------------------*- 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 binary;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
".*"
{
type fixedValue;
value $internalField;
}
gasInlet
{
type fixedValue;
value uniform (0 0 0.5);
}
outlet
{
type pressureInletOutletVelocity;
phi phi;
value $internalField;
}
"(shaftRotating|stirrer)"
{
type movingWallVelocity;
value $internalField;
}
shaft
{
type rotatingWallVelocity;
origin (0 0 0);
axis (0 0 1);
omega -5;
}
"AMI.*"
{
type cyclicAMI;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- 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 volScalarField;
object alpha.phase1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
".*"
{
type zeroGradient;
}
gasInlet
{
type fixedValue;
value uniform 1;
}
outlet
{
type inletOutlet;
inletValue uniform 0;
value $internalField;
}
"AMI.*"
{
type cyclicAMI;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- 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 volScalarField;
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -3 0 0 0 0];
internalField uniform 7e-3;
boundaryField
{
".*"
{
type epsilonWallFunction;
value $internalField;
}
gasInlet
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
"AMI.*"
{
type cyclicAMI;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- 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 volScalarField;
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.01;
boundaryField
{
".*"
{
type kqRWallFunction;
value $internalField;
}
gasInlet
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
"AMI.*"
{
type cyclicAMI;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- 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 volScalarField;
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
".*"
{
type nutkWallFunction;
value $internalField;
}
gasInlet
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
"AMI.*"
{
type cyclicAMI;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*--------------------------------*- 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 volScalarField;
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 1.25e5;
boundaryField
{
".*"
{
type fixedFluxPressure;
phi phiAbs;
value $internalField;
}
outlet
{
type fixedValue;
value $internalField;
}
"AMI.*"
{
type cyclicAMI;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,24 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
\rm -rf 0
\rm -rf constant/extendedFeatureEdgeMesh/
\rm -f constant/triSurface/*.eMesh*
\rm -f constant/triSurface/*.stl
\rm -f constant/triSurface/*.obj
\rm -f constant/triSurface/problemFaces
\rm -f *.obj
\rm -f constant/backgroundMeshDecomposition/polyMesh/boundary
\rm -f constant/backgroundMeshDecomposition/polyMesh/faces
\rm -f constant/backgroundMeshDecomposition/polyMesh/neighbour
\rm -f constant/backgroundMeshDecomposition/polyMesh/owner
\rm -f constant/backgroundMeshDecomposition/polyMesh/points
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,13 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Generate mesh
./Allrun-pre
# Run simulation
./Allrun-simulation
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,109 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
intersectSurfaces()
{
runApplication \
surfaceBooleanFeatures \
intersection \
"$@"
outputName1=$(basename $1)
outputName1=${outputName1%.*}
outputName2=$(basename $2)
outputName2=${outputName2%.*}
mv log.surfaceBooleanFeatures \
log.surfaceBooleanFeatures.$outputName1:$outputName2
}
# Set application name
application=$(getApplication)
# Get number of processors to run on
nProcs=$(getNumberOfProcessors)
\rm -rf 0
# Run the surface preparation script
./constant/triSurface/surfaceProcess.sh > log.surfaceProcess 2>&1
# Surface intersections
intersectSurfaces \
constant/triSurface/vessel.stl \
constant/triSurface/spargerShaft.stl \
-perturb
intersectSurfaces \
constant/triSurface/vessel.stl \
constant/triSurface/shaft.stl \
-perturb
intersectSurfaces \
constant/triSurface/spargerShaft.stl \
constant/triSurface/spargerInlet.stl \
-perturb
intersectSurfaces \
constant/triSurface/stirrer.stl \
constant/triSurface/shaftRotating.stl \
-perturb
intersectSurfaces \
constant/triSurface/stirrer_baffles.stl \
constant/triSurface/stirrer.stl \
-surf1Baffle \
-perturb
intersectSurfaces \
constant/triSurface/rotating.stl \
constant/triSurface/shaft.stl \
-surf1Baffle \
-perturb
# Intersect blades with the plate
for bladeI in $(seq 1 6);
do
intersectSurfaces \
constant/triSurface/stirrer_baffles_$bladeI.obj \
constant/triSurface/stirrer_baffles_plate.obj \
-surf1Baffle \
-surf2Baffle
done
# Meshing
\cp system/controlDict.mesh system/controlDict
\cp system/collapseDict.collapseFaces system/collapseDict
runApplication blockMesh -region backgroundMeshDecomposition
runApplication decomposePar -region backgroundMeshDecomposition
runApplication surfaceFeatureExtract
runParallel foamyHexMesh $nProcs
runParallel collapseEdges $nProcs -collapseFaces -latestTime
mv log.collapseEdges log.collapseFaces
#\cp system/collapseDict.indirectPatchFaces system/collapseDict
#runParallel collapseEdges $nProcs -collapseFaceSet indirectPatchFaces -latestTime
#mv log.collapseEdges log.collapseFaceSet
runParallel checkMesh $nProcs -allTopology -allGeometry -latestTime
runApplication reconstructParMesh -latestTime
# Copy the mesh into polyMesh and delete the 102 directory
\cp -r 101/polyMesh constant
\rm -rf 101
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,40 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
\cp system/controlDict.flow system/controlDict
# Set application name
application=$(getApplication)
# Get number of processors to run on
nProcs=$(getNumberOfProcessors)
\rm -rf 0
runApplication createBaffles -overwrite
runApplication mergeOrSplitBaffles -split -overwrite
# Get rid of zero faced patches
runApplication createPatch -overwrite
# Copy fields after meshing to avoind the generation of unnecessary patch fields
\cp -r 0.org 0
# Initialize alpha
runApplication setFields
# Decompose
\rm log.decomposePar
runApplication decomposePar -force
# Run
runParallel $application $nProcs
# Reconstruct
runApplication reconstructPar -noFunctionObjects
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,9 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Do nothing for now.
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,25 @@
/*--------------------------------*- 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 "constant";
object RASProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RASModel kEpsilon;
turbulence on;
printCoeffs off;
// ************************************************************************* //

View File

@ -0,0 +1,58 @@
/*--------------------------------*- 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 1e-3;
vertices
(
( -309 -309 -250)
( 300 -309 -250)
( 300 300 -250)
( -309 300 -250)
( -309 -309 1500)
( 300 -309 1500)
( 300 300 1500)
( -309 300 1500)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (30 30 67) simpleGrading (1 1 1)
);
edges
(
);
boundary
(
allBoundary
{
type patch;
faces
(
(3 7 6 2)
(0 4 7 3)
(2 6 5 1)
(1 5 4 0)
(0 3 2 1)
(4 5 6 7)
);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,36 @@
/*--------------------------------*- 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 "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dynamicFvMesh solidBodyMotionFvMesh;
motionSolverLibs ( "libfvMotionSolvers.so" );
solidBodyMotionFvMeshCoeffs
{
cellZone rotating;
solidBodyMotionFunction rotatingMotion;
rotatingMotionCoeffs
{
origin (0 0 0);
axis (0 0 1);
omega -5; // 5 rad/s
}
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- 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 uniformDimensionedVectorField;
location "constant";
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -2 0 0 0 0];
value ( 0 0 -9.81 );
// ************************************************************************* //

View File

@ -0,0 +1,36 @@
/*--------------------------------*- 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 "constant";
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
phases (phase1 phase2);
phase1
{
transportModel Newtonian;
nu nu [ 0 2 -1 0 0 0 0 ] 1e-06;
rho rho [ 1 -3 0 0 0 0 0 ] 300;
}
phase2
{
transportModel Newtonian;
nu nu [ 0 2 -1 0 0 0 0 ] 1e-6;
rho rho [ 1 -3 0 0 0 0 0 ] 1027;
}
sigma sigma [ 1 0 -2 0 0 0 0 ] 0.07;
// ************************************************************************* //

View File

@ -0,0 +1,114 @@
solid baffles
facet normal 0.707107 0.707107 -0
outer loop
vertex 0.137322 -0.137322 0.025
vertex 0.137322 -0.137322 0.4
vertex 0.155 -0.155 0.025
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex 0.137322 -0.137322 0.4
vertex 0.155 -0.155 0.4
vertex 0.155 -0.155 0.025
endloop
endfacet
facet normal 0.707107 0.707107 -0
outer loop
vertex 0.155 -0.155 0.025
vertex 0.155 -0.155 0.4
vertex 0.172678 -0.172678 0.025
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex 0.155 -0.155 0.4
vertex 0.172678 -0.172678 0.4
vertex 0.172678 -0.172678 0.025
endloop
endfacet
facet normal 0.707107 0.707107 -0
outer loop
vertex 0.137322 -0.137322 0.4
vertex 0.137322 -0.137322 0.775
vertex 0.155 -0.155 0.4
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex 0.137322 -0.137322 0.775
vertex 0.155 -0.155 0.775
vertex 0.155 -0.155 0.4
endloop
endfacet
facet normal 0.707107 0.707107 -0
outer loop
vertex 0.155 -0.155 0.4
vertex 0.155 -0.155 0.775
vertex 0.172678 -0.172678 0.4
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex 0.155 -0.155 0.775
vertex 0.172678 -0.172678 0.775
vertex 0.172678 -0.172678 0.4
endloop
endfacet
facet normal 0.707107 0.707107 -0
outer loop
vertex -0.172678 0.172678 0.025
vertex -0.172678 0.172678 0.4
vertex -0.155 0.155 0.025
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex -0.172678 0.172678 0.4
vertex -0.155 0.155 0.4
vertex -0.155 0.155 0.025
endloop
endfacet
facet normal 0.707107 0.707107 -0
outer loop
vertex -0.155 0.155 0.025
vertex -0.155 0.155 0.4
vertex -0.137322 0.137322 0.025
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex -0.155 0.155 0.4
vertex -0.137322 0.137322 0.4
vertex -0.137322 0.137322 0.025
endloop
endfacet
facet normal 0.707107 0.707107 -0
outer loop
vertex -0.172678 0.172678 0.4
vertex -0.172678 0.172678 0.775
vertex -0.155 0.155 0.4
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex -0.172678 0.172678 0.775
vertex -0.155 0.155 0.775
vertex -0.155 0.155 0.4
endloop
endfacet
facet normal 0.707107 0.707107 -0
outer loop
vertex -0.155 0.155 0.4
vertex -0.155 0.155 0.775
vertex -0.137322 0.137322 0.4
endloop
endfacet
facet normal 0.707107 0.707107 0
outer loop
vertex -0.155 0.155 0.775
vertex -0.137322 0.137322 0.775
vertex -0.137322 0.137322 0.4
endloop
endfacet
endsolid baffles

View File

@ -0,0 +1,254 @@
solid gasInlet
facet normal 0 0 1
outer loop
vertex 0.0984808 0.0173648 0
vertex 0 0 0
vertex 0.1 0 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0939693 0.034202 0
vertex 0 0 0
vertex 0.0984808 0.0173648 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0866025 0.05 0
vertex 0 0 0
vertex 0.0939693 0.034202 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0766044 0.0642788 0
vertex 0 0 0
vertex 0.0866025 0.05 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0642788 0.0766044 0
vertex 0 0 0
vertex 0.0766044 0.0642788 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.05 0.0866025 0
vertex 0 0 0
vertex 0.0642788 0.0766044 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.034202 0.0939693 0
vertex 0 0 0
vertex 0.05 0.0866025 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0173648 0.0984808 0
vertex 0 0 0
vertex 0.034202 0.0939693 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 6.12323e-18 0.1 0
vertex 0 0 0
vertex 0.0173648 0.0984808 0
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.0173648 0.0984808 0
vertex 0 0 0
vertex 6.12323e-18 0.1 0
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.034202 0.0939693 0
vertex 0 0 0
vertex -0.0173648 0.0984808 0
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.05 0.0866025 0
vertex 0 0 0
vertex -0.034202 0.0939693 0
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.0642788 0.0766044 0
vertex 0 0 0
vertex -0.05 0.0866025 0
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.0766044 0.0642788 0
vertex 0 0 0
vertex -0.0642788 0.0766044 0
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.0866025 0.05 0
vertex 0 0 0
vertex -0.0766044 0.0642788 0
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.0939693 0.034202 0
vertex 0 0 0
vertex -0.0866025 0.05 0
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.0984808 0.0173648 0
vertex 0 0 0
vertex -0.0939693 0.034202 0
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.1 1.22465e-17 0
vertex 0 0 0
vertex -0.0984808 0.0173648 0
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -0.0984808 -0.0173648 0
vertex 0 0 0
vertex -0.1 1.22465e-17 0
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -0.0939693 -0.034202 0
vertex 0 0 0
vertex -0.0984808 -0.0173648 0
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -0.0866025 -0.05 0
vertex 0 0 0
vertex -0.0939693 -0.034202 0
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -0.0766044 -0.0642788 0
vertex 0 0 0
vertex -0.0866025 -0.05 0
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -0.0642788 -0.0766044 0
vertex 0 0 0
vertex -0.0766044 -0.0642788 0
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -0.05 -0.0866025 0
vertex 0 0 0
vertex -0.0642788 -0.0766044 0
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -0.034202 -0.0939693 0
vertex 0 0 0
vertex -0.05 -0.0866025 0
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -0.0173648 -0.0984808 0
vertex 0 0 0
vertex -0.034202 -0.0939693 0
endloop
endfacet
facet normal 0 -0 1
outer loop
vertex -1.83697e-17 -0.1 0
vertex 0 0 0
vertex -0.0173648 -0.0984808 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0173648 -0.0984808 0
vertex 0 0 0
vertex -1.83697e-17 -0.1 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.034202 -0.0939693 0
vertex 0 0 0
vertex 0.0173648 -0.0984808 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.05 -0.0866025 0
vertex 0 0 0
vertex 0.034202 -0.0939693 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0642788 -0.0766044 0
vertex 0 0 0
vertex 0.05 -0.0866025 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0766044 -0.0642788 0
vertex 0 0 0
vertex 0.0642788 -0.0766044 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0866025 -0.05 0
vertex 0 0 0
vertex 0.0766044 -0.0642788 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0939693 -0.034202 0
vertex 0 0 0
vertex 0.0866025 -0.05 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.0984808 -0.0173648 0
vertex 0 0 0
vertex 0.0939693 -0.034202 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 0.1 -2.44929e-17 0
vertex 0 0 0
vertex 0.0984808 -0.0173648 0
endloop
endfacet
endsolid gasInlet

View File

@ -0,0 +1,240 @@
solid outlet
facet normal 0 0 1
outer loop
vertex -0.129544 -0.0947905 1.3
vertex -0.13 -0.1 1.3
vertex -0.129544 -0.105209 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.125981 -0.115 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.128191 -0.110261 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.128191 -0.110261 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.129544 -0.105209 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.122981 -0.119284 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.125981 -0.115 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.119284 -0.122981 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.122981 -0.119284 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.115 -0.125981 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.119284 -0.122981 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.110261 -0.128191 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.115 -0.125981 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.105209 -0.129544 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.110261 -0.128191 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.1 -0.13 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.105209 -0.129544 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0947905 -0.129544 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.1 -0.13 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0897394 -0.128191 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0947905 -0.129544 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.085 -0.125981 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0897394 -0.128191 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0807164 -0.122981 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.085 -0.125981 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0770187 -0.119284 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0807164 -0.122981 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0740192 -0.115 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0770187 -0.119284 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0718092 -0.110261 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0740192 -0.115 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0704558 -0.105209 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0718092 -0.110261 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.07 -0.1 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0704558 -0.105209 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0704558 -0.0947905 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.07 -0.1 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0718092 -0.0897394 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0704558 -0.0947905 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0740192 -0.085 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0718092 -0.0897394 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0770187 -0.0807164 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0740192 -0.085 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0807164 -0.0770187 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0770187 -0.0807164 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.085 -0.0740192 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0807164 -0.0770187 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0897394 -0.0718092 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.085 -0.0740192 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.0947905 -0.0704558 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0897394 -0.0718092 1.3
endloop
endfacet
facet normal 0 0 1
outer loop
vertex -0.1 -0.07 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.0947905 -0.0704558 1.3
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.105209 -0.0704558 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.1 -0.07 1.3
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.110261 -0.0718092 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.105209 -0.0704558 1.3
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.115 -0.0740192 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.110261 -0.0718092 1.3
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.119284 -0.0770187 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.115 -0.0740192 1.3
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.122981 -0.0807164 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.119284 -0.0770187 1.3
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.125981 -0.085 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.122981 -0.0807164 1.3
endloop
endfacet
facet normal -0 0 1
outer loop
vertex -0.128191 -0.0897394 1.3
vertex -0.129544 -0.0947905 1.3
vertex -0.125981 -0.085 1.3
endloop
endfacet
endsolid ascii

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,34 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
\cp rawSurfaces/*.stl .
# Vessel surface
surfaceAdd outlet.stl vessel.stl vessel.stl
# Sparger
surfaceCheck sparger.stl
surfaceAdd gasInlet.stl sparger_0.obj spargerInlet.stl
surfaceConvert sparger_1.obj spargerShaft.stl
surfaceOrient -inside spargerInlet.stl "(0 0.1 1)" spargerInlet.stl
surfaceOrient -inside spargerShaft.stl "(0 0.1 -0.1)" spargerShaft.stl
# Rotating shaft
surfaceOrient -inside shaftRotating.stl "(0 0.1 1)" shaftRotating.stl
# Static shaft
surfaceOrient -inside shaft.stl "(0 0.1 1)" shaft.stl
# Stirrer
surfaceSplitByTopology stirrer.stl stirrer.stl
surfaceOrient -inside stirrer.stl "(0 0.1 1)" stirrer.stl
\mv stirrer_bafflePart_0.stl stirrer_baffles.stl
surfaceCheck stirrer_baffles.stl
\mv stirrer_baffles_0.obj stirrer_baffles_plate.obj
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,20 @@
/*--------------------------------*- 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 "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RASModel;
// ************************************************************************* //

View File

@ -0,0 +1,85 @@
/*--------------------------------*- 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 collapseDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// If on, after collapsing check the quality of the mesh. If bad faces are
// generated then redo the collapsing with stricter filtering.
controlMeshQuality on;
collapseEdgesCoeffs
{
// Edges shorter than this absolute value will be merged
minimumEdgeLength 1e-6;
// The maximum angle between two edges that share a point attached to
// no other edges
maximumMergeAngle 180;
}
collapseFacesCoeffs
{
// The initial face length factor
initialFaceLengthFactor 1;
// If the face can't be collapsed to an edge, and it has a span less than
// the target face length multiplied by this coefficient, collapse it
// to a point.
maxCollapseFaceToPointSideLengthCoeff 0.3;
// Allow early collapse of edges to a point
allowEarlyCollapseToPoint on;
// Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if
// allowEarlyCollapseToPoint is enabled
allowEarlyCollapseCoeff 0.2;
// Defining how close to the midpoint (M) of the projected
// vertices line a projected vertex (X) can be before making this
// an invalid edge collapse
//
// X---X-g----------------M----X-----------g----X--X
//
// Only allow a collapse if all projected vertices are outwith
// guardFraction (g) of the distance form the face centre to the
// furthest vertex in the considered direction
guardFraction 0.1;
}
controlMeshQualityCoeffs
{
// Name of the dictionary that has the mesh quality coefficients used
// by motionSmoother::checkMesh
#include "meshQualityDict";
// The amount that minimumEdgeLength will be reduced by for each
// edge if that edge's collapse generates a poor quality face
edgeReductionFactor 0.5;
// The amount that initialFaceLengthFactor will be reduced by for each
// face if its collapse generates a poor quality face
faceReductionFactor 0.5;
// Maximum number of outer iterations is mesh quality checking is enabled
maximumIterations 10;
maximumSmoothingIterations 1;
maxPointErrorCount 3;
}
// ************************************************************************* //

View File

@ -0,0 +1,85 @@
/*--------------------------------*- 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 collapseDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// If on, after collapsing check the quality of the mesh. If bad faces are
// generated then redo the collapsing with stricter filtering.
controlMeshQuality on;
collapseEdgesCoeffs
{
// Edges shorter than this absolute value will be merged
minimumEdgeLength 1e-6;
// The maximum angle between two edges that share a point attached to
// no other edges
maximumMergeAngle 180;
}
collapseFacesCoeffs
{
// The initial face length factor
initialFaceLengthFactor 0.35;
// If the face can't be collapsed to an edge, and it has a span less than
// the target face length multiplied by this coefficient, collapse it
// to a point.
maxCollapseFaceToPointSideLengthCoeff 0.3;
// Allow early collapse of edges to a point
allowEarlyCollapseToPoint on;
// Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if
// allowEarlyCollapseToPoint is enabled
allowEarlyCollapseCoeff 0.2;
// Defining how close to the midpoint (M) of the projected
// vertices line a projected vertex (X) can be before making this
// an invalid edge collapse
//
// X---X-g----------------M----X-----------g----X--X
//
// Only allow a collapse if all projected vertices are outwith
// guardFraction (g) of the distance form the face centre to the
// furthest vertex in the considered direction
guardFraction 0.1;
}
controlMeshQualityCoeffs
{
// Name of the dictionary that has the mesh quality coefficients used
// by motionSmoother::checkMesh
#include "meshQualityDict";
// The amount that minimumEdgeLength will be reduced by for each
// edge if that edge's collapse generates a poor quality face
edgeReductionFactor 0.5;
// The amount that initialFaceLengthFactor will be reduced by for each
// face if its collapse generates a poor quality face
faceReductionFactor 0.5;
// Maximum number of outer iterations is mesh quality checking is enabled
maximumIterations 10;
maximumSmoothingIterations 1;
maxPointErrorCount 3;
}
// ************************************************************************* //

View File

@ -0,0 +1,85 @@
/*--------------------------------*- 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 collapseDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// If on, after collapsing check the quality of the mesh. If bad faces are
// generated then redo the collapsing with stricter filtering.
controlMeshQuality on;
collapseEdgesCoeffs
{
// Edges shorter than this absolute value will be merged
minimumEdgeLength 1e-6;
// The maximum angle between two edges that share a point attached to
// no other edges
maximumMergeAngle 180;
}
collapseFacesCoeffs
{
// The initial face length factor
initialFaceLengthFactor 1;
// If the face can't be collapsed to an edge, and it has a span less than
// the target face length multiplied by this coefficient, collapse it
// to a point.
maxCollapseFaceToPointSideLengthCoeff 0.3;
// Allow early collapse of edges to a point
allowEarlyCollapseToPoint on;
// Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if
// allowEarlyCollapseToPoint is enabled
allowEarlyCollapseCoeff 0.2;
// Defining how close to the midpoint (M) of the projected
// vertices line a projected vertex (X) can be before making this
// an invalid edge collapse
//
// X---X-g----------------M----X-----------g----X--X
//
// Only allow a collapse if all projected vertices are outwith
// guardFraction (g) of the distance form the face centre to the
// furthest vertex in the considered direction
guardFraction 0.1;
}
controlMeshQualityCoeffs
{
// Name of the dictionary that has the mesh quality coefficients used
// by motionSmoother::checkMesh
#include "meshQualityDict";
// The amount that minimumEdgeLength will be reduced by for each
// edge if that edge's collapse generates a poor quality face
edgeReductionFactor 0.5;
// The amount that initialFaceLengthFactor will be reduced by for each
// face if its collapse generates a poor quality face
faceReductionFactor 0.5;
// Maximum number of outer iterations is mesh quality checking is enabled
maximumIterations 10;
maximumSmoothingIterations 1;
maxPointErrorCount 3;
}
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- 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 controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application foamyHexMesh;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 100;
deltaT 1;
writeControl timeStep;
writeInterval 100;
purgeWrite 0;
writeFormat binary;
writePrecision 10;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// ************************************************************************* //

View File

@ -0,0 +1,56 @@
/*--------------------------------*- 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 controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application interDyMFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 5.0;
deltaT 1e-4;
writeControl adjustableRunTime;
writeInterval 0.05;
purgeWrite 0;
writeFormat binary;
writePrecision 6;
writeCompression uncompressed;
timeFormat general;
timePrecision 10;
runTimeModifiable yes;
adjustTimeStep yes;
maxCo 1.5;
maxAlphaCo 1;
maxDeltaT 1;
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- 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 controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application foamyHexMesh;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 100;
deltaT 1;
writeControl timeStep;
writeInterval 100;
purgeWrite 0;
writeFormat binary;
writePrecision 10;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// ************************************************************************* //

View File

@ -0,0 +1,103 @@
/*--------------------------------*- 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
{
baffles
{
//- Use predefined faceZone to select faces and orientation.
type faceZone;
zoneName baffles;
patches
{
master
{
//- Master side patch
name baffles;
type wall;
}
slave
{
${..master}
}
}
}
stirrer_baffles
{
//- Use predefined faceZone to select faces and orientation.
type faceZone;
zoneName stirrer_baffles;
patches
{
master
{
//- Master side patch
name stirrer_baffles;
type wall;
}
slave
{
${..master}
}
}
}
rotating
{
//- Use predefined faceZone to select faces and orientation.
type faceZone;
zoneName rotating;
patches
{
master
{
//- Master side patch
name AMI1;
type cyclicAMI;
matchTolerance 0.0001;
neighbourPatch AMI2;
transform noOrdering;
// Switch to zero-gradient for low weights
lowWeightCorrection 0.2;
}
slave
{
//- Slave side patch
name AMI2;
type cyclicAMI;
matchTolerance 0.0001;
neighbourPatch AMI1;
transform noOrdering;
lowWeightCorrection 0.2;
}
}
}
}
// ************************************************************************* //

View File

@ -0,0 +1,27 @@
/*--------------------------------*- 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 createPatchDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Do a synchronisation of coupled points after creation of any patches.
// Note: this does not work with points that are on multiple coupled patches
// with transformations (i.e. cyclics).
pointSync false;
// Patches to create.
patches
(
);
// ************************************************************************* //

View File

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

View File

@ -0,0 +1,109 @@
/*--------------------------------*- 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 foamyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "$WM_PROJECT_DIR/etc/caseDicts/foamyHexMeshDict"
geometry
{
#include "meshDict.geometry"
}
initialPoints
{
//initialPointsMethod pointFile;
initialPointsMethod autoDensity;
autoDensityCoeffs
{
minLevels 2;
maxSizeRatio 2.0;
sampleResolution 5;
surfaceSampleResolution 5;
}
pointFileCoeffs
{
insideOutsideCheck off;
randomiseInitialGrid off;
randomPerturbationCoeff 1e-3;
pointFile "0/internalDelaunayVertices";
}
}
surfaceConformation
{
locationInMesh (0 0.1 1.0);
#include "meshDict.conformationSurfaces"
featurePointExclusionDistanceCoeff 0.65;
featureEdgeExclusionDistanceCoeff 0.5;
maxSurfaceProtrusionCoeff 0.1;
conformationControls
{
edgeSearchDistCoeff 5;
surfacePtReplaceDistCoeff 0.5;
surfacePtExclusionDistanceCoeff 0.5;
maxIterations 15;
iterationToInitialHitRatioLimit 0.0001;
}
}
motionControl
{
defaultCellSize 6e-3;
minimumCellSizeCoeff 0.1;
maxRefinementIterations 1;
maxSmoothingIterations 100;
shapeControlFunctions
{
#include "meshDict.cellShapeControl"
}
objOutput no;
timeChecks no;
}
backgroundMeshDecomposition
{
minLevels 1;
sampleResolution 4;
spanScale 20;
maxCellWeightCoeff 20;
}
polyMeshFiltering
{
writeBackgroundMeshDecomposition true;
writeCellShapeControlMesh true;
writeTetDualMesh false;
filterEdges on;
filterFaces off;
}
// ************************************************************************* //

View File

@ -0,0 +1,66 @@
/*--------------------------------*- 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 Euler;
}
gradSchemes
{
default Gauss linear;
grad(U) cellLimited Gauss linear 1;
}
divSchemes
{
div(rhoPhi,U) Gauss linearUpwind grad(U);
div(phi,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss linear;
div(phid1,p_rgh) Gauss upwind;
div(phid2,p_rgh) Gauss upwind;
div(rhoPhi,T) Gauss linearUpwind unlimited;
div(rhoPhi,K) Gauss upwind;
div(phi,k) Gauss upwind;
div(phi,epsilon) Gauss upwind;
div((muEff*dev(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear limited 0.333;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default limited 0.333;
}
fluxRequired
{
default no;
p_rgh;
pcorr;
}
// ************************************************************************* //

View File

@ -0,0 +1,111 @@
/*--------------------------------*- 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
{
alpha.phase1
{
nAlphaCorr 1;
nAlphaSubCycles 2;
cAlpha 1;
}
p_rgh
{
solver GAMG;
tolerance 1e-6;
relTol 0.02;
smoother GaussSeidel;
cacheAgglomeration true;
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
nPreSweeps 0;
nPostSweeps 2;
mergeLevels 1;
}
pcorr
{
$p_rgh;
tolerance 0.1;
relTol 0;
}
p_rghFinal
{
$p_rgh;
relTol 0;
}
pcorrFinal
{
$pcorr;
tolerance 0.1;
relTol 0;
}
".*(rho|rhoFinal)"
{
solver diagonal;
}
"U.*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-6;
relTol 0;
}
"(T|k|epsilon).*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-6;
relTol 0;
}
}
PIMPLE
{
momentumPredictor yes;
correctPhi yes;
transSonic no;
nOuterCorrectors 1;
nCorrectors 3;
nNonOrthogonalCorrectors 0;
nAlphaCorr 1;
nAlphaSubCycles 2;
cAlpha 1;
}
relaxationFactors
{
fields
{
}
equations
{
"U.*" 1;
"k.*" 1;
"epsilon.*" 1;
"T.*" 1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,189 @@
/*--------------------------------*- 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 meshDict.cellShapeControl;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
vessel
{
type searchableSurfaceControl;
priority 1;
mode inside;
forceInitialPointInsertion off;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 1;
}
cellSizeFunction uniform;
uniformCoeffs{}
regions
{
vessel
{
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 1;
}
cellSizeFunction uniform;
uniformCoeffs{}
}
outlet
{
priority 2;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 0.5;
}
cellSizeFunction uniformDistance;
uniformDistanceCoeffs
{
distanceCoeff 2;
}
}
}
}
shaftRotating
{
type searchableSurfaceControl;
priority 2;
mode inside;
forceInitialPointInsertion on;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 0.5;
}
cellSizeFunction linearDistance;
linearDistanceCoeffs
{
distanceCellSizeCoeff 1;
distanceCoeff 4;
}
}
shaft
{
${shaftRotating};
}
stirrer
{
${shaftRotating};
}
spargerInlet
{
type searchableSurfaceControl;
priority 2;
mode inside;
forceInitialPointInsertion on;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 0.5;
}
cellSizeFunction linearDistance;
linearDistanceCoeffs
{
distanceCellSizeCoeff 1;
distanceCoeff 4;
}
}
spargerShaft
{
${spargerInlet}
}
stirrer_baffles
{
type searchableSurfaceControl;
priority 2;
mode bothSides;
forceInitialPointInsertion on;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 0.5;
}
cellSizeFunction linearDistance;
linearDistanceCoeffs
{
distanceCellSizeCoeff 1;
distanceCoeff 4;
}
}
rotating
{
type searchableSurfaceControl;
priority 2;
mode bothSides;
forceInitialPointInsertion on;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 1;
}
cellSizeFunction uniform;
uniformCoeffs{}
//cellSizeFunction linearDistance;
//linearDistanceCoeffs
//{
// distanceCellSizeCoeff 1;
// distanceCoeff 4;
//}
}
baffles
{
${rotating}
/* type searchableSurfaceControl;*/
/* priority 3;*/
/* mode bothSides;*/
/* forceInitialPointInsertion on;*/
/* surfaceCellSizeFunction uniformValue;*/
/* uniformValueCoeffs*/
/* {*/
/* surfaceCellSizeCoeff 0.25;*/
/* }*/
/* cellSizeFunction linearDistance;*/
/* linearDistanceCoeffs*/
/* {*/
/* distanceCellSizeCoeff 1;*/
/* distanceCoeff 4;*/
/* }*/
}
// ************************************************************************* //

View File

@ -0,0 +1,228 @@
/*--------------------------------*- 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 meshDict.conformationSurfaces;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
geometryToConformTo
{
spargerInlet
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "spargerInlet.extendedFeatureEdgeMesh";
regions
{
gasInlet
{
patchInfo
{
type patch;
}
}
sparger
{
patchInfo
{
type wall;
inGroups (meshedWalls);
}
}
}
}
spargerShaft
{
featureMethod none;
patchInfo
{
type wall;
inGroups (meshedWalls);
}
}
vessel
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "vessel.extendedFeatureEdgeMesh";
regions
{
outlet
{
patchInfo
{
type patch;
}
}
vessel
{
patchInfo
{
type wall;
inGroups (meshedWalls);
}
}
}
}
shaftRotating
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "shaftRotating.extendedFeatureEdgeMesh";
patchInfo
{
type wall;
inGroups (meshedWalls);
}
}
shaft
{
featureMethod none;
patchInfo
{
type wall;
inGroups (meshedWalls);
}
}
stirrer
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "stirrer.extendedFeatureEdgeMesh";
patchInfo
{
type wall;
inGroups (meshedWalls);
}
}
stirrer_baffles
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "stirrer_baffles.extendedFeatureEdgeMesh";
patchInfo
{
type wall;
inGroups (meshedWalls);
}
meshableSide both;
faceZone stirrer_baffles;
}
rotating
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "rotating.extendedFeatureEdgeMesh";
meshableSide both;
faceZone rotating;
cellZone rotating;
cellZoneInside inside;
}
baffles
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "baffles.extendedFeatureEdgeMesh";
patchInfo
{
type wall;
inGroups (meshedWalls);
}
meshableSide both;
faceZone baffles;
}
}
additionalFeatures
{
spargerShaft_spargerInlet_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "spargerShaft_spargerInlet_intersection.extendedFeatureEdgeMesh";
}
vessel_shaft_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "vessel_shaft_intersection.extendedFeatureEdgeMesh";
}
vessel_spargerShaft_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "vessel_spargerShaft_intersection.extendedFeatureEdgeMesh";
}
stirrer_shaftRotating_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "stirrer_shaftRotating_intersection.extendedFeatureEdgeMesh";
}
rotating_shaft_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "rotating_shaft_intersection.extendedFeatureEdgeMesh";
}
stirrer_baffles_stirrer_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "stirrer_baffles_stirrer_intersection.extendedFeatureEdgeMesh";
}
stirrer_baffles_1_stirrer_baffles_plate_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "stirrer_baffles_1_stirrer_baffles_plate_intersection.extendedFeatureEdgeMesh";
}
stirrer_baffles_2_stirrer_baffles_plate_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "stirrer_baffles_2_stirrer_baffles_plate_intersection.extendedFeatureEdgeMesh";
}
stirrer_baffles_3_stirrer_baffles_plate_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "stirrer_baffles_3_stirrer_baffles_plate_intersection.extendedFeatureEdgeMesh";
}
stirrer_baffles_4_stirrer_baffles_plate_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "stirrer_baffles_4_stirrer_baffles_plate_intersection.extendedFeatureEdgeMesh";
}
stirrer_baffles_5_stirrer_baffles_plate_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "stirrer_baffles_5_stirrer_baffles_plate_intersection.extendedFeatureEdgeMesh";
}
stirrer_baffles_6_stirrer_baffles_plate_intersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "stirrer_baffles_6_stirrer_baffles_plate_intersection.extendedFeatureEdgeMesh";
}
}
// ************************************************************************* //

View File

@ -0,0 +1,155 @@
/*--------------------------------*- 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 meshDict.geometry;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
vessel.stl
{
name vessel;
type triSurfaceMesh;
regions
{
outlet {name outlet;}
vessel {name vessel;}
}
}
spargerInlet.stl
{
name spargerInlet;
type triSurfaceMesh;
regions
{
gasInlet
{
name gasInlet;
}
sparger
{
name sparger;
}
}
}
spargerShaft.stl
{
name spargerShaft;
type triSurfaceMesh;
regions
{
sparger
{
name spargerShaft;
}
}
}
shaftRotating.stl
{
name shaftRotating;
type triSurfaceMesh;
regions
{
shaftRotating
{
name shaftRotating;
}
}
}
shaft.stl
{
name shaft;
type triSurfaceMesh;
regions
{
shaft
{
name shaft;
}
}
}
stirrer_baffles.stl
{
name stirrer_baffles;
type triSurfaceMesh;
regions
{
stirrer
{
name stirrer_baffles;
}
}
}
stirrer.stl
{
name stirrer;
type triSurfaceMesh;
regions
{
stirrer
{
name stirrer;
}
}
}
rotating.stl
{
name rotating;
type triSurfaceMesh;
regions
{
MRF
{
name rotating;
}
}
}
baffles.stl
{
name baffles;
type triSurfaceMesh;
regions
{
baffles
{
name baffles;
}
}
}
// ************************************************************************* //

View File

@ -0,0 +1,30 @@
/*--------------------------------*- 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 meshQualityControls;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
maxNonOrtho 60;
maxBoundarySkewness 50;
maxInternalSkewness 10;
maxConcave 80;
minVol 1e-20;
minTetQuality 1e-30;
minArea -1;
minTwist 0.0;
minDeterminant 0.001;
minFaceWeight 0.02;
minVolRatio 0.01;
minTriangleTwist -1;
// ************************************************************************* //

View File

@ -0,0 +1,36 @@
/*--------------------------------*- 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 setFieldsDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
defaultFieldValues
(
volScalarFieldValue alpha.phase1 1
);
regions
(
boxToCell
{
box (-4 -4 -1) (4 4 0.74);
fieldValues
(
volScalarFieldValue alpha.phase1 0
);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,144 @@
/*--------------------------------*- 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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
shaftRotating.stl
{
extractionMethod extractFromSurface;
extractFromSurfaceCoeffs
{
includedAngle 100;
}
subsetFeatures
{
// Remove the top feature
insideBox (-0.1 -0.1 -0.1)(0.1 0.1 0.1);
}
// Write options
writeObj yes;
}
vessel.stl
{
extractionMethod extractFromSurface;
extractFromSurfaceCoeffs
{
includedAngle 120;
}
subsetFeatures
{
// Keep nonManifold edges (edges with >2 connected faces where
// the faces form more than two different normal planes)
nonManifoldEdges no;
// Keep open edges (edges with 1 connected face)
openEdges no;
}
// Write options
writeObj no;
}
spargerInlet.stl
{
extractionMethod extractFromSurface;
extractFromSurfaceCoeffs
{
includedAngle 120;
}
// Write options
writeObj no;
}
stirrer.stl
{
extractionMethod extractFromSurface;
extractFromSurfaceCoeffs
{
includedAngle 120;
}
// Write options
writeObj no;
}
stirrer_baffles.stl
{
extractionMethod extractFromSurface;
extractFromSurfaceCoeffs
{
includedAngle 120;
}
baffles (stirrer);
// Write options
writeObj no;
}
rotating.stl
{
extractionMethod extractFromSurface;
extractFromSurfaceCoeffs
{
includedAngle 120;
}
baffles (MRF);
// Write options
writeObj yes;
}
baffles.stl
{
extractionMethod extractFromSurface;
extractFromSurfaceCoeffs
{
includedAngle 120;
}
baffles (baffles);
// Write options
writeObj no;
}
// ************************************************************************* //