New tutorial: MRF mixer with GGI interfaces

This commit is contained in:
Hrvoje Jasak 2016-02-16 10:43:34 +00:00
parent f9698bfc2f
commit cd4951da88
15 changed files with 780 additions and 0 deletions

View file

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
impellerWall
{
type movingWallVelocity;
value uniform (0 0 0);
}
baffleWall
{
type fixedValue;
value uniform (0 0 0);
}
insideSlider
{
type ggi;
value uniform (0 0 0);
}
outsideSlider
{
type ggi;
value uniform (0 0 0);
}
defaultFaces
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
impellerWall
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
}
insideSlider
{
type ggi;
value uniform 0;
}
outsideSlider
{
type ggi;
value uniform 0;
}
defaultFaces
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,10 @@
#!/bin/sh
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
\rm -rf VTK
\rm -rf 0/polyMesh
\rm -f constant/polyMesh/boundary
\rm -rf constant/polyMesh/sets

View file

@ -0,0 +1,13 @@
#!/bin/sh
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
application="MRFSimpleFoam"
runApplication blockMesh
\cp -f boundary constant/polyMesh/boundary
runApplication regionCellSets
runApplication setSet -batch setBatch.batch
\rm -f constant/polyMesh/sets/cellRegion*
runApplication setsToZones -noFlipMap
runApplication $application

View file

@ -0,0 +1,58 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
5
(
impellerWall
{
type wall;
nFaces 68;
startFace 1040;
}
baffleWall
{
type wall;
nFaces 84;
startFace 1108;
}
insideSlider
{
type ggi;
nFaces 36;
startFace 1192;
shadowPatch outsideSlider;
zone insideZone;
bridgeOverlap false;
}
outsideSlider
{
type ggi;
nFaces 36;
startFace 1228;
shadowPatch insideSlider;
zone outsideZone;
bridgeOverlap false;
}
defaultFaces
{
type empty;
nFaces 1152;
startFace 1264;
}
)
// ************************************************************************* //

View file

@ -0,0 +1,31 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object MRFZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
1
(
rotor
{
// Fixed patches (by default they 'move' with the MRF zone)
nonRotatingPatches ();
origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 0 1);
omega omega [0 0 -1 0 0 0 0] 6.2831853;
}
)
// ************************************************************************* //

View file

@ -0,0 +1,24 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object RASProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RASModel laminar;
turbulence on;
printCoeffs on;
// ************************************************************************* //

View file

@ -0,0 +1,40 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dynamicFvMeshLib "libtopoChangerFvMesh.so";
dynamicFvMesh mixerGgiFvMesh;
mixerGgiFvMeshCoeffs
{
coordinateSystem
{
type cylindrical;
origin (0 0 0);
axis (0 0 1);
direction (1 0 0);
}
// Rotational speed in revolutions per minute
rpm 60;
slider
{
moving ( insideSlider );
static ( outsideSlider );
}
}
// ************************************************************************* //

View file

@ -0,0 +1,271 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 0.1;
vertices
(
(-5 0.01 0)
(-5 -0.01 0)
(-4 0 0)
(-3 0 0)
(-3 0 0)
(-2 0 0)
(-1 0.01 0)
(-1 -0.01 0)
(1 0.01 0)
(1 -0.01 0)
(2 0 0)
(3 0 0)
(3 0 0)
(4 0 0)
(5 0.01 0)
(5 -0.01 0)
(0 -3 0)
(0 -2 0)
(-0.01 -1 0)
(0.01 -1 0)
(-0.01 1 0)
(0.01 1 0)
(0 2 0)
(0 3 0)
(-2.50433 -4.32763 0)
(-2.49567 -4.33263 0)
(-2 -3.4641 0)
(-1.5 -2.59808 0)
(2.49567 -4.33263 0)
(2.50433 -4.32763 0)
(2 -3.4641 0)
(1.5 -2.59808 0)
(-2.50433 4.32763 0)
(-2.49567 4.33263 0)
(-2 3.4641 0)
(-1.5 2.59808 0)
(2.49567 4.33263 0)
(2.50433 4.32763 0)
(2 3.4641 0)
(1.5 2.59808 0)
(-5 0.01 0.5)
(-5 -0.01 0.5)
(-4 0 0.5)
(-3 0 0.5)
(-3 0 0.5)
(-2 0 0.5)
(-1 0.01 0.5)
(-1 -0.01 0.5)
(1 0.01 0.5)
(1 -0.01 0.5)
(2 0 0.5)
(3 0 0.5)
(3 0 0.5)
(4 0 0.5)
(5 0.01 0.5)
(5 -0.01 0.5)
(0 -3 0.5)
(0 -2 0.5)
(-0.01 -1 0.5)
(0.01 -1 0.5)
(-0.01 1 0.5)
(0.01 1 0.5)
(0 2 0.5)
(0 3 0.5)
(-2.50433 -4.32763 0.5)
(-2.49567 -4.33263 0.5)
(-2 -3.4641 0.5)
(-1.5 -2.59808 0.5)
(2.49567 -4.33263 0.5)
(2.50433 -4.32763 0.5)
(2 -3.4641 0.5)
(1.5 -2.59808 0.5)
(-2.50433 4.32763 0.5)
(-2.49567 4.33263 0.5)
(-2 3.4641 0.5)
(-1.5 2.59808 0.5)
(2.49567 4.33263 0.5)
(2.50433 4.32763 0.5)
(2 3.4641 0.5)
(1.5 2.59808 0.5)
);
blocks
(
hex (5 17 18 7 45 57 58 47) (9 4 1) simpleGrading (1 1 1)
hex (17 10 9 19 57 50 49 59) (9 4 1) simpleGrading (1 1 1)
hex (10 22 21 8 50 62 61 48) (9 4 1) simpleGrading (1 1 1)
hex (22 5 6 20 62 45 46 60) (9 4 1) simpleGrading (1 1 1)
hex (4 16 17 5 44 56 57 45) (9 4 1) simpleGrading (1 1 1)
hex (16 11 10 17 56 51 50 57) (9 4 1) simpleGrading (1 1 1)
hex (11 23 22 10 51 63 62 50) (9 4 1) simpleGrading (1 1 1)
hex (23 4 5 22 63 44 45 62) (9 4 1) simpleGrading (1 1 1)
hex (2 26 27 3 42 66 67 43) (6 4 1) simpleGrading (1 1 1)
hex (26 30 31 27 66 70 71 67) (6 4 1) simpleGrading (1 1 1)
hex (30 13 12 31 70 53 52 71) (6 4 1) simpleGrading (1 1 1)
hex (13 38 39 12 53 78 79 52) (6 4 1) simpleGrading (1 1 1)
hex (38 34 35 39 78 74 75 79) (6 4 1) simpleGrading (1 1 1)
hex (34 2 3 35 74 42 43 75) (6 4 1) simpleGrading (1 1 1)
hex (1 24 26 2 41 64 66 42) (6 4 1) simpleGrading (1 1 1)
hex (25 28 30 26 65 68 70 66) (6 4 1) simpleGrading (1 1 1)
hex (29 15 13 30 69 55 53 70) (6 4 1) simpleGrading (1 1 1)
hex (14 37 38 13 54 77 78 53) (6 4 1) simpleGrading (1 1 1)
hex (36 33 34 38 76 73 74 78) (6 4 1) simpleGrading (1 1 1)
hex (32 0 2 34 72 40 42 74) (6 4 1) simpleGrading (1 1 1)
);
edges
(
arc 7 18 (-0.707107 -0.707107 0)
arc 19 9 (0.707107 -0.707107 0)
arc 8 21 (0.707107 0.707107 0)
arc 20 6 (-0.707107 0.707107 0)
arc 5 17 (-1.41421 -1.41421 0)
arc 17 10 (1.41421 -1.41421 0)
arc 10 22 (1.41421 1.41421 0)
arc 22 5 (-1.41421 1.41421 0)
arc 4 16 (-2.12132 -2.12132 0)
arc 16 11 (2.12132 -2.12132 0)
arc 11 23 (2.12132 2.12132 0)
arc 23 4 (-2.12132 2.12132 0)
arc 3 27 (-2.59808 -1.5 0)
arc 27 31 (0 -3 0)
arc 31 12 (2.59808 -1.5 0)
arc 12 39 (2.59808 1.5 0)
arc 39 35 (0 3 0)
arc 35 3 (-2.59808 1.5 0)
arc 2 26 (-3.4641 -2 0)
arc 26 30 (0 -4 0)
arc 30 13 (3.4641 -2 0)
arc 13 38 (3.4641 2 0)
arc 38 34 (0 4 0)
arc 34 2 (-3.4641 2 0)
arc 1 24 (-4.33013 -2.5 0)
arc 25 28 (0 -5 0)
arc 29 15 (4.33013 -2.5 0)
arc 14 37 (4.33013 2.5 0)
arc 36 33 (0 5 0)
arc 32 0 (-4.33013 2.5 0)
arc 47 58 (-0.707107 -0.707107 0.5)
arc 59 49 (0.707107 -0.707107 0.5)
arc 48 61 (0.707107 0.707107 0.5)
arc 60 46 (-0.707107 0.707107 0.5)
arc 45 57 (-1.41421 -1.41421 0.5)
arc 57 50 (1.41421 -1.41421 0.5)
arc 50 62 (1.41421 1.41421 0.5)
arc 62 45 (-1.41421 1.41421 0.5)
arc 44 56 (-2.12132 -2.12132 0.5)
arc 56 51 (2.12132 -2.12132 0.5)
arc 51 63 (2.12132 2.12132 0.5)
arc 63 44 (-2.12132 2.12132 0.5)
arc 43 67 (-2.59808 -1.5 0.5)
arc 67 71 (0 -3 0.5)
arc 71 52 (2.59808 -1.5 0.5)
arc 52 79 (2.59808 1.5 0.5)
arc 79 75 (0 3 0.5)
arc 75 43 (-2.59808 1.5 0.5)
arc 42 66 (-3.4641 -2 0.5)
arc 66 70 (0 -4 0.5)
arc 70 53 (3.4641 -2 0.5)
arc 53 78 (3.4641 2 0.5)
arc 78 74 (0 4 0.5)
arc 74 42 (-3.4641 2 0.5)
arc 41 64 (-4.33013 -2.5 0.5)
arc 65 68 (0 -5 0.5)
arc 69 55 (4.33013 -2.5 0.5)
arc 54 77 (4.33013 2.5 0.5)
arc 76 73 (0 5 0.5)
arc 72 40 (-4.33013 2.5 0.5)
);
boundary
(
impellerWall
{
type wall;
faces
(
(7 47 58 18)
(18 58 57 17)
(17 57 59 19)
(19 59 49 9)
(9 49 50 10)
(10 50 48 8)
(8 48 61 21)
(21 61 62 22)
(22 62 60 20)
(20 60 46 6)
(6 46 45 5)
(5 45 47 7)
);
}
baffleWall
{
type wall;
faces
(
(1 24 64 41)
(24 26 66 64)
(26 25 65 66)
(25 28 68 65)
(28 30 70 68)
(30 29 69 70)
(29 15 55 69)
(15 13 53 55)
(13 14 54 53)
(14 37 77 54)
(37 38 78 77)
(38 36 76 78)
(36 33 73 76)
(33 34 74 73)
(34 32 72 74)
(32 0 40 72)
(0 2 42 40)
(2 42 41 1)
);
}
insideSlider
{
type patch;
faces
(
(4 16 56 44)
(16 11 51 56)
(11 23 63 51)
(23 4 44 63)
);
}
outsideSlider
{
type patch;
faces
(
(3 43 67 27)
(27 67 71 31)
(31 71 52 12)
(12 52 79 39)
(39 79 75 35)
(35 75 43 3)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View file

@ -0,0 +1,21 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
transportModel Newtonian;
nu nu [0 2 -1 0 0 0 0] 0.01;
// ************************************************************************* //

View file

@ -0,0 +1,4 @@
faceSet insideZone new patchToFace insideSlider
faceSet outsideZone new patchToFace outsideSlider
cellSet rotor new cellToCell cellRegion0
quit

View file

@ -0,0 +1,61 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application MRFSimpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 100;
deltaT 1;
writeControl timeStep;
writeInterval 10;
cycleWrite 0;
writeFormat ascii;
writePrecision 10;
writeCompression compressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
functions
(
ggiCheck
{
// Type of functionObject
type ggiCheck;
phi phi;
// Where to load it from (if not already in solver)
functionObjectLibs ("libcheckFunctionObjects.so");
}
);
// ************************************************************************* //

View file

@ -0,0 +1,35 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
method simple;
globalFaceZones ( insideZone outsideZone );
simpleCoeffs
{
n (2 2 1);
delta 0.001;
}
distributed no;
roots
(
);
// ************************************************************************* //

View file

@ -0,0 +1,60 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss upwind;
div((nuEff*dev(grad(U).T()))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
interpolate(HbyA) linear;
interpolate(1|A) linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
pcorr;
p;
}
// ************************************************************************* //

View file

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.2 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
p
{
solver CG;
preconditioner Cholesky;
minIter 0;
maxIter 1000;
tolerance 1e-07;
relTol 0.0;
}
U
{
solver BiCGStab;
preconditioner DILU;
minIter 0;
maxIter 1000;
tolerance 1e-07;
relTol 0;
}
}
SIMPLE
{
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;
}
relaxationFactors
{
p 0.3;
U 0.7;
}
// ************************************************************************* //