Difference between revisions of "Sig Turbomachinery / Organize the next meeting"

From OpenFOAMWiki
(The ERCOFTAC conical diffuser case-study)
 
(35 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Next meeting ==
 
  
The next meeting will be at the [http://www.openfoamworkshop.org/08/index.php5?title=Turbomachinery Turbomachinery session] of the [http://www.openfoamworkshop.org/08/index.php5 third OpenFOAM workshop] in Milano, July 10-11, 2008.
 
 
The proposed ERCOFTAC conical diffuser case-study can be found below.
 
 
== Previous meetings ==
 
 
The group was officially started at the [http://www.openfoamworkshop.org/2007/index.php?title=Main_Page second OpenFOAM workshop] in Zagreb, 2007.
 
 
The planning of the group started at the [http://powerlab.fsb.hr/ped/kturbo/FsbOpenFOAMWorkshop/ first OpenFOAM workshop] in Zagreb, 2006.
 
 
== The ERCOFTAC conical diffuser case-study ==
 
 
'''Hakan Nilsson''', Chalmers University of Technology, Gothenburg, Sweden
 
 
'''Maryse Page''', Hydro-Québec, Montréal, Canada
 
 
The ERCOFTAC conical diffuser testcase [1] is a swirling boundary layer developing in a conical diffuser (axi-symmetric expansion of a circular pipe). A description of the measurements made by Clausen, Koh and Wood is available in references [1]. The experimental set-up is such that the inlet swirl prevents boundary layer separation but is just insufficient to cause recirculation in the core of the flow. Experimental results are available in the ERCOFTAC Classic database ([http://cfd.me.umist.ac.uk/cgi-bin/cfddb/prpage.cgi?60&EXP&database/cases/case60/Case_data&database/cases/case60&cas60_head.html&cas60_desc.html&cas60_meth.html&cas60_data.html&cas60_refs.html&cas60_rsol.html&1&0&0&0&0 Case 60: Swirling Boundary Layer in Conical Diffuser]). The testcase was included in the ERCOFTAC Workshop on Data Bases and Testing of Calculation Methods for Turbulent Flows held in Karlsruhe in 1995 [2]. The testcase is also part of the QNET-CFD Knowledge Base ([http://eddie.mech.surrey.ac.uk/UFR4/U4-06hom.htm Swirling diffuser flow]).
 
 
Figure ERCOFTACdiffuser.1 shows a 3D view of the geometry. The inlet is in this case located at the beginning of the honeycomb that was used in the experiments to generate a plug flow with a solid body rotation/swirl. In the experiments it was open air after the end of the expansion.
 
 
Several two-dimensional flow computations were submitted to the ERCOFTAC Workshop in 1995 [2]. Two-dimensional computations [3] and three-dimensional [4] computations using the experimental data at the inlet of the conical diffuser were also published in 1996 and 1997. More recently, results were presented using OpenFOAM at the Second OpenFOAM Workshop [5]. Computations reflecting more the experimental set-up were presented in 2006 [6].
 
 
Experimental results related to the same conical diffuser were also presented in 1987 by Clausen and Wook in the conference paper [7]. Prediction of turbulence quantities for this swirling flow were presented by Armfield, Cho and Fletcher in [8].
 
 
A conclusion of the work in this case study will be presented at the third OpenFOAM workshop 2008, and at the 24th IAHR Symposium 2008. Future work on the case study, using the original files mentioned below, should refer to these publications.
 
 
[[Image:ERCOFTAC_geometry.jpg]]
 
 
'''Figure ERCOFTACdiffuser.1. 3D view of the ERCOFTAC diffuser geometry.'''
 
 
=== How to get the files ===
 
 
The OpenFOAM ERCOFTAC conical diffuser case described below was developed as a case-study for the third OpenFOAM workshop, Milano, 2008, and it can be found at the OpenFOAM-extend SourceForge project. It includes parametrizations of the geometry and the O-grid, complete OpenFOAM cases that solves the flow in the domain, automatic post-processing of the results, and xfig files for generation of the figures below. The parametrization is made using m4, and instructions on how to run m4 are included below.
 
 
Get all the current files by doing:
 
 
<bash>
 
run
 
svn checkout http://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breeder/OSIG/TurboMachinery/ercoftacConicalDiffuser ercoftacConicalDiffuser
 
</bash>
 
In the descriptions below we thus assume that the ercoftacConicalDiffuser directory is located in the $FOAM_RUN directory
 
 
Update your files every now and then by doing:
 
<bash>
 
cd $FOAM_RUN/ercoftacConicalDiffuser
 
svn update
 
</bash>
 
 
See further info at [http://sourceforge.net/projects/openfoam-extend/ the OpenFOAM-extend project]
 
 
=== Case0: Base case ===
 
 
The case is set up according to the instructions in the ERCOFTAC database. Note however that we here use the z-axis as the main flow axis instead of the x-axis. The measured profiles at z=-25mm are used as inlet boundary conditions, and the outlet is located at the position where the diffuser ends into open air.
 
 
==== Case0, mesh parametrization ====
 
 
Figure Case0.1 shows the definitions of the parameters rIn, diffuserLength and openingAngle. It is thus easy to modify the geometry in terms of these parameters.
 
 
[[Image:ERCOFTAC_base_case_BCD_2dView.jpg]]
 
 
'''Figure Case0.1. 2D view of Case0. The radius is here doubled for visualization reasons.'''
 
 
The grid generation in blockMesh is based on a number of cross-sections. It is easy to add or delete cross-sections in the m4 file if anyone would like to study another version of the same case. Figure Case0.2 shows cross-sections A-C, that are used when making the mesh for the base case. The cross-sections refer to:
 
 
A: The inlet of the computational domain, where measurements are available.
 
 
B: The inlet of the expansion.
 
 
C: The outlet of the expansion, and the outlet of the computational domain.
 
 
The number of cells in the z-direction between each cross-section is specified in the m4 file using parameters zABnumberOfCells (for the number of cells between cross-sections A and B), and zBCnumberOfCells (for the number of cells between cross-sections B and C). The grid spacing in the z-direction is uniform.
 
 
[[Image:ERCOFTACdiffuser_planes_Case0.jpg]]
 
 
'''Figure Case0.2. Planes used in the parametrization of Case0. The radius is here according to the ERCOFTAC description.'''
 
 
Figure Case0.3 shows the parameters used for defining the O-grid throughout the domain. The figure is an example of the grid plane at cross-section A, but the parametrization at other planes are defined with parameters where 'A' is exchanged with the letter of the other cross-section. The number of cells in the radial direction in the O-grid is specified using parameter rNumberOfCells, and the number of cells in the tangential direction is specified using parameter tNumberOfCells (these must be integers!). The center block will thus get tNumberOfCells in both directions. These numbers are the same for all cross-sections. The grid point distribution of the center block, and thus in the tangential direction of the O-grid is uniform. The grid point distribution in the radial direction in the O-grid is defined using parameter rGrading, which is the same at all cross-sections. rGrading is the ratio between the size of the radially innermost cell in the O-grid to that of the outermost cell. That is how blockMesh generates non-uniform meshes.
 
 
The location of cross-section A in the z-direction is specified using parameter zA. The outer radius of cross-section A is specified using parameter rA. The radius of the vertices of the center block, relative to rA, is specified using the parameter rRelA, which should be between 0 and 1. In other words, the radius of the vertices may be anything from 0 (rRelA = 0, but that would make no sense) to rA (rRelA = 1). The radius of the center point of each edge of the center block is specified relative to the radius of the vertices of the center block. The edge between two vertices is thus an arc with a
 
center radius of rRelAc * rRelA * rA. rRelAc should be between 0 and 1, where 1 gives a center block with circular edges. These definitions make it easy to modify the O-grid thickness relative to the outer radius, while keeping a high quality shape of the O-grid.
 
 
[[Image:ERCOFTAC_base_case_o-grid.jpg]]
 
 
'''Figure Case0.3. O-grid used in the parametrization of the base case.'''
 
 
==== Case0, how to run the case ====
 
 
Generate the grid by typing:
 
<bash>
 
cd $FOAM_RUN/ercoftacConicalDiffuser/cases/Case0/constant/polyMesh
 
m4 -P blockMeshDict.m4 > blockMeshDict
 
blockMesh $FOAM_RUN/ercoftacConicalDiffuser/cases Case0
 
</bash>
 
 
Make sure that there is a 0 directory. An original 0 directory is named 0_orig, and it is a good idea to keep this untouched. If there is no 0 directory, or if the 0 directory has been modified, type:
 
<bash>
 
cd $FOAM_RUN/ercoftacConicalDiffuser/cases/Case0
 
rm -r 0
 
cp -r 0_orig 0
 
</bash>
 
 
To impose the inlet BC based on the measured profile at z=-25mm, the profile1DfixedValue boundary condition is used. The source of the BC is located at the OpenFOAM-extend project on SourceForge [http://sourceforge.net/projects/openfoam-extend/ the OpenFOAM-extend project] under the TurboWG subversion directory: trunk/Breeder/OSIG/Turbomachinery.
 
 
How to get the source, how to compile it and how to generate the library is described in the following section of the Wiki: [[Sig_Turbomachinery_Library_OpenFoamTurbo|Library OpenFoamTurbo]].
 
 
The name of the library is libOpenFoamTurbo.so. In order to use it with OpenFOAM 1.4.1 and 1.4.1-dev, it is important to add this line in the system/controlDict file:
 
 
<bash>
 
libs ("libOpenFoamTurbo.so");
 
</bash>
 
 
The file OFturboWGcase0.csv (located in the constant directory) contains the inlet values for the reference testcase Case0. The inlet cylindrical radial profile for the velocity components and the turbulent quantities is based directly on the available measurements of Clausen, Koh and Wood (reference 1) at z=-25mm: Velocity Axial, Velocity Circumferential and Turbulent Kinetic Energy. The unmeasured radial component of the velocity is imposed to 0. The turbulent dissipation Epsilon corresponds to turbulent viscosity ratio of  <math>\mu_t/\mu=14.5</math>. More info about it can be found in reference 3.
 
 
Run the case by typing
 
<bash>
 
simpleFoam $FOAM_RUN/ercoftacConicalDiffuser/cases Case0
 
</bash>
 
 
The basic set-up is made for OpenFOAM 1.4.1 version from OpenCFD. The testcase can also run with OpenFOAM 1.4.1-dev available from OpenFOAM-extend project. It is only necessary to update the file system/fvSolution. The following commands should be done for user using OpenFOAM 1.4.1-dev:
 
<bash>
 
cd $FOAM_RUN/ercoftacConicalDiffuser/cases/Case0/system
 
cp fvSolution-1.4.1-dev fvSolution
 
cd $FOAM_RUN/ercoftacConicalDiffuser/cases/Case0
 
simpleFoam $FOAM_RUN/ercoftacConicalDiffuser/cases Case0
 
</bash>
 
 
==== Case0, how to post-process the case ====
 
 
We have set up an automatic post-processing procedure using the experimental data. Follow these instructions to post-process the results:
 
<bash>
 
cd $FOAM_RUN/ercoftacConicalDiffuser/cases/Case0/postProcessing
 
sample ../.. Case0 -time 500
 
gnuplot compareAll.gplt
 
mozilla file://$PWD/compareAll.html
 
</bash>
 
There is also a README file describing this in the case distribution.
 
 
=== Case1: Extended base case set-up ===
 
 
This case is similar to Case0, but with extensions before and after the diffuser. The inlet extension is added to generate a plug flow with a solid body rotation swirl (see the addSwirlAndRotation utility). The outlet extension is added to better approximate the outlet of the diffuser into open air.
 
 
==== Case1, mesh parametrization ====
 
 
Figure Case1-1 shows the definitions of the parameters rIn, diffuserLength, extensionLength and openingAngle. It is thus easy to modify the geometry in terms of these parameters.
 
 
[[Image:ERCOFTAC_base_case_2dView.jpg]]
 
 
'''Figure Case1-1. 2D view of the ERCOFTAC conical diffuser base case. The radius is here doubled for visualization reasons.'''
 
 
Figure Case1-2 shows cross-sections A-F, that are used when making the mesh for the base case. The cross-sections refer to:
 
 
A: The beginning of the honeycomb, and the inlet of the computational domain.
 
 
B: The edge of a rotating part of the wall.
 
 
C: A measurement plane (the one used as inlet in Case0).
 
 
D: The inlet of the expansion.
 
 
E: The outlet of the expansion.
 
 
F: The outlet of the artificial extension, and the outlet of the computational domain.
 
 
[[Image:ERCOFTACdiffuser_planes_Case1.jpg]]
 
 
'''Figure Case1-2. Planes used in the parametrization of the base case. The radius is here according to the ERCOFTAC description.'''
 
 
==== Case1, how to run the case ====
 
 
Generate the grid by typing:
 
<bash>
 
cd $FOAM_RUN/ercoftacConicalDiffuser/cases/Case1/constant/polyMesh
 
m4 -P blockMeshDict.m4 > blockMeshDict
 
blockMesh $FOAM_RUN/ercoftacConicalDiffuser/cases Case1
 
</bash>
 
Make sure that there is a 0 directory. An original 0 directory is named 0_orig, and it is a good idea to keep this untouched. If there is no 0 directory, or if the 0 directory has been modified, type:
 
<bash>
 
cd $FOAM_RUN/ercoftacConicalDiffuser/cases/Case1
 
rm -r 0
 
cp -r 0_orig 0
 
</bash>
 
Compile the addSwirlAndRotation utility, which is located in the attached OpenFOAM directory:
 
<bash>
 
cd $FOAM_RUN/ercoftacConicalDiffuser/OpenFOAM-1.4.1/applications/utilities/preProcessing/addSwirlAndRotation/
 
wclean
 
wmake
 
</bash>
 
See a description of the addSwirlAndRotation utility further down at this page.
 
 
Set the swirl and rotation at the inlet and at the rotating walls, and initialize the internal field by typing:
 
<bash>
 
addSwirlAndRotation $FOAM_RUN/ercoftacConicalDiffuser/cases Case1
 
</bash>
 
Note that addSwirlAndRotation ADDS the swirls and rotation, so if you run it again on the same time directory you will ADD again!
 
 
Run the case by typing
 
<bash>
 
simpleFoam $FOAM_RUN/ercoftacConicalDiffuser/cases Case1
 
</bash>
 
 
==== Case1, how to post-process the case ====
 
 
We have set up an automatic post-processing procedure using the experimental data. Follow these instructions to post-process the results:
 
<bash>
 
cd $FOAM_RUN/ercoftacConicalDiffuser/cases/Case1/postProcessing
 
sample ../.. Case1 -time 1000
 
gnuplot compareAll.gplt
 
mozilla file://$PWD/compareAll.html
 
</bash>
 
There is also a README file describing this in the case distribution.
 
 
==== Case1, how to visualize the residuals ====
 
 
Do the following to visualize the residuals:
 
(this requires that you have a 'log' file in the Case1 directory)
 
<bash>
 
cd $FOAM_RUN/ercoftacConicalDiffuser/cases/Case1/postProcessing
 
foamLog ../.. Case1 ../log
 
gnuplot plotResiduals.gplt
 
mozilla file://$PWD/residuals.png
 
</bash>
 
There is also a README file describing this in the case distribution.
 
 
=== Case1.1: Case1 with a radial mesh ===
 
 
This case is similar to Case1, but the mesh is radial instead of an O-grid topology. At each cross section the mesh consists of four blocks, as shown in figure Case1.1-1
 
 
[[Image:ERCOFTAC_Case1.1_grid.jpg]]
 
 
'''Figure Case1.1-1. Mesh topology at cross-section A of Case1.1.'''
 
 
Run the case exactly like Case1, but note that the default is to run it for 1200 iterations to reach full convergence.
 
 
=== Case2: Dump case ===
 
 
This case is similar to Case1, but with a dump instead of a constant area extension after the diffuser. The dump is added to better approximate the outlet of the diffuser into open air. The inlet part is similar to Case1. A similar geometry and grid was used by W. Gyllenram and H. Nilsson, "Very Large Eddy Simulation of Draft Tube Flow", In Proceedings of 23rd IAHR Symposium, Yokohama, 2006.
 
 
==== Case2, mesh parametrization ====
 
 
Figure Case2-1 shows the definitions of the parameters rIn, diffuserLength, openingAngle, dumpLength and outletPipeLength. It is thus easy to modify the geometry in terms of these parameters.
 
 
[[Image:ERCOFTAC_Case2_2dView.jpg]]
 
 
'''Figure Case2-1. 2D view of the ERCOFTAC conical diffuser Case2. The radius is here according to the ERCOFTAC description.'''
 
 
Figure Case2-2 shows cross-sections A-H, that are used when making the mesh for Case2. The cross-sections refer to:
 
 
A: The beginning of the honeycomb, and the inlet of the computational domain.
 
 
B: The edge of a rotating part of the wall.
 
 
C: A measurement plane (the one used as inlet in Case0).
 
 
D: The inlet of the expansion.
 
 
E: The outlet of the expansion, and the beginning of the dump.
 
 
F: The center of the dump.
 
 
G: The end of the dump and the beginning of the outlet pipe.
 
 
H: The end of the outlet pipe, and the outlet of the computational domain.
 
 
[[Image:ERCOFTACdiffuser_planes_Case2.jpg]]
 
 
'''Figure Case2-2. Planes used in the parametrization of Case2. The radius is here according to the ERCOFTAC description.'''
 
 
The mesh topology in the inlet part, the diffuser, and in the outletPipe is similar as for Caseo and Case1, with the exception that parameter rNumberOfCells is now named rNumberOfCells1st. The reason for this is that two more layers of O-grids are added in the dump. Figure Case2-3 shows the mesh topology at cross-section E for Case2. Parameters rNumberOfCells2nd and rNumberOfCells3rd are now added to control the meshing in the additional O-grids, and parameter rDump is added to control the radius of the dump. The grading in the radial direction has been divided in two (rGrading1 and rGrading2) in order to be able to separately control the grading in the inner and the outer O-grids respectively. There are also two new gradings in the z-direction zGrading1 and zGrading2) controlling the axial grading in the dump and in the outletPipe.
 
 
[[Image:ERCOFTAC_Case2_o-grid_E.jpg]]
 
 
'''Figure Case2-3. Mesh topology at cross-section E of Case2.'''
 
 
==== Case2, how to run the case ====
 
 
See Case1
 
 
==== Case2, how to post-process the case ====
 
 
See Case1
 
 
==== Case2, how to visualize the residuals ====
 
 
See Case1
 
 
=== Case2.1: Dump case with the Gyllenram/Nilsson-IAHR/Yokohama inlet profile ===
 
 
The geometry and mesh of this case is the same as for Case2. The inlet boundary condition is that proposed by W. Gyllenram and H. Nilsson, "Very Large Eddy Simulation of Draft Tube Flow", In Proceedings of 23rd IAHR Symposium, Yokohama, 2006. It is applied using the profile1DfixedValue boundary condition, which is decribed for Case0 above. A CSV file is attached in the constant directory, together with the Matlab file that generated it.
 
 
See Case0 and Case2 for instructions on how to install, set up, run, post-process and visualize.
 
 
=== Contributed cases ===
 
 
Here you can add sections with case definitions that are of general interest, or that is needed for discussions in the sections below. Keep the Wiki nice and tidy! Co-organize your case definitions with those from other contributors!
 
 
Suggestions:
 
 
==== Suggestion: Case1.1: Case1 in a rotating coordinate system ====
 
 
Same settings as Case1, but computed in a rotating coordinate system.
 
 
==== Suggestion: Case1.2: Case1 with sliding grid / GGI ====
 
 
Same as Case1, but with a rotating domain in the region of the swirl generator, and a sliding grid or General Grid Interface (GGI) between that and the rest of the stationary domain.
 
 
==== Suggestion: Case1.3: Case1 with Multiple Frames of Reference ====
 
 
Same as Case1, but with a rotating domain in the region of the swirl generator and a stationary domain in the rest of the geometry.
 
 
==== Suggestion: Case3: Body force honeycomb ====
 
 
Extend the inlet even further and add the honeycomb as a body force.
 
 
=== References ===
 
 
[1] P.D. Clausen, S.G. Koh and D.H. Wood. Measurements of a swirling turbulent boundary layer developing in a conical diffuser. Experimental Thermal and Fluid Science, 6:39-48, 1993.
 
 
[2]: W.Rodi, J.-C. Bonnin and T.Buchal (organizers), ERCOFTAC Workshop on Data Bases and Testing of Calculation Methods for Turbulent Flows. Karlsruhe, Germany, April 3-7, 1995.
 
 
[3]: M.Page, A.-M.Giroux and B.Mass&eacute;. Turbulent swirling flow computation in a conical diffuser with two commercial codes. CFD'96, Fourth Annual Conference of the CFD Society of Canada, Ottawa, Canada, June 2-6, 1996.
 
 
[4]: M.Page, B.Mass&eacute; and A.-M.Giroux. Turbulent swirling flow computations in a conical diffuser. FIDAP User's Meeting, Burlington, USA, June 17-19, 1997.
 
 
[5]: M.Page and M.Beaudoin. Adapting OpenFOAM for Turbomachinery Applications. Second OpenFOAM Workshop, Zagreb, Croatia, June 7-9, 2007 ([http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/WorkshopZagrebJun2007/presentations/slides/slidesPageZagreb2007.pdf slides]).
 
 
[6] W. Gyllenram and H. Nilsson. Very Large Eddy Simulation of Draft Tube Flow. In Proceedings of 23rd IAHR Symposium, Yokohama, 2006.
 
 
[7] P.D. Clausen and D.H. Wood. Some measurements of swirling flow through an axisymmetric diffuser. Proceedings of Sixth Symposium on Turbulent Shear Flows, Paul Sabatier University, Toulouse, France, Sept 7-9, 1987.
 
 
[8] S.W. Armfield, N.-H. Cho and C.A.J. Fletcher. Prediction of Turbulence Quantities for Swirling Flow in Conical Diffusers. AIAA J., Vol.28, No.3, pp..453-460, March 1990.
 
 
Please add more relevant references!
 
 
== Specific studies ==
 
 
Some discussions related to the ERCOFTAC conical diffuser test-case can be found on OpenFOAM Message Board in the thread [http://openfoam.cfd-online.com/cgi-bin/forum/show.cgi?1/6714 Sig Turbomachinery / Organize the next meeting].
 
 
=== Case0: Reference case ===
 
 
The parameters that are used to the reference Case0 are described in the following table:
 
 
{|border=1
 
|+
 
| Case || Case0
 
|+
 
| Version || 1.4.1
 
 
1.4.1-dev
 
|+
 
| Date || March 2008
 
|+
 
| Inlet || profile1DfixedValue, with OFturboWGcase0.csv
 
<math> Vaxial = V_{EXP axial} </math> at CS Z=-25mm
 
 
<math> Vcirc = V_{EXP circ} </math> at CS Z=-25mm
 
 
<math> Vradial = 0 </math>
 
 
<math> k = k_{EXP} </math> at CS Z=-25mm
 
 
<math> epsilon = c_{\mu} k^2 / \nu (\mu_T/\mu) </math>, with <math>\mu_T/\mu = 14.5</math>, <math> c_{\mu}=0.09</math> <math> \nu=1.5e-05</math>
 
|+
 
| Outlet || fixedValue, p = 0
 
|+
 
| Solver || simpleFoam
 
|+
 
| Discretization || div(phi,U)      Gauss  linearUpwind Gauss;
 
 
div(phi,k)      Gauss upwind;
 
 
div(phi,epsilon) Gauss upwind;
 
|+
 
| Mesh parameters || rNumberOfCells=15
 
tNumberOfCells=20
 
 
zABnumberOfCells=6
 
 
zBCnumberOfCells=30
 
 
rGrading=5
 
|+
 
|                || rRelA=0.7
 
rRelAc, 0.8
 
|+
 
| Mesh characteristics || <math> \delta \sim 1.5mm </math>
 
Output from checkYPlus for 500: Patch 2 named wallDiffuser y+ : min: 19.4774 max: 35.2016 average: 26.6765
 
|+
 
| Final residuals ||
 
7.73074e-07 (Ux)
 
 
7.32412e-07 (Uy)
 
 
9.43714e-07 (Uz)
 
 
1.98768e-06 (p)
 
 
5.58873e-07 (k)
 
 
5.7994e-07 (epsilon)
 
|}
 
 
--[[User:MPage|MP]] 15:00, 19 March 2008 (CET)
 
 
=== Case1: Reference case ===
 
 
The parameters that are used to the reference Case1 are described in the following table:
 
 
{|border=1
 
|+
 
| Case || Case1
 
|+
 
| Version || 1.4.1
 
 
1.4.1-dev
 
|+
 
| Date || March 2008
 
|+
 
| Inlet || addSwirlAndRotation, solid body swirl and plug flow (dictionary swirlAndRotationProperties)
 
<math> Vaxial = 11.6m/s </math> at CS Z=-0.5m
 
 
<math> Vcirc = \Omega r = 52.646*r m/s </math> at CS Z=-0.5m
 
 
<math> Vradial = 0 </math>
 
 
<math> k = 3/2 (Vaxial*I)^2 = 2.0184 m^2/s^2 </math> at CS Z=-0.5m (I=0.1: 10 % turbulence intensity)
 
 
<math> epsilon = k^{1.5}/l_t = 896.10908 m^2/s^3 </math> at CS Z=-0.5m (<math>l_t = 0.0032m</math> turbulence length scale)
 
|+
 
| Outlet || fixedValue, p = 0
 
|+
 
| Walls  || Wall functions, solid body rotation at rotSwirlWall (dictionary swirlAndRotationProperties)
 
|+
 
| Solver || simpleFoam
 
|+
 
| Discretization || div(phi,U)      Gauss  linearUpwind Gauss;
 
 
div(phi,k)      Gauss upwind;
 
 
div(phi,epsilon) Gauss upwind;
 
|+
 
| Mesh parameters ||rNumberOfCells=15
 
 
tNumberOfCells=20
 
 
zABnumberOfCells=10
 
 
zBCnumberOfCells=4
 
 
zCDnumberOfCells=6
 
 
zDEnumberOfCells=30
 
 
zEFnumberOfCells=10
 
 
rGrading=5
 
 
rRelA=0.7
 
 
rRelAc, 0.8
 
|+
 
| Mesh characteristics || <math> \delta \sim 1.5mm </math>
 
Output from checkYPlus for 1000: Patch 3 named wallDiffuser y+ : min: 19.3279 max: 31.7086 average: 25.7445
 
|+
 
| Final residuals ||
 
1.30233e-06 (Ux)
 
 
1.33281e-06 (Uy)
 
 
3.11419e-06 (Uz)
 
 
4.17731e-05 (p)
 
 
1.17483e-05 (k)
 
 
9.77574e-07 (epsilon)
 
|}
 
 
--[[User:Hani|Hani]] 23:31, 30 March 2008 (CEST)
 
 
=== Geometry and grid generation ===
 
 
Recommended settings of the parametrization. Recommended geometry. Discussions about the artificial extension, and how to treat the outlet into open air.
 
 
=== Validation ===
 
 
Validations against measurements. Development of implementations for automatic extraction and plotting.
 
 
=== Visualization ===
 
 
Development of implementations for automatic visualization of the results.
 
 
=== Boundary conditions ===
 
 
Discussions on different boundary conditions and different implementations. Comparisons, verifications, validations.
 
 
==== Inlet ====
 
 
===== Case1 =====
 
 
Gyllenram and Nilsson (Yokohama 2006) used the following inlet boundary conditions at the location of the honeycomb. These settings yield quite good velocity and turbulent kinetic energy profiles.
 
{|border=1
 
|+
 
| Variable || Value || Dimension || Expression || Description
 
|+
 
| <math>\Omega</math> || <math>52.646</math> || <math>rad/s</math> || || Honeycomb rotation
 
|+
 
| <math> U_z </math> || <math>11.6</math> || <math> m/s </math> || || Axial velocity
 
|+
 
| <math> U_\theta </math> || nonuniform || <math> m/s </math> || <math> \Omega * r </math>|| Tangential velocity
 
|+
 
| <math> U_r </math> || <math>0</math> || <math> m/s </math> || || Radial velocity
 
|+
 
| <math> k </math> || <math>13.456</math> || <math> m^2/s^2 </math> || <math> 0.1 * U_z^2 </math> || 10 % turbulence intensity
 
|+
 
| <math> l_t </math> || <math>0.0032</math> || <math> m </math> || || Turbulence length scale (honeycomb cell diameter)
 
|+
 
| <math> C_\mu </math> || <math>0.09</math> || <math> [-] </math> || ||
 
|+
 
| <math> \omega </math> || <math>12736.95169</math> || <math> s^{-1} </math> || <math>k^{0.5}/(C_\mu l_t) </math> || Specific dissipation
 
|+
 
| <math> \varepsilon </math> || <math>15424.95797</math> || <math> m^2/s^3 </math> || <math>k^{1.5}/l_t </math> || Dissipation
 
|+
 
| <math> \frac{\nu_t}{\nu} </math> || <math>70.43</math> || <math> [-] </math> || <math>\frac{k}{\omega \nu} = C_\mu \frac{k^2}{\varepsilon \nu}</math>||
 
|+
 
|}
 
 
Usually a different definition of turbulence intensity is used (see cfd-online), which yields the following values differing from the above values. These settings yield basically equivalent results as those using the settings by Gyllenram and Nilsson. Since the turbulence intensity is specified in a more general way, these settings have been chosen for the '''default settings in Case1'''.
 
{|border=1
 
|+
 
| Variable || Value || Dimension || Expression || Description
 
|+
 
| <math> k </math> || <math>2.0184</math> || <math> m^2/s^2 </math> || <math> \frac{3}{2} (U_z*I)^2 </math> || I=0.1: 10 % turbulence intensity
 
|+
 
| <math> \omega </math> || <math>4933.0</math> || <math> s^{-1} </math> || <math>k^{0.5}/(C_\mu l_t) </math> || Specific dissipation
 
|+
 
| <math> \varepsilon </math> || <math>896.10908</math> || <math> m^2/s^3 </math> || <math>k^{1.5}/l_t </math> || Dissipation
 
|+
 
| <math> \frac{\nu_t}{\nu} </math> || <math>27.28</math> || <math> [-] </math> || <math>\frac{k}{\omega \nu} = C_\mu \frac{k^2}{\varepsilon \nu}</math>||
 
|+
 
|}
 
 
Fluent uses the following definitions. These settings yield basically equivalent results for the velocity profiles as those using the settings by Gyllenram and Nilsson, but the centerline turbulent kinetic energy is too high.
 
{|border=1
 
|+
 
| Variable || Value || Dimension || Expression || Description
 
|+
 
| <math> k </math> || <math>2.0184</math> || <math> m^2/s^2 </math> || <math> \frac{3}{2} (U_z*I)^2 </math> || I=0.1: 10 % turbulence intensity
 
|+
 
| <math> \varepsilon </math> || <math>147.2457</math> || <math> m^2/s^3 </math> || <math>C_\mu^{3/4}k^{3/2}/l_t </math> || Dissipation
 
|+
 
| <math> \frac{\nu_t}{\nu} </math> || <math>166.0</math> || <math> [-] </math> || <math>\frac{k}{\omega \nu} = C_\mu \frac{k^2}{\varepsilon \nu}</math>||
 
|+
 
|}
 
 
The settings for Case0 prescribes the ratio between turbulence viscosity to viscosity as 14.5, yielding the following values for Case1. The results using this are quite similar to those by Gyllenram and Nilsson, and the default one for Case1, but the centerline turbulence kinetic energy is lower than the measurements.
 
{|border=1
 
|+
 
| Variable || Value || Dimension || Expression || Description
 
|+
 
| <math> k </math> || <math>2.0184</math> || <math> m^2/s^2 </math> || <math> \frac{3}{2} (U_z*I)^2 </math> || I=0.1: 10 % turbulence intensity
 
|+
 
| <math> \varepsilon </math> || <math>1685.76768</math> || <math> m^2/s^3 </math> || <math>C_\mu \frac{k^2}{14.5 \nu}</math> || Dissipation
 
|+
 
|}
 
 
==== Walls ====
 
 
===== Stationary =====
 
 
===== Rotating =====
 
 
==== Outlet ====
 
 
==== Implementations ====
 
 
===== addSwirlAndRotation =====
 
 
Usage: addSwirlAndRotation <root> <case> [-parallel]
 
 
This utility adds solid body swirl/rotation at patches listed in the constant/swirlAndRotationProperties dictionary. This means that you first set the non-swirling/rotating component in the time directory U file, and that the tangential component is ADDED. If you run the utility twice the tangential component will be added twice etc. The utility can thus be used both on swirling inlets (only solid body swirl, but any axial component profile) and rotating walls. In the current implementation it is assumed that this solid body swirl should be added at the inlet (the inlet must still be in the list), so the swirl is added also to the internal nodes in order to have a reasonably good initial velocity field. Other variables than the velocity field are unaffected, and those values should be set in the time directory as usual. The utility reads and modifies the U file in the time directory specified by the startFrom/startTime entries in the controlDict.
 
 
In the swirlAndRotationProperties dictionary you also specify the swirl/rotation in terms of the omega[radians per second] vector and the center of rotation vector. The switches modifyBoundaries and modifyInterior can be modified to control if both the boundaries and the interior should be modified, or only one of them.
 
 
An example of the swirlAndRotationProperties dictionary can be found in Case1.
 
 
--[[User:Hani|Hani]] 07:00, 30 Jan 2008 (CET)
 
 
=== Turbulence models ===
 
 
=== Solver settings for fast computations ===
 
 
It is always of interest to increase the computational speed, and the stability of the simulations... But it is of also of interest that the different settings give accurate results.
 
 
=== Parallel efficiency ===
 
 
Comparisons using different hardware configurations.
 
 
Scripts for automatic scaling tests.
 
 
=== Discretization schemes ===
 
 
Studies of the influence of different discretization schemes
 
 
* The first-order upwind scheme does not even preserve the solid body rotation between the honeycomb and the measurement section at -0.025m. --[[User:Hani|Hani]] 06:58, 30 Jan 2008 (CET)
 
* The GammaV and Gamma schemes with factor 1.0 and 0.2 on U an k/epsilon respectively give good and equivalent results. --[[User:Hani|Hani]] 06:58, 30 Jan 2008 (CET)
 
 
=== Rotating frame of reference ===
 
 
Do you get the same results in a rotating frame of reference?
 
 
=== Multiple frames of reference ===
 
 
Even if it is not necessary for ths case, it is possible to verify the concept of Multiple Frames of Reference assuming that some parts of the domain is rotating while other aren't.
 
 
=== Sliding grid ===
 
 
See above
 
 
=== GGI interface ===
 
 
See above
 
 
=== Other ===
 
 
Please come with more ideas...
 
  
 
Back to [[Sig Turbomachinery]]
 
Back to [[Sig Turbomachinery]]

Latest revision as of 15:38, 2 August 2012


Back to Sig Turbomachinery