Fixing tutorials
This commit is contained in:
parent
6618e8483a
commit
cb4c606882
27 changed files with 1063 additions and 762 deletions
|
@ -120,60 +120,7 @@ bool Foam::blockMesh::readPatches
|
|||
|
||||
|
||||
// Split old style cyclics
|
||||
|
||||
if (patchTypes[nPatches-1] == cyclicPolyPatch::typeName)
|
||||
{
|
||||
word halfA = patchNames[nPatches-1] + "_half0";
|
||||
word halfB = patchNames[nPatches-1] + "_half1";
|
||||
|
||||
WarningIn("blockMesh::createTopology(IOdictionary&)")
|
||||
<< "Old-style cyclic definition."
|
||||
<< " Splitting patch "
|
||||
<< patchNames[nPatches-1] << " into two halves "
|
||||
<< halfA << " and " << halfB << endl
|
||||
<< " Alternatively use new 'boundary' dictionary syntax."
|
||||
<< endl;
|
||||
|
||||
// Add extra patch
|
||||
if (tmpBlocksPatches.size() <= nPatches)
|
||||
{
|
||||
tmpBlocksPatches.setSize(nPatches + 1);
|
||||
patchNames.setSize(nPatches + 1);
|
||||
patchTypes.setSize(nPatches + 1);
|
||||
nbrPatchNames.setSize(nPatches + 1);
|
||||
}
|
||||
|
||||
// Update halfA info
|
||||
patchNames[nPatches-1] = halfA;
|
||||
nbrPatchNames[nPatches-1] = halfB;
|
||||
// Update halfB info
|
||||
patchTypes[nPatches] = patchTypes[nPatches-1];
|
||||
patchNames[nPatches] = halfB;
|
||||
nbrPatchNames[nPatches] = halfA;
|
||||
|
||||
// Split faces
|
||||
if ((tmpBlocksPatches[nPatches-1].size() % 2) != 0)
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"blockMesh::createTopology(IOdictionary&)"
|
||||
) << "Size of cyclic faces is not a multiple of 2 :"
|
||||
<< tmpBlocksPatches[nPatches-1]
|
||||
<< exit(FatalError);
|
||||
}
|
||||
label sz = tmpBlocksPatches[nPatches-1].size()/2;
|
||||
faceList unsplitFaces(tmpBlocksPatches[nPatches-1], true);
|
||||
tmpBlocksPatches[nPatches-1] = faceList
|
||||
(
|
||||
SubList<face>(unsplitFaces, sz)
|
||||
);
|
||||
tmpBlocksPatches[nPatches] = faceList
|
||||
(
|
||||
SubList<face>(unsplitFaces, sz, sz)
|
||||
);
|
||||
|
||||
nPatches++;
|
||||
}
|
||||
// HR 1.6.2014: New style cyclics unsupported for the moment
|
||||
|
||||
patchStream >> lastToken;
|
||||
}
|
||||
|
|
|
@ -39,57 +39,30 @@ edges
|
|||
|
||||
boundary
|
||||
(
|
||||
patch0_half0
|
||||
patch0
|
||||
{
|
||||
type cyclic;
|
||||
neighbourPatch patch0_half1;
|
||||
faces
|
||||
(
|
||||
(0 3 2 1)
|
||||
);
|
||||
}
|
||||
patch0_half1
|
||||
{
|
||||
type cyclic;
|
||||
neighbourPatch patch0_half0;
|
||||
faces
|
||||
(
|
||||
(4 5 6 7)
|
||||
);
|
||||
}
|
||||
patch1_half0
|
||||
patch1
|
||||
{
|
||||
type cyclic;
|
||||
neighbourPatch patch1_half1;
|
||||
faces
|
||||
(
|
||||
(0 4 7 3)
|
||||
);
|
||||
}
|
||||
patch1_half1
|
||||
{
|
||||
type cyclic;
|
||||
neighbourPatch patch1_half0;
|
||||
faces
|
||||
(
|
||||
(2 6 5 1)
|
||||
);
|
||||
}
|
||||
patch2_half0
|
||||
patch2
|
||||
{
|
||||
type cyclic;
|
||||
neighbourPatch patch2_half1;
|
||||
faces
|
||||
(
|
||||
(3 7 6 2)
|
||||
);
|
||||
}
|
||||
patch2_half1
|
||||
{
|
||||
type cyclic;
|
||||
neighbourPatch patch2_half0;
|
||||
faces
|
||||
(
|
||||
(1 5 4 0)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ FoamFile
|
|||
version 2.0;
|
||||
format ascii;
|
||||
class polyBoundaryMesh;
|
||||
location "constant/polyMesh";
|
||||
object boundary;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
|
|
@ -66,9 +66,9 @@ boundary
|
|||
(1 2 8 7)
|
||||
);
|
||||
}
|
||||
frontAndBack
|
||||
periodic
|
||||
{
|
||||
type empty;
|
||||
type cyclic;
|
||||
faces
|
||||
(
|
||||
(0 3 4 1)
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
application="mdEquilibrationFoam"
|
||||
|
||||
cd periodicCubeArgon
|
||||
runApplication blockMesh
|
||||
runApplication mdInitialise
|
||||
runApplication $application
|
||||
cd ..
|
||||
|
||||
cd periodicCubeWater
|
||||
runApplication blockMesh
|
||||
runApplication mdInitialise
|
||||
runApplication $application
|
||||
cd ..
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
application="mdEquilibrationFoam"
|
||||
|
||||
runApplication blockMesh
|
||||
runApplication mdInitialise
|
||||
runApplication $application
|
|
@ -42,7 +42,7 @@ boundary
|
|||
(
|
||||
(1 2 6 5)
|
||||
(0 4 7 3)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
periodicY
|
||||
|
@ -52,7 +52,7 @@ boundary
|
|||
(
|
||||
(2 3 7 6)
|
||||
(0 1 5 4)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
periodicZ
|
||||
|
@ -62,7 +62,7 @@ boundary
|
|||
(
|
||||
(0 3 2 1)
|
||||
(4 5 6 7)
|
||||
)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Source tutorial clean functions
|
||||
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
|
||||
cd periodicCubeArgon
|
||||
rm -rf 0/*
|
||||
rm -f Ar-Ar
|
||||
rm -f electrostatic
|
||||
rm -f constant/idList
|
||||
rm -rf constant/polyMesh/sets
|
||||
cleanCase
|
||||
cd ..
|
||||
|
||||
cd periodicCubeWater
|
||||
rm -rf 0/*
|
||||
rm -f O-O
|
||||
rm -f electrostatic
|
||||
rm -f constant/idList
|
||||
rm -rf constant/polyMesh/sets
|
||||
cleanCase
|
||||
cd ..
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
application="mdEquilibrationFoam"
|
||||
|
||||
runApplication blockMesh
|
||||
runApplication mdInitialise
|
||||
runApplication $application
|
|
@ -33,7 +33,7 @@ blocks
|
|||
hex (0 1 2 3 4 5 6 7) liquid (12 12 11) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
patches
|
||||
boundary
|
||||
(
|
||||
periodicX
|
||||
{
|
||||
|
@ -42,7 +42,7 @@ patches
|
|||
(
|
||||
(1 2 6 5)
|
||||
(0 4 7 3)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
periodicY
|
||||
|
@ -52,7 +52,7 @@ patches
|
|||
(
|
||||
(2 3 7 6)
|
||||
(0 1 5 4)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
periodicZ
|
||||
|
@ -62,7 +62,7 @@ patches
|
|||
(
|
||||
(0 3 2 1)
|
||||
(4 5 6 7)
|
||||
)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ boundary
|
|||
(
|
||||
maxY
|
||||
{
|
||||
type symmetryPlane;
|
||||
type empty;
|
||||
faces
|
||||
(
|
||||
(3 7 6 2)
|
||||
|
@ -50,7 +50,7 @@ boundary
|
|||
|
||||
minX
|
||||
{
|
||||
type symmetryPlane;
|
||||
type empty;
|
||||
faces
|
||||
(
|
||||
(0 4 7 3)
|
||||
|
@ -59,7 +59,7 @@ boundary
|
|||
|
||||
maxX
|
||||
{
|
||||
type symmetryPlane;
|
||||
type empty;
|
||||
faces
|
||||
(
|
||||
(2 6 5 1)
|
||||
|
@ -68,7 +68,7 @@ boundary
|
|||
|
||||
minY
|
||||
{
|
||||
type symmetryPlane;
|
||||
type empty;
|
||||
faces
|
||||
(
|
||||
(1 5 4 0)
|
||||
|
@ -86,7 +86,7 @@ boundary
|
|||
|
||||
maxZ
|
||||
{
|
||||
type symmetryPlane;
|
||||
type empty;
|
||||
faces
|
||||
(
|
||||
(4 5 6 7)
|
||||
|
|
|
@ -15,61 +15,43 @@ FoamFile
|
|||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
9
|
||||
6
|
||||
(
|
||||
maxY
|
||||
{
|
||||
type empty;
|
||||
nFaces 0;
|
||||
startFace 60456;
|
||||
nFaces 400;
|
||||
startFace 22800;
|
||||
}
|
||||
minX
|
||||
{
|
||||
type empty;
|
||||
nFaces 0;
|
||||
startFace 60456;
|
||||
nFaces 400;
|
||||
startFace 23200;
|
||||
}
|
||||
maxX
|
||||
{
|
||||
type empty;
|
||||
nFaces 0;
|
||||
startFace 60456;
|
||||
nFaces 400;
|
||||
startFace 23600;
|
||||
}
|
||||
minY
|
||||
{
|
||||
type empty;
|
||||
nFaces 0;
|
||||
startFace 60456;
|
||||
nFaces 400;
|
||||
startFace 24000;
|
||||
}
|
||||
ground
|
||||
{
|
||||
type wall;
|
||||
nFaces 590;
|
||||
startFace 60456;
|
||||
nFaces 400;
|
||||
startFace 24400;
|
||||
}
|
||||
maxZ
|
||||
{
|
||||
type empty;
|
||||
nFaces 0;
|
||||
startFace 61046;
|
||||
}
|
||||
igloo_region0
|
||||
{
|
||||
type wall;
|
||||
nFaces 2260;
|
||||
startFace 61046;
|
||||
}
|
||||
twoFridgeFreezers_seal_0
|
||||
{
|
||||
type wall;
|
||||
nFaces 1344;
|
||||
startFace 63306;
|
||||
}
|
||||
twoFridgeFreezers_herring_1
|
||||
{
|
||||
type wall;
|
||||
nFaces 1116;
|
||||
startFace 64650;
|
||||
nFaces 400;
|
||||
startFace 24800;
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/bin/sh
|
||||
|
||||
( cd constant/polyMesh && \rm -rf boundary* blockMeshDict *Zones* faces* neighbour* owner* points* sets )
|
||||
( cd system && \rm -f changeDictionaryDict fvSolution )
|
||||
( cd system && \rm -f fvSolution )
|
||||
\rm -rf 0 [1-9]* VTK log* processor*
|
||||
|
|
|
@ -7,17 +7,15 @@ application="MRFSimpleFoam"
|
|||
#application="simpleFoam"
|
||||
|
||||
#Create the mesh:
|
||||
./makeMesh
|
||||
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
|
||||
|
||||
#Fix constant/boundary:
|
||||
cp system/changeDictionaryDict_ggi system/changeDictionaryDict
|
||||
changeDictionary
|
||||
|
||||
#Pick settings:
|
||||
cp system/fvSolution_ggi system/fvSolution
|
||||
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
application="MRFSimpleFoam"
|
||||
#application="simpleFoam"
|
||||
|
||||
#Create the mesh:
|
||||
./makeMesh
|
||||
|
||||
# Set 0-directory and create GGI set:
|
||||
cp -r 0_orig 0
|
||||
setSet -batch setBatchGgi
|
||||
setsToZones -noFlipMap
|
||||
|
||||
#Fix constant/boundary:
|
||||
cp system/changeDictionaryDict_ggi system/changeDictionaryDict
|
||||
changeDictionary
|
||||
|
||||
#Pick settings:
|
||||
cp system/fvSolution_ggi system/fvSolution
|
||||
|
||||
runApplication $application
|
|
@ -7,7 +7,9 @@ application="MRFSimpleFoam"
|
|||
#application="simpleFoam"
|
||||
|
||||
#Create the mesh:
|
||||
./makeMesh
|
||||
m4 < constant/polyMesh/blockMeshDict_mixingPlane.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
|
||||
|
@ -15,7 +17,6 @@ setSet -batch setBatchGgi
|
|||
setsToZones -noFlipMap
|
||||
|
||||
#Fix constant/boundary:
|
||||
cp system/changeDictionaryDict_mixingPlane system/changeDictionaryDict
|
||||
changeDictionary
|
||||
|
||||
#Pick settings:
|
||||
|
|
|
@ -267,144 +267,283 @@ edges // Inappropriate with arc due to coordinate conversion
|
|||
)
|
||||
);
|
||||
|
||||
patches
|
||||
boundary
|
||||
(
|
||||
patch GVINLET
|
||||
GVINLET
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
quad2D(GV3r, GV3l)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
ggi GVOUTLET
|
||||
GVOUTLET
|
||||
{
|
||||
type ggi;
|
||||
shadowPatch RUINLET;
|
||||
zone GVOUTLETZone;
|
||||
bridgeOverlap false;
|
||||
faces
|
||||
(
|
||||
quad2D(GV0l, GV0r)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
cyclicGgi GVCYCLIC1
|
||||
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)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
cyclicGgi GVCYCLIC2
|
||||
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)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
//cyclic GVCYCLIC
|
||||
//(
|
||||
//GVCYCLIC
|
||||
//{
|
||||
// type cyclic;
|
||||
// faces
|
||||
// (
|
||||
// quad2D(GV1l, GV0l)
|
||||
// quad2D(GV3l, GV2l)
|
||||
// quad2D(GV0r, GV1r)
|
||||
// quad2D(GV2r, GV3r)
|
||||
//)
|
||||
// );
|
||||
//}
|
||||
|
||||
wall GVBLADE
|
||||
GVBLADE
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
quad2D(GV2l, GV1l)
|
||||
quad2D(GV1r, GV2r)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
wall GVHUB
|
||||
GVHUB
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
backQuad(GV0l, GV0r, GV1r, GV1l)
|
||||
backQuad(GV1l, GV1r, GV2r, GV2l)
|
||||
backQuad(GV2l, GV2r, GV3r, GV3l)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
wall GVSHROUD
|
||||
GVSHROUD
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
frontQuad(GV0l, GV0r, GV1r, GV1l)
|
||||
frontQuad(GV1l, GV1r, GV2r, GV2l)
|
||||
frontQuad(GV2l, GV2r, GV3r, GV3l)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
ggi RUINLET
|
||||
RUINLET
|
||||
{
|
||||
type ggi;
|
||||
shadowPatch GVOUTLET;
|
||||
zone RUINLETZone;
|
||||
bridgeOverlap false;
|
||||
faces
|
||||
(
|
||||
quad2D(RU3r, RU3l)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
ggi RUOUTLET
|
||||
RUOUTLET
|
||||
{
|
||||
type ggi;
|
||||
shadowPatch DTINLET;
|
||||
zone RUOUTLETZone;
|
||||
bridgeOverlap false;
|
||||
faces
|
||||
(
|
||||
quad2D(RU0l, RU0r)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
cyclicGgi RUCYCLIC1
|
||||
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)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
cyclicGgi RUCYCLIC2
|
||||
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)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
//cyclic RUCYCLIC
|
||||
//(
|
||||
//RUCYCLIC
|
||||
//{
|
||||
// type cyclic;
|
||||
// faces
|
||||
// (
|
||||
// quad2D(RU1l, RU0l)
|
||||
// quad2D(RU3l, RU2l)
|
||||
// quad2D(RU0r, RU1r)
|
||||
// quad2D(RU2r, RU3r)
|
||||
//)
|
||||
// )
|
||||
//}
|
||||
|
||||
wall RUBLADE
|
||||
RUBLADE
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
quad2D(RU2l, RU1l)
|
||||
quad2D(RU1r, RU2r)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
wall RUHUB
|
||||
RUHUB
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
backQuad(RU0l, RU0r, RU1r, RU1l)
|
||||
backQuad(RU1l, RU1r, RU2r, RU2l)
|
||||
backQuad(RU2l, RU2r, RU3r, RU3l)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
wall RUSHROUD
|
||||
RUSHROUD
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
frontQuad(RU0l, RU0r, RU1r, RU1l)
|
||||
frontQuad(RU1l, RU1r, RU2r, RU2l)
|
||||
frontQuad(RU2l, RU2r, RU3r, RU3l)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
ggi DTINLET
|
||||
DTINLET
|
||||
{
|
||||
type ggi;
|
||||
shadowPatch RUOUTLET;
|
||||
zone DTINLETZone;
|
||||
bridgeOverlap false;
|
||||
faces
|
||||
(
|
||||
quad2D(DT1r, DT1l)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
patch DTOUTLET
|
||||
DTOUTLET
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
quad2D(DT0l, DT0r)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
cyclicGgi DTCYCLIC1
|
||||
DTCYCLIC1
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch DTCYCLIC2;
|
||||
zone DTCYCLIC1Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle 72;
|
||||
separationOffset (0 0 0);
|
||||
faces
|
||||
(
|
||||
quad2D(DT1l, DT0l)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
cyclicGgi DTCYCLIC2
|
||||
DTCYCLIC2
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch DTCYCLIC1;
|
||||
zone DTCYCLIC2Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle -72;
|
||||
separationOffset (0 0 0);
|
||||
faces
|
||||
(
|
||||
quad2D(DT0r, DT1r)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
//cyclic DTCYCLIC
|
||||
//(
|
||||
//DTCYCLIC
|
||||
//{
|
||||
// type cyclic;
|
||||
// faces
|
||||
// (
|
||||
// quad2D(DT1l, DT0l)
|
||||
// quad2D(DT0r, DT1r)
|
||||
//)
|
||||
// );
|
||||
//}
|
||||
|
||||
wall DTHUB
|
||||
DTHUB
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
backQuad(DT0l, DT0r, DT1r, DT1l)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
wall DTSHROUD
|
||||
DTSHROUD
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
frontQuad(DT0l, DT0r, DT1r, DT1l)
|
||||
)
|
||||
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
|
@ -0,0 +1,601 @@
|
|||
/*--------------------------------*- 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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
m4 < constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict
|
||||
blockMesh
|
||||
transformPoints -cylToCart "((0 0 0) (0 0 1) (1 0 0))"
|
|
@ -0,0 +1,112 @@
|
|||
/*--------------------------------*- 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 changeDictionaryDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dictionaryReplacement
|
||||
{
|
||||
epsilon
|
||||
{
|
||||
boundaryField
|
||||
{
|
||||
GVOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
DTINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
k
|
||||
{
|
||||
boundaryField
|
||||
{
|
||||
GVOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
DTINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
U
|
||||
{
|
||||
boundaryField
|
||||
{
|
||||
GVOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
DTINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
p
|
||||
{
|
||||
boundaryField
|
||||
{
|
||||
GVOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
DTINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,188 +0,0 @@
|
|||
/*--------------------------------*- 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 changeDictionaryDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dictionaryReplacement
|
||||
{
|
||||
boundary
|
||||
{
|
||||
GVINLET
|
||||
{
|
||||
type patch;
|
||||
}
|
||||
GVCYCLIC1
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch GVCYCLIC2;
|
||||
zone GVCYCLIC1Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle 72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
GVCYCLIC2
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch GVCYCLIC1;
|
||||
zone GVCYCLIC2Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle -72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
RUCYCLIC1
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch RUCYCLIC2;
|
||||
zone RUCYCLIC1Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle 72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
RUCYCLIC2
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch RUCYCLIC1;
|
||||
zone RUCYCLIC2Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle -72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
DTCYCLIC1
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch DTCYCLIC2;
|
||||
zone DTCYCLIC1Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle 72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
DTCYCLIC2
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch DTCYCLIC1;
|
||||
zone DTCYCLIC2Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle -72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
GVOUTLET
|
||||
{
|
||||
type ggi;
|
||||
shadowPatch RUINLET;
|
||||
zone GVOUTLETZone;
|
||||
bridgeOverlap false;
|
||||
//type mixingPlane;
|
||||
//shadowPatch RUINLET;
|
||||
//zone GVOUTLETZone;
|
||||
//coordinateSystem
|
||||
//{
|
||||
// type cylindrical;
|
||||
// //name mixingCS;
|
||||
// origin (0 0 0);
|
||||
// e1 (1 0 0);
|
||||
// e3 (0 0 1);
|
||||
//}
|
||||
//ribbonPatch
|
||||
//{
|
||||
// sweepAxis Theta;
|
||||
// stackAxis R;
|
||||
// discretisation bothPatches;
|
||||
//}
|
||||
}
|
||||
RUINLET
|
||||
{
|
||||
type ggi;
|
||||
shadowPatch GVOUTLET;
|
||||
zone RUINLETZone;
|
||||
bridgeOverlap false;
|
||||
//type mixingPlane;
|
||||
//shadowPatch GVOUTLET;
|
||||
//zone RUINLETZone;
|
||||
//coordinateSystem
|
||||
//{
|
||||
// type cylindrical;
|
||||
// //name mixingCS;
|
||||
// origin (0 0 0);
|
||||
// e1 (1 0 0);
|
||||
// e3 (0 0 1);
|
||||
//}
|
||||
//ribbonPatch
|
||||
//{
|
||||
// sweepAxis Theta;
|
||||
// stackAxis R;
|
||||
// discretisation bothPatches;
|
||||
//}
|
||||
}
|
||||
RUOUTLET
|
||||
{
|
||||
type ggi;
|
||||
shadowPatch DTINLET;
|
||||
zone RUOUTLETZone;
|
||||
bridgeOverlap false;
|
||||
//type mixingPlane;
|
||||
//shadowPatch DTINLET;
|
||||
//zone RUOUTLETZone;
|
||||
//coordinateSystem
|
||||
//{
|
||||
// type cylindrical;
|
||||
// //name mixingCS;
|
||||
// origin (0 0 0);
|
||||
// e1 (1 0 0);
|
||||
// e3 (0 0 1);
|
||||
//}
|
||||
//ribbonPatch
|
||||
//{
|
||||
// sweepAxis Theta;
|
||||
// stackAxis R;
|
||||
// discretisation bothPatches;
|
||||
//}
|
||||
}
|
||||
DTINLET
|
||||
{
|
||||
type ggi;
|
||||
shadowPatch RUOUTLET;
|
||||
zone DTINLETZone;
|
||||
bridgeOverlap false;
|
||||
//type mixingPlane;
|
||||
//shadowPatch RUOUTLET;
|
||||
//zone DTINLETZone;
|
||||
//coordinateSystem
|
||||
//{
|
||||
// type cylindrical;
|
||||
// //name mixingCS;
|
||||
// origin (0 0 0);
|
||||
// e1 (1 0 0);
|
||||
// e3 (0 0 1);
|
||||
//}
|
||||
//ribbonPatch
|
||||
//{
|
||||
// sweepAxis Theta;
|
||||
// stackAxis R;
|
||||
// discretisation bothPatches;
|
||||
//}
|
||||
}
|
||||
DTOUTLET
|
||||
{
|
||||
type patch;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,260 +0,0 @@
|
|||
/*--------------------------------*- 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 changeDictionaryDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dictionaryReplacement
|
||||
{
|
||||
epsilon
|
||||
{
|
||||
boundaryField
|
||||
{
|
||||
GVOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
DTINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
}
|
||||
}
|
||||
k
|
||||
{
|
||||
boundaryField
|
||||
{
|
||||
GVOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
DTINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
}
|
||||
}
|
||||
U
|
||||
{
|
||||
boundaryField
|
||||
{
|
||||
GVOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
DTINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
}
|
||||
}
|
||||
p
|
||||
{
|
||||
boundaryField
|
||||
{
|
||||
GVOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
RUOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
DTINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
}
|
||||
}
|
||||
}
|
||||
boundary
|
||||
{
|
||||
GVINLET
|
||||
{
|
||||
type patch;
|
||||
}
|
||||
GVCYCLIC1
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch GVCYCLIC2;
|
||||
zone GVCYCLIC1Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle 72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
GVCYCLIC2
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch GVCYCLIC1;
|
||||
zone GVCYCLIC2Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle -72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
RUCYCLIC1
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch RUCYCLIC2;
|
||||
zone RUCYCLIC1Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle 72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
RUCYCLIC2
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch RUCYCLIC1;
|
||||
zone RUCYCLIC2Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle -72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
DTCYCLIC1
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch DTCYCLIC2;
|
||||
zone DTCYCLIC1Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle 72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
DTCYCLIC2
|
||||
{
|
||||
type cyclicGgi;
|
||||
shadowPatch DTCYCLIC1;
|
||||
zone DTCYCLIC2Zone;
|
||||
bridgeOverlap false;
|
||||
rotationAxis (0 0 1);
|
||||
rotationAngle -72;
|
||||
separationOffset (0 0 0);
|
||||
}
|
||||
GVOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
shadowPatch RUINLET;
|
||||
zone GVOUTLETZone;
|
||||
coordinateSystem
|
||||
{
|
||||
type cylindrical;
|
||||
//name mixingCS;
|
||||
origin (0 0 0);
|
||||
e1 (1 0 0);
|
||||
e3 (0 0 1);
|
||||
}
|
||||
ribbonPatch
|
||||
{
|
||||
sweepAxis Theta;
|
||||
stackAxis R;
|
||||
discretisation bothPatches;
|
||||
}
|
||||
}
|
||||
RUINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
shadowPatch GVOUTLET;
|
||||
zone RUINLETZone;
|
||||
coordinateSystem
|
||||
{
|
||||
type cylindrical;
|
||||
//name mixingCS;
|
||||
origin (0 0 0);
|
||||
e1 (1 0 0);
|
||||
e3 (0 0 1);
|
||||
}
|
||||
ribbonPatch
|
||||
{
|
||||
sweepAxis Theta;
|
||||
stackAxis R;
|
||||
discretisation bothPatches;
|
||||
}
|
||||
}
|
||||
RUOUTLET
|
||||
{
|
||||
type mixingPlane;
|
||||
shadowPatch DTINLET;
|
||||
zone RUOUTLETZone;
|
||||
coordinateSystem
|
||||
{
|
||||
type cylindrical;
|
||||
//name mixingCS;
|
||||
origin (0 0 0);
|
||||
e1 (1 0 0);
|
||||
e3 (0 0 1);
|
||||
}
|
||||
ribbonPatch
|
||||
{
|
||||
sweepAxis Theta;
|
||||
stackAxis R;
|
||||
discretisation bothPatches;
|
||||
}
|
||||
}
|
||||
DTINLET
|
||||
{
|
||||
type mixingPlane;
|
||||
shadowPatch RUOUTLET;
|
||||
zone DTINLETZone;
|
||||
coordinateSystem
|
||||
{
|
||||
type cylindrical;
|
||||
//name mixingCS;
|
||||
origin (0 0 0);
|
||||
e1 (1 0 0);
|
||||
e3 (0 0 1);
|
||||
}
|
||||
ribbonPatch
|
||||
{
|
||||
sweepAxis Theta;
|
||||
stackAxis R;
|
||||
discretisation bothPatches;
|
||||
}
|
||||
}
|
||||
DTOUTLET
|
||||
{
|
||||
type patch;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -21,37 +21,37 @@ FoamFile
|
|||
{
|
||||
type patch;
|
||||
nFaces 150;
|
||||
startFace 2098769;
|
||||
startFace 1654057;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 48;
|
||||
startFace 2098919;
|
||||
startFace 1654207;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 48;
|
||||
startFace 2098967;
|
||||
startFace 1654255;
|
||||
}
|
||||
front
|
||||
symFront
|
||||
{
|
||||
type empty;
|
||||
nFaces 38129;
|
||||
startFace 2099015;
|
||||
type symmetryPlane;
|
||||
nFaces 35801;
|
||||
startFace 1654303;
|
||||
}
|
||||
back
|
||||
symBack
|
||||
{
|
||||
type empty;
|
||||
nFaces 38120;
|
||||
startFace 2137144;
|
||||
type symmetryPlane;
|
||||
nFaces 35792;
|
||||
startFace 1690104;
|
||||
}
|
||||
wing_5degrees.obj_WALL10
|
||||
{
|
||||
type wall;
|
||||
nFaces 49792;
|
||||
startFace 2175264;
|
||||
nFaces 56064;
|
||||
startFace 1725896;
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ boundary
|
|||
(5 4 14 15)
|
||||
(2 3 13 12)
|
||||
(6 7 17 16)
|
||||
)
|
||||
);
|
||||
}
|
||||
branchWalls
|
||||
{
|
||||
|
|
Reference in a new issue