tutorials/mesh/foamyHexMesh/mixerVessel: Removed pending further development of foamyHexMesh

The mixerVessel case is currently fragile and needs some improvement along with
further development of foamyHexMesh to mesh reliably.
This commit is contained in:
Henry Weller
2020-01-15 23:33:25 +00:00
parent 393ff23b48
commit 26c0b39729
39 changed files with 0 additions and 535435 deletions

View File

@ -1,47 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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;
}
oilInlet
{
type fixedValue;
value uniform 1;
}
outlet
{
type inletOutlet;
inletValue uniform 0;
value $internalField;
}
"AMI.*"
{
type cyclicAMI;
}
}
// ************************************************************************* //

View File

@ -1,50 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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;
}
oilInlet
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
"AMI.*"
{
type cyclicAMI;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -1,88 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.01;
boundaryField
{
outlet
{
type inletOutlet;
inletValue uniform 0.01;
value uniform 0.01;
}
vessel
{
type kqRWallFunction;
value uniform 0.01;
}
oilInlet
{
type fixedValue;
value uniform 0.01;
}
sparger
{
type kqRWallFunction;
value uniform 0.01;
}
spargerShaft
{
type kqRWallFunction;
value uniform 0.01;
}
shaftRotating
{
type kqRWallFunction;
value uniform 0.01;
}
shaft
{
type kqRWallFunction;
value uniform 0.01;
}
stirrer_baffles
{
type kqRWallFunction;
value uniform 0.01;
}
stirrer
{
type kqRWallFunction;
value uniform 0.01;
}
baffles
{
type kqRWallFunction;
value uniform 0.01;
}
AMI1
{
type cyclicAMI;
value uniform 0;
}
AMI2
{
type cyclicAMI;
value uniform 0;
}
}
// ************************************************************************* //

View File

@ -1,88 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
outlet
{
type inletOutlet;
inletValue uniform 0;
value uniform 0;
}
vessel
{
type nutkWallFunction;
value uniform 0;
}
oilInlet
{
type fixedValue;
value uniform 0;
}
sparger
{
type nutkWallFunction;
value uniform 0;
}
spargerShaft
{
type nutkWallFunction;
value uniform 0;
}
shaftRotating
{
type nutkWallFunction;
value uniform 0;
}
shaft
{
type nutkWallFunction;
value uniform 0;
}
stirrer_baffles
{
type nutkWallFunction;
value uniform 0;
}
stirrer
{
type nutkWallFunction;
value uniform 0;
}
baffles
{
type nutkWallFunction;
value uniform 0;
}
AMI1
{
type cyclicAMI;
value uniform 0;
}
AMI2
{
type cyclicAMI;
value uniform 0;
}
}
// ************************************************************************* //

View File

@ -1,64 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 125000;
boundaryField
{
outlet
{
type fixedValue;
value uniform 125000;
}
vessel
{
type fixedFluxPressure;
gradient uniform 0;
value uniform 125000;
}
oilInlet
{
type fixedFluxPressure;
gradient uniform 0;
value uniform 125000;
}
sparger
{
type fixedFluxPressure;
gradient uniform 0;
value uniform 125000;
}
spargerShaft
{
type fixedFluxPressure;
gradient uniform 0;
value uniform 125000;
}
shaftRotating
{
type fixedFluxPressure;
gradient uniform 0;
value uniform 125000;
}
shaft
{
type fixedFluxPressure;
gradient uniform 0;
value uniform 125000;
}

View File

@ -1,26 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
# Remove surfaces
rm -f constant/triSurface/rawSurfaces/mixerVessel*.stl.* > /dev/null 2>&1
cleanCase
rm -rf constant/extendedFeatureEdgeMesh/
rm -f constant/triSurface/*.eMesh*
rm -f constant/triSurface/*.stl*
rm -f constant/triSurface/*.obj
rm -f constant/triSurface/*.vtk
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
#------------------------------------------------------------------------------

View File

@ -1,99 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Copy mixerVessel surfaces from resources directory
cp $FOAM_TUTORIALS/resources/geometry/mixerVessel*.stl.gz constant/triSurface/rawSurfaces
intersectSurfaces()
{
outputName1=$(basename $1)
outputName1=${outputName1%.*}
outputName2=$(basename $2)
outputName2=${outputName2%.*}
runApplication -s $outputName1:$outputName2 \
surfaceBooleanFeatures "$@" intersection
}
# 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
runApplication blockMesh -region backgroundMeshDecomposition
runApplication -s backgroundMeshDecomposition \
decomposePar -region backgroundMeshDecomposition
runApplication surfaceFeatures
runParallel foamyHexMesh
runParallel -s faces \
collapseEdges -collapseFaces -latestTime \
-dict system/collapseDict.collapseFaces
#runParallel -s faceSet \
# collapseEdges -collapseFaceSet indirectPatchFaces -latestTime \
# -dict system/collapseDict.indirectPatchFaces
runParallel checkMesh -allTopology -allGeometry -latestTime
runApplication reconstructParMesh -latestTime
# Copy the mesh from the latest time folder into polyMesh and delete that
# latest time folder
latestTime=$(foamListTimes -latestTime)
cp -r $latestTime/polyMesh constant
rm -rf $latestTime
#------------------------------------------------------------------------------

View File

@ -1,34 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Generate mesh
./Allmesh
cp system/controlDict.flow system/controlDict
# Set application name
application=$(getApplication)
runApplication createBaffles -overwrite
runApplication mergeOrSplitBaffles -split -overwrite
# Get rid of zero faced patches
runApplication createPatch -overwrite
# Initialize alpha
runApplication setFields
# Decompose
runApplication -s main \
decomposePar -force
# Run
runParallel $application
# Reconstruct
runApplication reconstructPar -noFunctionObjects
#------------------------------------------------------------------------------

View File

@ -1,33 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("libfvMotionSolvers.so");
motionSolver solidBody;
cellZone rotating;
solidBodyMotionFunction rotatingMotion;
origin (0 0 0);
axis (0 0 1);
omega -5; // 5 rad/s
// ************************************************************************* //

View File

@ -1,22 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
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

@ -1,36 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
phases (phase1 phase2);
phase1
{
transportModel Newtonian;
nu 1e-06;
rho 300;
}
phase2
{
transportModel Newtonian;
nu 1e-6;
rho 1027;
}
sigma 0.07;
// ************************************************************************* //

View File

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

View File

@ -1,38 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
cp rawSurfaces/rotating*.stl .
for file in rawSurfaces/mixerVessel-*.stl.gz
do
cp $file ${file##*/mixerVessel-}
done
# Vessel surface
surfaceAdd outlet.stl vessel.stl vessel.stl
# Sparger
surfaceCheck sparger.stl
surfaceAdd oilInlet.stl sparger_0.obj spargerInlet.stl
surfaceConvert sparger_1.obj spargerShaft.stl
surfaceOrient -inside spargerInlet.stl spargerInlet.stl "(0 0.1 1)"
surfaceOrient -inside spargerShaft.stl spargerShaft.stl "(0 0.1 -0.1)"
# Rotating shaft
surfaceOrient -inside shaftRotating.stl shaftRotating.stl "(0 0.1 1)"
# Static shaft
surfaceOrient -inside shaft.stl shaft.stl "(0 0.1 1)"
# Stirrer
surfaceSplitByTopology stirrer.stl stirrer.stl
surfaceOrient -inside stirrer.stl stirrer.stl "(0 0.1 1)"
mv stirrer_bafflePart_0.stl stirrer_baffles.stl
surfaceCheck stirrer_baffles.stl
mv stirrer_baffles_0.obj stirrer_baffles_plate.obj
#------------------------------------------------------------------------------

View File

@ -1,30 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RAS;
RAS
{
RASModel kEpsilon;
turbulence on;
printCoeffs off;
}
// ************************************************************************* //

View File

@ -1,58 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
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

@ -1,98 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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;
}
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;
nOuterCorrectors 1;
nCorrectors 3;
nNonOrthogonalCorrectors 0;
nAlphaCorr 1;
nAlphaSubCycles 2;
cAlpha 1;
}
relaxationFactors
{
equations
{
".*" 1;
}
}
// ************************************************************************* //

View File

@ -1 +0,0 @@
collapseDict.collapseFaces

View File

@ -1,85 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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

@ -1,85 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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

@ -1,56 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application interFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 5.0;
deltaT 1e-4;
writeControl adjustableRunTime;
writeInterval 0.05;
purgeWrite 0;
writeFormat binary;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 10;
runTimeModifiable yes;
adjustTimeStep yes;
maxCo 1.5;
maxAlphaCo 1;
maxDeltaT 1;
// ************************************************************************* //

View File

@ -1,56 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application interFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 5.0;
deltaT 1e-4;
writeControl adjustableRunTime;
writeInterval 0.05;
purgeWrite 0;
writeFormat binary;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 10;
runTimeModifiable yes;
adjustTimeStep yes;
maxCo 1.5;
maxAlphaCo 1;
maxDeltaT 1;
// ************************************************************************* //

View File

@ -1,48 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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 off;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// ************************************************************************* //

View File

@ -1,103 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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;
ordering noOrdering;
// Switch to zero-gradient for low weights
lowWeightCorrection 0.2;
}
slave
{
//- Slave side patch
name AMI2;
type cyclicAMI;
matchTolerance 0.0001;
neighbourPatch AMI1;
ordering noOrdering;
lowWeightCorrection 0.2;
}
}
}
}
// ************************************************************************* //

View File

@ -1,31 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
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;
// Optional: Write cyclic matches into .obj format; defaults to false.
writeCyclicMatch false;
// Patches to create.
patches
(
);
// ************************************************************************* //

View File

@ -1,47 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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

@ -1,103 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object foamyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#includeEtc "caseDicts/mesh/generation/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

@ -1,58 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
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(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear limited corrected 0.33;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default limited corrected 0.33;
}
// ************************************************************************* //

View File

@ -1,98 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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;
}
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;
nOuterCorrectors 1;
nCorrectors 3;
nNonOrthogonalCorrectors 0;
nAlphaCorr 1;
nAlphaSubCycles 2;
cAlpha 1;
}
relaxationFactors
{
equations
{
".*" 1;
}
}
// ************************************************************************* //

View File

@ -1,189 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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

@ -1,228 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object meshDict.conformationSurfaces;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
geometryToConformTo
{
spargerInlet
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "spargerInlet.extendedFeatureEdgeMesh";
regions
{
oilInlet
{
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

@ -1,155 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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
{
oilInlet
{
name oilInlet;
}
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

@ -1,30 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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

@ -1,36 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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

@ -1,85 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object surfaceFeaturesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
shaftRotating
{
surfaces ("shaftRotating.stl");
includedAngle 100;
subsetFeatures
{
// Remove the top feature
insideBox (-0.1 -0.1 -0.1)(0.1 0.1 0.1);
}
}
vessel
{
surfaces ("vessel.stl");
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;
}
}
spargerInletStirrer
{
surfaces
(
"spargerInlet.stl"
"stirrer.stl"
);
includedAngle 120;
}
stirrerBaffles
{
surfaces ("stirrer_baffles.stl");
includedAngle 120;
baffles (stirrer);
}
rotating
{
surfaces ("rotating.stl");
includedAngle 120;
baffles (MRF);
}
baffles
{
surfaces ("baffles.stl");
includedAngle 120;
baffles (baffles);
}
// ************************************************************************* //