# MRFSimpleFoamECPGgi2D

## Contents

### 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.

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

This 2D mesh has 93886 hexahedra cells.

### 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
• libOpenFOAMTurbo.so (needed for the inlet boundary condition)
• libsimpleFunctionObjects.so (or comment out the trackDictionaryContent function from ECPGgi2D_orig/system/controlDict)
• libsampling.so (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
./Allclean


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
./Allclean


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 Vaxial = 0 Vcirc = 0 Vradial = U0 $\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 ν = 10 − 5m2.s − 1 Turbulence model k-epsilon Cμ = 0.09 C1 = 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

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

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

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
y=r*sin(teta*pi/180)
z=0


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

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

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