Added axialTurbine_mixingPlane

This commit is contained in:
Hakan Nilsson 2014-06-03 22:07:17 +02:00
parent 495d5c5ba8
commit 7ff0824405
17 changed files with 6475 additions and 0 deletions

View file

@ -0,0 +1,119 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ 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 -1 );
boundaryField
{
GVINLET
{
type fixedValue;
value uniform ( 0 0 -1 );
}
GVOUTLET
{
type mixingPlane;
}
GVCYCLIC1
{
type cyclicGgi;
}
GVCYCLIC2
{
type cyclicGgi;
}
GVBLADE
{
type fixedValue;
value uniform ( 0 0 0 );
}
GVHUB
{
type rotatingWallVelocity;
origin ( 0 0 0 );
axis ( 0 0 1 );
omega -10;
value uniform ( 0 0 0 );
}
GVSHROUD
{
type fixedValue;
value uniform ( 0 0 0 );
}
RUINLET
{
type mixingPlane;
}
RUOUTLET
{
type mixingPlane;
}
RUCYCLIC1
{
type cyclicGgi;
}
RUCYCLIC2
{
type cyclicGgi;
}
RUBLADE
{
type fixedValue;
value uniform ( 0 0 0 );
}
RUHUB
{
type fixedValue;
value uniform ( 0 0 0 );
}
RUSHROUD
{
type fixedValue;
value uniform ( 0 0 0 );
}
DTINLET
{
type mixingPlane;
}
DTOUTLET
{
type zeroGradient;
}
DTCYCLIC1
{
type cyclicGgi;
}
DTCYCLIC2
{
type cyclicGgi;
}
DTHUB
{
type fixedValue;
value uniform ( 0 0 0 );
}
DTSHROUD
{
type fixedValue;
value uniform ( 0 0 0 );
}
}
// ************************************************************************* //

View file

@ -0,0 +1,158 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 2 -3 0 0 0 0 ];
internalField uniform 14.855;
boundaryField
{
GVINLET
{
type fixedValue;
value uniform 14.855;
}
GVOUTLET
{
type mixingPlane;
value uniform 14.855;
}
GVCYCLIC1
{
type cyclicGgi;
value uniform 14.855;
}
GVCYCLIC2
{
type cyclicGgi;
value uniform 14.855;
}
GVBLADE
{
type epsilonWallFunction;
refValue uniform 0;
value uniform 14.855;
Cmu 0.09;
kappa 0.41;
E 9.8;
}
GVHUB
{
type epsilonWallFunction;
refValue uniform 0;
value uniform 14.855;
Cmu 0.09;
kappa 0.41;
E 9.8;
}
GVSHROUD
{
type epsilonWallFunction;
refValue uniform 0;
value uniform 14.855;
Cmu 0.09;
kappa 0.41;
E 9.8;
}
RUINLET
{
type mixingPlane;
value uniform 14.855;
}
RUOUTLET
{
type mixingPlane;
value uniform 14.855;
}
RUCYCLIC1
{
type cyclicGgi;
value uniform 14.855;
}
RUCYCLIC2
{
type cyclicGgi;
value uniform 14.855;
}
RUBLADE
{
type epsilonWallFunction;
refValue uniform 0;
value uniform 14.855;
Cmu 0.09;
kappa 0.41;
E 9.8;
}
RUHUB
{
type epsilonWallFunction;
refValue uniform 0;
value uniform 14.855;
Cmu 0.09;
kappa 0.41;
E 9.8;
}
RUSHROUD
{
type epsilonWallFunction;
refValue uniform 0;
value uniform 14.855;
Cmu 0.09;
kappa 0.41;
E 9.8;
}
DTINLET
{
type mixingPlane;
value uniform 14.855;
}
DTOUTLET
{
type zeroGradient;
}
DTCYCLIC1
{
type cyclicGgi;
value uniform 14.855;
}
DTCYCLIC2
{
type cyclicGgi;
value uniform 14.855;
}
DTHUB
{
type epsilonWallFunction;
refValue uniform 0;
value uniform 14.855;
Cmu 0.09;
kappa 0.41;
E 9.8;
}
DTSHROUD
{
type epsilonWallFunction;
refValue uniform 0;
value uniform 14.855;
Cmu 0.09;
kappa 0.41;
E 9.8;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,126 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 2 -2 0 0 0 0 ];
internalField uniform 0.375;
boundaryField
{
GVINLET
{
type fixedValue;
value uniform 0.375;
}
GVOUTLET
{
type mixingPlane;
value uniform 0.375;
}
GVCYCLIC1
{
type cyclicGgi;
value uniform 0.375;
}
GVCYCLIC2
{
type cyclicGgi;
value uniform 0.375;
}
GVBLADE
{
type kqRWallFunction;
value uniform 0.375;
}
GVHUB
{
type kqRWallFunction;
value uniform 0.375;
}
GVSHROUD
{
type kqRWallFunction;
value uniform 0.375;
}
RUINLET
{
type mixingPlane;
value uniform 0.375;
}
RUOUTLET
{
type mixingPlane;
value uniform 0.375;
}
RUCYCLIC1
{
type cyclicGgi;
value uniform 0.375;
}
RUCYCLIC2
{
type cyclicGgi;
value uniform 0.375;
}
RUBLADE
{
type kqRWallFunction;
value uniform 0.375;
}
RUHUB
{
type kqRWallFunction;
value uniform 0.375;
}
RUSHROUD
{
type kqRWallFunction;
value uniform 0.375;
}
DTINLET
{
type mixingPlane;
value uniform 0.375;
}
DTOUTLET
{
type zeroGradient;
}
DTCYCLIC1
{
type cyclicGgi;
value uniform 0.375;
}
DTCYCLIC2
{
type cyclicGgi;
value uniform 0.375;
}
DTHUB
{
type kqRWallFunction;
value uniform 0.375;
}
DTSHROUD
{
type kqRWallFunction;
value uniform 0.375;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,151 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
GVINLET
{
type calculated;
value uniform 0;
}
GVOUTLET
{
type mixingPlane;
value uniform 0;
}
GVCYCLIC1
{
type cyclicGgi;
value uniform 0;
}
GVCYCLIC2
{
type cyclicGgi;
value uniform 0;
}
GVBLADE
{
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
GVHUB
{
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
GVSHROUD
{
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
RUINLET
{
type mixingPlane;
value uniform 0;
}
RUOUTLET
{
type mixingPlane;
value uniform 0;
}
RUCYCLIC1
{
type cyclicGgi;
value uniform 0;
}
RUCYCLIC2
{
type cyclicGgi;
value uniform 0;
}
RUBLADE
{
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
RUHUB
{
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
RUSHROUD
{
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
DTINLET
{
type mixingPlane;
value uniform 0;
}
DTOUTLET
{
type calculated;
value uniform 0;
}
DTCYCLIC1
{
type cyclicGgi;
value uniform 0;
}
DTCYCLIC2
{
type cyclicGgi;
value uniform 0;
}
DTHUB
{
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
DTSHROUD
{
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,108 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ 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
{
GVINLET
{
type zeroGradient;
}
GVOUTLET
{
type mixingPlane;
}
GVCYCLIC1
{
type cyclicGgi;
}
GVCYCLIC2
{
type cyclicGgi;
}
GVBLADE
{
type zeroGradient;
}
GVHUB
{
type zeroGradient;
}
GVSHROUD
{
type zeroGradient;
}
RUINLET
{
type mixingPlane;
}
RUOUTLET
{
type mixingPlane;
}
RUCYCLIC1
{
type cyclicGgi;
}
RUCYCLIC2
{
type cyclicGgi;
}
RUBLADE
{
type zeroGradient;
}
RUHUB
{
type zeroGradient;
}
RUSHROUD
{
type zeroGradient;
}
DTINLET
{
type mixingPlane;
}
DTOUTLET
{
type fixedValue;
value uniform 0;
}
DTCYCLIC1
{
type cyclicGgi;
}
DTCYCLIC2
{
type cyclicGgi;
}
DTHUB
{
type zeroGradient;
}
DTSHROUD
{
type zeroGradient;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,4 @@
#!/bin/sh
( cd constant/polyMesh && \rm -rf boundary* blockMeshDict *Zones* faces* neighbour* owner* points* sets )
\rm -rf 0 [1-9]* VTK log* processor*

View file

@ -0,0 +1,18 @@
#!/bin/sh
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
application="MRFSimpleFoam"
#Create the mesh:
m4 < constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict
blockMesh
transformPoints -cylToCart "((0 0 0) (0 0 1) (1 0 0))"
# Set 0-directory and create GGI set:
cp -r 0_orig 0
setSet -batch setBatchGgi
setsToZones -noFlipMap
runApplication $application

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,31 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object MRFZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
1
(
rotor
{
//patches (rotor);
// Fixed patches (by default they 'move' with the MRF zone)
nonRotatingPatches ( RUSHROUD );
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] -10;
}
)
// ************************************************************************* //

View file

@ -0,0 +1,191 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object RASProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RASModel RNGkEpsilon;
turbulence on;
printCoeffs on;
laminarCoeffs
{
}
kEpsilonCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaEps 0.76923;
}
RNGkEpsilonCoeffs
{
Cmu 0.0845;
C1 1.42;
C2 1.68;
alphak 1.39;
alphaEps 1.39;
eta0 4.38;
beta 0.012;
}
kOmegaSSTCoeffs
{
alphaK1 0.85034;
alphaK2 1.0;
alphaOmega1 0.5;
alphaOmega2 0.85616;
gamma1 0.5532;
gamma2 0.4403;
beta1 0.0750;
beta2 0.0828;
betaStar 0.09;
a1 0.31;
c1 10;
Cmu 0.09;
}
NonlinearKEShihCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76932;
A1 1.25;
A2 1000;
Ctau1 -4;
Ctau2 13;
Ctau3 -2;
alphaKsi 0.9;
}
LienCubicKECoeffs
{
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76923;
A1 1.25;
A2 1000;
Ctau1 -4;
Ctau2 13;
Ctau3 -2;
alphaKsi 0.9;
}
QZetaCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaZeta 0.76923;
anisotropic no;
}
LaunderSharmaKECoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaEps 0.76923;
}
LamBremhorstKECoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaEps 0.76923;
}
LienCubicKELowReCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76923;
A1 1.25;
A2 1000;
Ctau1 -4;
Ctau2 13;
Ctau3 -2;
alphaKsi 0.9;
Am 0.016;
Aepsilon 0.263;
Amu 0.00222;
}
LienLeschzinerLowReCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76923;
Am 0.016;
Aepsilon 0.263;
Amu 0.00222;
}
LRRCoeffs
{
Cmu 0.09;
Clrr1 1.8;
Clrr2 0.6;
C1 1.44;
C2 1.92;
Cs 0.25;
Ceps 0.15;
alphaEps 0.76923;
}
LaunderGibsonRSTMCoeffs
{
Cmu 0.09;
Clg1 1.8;
Clg2 0.6;
C1 1.44;
C2 1.92;
C1Ref 0.5;
C2Ref 0.3;
Cs 0.25;
Ceps 0.15;
alphaEps 0.76923;
alphaR 1.22;
}
SpalartAllmarasCoeffs
{
alphaNut 1.5;
Cb1 0.1355;
Cb2 0.622;
Cw2 0.3;
Cw3 2;
Cv1 7.1;
Cv2 5.0;
}
wallFunctionCoeffs
{
kappa 0.4187;
E 9;
}
// ************************************************************************* //

View file

@ -0,0 +1,609 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// General macros to create 2D/extruded-2D meshes
changecom(//)changequote([,])
define(calc, [esyscmd(perl -e 'printf ($1)')])
//define(calc, [esyscmd(echo $1 | bc | tr -d \\n)])
define(VCOUNT, 0)
define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))])
define(pi, 3.14159265)
define(hex2D, hex ($1b $2b $3b $4b $1t $2t $3t $4t))
define(quad2D, ($1b $2b $2t $1t))
define(frontQuad, ($1t $2t $3t $4t))
define(backQuad, ($1b $4b $3b $2b))
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
// HUB AND SHROUD RADIUS
// Hub radius (m)
define(hr, 0.05)
// Shroud radius (m)
define(sr, 0.1)
// GUIDE VANE REGION GEOMETRY AND MESH PROPERTIES
// Guide vane inlet axial length (m)
define(GVial, 0.1)
// Guide vane axial length (m)
define(GVbal, 0.1)
// Guide vane outlet axial length (m)
define(GVoal, 0.02)
// Number of guide vanes per 360 degrees (integer!)
define(GVnb, 5)
// Number of cells in radial direction at guide vane
define(GVrc, 10)
// Number of cells in tangential direction between guide vanes
define(GVtc, 10)
// Number of cells in axial direction at guide vane inlet
define(GViac, 10)
// Number of cells in axial direction between guide vanes
define(GVbac, 10)
// Number of cells in axial direction at guide vane outlet
define(GVoac, 2)
// RUNNER REGION GEOMETRY AND MESH PROPERTIES
// Runner inlet axial length (m)
define(RUial, 0.02)
// Runner axial length (m)
define(RUal, 0.1)
// Runner outlet axial length (m)
define(RUoal, 0.02)
// Number of runner blades per 360 degrees (integer!)
define(RUnb, 5)
// Number of cells in radial direction in runner
define(RUrc, 10)
// Number of cells in tangential direction between runner blades
define(RUtc, 10)
// Number of cells in axial direction at runner inlet
define(RUiac, 2)
// Number of cells in axial direction between runner blades
define(RUbac, 10)
// Number of cells in axial direction at runner outlet
define(RUoac, 2)
// DRAFT TUBE REGION GEOMETRY AND MESH PROPERTIES
// "Draft tube" axial length (m)
define(DTal, 0.07)
// Number of sections per 360 degrees (integer!)
define(DTns, 5)
// Number of cells in radial direction in "draft tube"
define(DTrc, 10)
// Number of cells in tangential direction in "draft tube"
define(DTtc, 10)
// Number of cells in axial direction in "draft tube"
define(DTac, 7)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// TANGENTIAL PITCHES (RADIANS)
// Guide vane region
define(GVp, calc(2*pi/GVnb))
// Runner region
define(RUp, calc(2*pi/RUnb))
// Draft tube region
define(DTp, calc(2*pi/DTns))
// TANGENTIAL SHIFTS BETWEEN AXIAL LEVELS (BOTTOM-UP)
// Tangential shift from level DT0 to DT1
define(DTts01, calc(5*DTp))
// Runner region
// Tangential shift from level RU0 to RU1
define(RUts01, calc(-1/10*RUp))
// Tangential shift from level RU1 to RU2
define(RUts12, calc(-4/5*RUp))
// Tangential shift from level RU2 to RU3
define(RUts23, calc(-1/10*RUp))
// Guide vane region
// Tangential shift from level GV0 to GV1
define(GVts01, calc(1/10*GVp))
// Tangential shift from level GV1 to GV2
define(GVts12, calc(1/2*GVp))
// Tangential shift from level GV2 to GV3
define(GVts23, calc(0*GVp))
// AXIAL/TANGENTIAL BASE POINTS FOR EACH LEVEL (BOTTOM-UP):
// (CENTER OF RUNNER SET TO THETA=0, Z=0)
// Draft tube:
define(DTa0, calc(-RUoal-0.5*RUal-DTal)) //Center runner
define(DTt0, calc(-0.5*RUp-(0.5*RUts12)-(0*DTts01))) // Straight draft tube!
define(DTt1, calc(-0.5*RUp-(0.5*RUts12))) //Center runner
// Runner:
define(RUa0, calc(-RUoal-0.5*RUal)) //Center runner
define(RUt0, calc(-0.5*RUp-(0.5*RUts12))) //Center runner
define(RUt1, calc(RUt0+RUts01))
define(RUt2, calc(RUt1+RUts12))
define(RUt3, calc(RUt2+RUts23))
// Guide vane:
define(GVa0, calc(0.5*RUal+RUial)) //Center runner
define(GVt0, calc(-0.5*RUp-(0.5*RUts12)+RUts01+RUts12+RUts23)) //Center runner
define(GVt1, calc(GVt0+GVts01))
define(GVt2, calc(GVt1+GVts12))
define(GVt3, calc(GVt2+GVts23))
vertices //(radial [m], tangential [radians], axial [m])
(
//Guide vane hub:
(hr GVt0 GVa0) vlabel(GV0lb)
(hr calc(GVt0+GVp) GVa0) vlabel(GV0rb)
(hr GVt1 calc(GVa0+GVoal)) vlabel(GV1lb)
(hr calc(GVt1+GVp) calc(GVa0+GVoal)) vlabel(GV1rb)
(hr GVt2 calc(GVa0+GVoal+GVbal)) vlabel(GV2lb)
(hr calc(GVt2+GVp) calc(GVa0+GVoal+GVbal)) vlabel(GV2rb)
(hr GVt3 calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3lb)
(hr calc(GVt3+GVp) calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3rb)
//Guide vane shroud:
(sr GVt0 GVa0) vlabel(GV0lt)
(sr calc(GVt0+GVp) GVa0) vlabel(GV0rt)
(sr GVt1 calc(GVa0+GVoal)) vlabel(GV1lt)
(sr calc(GVt1+GVp) calc(GVa0+GVoal)) vlabel(GV1rt)
(sr GVt2 calc(GVa0+GVoal+GVbal)) vlabel(GV2lt)
(sr calc(GVt2+GVp) calc(GVa0+GVoal+GVbal)) vlabel(GV2rt)
(sr GVt3 calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3lt)
(sr calc(GVt3+GVp) calc(GVa0+GVoal+GVbal+GVial)) vlabel(GV3rt)
//Runner hub:
(hr RUt0 RUa0) vlabel(RU0lb)
(hr calc(RUt0+RUp) RUa0) vlabel(RU0rb)
(hr RUt1 calc(RUa0+RUoal)) vlabel(RU1lb)
(hr calc(RUt1+RUp) calc(RUa0+RUoal)) vlabel(RU1rb)
(hr RUt2 calc(RUa0+RUoal+RUal)) vlabel(RU2lb)
(hr calc(RUt2+RUp) calc(RUa0+RUoal+RUal)) vlabel(RU2rb)
(hr RUt3 calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3lb)
(hr calc(RUt3+RUp) calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3rb)
//Runner shroud:
(sr RUt0 RUa0) vlabel(RU0lt)
(sr calc(RUt0+RUp) RUa0) vlabel(RU0rt)
(sr RUt1 calc(RUa0+RUoal)) vlabel(RU1lt)
(sr calc(RUt1+RUp) calc(RUa0+RUoal)) vlabel(RU1rt)
(sr RUt2 calc(RUa0+RUoal+RUal)) vlabel(RU2lt)
(sr calc(RUt2+RUp) calc(RUa0+RUoal+RUal)) vlabel(RU2rt)
(sr RUt3 calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3lt)
(sr calc(RUt3+RUp) calc(RUa0+RUoal+RUal+RUial)) vlabel(RU3rt)
//Draft tube hub:
(hr DTt0 DTa0) vlabel(DT0lb)
(hr calc(DTt0+DTp) DTa0) vlabel(DT0rb)
(hr DTt1 calc(DTa0+DTal)) vlabel(DT1lb)
(hr calc(DTt1+DTp) calc(DTa0+DTal)) vlabel(DT1rb)
//Draft tube shroud:
(sr DTt0 DTa0) vlabel(DT0lt)
(sr calc(DTt0+DTp) DTa0) vlabel(DT0rt)
(sr DTt1 calc(DTa0+DTal)) vlabel(DT1lt)
(sr calc(DTt1+DTp) calc(DTa0+DTal)) vlabel(DT1rt)
);
blocks
(
//Guide vane:
hex2D(GV0l, GV0r, GV1r, GV1l)
(GVtc GVoac GVrc)
simpleGrading (1 1 1)
hex2D(GV1l, GV1r, GV2r, GV2l)
(GVtc GVbac GVrc)
simpleGrading (1 0.2 1)
hex2D(GV2l, GV2r, GV3r, GV3l)
(GVtc GViac GVrc)
simpleGrading (1 1 1)
//Runner:
hex2D(RU0l, RU0r, RU1r, RU1l)
rotor
(RUtc RUoac RUrc)
simpleGrading (1 1 1)
hex2D(RU1l, RU1r, RU2r, RU2l)
rotor
(RUtc RUbac RUrc)
simpleGrading (1 0.4 1)
hex2D(RU2l, RU2r, RU3r, RU3l)
rotor
(RUtc RUiac RUrc)
simpleGrading (1 1 1)
//Draft tube:
hex2D(DT0l, DT0r, DT1r, DT1l)
(DTtc DTac DTrc)
simpleGrading (1 1 1)
);
edges // Inappropriate with arc due to coordinate conversion
(
//Runner
spline RU1lt RU2lt
(
(sr calc(RUt1+0.65*(RUt2-(RUt1))) calc(RUa0+RUoal+0.5*RUal))
)
spline RU1lb RU2lb
(
(hr calc(RUt1+0.65*(RUt2-(RUt1))) calc(RUa0+RUoal+0.5*RUal))
)
spline RU1rt RU2rt
(
(sr calc(RUt1+RUp+0.75*(RUt2-(RUt1))) calc(RUa0+RUoal+0.5*RUal))
)
spline RU1rb RU2rb
(
(hr calc(RUt1+RUp+0.75*(RUt2-(RUt1))) calc(RUa0+RUoal+0.5*RUal))
)
//Guide vane
spline GV1lt GV2lt
(
(sr calc(GVt1+0.75*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal))
)
spline GV1lb GV2lb
(
(hr calc(GVt1+0.75*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal))
)
spline GV1rt GV2rt
(
(sr calc(GVt1+GVp+0.65*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal))
)
spline GV1rb GV2rb
(
(hr calc(GVt1+GVp+0.65*(GVt2-(GVt1))) calc(GVa0+GVoal+0.5*GVbal))
)
);
boundary
(
GVINLET
{
type patch;
faces
(
quad2D(GV3r, GV3l)
);
}
GVOUTLET
{
type mixingPlane;
shadowPatch RUINLET;
zone GVOUTLETZone;
coordinateSystem
{
//type cylindrical;
//name mixingCS;
origin (0 0 0);
axis (0 0 1);
direction (1 0 0);
//e1 (1 0 0);
//e3 (0 0 1);
}
ribbonPatch
{
sweepAxis Theta;
stackAxis R;
discretisation bothPatches;
}
faces
(
quad2D(GV0l, GV0r)
);
}
GVCYCLIC1
{
type cyclicGgi;
shadowPatch GVCYCLIC2;
zone GVCYCLIC1Zone;
bridgeOverlap false;
rotationAxis (0 0 1);
rotationAngle 72;
separationOffset (0 0 0);
faces
(
quad2D(GV1l, GV0l)
quad2D(GV3l, GV2l)
);
}
GVCYCLIC2
{
type cyclicGgi;
shadowPatch GVCYCLIC1;
zone GVCYCLIC2Zone;
bridgeOverlap false;
rotationAxis (0 0 1);
rotationAngle -72;
separationOffset (0 0 0);
faces
(
quad2D(GV0r, GV1r)
quad2D(GV2r, GV3r)
);
}
//GVCYCLIC
//{
// type cyclic;
// faces
// (
// quad2D(GV1l, GV0l)
// quad2D(GV3l, GV2l)
// quad2D(GV0r, GV1r)
// quad2D(GV2r, GV3r)
// );
//}
GVBLADE
{
type wall;
faces
(
quad2D(GV2l, GV1l)
quad2D(GV1r, GV2r)
);
}
GVHUB
{
type wall;
faces
(
backQuad(GV0l, GV0r, GV1r, GV1l)
backQuad(GV1l, GV1r, GV2r, GV2l)
backQuad(GV2l, GV2r, GV3r, GV3l)
);
}
GVSHROUD
{
type wall;
faces
(
frontQuad(GV0l, GV0r, GV1r, GV1l)
frontQuad(GV1l, GV1r, GV2r, GV2l)
frontQuad(GV2l, GV2r, GV3r, GV3l)
);
}
RUINLET
{
type mixingPlane;
shadowPatch GVOUTLET;
zone RUINLETZone;
coordinateSystem
{
//type cylindrical;
//name mixingCS;
origin (0 0 0);
axis (0 0 1);
direction (1 0 0);
//e1 (1 0 0);
//e3 (0 0 1);
}
ribbonPatch
{
sweepAxis Theta;
stackAxis R;
discretisation bothPatches;
}
faces
(
quad2D(RU3r, RU3l)
);
}
RUOUTLET
{
type mixingPlane;
shadowPatch DTINLET;
zone RUOUTLETZone;
coordinateSystem
{
//type cylindrical;
//name mixingCS;
origin (0 0 0);
axis (0 0 1);
direction (1 0 0);
//e1 (1 0 0);
//e3 (0 0 1);
}
ribbonPatch
{
sweepAxis Theta;
stackAxis R;
discretisation bothPatches;
}
faces
(
quad2D(RU0l, RU0r)
);
}
RUCYCLIC1
{
type cyclicGgi;
shadowPatch RUCYCLIC2;
zone RUCYCLIC1Zone;
bridgeOverlap false;
rotationAxis (0 0 1);
rotationAngle 72;
separationOffset (0 0 0);
faces
(
quad2D(RU1l, RU0l)
quad2D(RU3l, RU2l)
);
}
RUCYCLIC2
{
type cyclicGgi;
shadowPatch RUCYCLIC1;
zone RUCYCLIC2Zone;
bridgeOverlap false;
rotationAxis (0 0 1);
rotationAngle -72;
separationOffset (0 0 0);
faces
(
quad2D(RU0r, RU1r)
quad2D(RU2r, RU3r)
);
}
//RUCYCLIC
//{
// type cyclic;
// faces
// (
// quad2D(RU1l, RU0l)
// quad2D(RU3l, RU2l)
// quad2D(RU0r, RU1r)
// quad2D(RU2r, RU3r)
// );
//}
RUBLADE
{
type wall;
faces
(
quad2D(RU2l, RU1l)
quad2D(RU1r, RU2r)
);
}
RUHUB
{
type wall;
faces
(
backQuad(RU0l, RU0r, RU1r, RU1l)
backQuad(RU1l, RU1r, RU2r, RU2l)
backQuad(RU2l, RU2r, RU3r, RU3l)
);
}
RUSHROUD
{
type wall;
faces
(
frontQuad(RU0l, RU0r, RU1r, RU1l)
frontQuad(RU1l, RU1r, RU2r, RU2l)
frontQuad(RU2l, RU2r, RU3r, RU3l)
);
}
DTINLET
{
type mixingPlane;
shadowPatch RUOUTLET;
zone DTINLETZone;
coordinateSystem
{
//type cylindrical;
//name mixingCS;
origin (0 0 0);
axis (0 0 1);
direction (1 0 0);
//e1 (1 0 0);
//e3 (0 0 1);
}
ribbonPatch
{
sweepAxis Theta;
stackAxis R;
discretisation bothPatches;
}
faces
(
quad2D(DT1r, DT1l)
);
}
DTOUTLET
{
type patch;
faces
(
quad2D(DT0l, DT0r)
);
}
DTCYCLIC1
{
type cyclicGgi;
shadowPatch DTCYCLIC2;
zone DTCYCLIC1Zone;
bridgeOverlap false;
rotationAxis (0 0 1);
rotationAngle 72;
separationOffset (0 0 0);
faces
(
quad2D(DT1l, DT0l)
);
}
DTCYCLIC2
{
type cyclicGgi;
shadowPatch DTCYCLIC1;
zone DTCYCLIC2Zone;
bridgeOverlap false;
rotationAxis (0 0 1);
rotationAngle -72;
separationOffset (0 0 0);
faces
(
quad2D(DT0r, DT1r)
);
}
//DTCYCLIC
//{
// type cyclic;
// faces
// (
// quad2D(DT1l, DT0l)
// quad2D(DT0r, DT1r)
// );
//}
DTHUB
{
type wall;
faces
(
backQuad(DT0l, DT0r, DT1r, DT1l)
);
}
DTSHROUD
{
type wall;
faces
(
frontQuad(DT0l, DT0r, DT1r, DT1l)
);
}
);
// ************************************************************************* //

View file

@ -0,0 +1,37 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
transportModel Newtonian;
nu nu [0 2 -1 0 0 0 0] 1e-05;
CrossPowerLawCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] 1e-06;
nuInf nuInf [0 2 -1 0 0 0 0] 1e-06;
m m [0 0 1 0 0 0 0] 1;
n n [0 0 0 0 0 0 0] 1;
}
BirdCarreauCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] 1e-06;
nuInf nuInf [0 2 -1 0 0 0 0] 1e-06;
k k [0 0 1 0 0 0 0] 0;
n n [0 0 0 0 0 0 0] 1;
}
// ************************************************************************* //

View file

@ -0,0 +1,11 @@
faceSet GVCYCLIC1Zone new patchToFace GVCYCLIC1
faceSet GVCYCLIC2Zone new patchToFace GVCYCLIC2
faceSet RUCYCLIC1Zone new patchToFace RUCYCLIC1
faceSet RUCYCLIC2Zone new patchToFace RUCYCLIC2
faceSet DTCYCLIC1Zone new patchToFace DTCYCLIC1
faceSet DTCYCLIC2Zone new patchToFace DTCYCLIC2
faceSet GVOUTLETZone new patchToFace GVOUTLET
faceSet RUINLETZone new patchToFace RUINLET
faceSet RUOUTLETZone new patchToFace RUOUTLET
faceSet DTINLETZone new patchToFace DTINLET
quit

View file

@ -0,0 +1,74 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application MRFSimpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 200;
deltaT 1;
writeControl timeStep;
writeInterval 20;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression compressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// Compute the flux value on each side of a GGI interface
functions
(
ggiCheck
{
// Type of functionObject
type ggiCheck;
phi phi;
// Where to load it from (if not already in solver)
functionObjectLibs ("libcheckFunctionObjects.so");
}
// Compute the flux value on each side of a mixingPlane interface
mixingPlaneCheck
{
// Type of functionObject
type mixingPlaneCheck;
phi phi;
// Where to load it from (if not already in solver)
functionObjectLibs ("libcheckFunctionObjects.so");
}
);
// ************************************************************************* //

View file

@ -0,0 +1,89 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 8;
//method metis;
method patchConstrained;
globalFaceZones
(
GVCYCLIC2Zone
RUCYCLIC1Zone
RUINLETZone
RUCYCLIC2Zone
RUOUTLETZone
GVOUTLETZone
DTINLETZone
GVCYCLIC1Zone
DTCYCLIC1Zone
DTCYCLIC2Zone
);
patchConstrainedCoeffs
{
method metis;
numberOfSubdomains 8;
patchConstraints
(
(RUINLET 1)
(GVOUTLET 1)
(RUOUTLET 2)
(DTINLET 2)
);
}
simpleCoeffs
{
n (2 2 1);
delta 0.001;
}
hierarchicalCoeffs
{
n (1 1 1);
delta 0.001;
order xyz;
}
metisCoeffs
{
processorWeights
(
1
1
1
1
1
1
1
1
);
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots
(
);
// ************************************************************************* //

View file

@ -0,0 +1,71 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default steadyState;
}
gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
grad(U) Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss limitedLinearV 1;
div(phi,k) Gauss limitedLinear 1;
div(phi,epsilon) Gauss limitedLinear 1;
div((nuEff*dev(grad(U).T()))) Gauss linear;
}
laplacianSchemes
{
default none;
laplacian(nuEff,U) Gauss linear corrected;
laplacian((1|A(U)),p) Gauss linear corrected;
laplacian(DkEff,k) Gauss linear corrected;
laplacian(DepsilonEff,epsilon) Gauss linear corrected;
}
interpolationSchemes
{
default linear;
interpolate(U) linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p;
}
mixingPlane
{
default areaAveraging;
//U fluxAveragingAdjustMassFlow;
//p zeroGradientAreaAveragingMix;
}
// ************************************************************************* //

View file

@ -0,0 +1,66 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
// For meshes with
// disparities in angle span across the mixingPlane interface, a
// solver for asymmetrical matrices is required, like BiCGStab. When
// in doubt, just select a solver for asymmetrical matrices for p.
p
{
solver BiCGStab;
preconditioner DILU;
tolerance 1e-08;
relTol 0.05;
};
U
{
solver BiCGStab;
preconditioner DILU;
tolerance 1e-07;
relTol 0.1;
};
k
{
solver BiCGStab;
preconditioner DILU;
tolerance 1e-07;
relTol 0.1;
};
epsilon
{
solver BiCGStab;
preconditioner DILU;
tolerance 1e-07;
relTol 0.1;
};
}
SIMPLE
{
nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
p 0.3;
U 0.7;
k 0.7;
epsilon 0.7;
}
// ************************************************************************* //