From OpenFOAMWiki

Back to the previous page

1 Mesh setup

The mesh was generated with ICEM-HEXA and exported in the Fluent mesh format. The mesh is generated in two parts: impeller and diffuser, which can be seen in Figure 1.

Ercoftac pump.png

Figure 1: rotor mesh (in blue) and stator mesh (in red)

This 2D mesh has 93886 hexahedra cells.

To learn more about doing a 2D simulation, see HowTo: 2D simulations

2 Running the case

This case is computed using the GGI interface between the impeller and the diffuser.

Follow these steps to run the case from scratch:

First make sure that you have the following installed:

  • A recent revision of OpenFOAM-1.5-dev
  • (needed for the inlet boundary condition)
  • (or comment out the trackDictionaryContent function from ECPGgi2D_orig/system/controlDict)
  • (or comment out the ggiCheck function from ECPGgi2D_orig/system/controlDict)
cd $FOAM_RUN/ercoftacCentrifugalPump/cases/MRFSimpleFoam/ECPGgi2D
./Allrun >& log_Allrun&

A description of the Allrun, and makeMesh files can be found in Allrun scriptand makeMesh script

3 Cleaning up the case

The Allclean script cleans up the case to its original state. To do so, follow these steps:

cd $FOAM_RUN/ercoftacCentrifugalPump/cases/MRFSimpleFoam/ECPGgi2D

This deletes all the simulations and keep only the original files, so be sure that you do not want to save anything from the previous computation before cleaning up the case.

4 Post-processing the case

The post-processing is automatized, and can be executed by doing:

cd $FOAM_RUN/ercoftacCentrifugalPump/cases/MRFSimpleFoam/ECPGgi2D/postProcessing
./Allrun >& log_Allrun&

A description of the Allrun file can be found in HowTo: Allrun postProcessing

Likewise, if needed, the post-processing can be cleaned up by doing

 cd $FOAM_RUN/ercoftacCentrifugalPump/cases/MRFSimpleFoam/ECPGgi2D/postProcessing

As before, keep in mind that using the Allclean script will delete all the data that have been calculated from the post-processing

5 Operating conditions and simulations parameters

The parameters that are used to define the MRFSimpleFoam/ECPGgi2D case are described in the following table:

Case MRFSimpleFoam/ECPGgi2D
Version 1.5-dev - svn revision 1221, 1238 ( --Olivierp 16:52, 13 May 2009 (UTC) )
Date April 2009
Inlet profile1DfixedValue, with rotor2d_abs.csv

 V_{axial} = 0

 V_{circ} = 0

 V_{radial} = U_0

 \frac {\mu_T}{\mu}= 10 (viscosity ratio )

 k = \frac {3}{2} U_0^{2} I^{2} = 0.48735 m^{2}.s^{-2} (I=0.05: 5% turbulence intensity)

 \varepsilon = \frac {C_\mu \rho k^{2}} {\mu_T} = \frac { C_\mu \rho k^{2}} {\mu(\mu_T / \mu )} = \frac {C_\mu k^{2}} {\nu (\mu_T/\mu)} = 138.342 m^{3}.s^{-3}

Outlet fixedMeanValue, p = 0
GGI_INT GGI interface
GGI_EXT GGI interface
Solver MRFSimpleFoam
Fluid properties  \nu = 10^{-5} m^{2}.s^{-1}
Turbulence model k-epsilon

 C_\mu = 0.09  C_1= 1.44  C2 = 1.92  alphaEps = 0.76923

Discretization div(phi,U) Gauss linearUpwind Gauss;

div(phi,k) Gauss upwind;

div(phi,epsilon) Gauss upwind;

Mesh characteristics Output from checkYPlus for 5000:

Patch 1 named BLADE_ROT y+ : min: 23.706815 max: 105.5084 average: 37.068809

Patch 6 named BLADE_STAT y+ : min: 3.1117116 max: 141.6809 average: 35.340038

Final residuals 6.0686577e-07 (Ux)

5.9177999e-07 (Uy)

4.4868336e-06 (p)

6.5784624e-07 (epsilon)

1.7804645e-06 (k)

6 Results

In the following sections some typical results are presented. Note that the case is of type 'frozen rotor', which means that the equations are solved in multiple frames of reference, that the impeller blades and diffuser blades are fixed with respect or each other, and that the results are steady.

6.1 General results

U pump MRFGgi.png

Figure 2: Static pressure of the MRFSimpleFoam/ECPGgi2D test case

P pump MRFGgi.png

Figure 3: Velocity magnitude of the MRFSimpleFoam/ECPGgi2D test case

Pump residuals.png

Figure 4: Residuals of the MRFSimpleFoam/ECPGgi2D test case


  • The convergence varies substantially depending on the solver used for the pressure in system/fvSolution. By default for this tutorial, GAMG solver for the pressure matrix is used, but some other solvers can be used, such as PCG or SmoothSolver. However, even if the level of convergence is solver dependent, the results are similar when using different solvers.
  • Some disturbances can be seen at the interface between rotating and non-rotating zones, especially for the pressure (figure 4). The reason for that is yet not known, but similar effects have been seen in results from a commercial CFD code.

6.2 Comparison with the experimental data

6.2.1 Setup of the comparison

The papers presented by Ubaldi et al. [1] [2] [3] emphasize the distribution of the radial and circumferential relative velocity in two blade passages, as well as the static pressure coefficient, at a radius equal to R/R2=1.02, R2 being the outlet diameter of the impeller.

The OpenFOAM utility sample is used to extract the data from the computational results. At the moment it is not possible to use cylindrical coordinates in sample, so the cartesian coordinates were calculated in Octave using the following lines:

R=1.02 * R2
teta=0:1:360          // teta varies from 0 to 360 with a step equal to 1. That will give 360 different points. 
x=r*cos(teta*pi/180)  // transforming into cartesian coordinates

Once the list of points calculated thanks to Octave, it was integrated into system/sampleDict. The two blade passages that are of interest to do the comparison is given in $case/postProcessing/compareAll.gplt

6.2.2 Results at the impeller outlet

Wr t0.png

Figure 5: Comparison with the experimental data for the relative radial velocity (Experimental results taken from Ubaldi 1998 [2])

Wu t0.png

Figure 6: Comparison with the experimental data for the relative tangential velocity (Experimental results taken from Ubaldi 1998 [2])


  • The calculated results show globally the same behavior as the experimental datas. However, those simulation have been done using a steady-state solver with a frozen rotor interface between the domains (MRFSimpleFoam). It is not the best option to catch all the details of the flow. Using MRFSimpleFoam at different positions of the rotor, and averaging over all those positions could give a better view of the flow behavior.
  • There is a phase shift between the experimental results and the simulated results. This can perhaps be explained by the fact that the frozen rotor formulation actually re-directs the wake and causes the effect of the interaction between the wake and the diffuser blades to appear at a slightly different angle.

Back to the previous page

Back to the top

Back to Sig Turbomachinery