You are on page 1of 32

Tutorial: Vane Pump Modeling in FLUENT

Introduction
This tutorial illustrates how to setup and run a vane pump analysis in FLUENT 6.3.
This tutorial demonstrates how to do the following:

• Create an initial mesh.

• Set up a problem for a dynamic mesh.

• Specify the motion of dynamic zones using a compiled user-defined function (UDF).

• Preview the dynamic mesh before starting the calculation.

• Perform transient dynamic mesh calculation.

• Postprocess the resulting data.

Prerequisites
This tutorial assumes that you are familiar with the FLUENT interface. Some of he basic
steps in the setup and solution procedures will not the basic steps in the setup and solution
procedures will not be shown explicitly.
You should be familiar with the dynamic mesh model and UDFs. Refer to the FLUENT 6.3
User’s Guide and the FLUENT UDF Manual for more information.

Problem Description
A vane pump consists of a rotor with radial slots positioned off-center in a housing bore.
A generic vane pump geometry is shown in Figure 2, where the rotor and housing are both
circular. Vanes that fit closely in rotor slots slide in and out as the rotor turns. Pumping
action is caused by the expanding and contracting volumes contained by the rotor, vanes
and housing.


c Fluent Inc. January 31, 2007 1
Vane Pump Modeling in FLUENT

Meshing Requirements
In this tutorial, a UDF is used to dynamically move the mesh at each time step. Hence,
follow some specific meshing rules so that both the initial mesh and all subsequent motion is
correct. With this meshing process, the pump core can be meshed with a high aspect ratio
map mesh scheme. Each mesh node displacement is composed of a solid body rotation and
a radial translation. The node displacement is a function of eccentricity, rotational speed,
and rotor/housing diameters. The pump gap (if created) is also meshed and moved in a
similar manner to the core. The meshing requirements (Figure 1) are as follows:

• Rotation must be about the z-axis.


• The origin must be located on the cylindrical axis of the rotor (i.e., the small circle).
• The pump housing (i.e., the large circle or profile) must be placed to the left of the
rotor and have a y-coordinate equal to zero.
• If pump contains gaps, one gap must be placed on the positive x axis.
• The vanes must be equally spaced.
• The pump core must be defined as a single fluid zone.
• If the pump contains gaps, all the gaps must be defined as a single fluid zone.

Figure 1: Meshing Requirements

R = radius of pump housing (if applicable), housing may be a profile


r = radius of rotor
d = offset
w = vane width
g = gap width

2
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

The schematic of the pump is shown in Figure 2. The meshed vane pump geometry of
the circular housing is shown in Figure 3. The pump core is meshed with a map mesh
scheme. The pump gaps are meshed using a high aspect ratio map mesh scheme. The inlet
and outlet pipes are meshed with a tetrahedral mesh. The gaps and inlet/outlet pipes are
connected to the pump core using non-conformal grid interfaces.

Figure 2: Problem Schematic

Figure 3: Meshed Vane Pump (Circular Housing)


c Fluent Inc. January 31, 2007 3
Vane Pump Modeling in FLUENT

Figure 4: Mesh Detail for Single Vane

Preparation

1. Copy the files circle-pump.msh, input.txt, vane.c, and oil den.c to your working
folder.
Note: The input file must be called input.txt and must be located in the same folder
as the case file.

2. Start the 3D (3d) version of FLUENT.

Setup and Solution (Case 1)


Step 1: Grid

1. Read the mesh file circle-pump.msh.


File −→ Read −→Case...
FLUENT will read the file and report the progress in the console.

2. Change the grid units to mm.


Grid −→Scale...

4
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

(a) Select mm from the Grid Was Created In drop-down list in the Unit Conversion
group box.
(b) Click the Change Length Units button.
Note: Do not scale the grid.
(c) Close the Scale Grid panel.

3. Display the grid (Figure 5).


Display −→Grid...

(a) Retain the default parameters.


(b) Click Display.


c Fluent Inc. January 31, 2007 5
Vane Pump Modeling in FLUENT

Figure 5: Grid Display

Use the right mouse button to check which zone number corresponds to each boundary.
If you click the right mouse button on one of the boundaries in the graphics window,
its zone number, name, and type will be printed in the FLUENT console.

Step 2: User-Defined Function In pump models without gaps, incompressible liquid and
constricting volumes create unphysical pressure spikes. Adding liquid compressibility through
a UDF provides a realistic solution. If the pump contains gaps, this liquid compressibility
UDF is not required as any pressure increase in the liquid will cause it to escape through
the gaps.
The model here contains gaps, hence it is not necessary to use the compressibility UDF.
However, the compressibility UDF is included for completeness, though it will not be used
by the solver. The file input.txt is read when the UDF is loaded. This contains the
parameters required for the UDF (see Appendix 1).
All inputs to the file input.txt must be in SI units.

1. Compile the UDF library using the source files vane.c and oil-den.c.
Define −→ User-Defined −→ Functions −→Compiled...

6
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

(a) Click the Add... button to open the Select File panel.
i. Select the source files, vane.c and oil-den.c and click OK.
(b) Click Build to build the directories.
(c) Read the information in the Information panel and click OK.
(d) Click Load to load the UDF.

Step 3: Models

1. Enable time-dependent calculation.


Define −→ Models −→Solver...


c Fluent Inc. January 31, 2007 7
Vane Pump Modeling in FLUENT

(a) Select Unsteady from the Time list.


(b) Retain the default values for the other parameters.
(c) Click OK to close the Solver panel.

2. Enable the standard k- turbulence model.


Define −→ Models −→Viscous...

(a) Select k-epsilon (2 eqn) in the Options group box.


(b) Retain the default values for the other parameters.
(c) Click OK to close the Viscous Model panel.

8
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

Step 4: Materials
Define −→Materials...

1. Create a new material called oil.


This material will be used for all fluid zones.

(a) Delete air from the Name entry box and enter oil.
(b) Enter 0.008 for Viscosity.
(c) Select user-defined from the Density drop-down list to open the User-Defined Func-
tions panel.

i. Select superfluid density::libudf and click OK to close the User-Defined Func-


tions panel.


c Fluent Inc. January 31, 2007 9
Vane Pump Modeling in FLUENT

(d) Click Yes in the dialog box that opens to overwrite air.
(e) Select user-defined from the Speed of Sound drop-down list to open the User-
Defined Functions panel.

i. Select sound speed::libudf and click OK to close the User-Defined Functions


panel.
(f) Click Change/Create and close the Materials panel.

Step 5: Boundary Conditions


Define −→Boundary Conditions...

1. Set boundary conditions for inlet.

(a) Select Intensity and Hydraulic Diameter from the Specification Method drop-down
list in the Turbulence group box.
(b) Set the Turbulent Intensity to 5%.

10
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

(c) Set the Hydraulic Diameter to 12 mm.


(d) Click OK to close the Pressure Inlet panel.

2. Set boundary conditions for outlet.

(a) Set Gauge Pressure to 2000000.


(b) Select Intensity and Hydraulic Diameter from the Specification Method drop-down
list in the Turbulence group box.
(c) Set the Backflow Turbulent Intensity to 5%.
(d) Set the Backflow Hydraulic Diameter to 10 mm.
(e) Click OK to close the Pressure Outlet panel.

Step 6: Grid Interfaces


Define −→Grid Interfaces...

1. Create an interface called intf-gap.


c Fluent Inc. January 31, 2007 11
Vane Pump Modeling in FLUENT

(a) Select intf-pump-gaps from the Interface Zone 1 selection list.


(b) Select intf-pump-vanes from the Interface Zone 2 selection list.
(c) Enter intf-gap for Grid Interface.
(d) Click Create.
Note: When you select intf-gap in the list of created interfaces, Boundary Zone
1 and Boundary Zone 2 should show wall-14 and wall-15 respectively.

2. Create an interface called intf-pump.

(a) Select intf-pump-pipes from the Interface Zone 1 selection list.


(b) Select intf-pump-housing from the Interface Zone 2 selection list.
(c) Enter intf-pump for Grid Interface.
(d) Click Create and close the Grid Interfaces panel.

12
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

Step 7: Dynamic Mesh

1. Define dynamic mesh parameters


Define −→ Dynamic Mesh −→Parameters...

(a) Enable Dynamic Mesh and In-Cylinder in the Models group box.
(b) Click the In-Cylinder tab and specify parameters as shown in the table:
Parameter Value
Crank Shaft Speed 500
Starting Crank Angle 0
Crank Period 360
Crank Angle Step Size 0.25
(c) Click OK to close the Dynamic Mesh Parameters panel.

2. Define dynamic mesh zones.


Define −→ Dynamic Mesh −→Zones...


c Fluent Inc. January 31, 2007 13
Vane Pump Modeling in FLUENT

(a) Select fluid-pump from the Zone Names drop-down list.


(b) Select User-Defined in the Type group box.
(c) Click the Motion Attributes tab and select vane pump core::libudf from the Mesh
Motion UDF drop-down list.
(d) Click Create.
(e) Select fluid-gap from the Zone Names drop-down list.
(f) Select User-Defined in the Type group box.
(g) Click the Motion Attributes tab and select vane pump gap::libudf from the Mesh
Motion UDF drop-down list.
(h) Click Create.
(i) Similarly, create the dynamic zones for inner-gap-wall, pump-rotor, wall-14, and
wall-15 by selecting the UDF walls::libudf.
(j) Close the Dynamic Mesh Zones panel.

14
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

Step 8: User-Defined Function Hooks and Memory

1. Set the initialization function hook.


Define −→ User-Defined −→Function Hooks...

(a) Select init sector::libudf for Initialization.


(b) Click OK to close the User-Defined Function Hooks panel.

2. Define one user-defined memory location.


Define −→ User-Defined −→Memory...

(a) Increase the Number of User-Defined Memory Locations to 1.


(b) Click OK to close the User-Defined Memory panel.


c Fluent Inc. January 31, 2007 15
Vane Pump Modeling in FLUENT

Step 9: Solution
Solve −→ Controls −→Solution...

1. Select PISO transient algorithm.

(a) Select PISO from the Pressure-Velocity Coupling drop-down list.


(b) Retain the default values for other parameters.
(c) Click OK to close the Solution Controls panel.

2. Enable plotting of residuals.


Solve −→ Monitors −→Residual...

16
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

(a) Enable Plot in the Options group box.


(b) Click OK to close the Solution Controls panel.

3. Initialize the flow using default values.


Solve −→ Initialize −→Initialize...

(a) Click Init and close the Solution Initialization panel.


FLUENT warns (in the console) that you should display the UDM-0 using cell value
to verify that the sector numbers are calculated correctly.


c Fluent Inc. January 31, 2007 17
Vane Pump Modeling in FLUENT

4. Display contours of UDM-0 (Figure 6).


Note: This should always be done after setup and initialization to verify that the
sector numbers are correct.
Display −→Contours...

(a) Enable Filled and disable Node Values in the Options group box.
(b) Set Levels to 8.
(c) Select User Defined Memory... and User Memory 0 from the Contours of drop-down
lists.
(d) Select intf-pump-housing, intf-pump-vanes, and wall:0 from the Surfaces selection
list.
(e) Click Display.
For better rendering of the image, enable Headlights On in the Lights panel, select
Phong from the Lighting Method drop-down list and click Apply.

5. Set the autosave frequency.


File −→ Write −→Autosave...

18
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

Figure 6: UDM-0 Sectors

(a) Set Autosave Case File Frequency and Autosave Data File Frequency to 8.
Files will be saved at every two degrees of rotation.
(b) Enter circle-pump.gz for Filename.
FLUENT will automatically append the time step number and extension to the file-
name while saving. For example, at the eighth time step, the files circle-pump0008.cas.gz
and circle-pump0008.dat.gz will be saved.
(c) Click OK to close the Autosave Case/Data panel.

6. Save the initial case and data files (circle-pump.cas.gz and circle-pump.dat.gz).

7. Display the grid as shown in Figure 3.


c Fluent Inc. January 31, 2007 19
Vane Pump Modeling in FLUENT

8. Perform mesh motion preview for 20 time steps.


Solve −→Mesh Motion...

(a) Set Number of Time Steps to 20.


(b) Click Preview.
9. Read the files circle-pump.cas.gz and circle-pump.dat.gz.
Note: A case and corresponding data file must always be read into FLUENT prior to
starting a mesh motion preview, a new solution, or restarting a solution.

10. Run the transient solution for 200 time steps (i.e., 50 degrees of rotation).
A complete cycle would require 1440 time steps.
Solve −→Iterate...

20
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

(a) Set the Number of Time Steps to 200.


(b) Click Iterate.

Step 10: Postprocessing

1. Display the pressure contours at 20 degrees of rotation (Figure 7).


Read the case and data files circle-pump0080.cas.gz and circle-pump0080.dat.gz
respectively.
Display −→Contours...

(a) Select Pressure... and Static Pressure from the Contours of drop-down lists.
(b) Select all surfaces except default-interior, default-interior:0, and default-interior:0:1
from the Surfaces selection list.
(c) Click Display.

2. Similarly, display the pressure contours at 40 degrees of rotation (Figure 8).


Read the case and data files circle-pump0160.cas.gz and
circle-pump0160.dat.gz, respectively.

Note: The profile file name must be called data outer.txt and must be located in the same
folder as the case file.


c Fluent Inc. January 31, 2007 21
Vane Pump Modeling in FLUENT

Figure 7: Pressure Contours After 20o of Rotation

Figure 8: Pressure Contours After 40o of Rotation

22
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

The circular pump case was composed of a circular rotor and circular housing bore. Vane
pumps do not always conform to this geometry requirement. The rotor or housing may have
a non-circular profile. In such cases, a profile file is required as input for the UDF. In the
following example (see Figure 9), the housing of the pump is elliptical in shape. A sample
of this profile is shown (Appendix 2).

Figure 9: Vane Pump Geometry (Elliptical Housing)

Setup and Solution (Case 2)


In this case, the setup and solution is similar to the circular pump above.

Preparation

1. Copy the files ellipse-pump.msh, input.txt, vane.c, data outer.txt and oil den.c
to your working folder.
Note: The file input.txt contains input data (zone ID, core ID, gap ID, radius,
etc.) for the pump. This data for ellipse pump is different from that for the
circular pump because the respective meshes are different. Hence, the input.txt
file used for the circular pump needs to be edited before it can be used for the
ellipse pump. For information, see Appendix 1.

2. Start the 3D (3d) version of FLUENT.


c Fluent Inc. January 31, 2007 23
Vane Pump Modeling in FLUENT

Step 1: Grid

1. Read the mesh file ellipse-pump.msh.


File −→ Read −→Case...
FLUENTwill read the file and report the progress in the console window.

2. Change the grid units to mm.


Grid −→Scale...

(a) Select mm from the Grid Was Created In drop-down list in the Unit Conversion
group box.
(b) Click the Change Length Units button.
(c) Click Scale.
(d) Close the Scale Grid panel.

3. Display the grid (Figure 10).


Display −→Grid...

(a) Retain the default parameters.


(b) Click Display.
Rotate the grid using the left-mouse button to get the view shown in Figure 10.

Step 2: User-Defined Function


Same as Step 2 for circular pump (see 6).
Step 3: Models
Same as Step 3 for circular pump (see 7).

24
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

Figure 10: Grid Display

Step 4: Materials
Same as Step 4 for circular pump (see 9).
Step 5: Boundary Conditions

1. Set boundary conditions for inlet.


Define −→Boundary Conditions...

(a) Change the type for inlet from wall to pressure-inlet.


c Fluent Inc. January 31, 2007 25
Vane Pump Modeling in FLUENT

i. Select inlet from the Zone selection list and pressure-inlet from the Type se-
lection list.
ii. Click OK in the Question panel that opens.
(b) Click the Set... button to open Pressure Inlet panel.
i. Select Intensity and Hydraulic Diameter from the Specification Method drop-
down list in the Turbulence group box.
ii. Set the Turbulent Intensity to 5%.
iii. Set the Hydraulic Diameter to 15 mm.
iv. Click OK to close the Pressure Inlet panel.

2. Set boundary conditions for outlet.


(a) Change the type for outlet from wall to pressure-outlet.
(b) Click the Set... button to open the Pressure Inlet panel.
(c) Specify Gauge Pressure as 2000000.
(d) Select Intensity and Hydraulic Diameter from the Specification Method drop-down
list in the Turbulence group box.
(e) Set the Turbulent Intensity to 5%.
(f) Set the Hydraulic Diameter to 15 mm.
(g) Click OK to close the Pressure Outlet panel.

Step 6: Grid Interfaces


Same as Step 6 for circular pump (see 11).
Step 7: Dynamic Mesh

1. Define dynamic mesh parameters.


Define −→ Dynamic Mesh −→Parameters...

(a) Enable Dynamic Mesh and In-Cylinder from the Model group box.
(b) Click the In-Cylinder tab and specify the parameters shown in the table:
Parameter Value
Crank Shaft Speed 500
Starting Crank Angle 0
Crank Period 360
Crank Angle Step Size 0.25
2. Define dynamic mesh zones.
Define −→ Dynamic Mesh −→Zones...
(a) Select fluid-pump from the Zone Names drop-down list.
(b) Select User-Defined from the Type group box.
(c) Select vane pump core::libudf from the Mesh Motion UDF drop-down list.

26
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

(d) Click Create.


(e) Select fluid-gap from the Zone Names drop-down list.
(f) Select User-Defined from the Type group box.
(g) Select vane pump gap::libudf from the Mesh Motion UDF drop-down list.
(h) Click Create.
(i) Similarly, for the zones gap-wall, pump-rotor, wall-9 and wall-16 select the UDF
walls::libudf.
These zones are moving walls, where wall-9 and wall-16 are created in Step 6:
Grid Interfaces.

Step 8: User-Defined Function Hooks and Memory


Same as Step 8 for circular pump (see 15).
Step 9: Solution
Solve −→ Controls −→Solution...

1. Select PISO transient algorithm.


(a) Select PISO from the Pressure-Velocity Coupling drop-down list.
(b) Retain the default values for other parameters.
(c) Click OK to close the Solution Controls panel.

2. Enable plotting of residuals.


Solve −→ Monitors −→Residual...
(a) Enable Plot in the Options group box.
(b) Click OK to close the Residual Monitors panel.

3. Initialize the flow using default values.


Solve −→ Initialize −→Initialize...
(a) Click Init and close the Solution Initialization panel.

4. Display contours of UDM-0 (Figure 11).


Display −→Contours...

(a) Enable Filled and disable Node Values from the Options group box.
(b) Set Levels to 4.
The number of levels is equal to the number of vanes.
(c) Select User Defined Memory... and User Memory 0 from the Contours of drop-down
lists.
(d) Select intf-pump-housing, intf-pump-vanes, and wall:0:1 from the Surfaces selection
list.
(e) Click Display.


c Fluent Inc. January 31, 2007 27
Vane Pump Modeling in FLUENT

Figure 11: UDM-0 Sectors

5. Set the autosave frequency.


File −→ Write −→Autosave...
(a) Set Autosave Case File Frequency and Autosave Data File Frequency to 8.
The files will be saved at every two degrees of rotation.
(b) Enter ellipse-pump.gz for Filename.
(c) Click OK to close the Autosave Case/Data panel.

6. Save the initial case and data files (ellipse-pump.cas.gz).

7. Display the grid as shown in Figure 9.

8. Perform mesh motion preview for 20 time steps.


Solve −→Mesh Motion...
(a) Set Number of Time Steps to 20.
(b) Click Preview.

9. Read the files ellipse-pump.cas.gz and ellipse-pump.dat.gz.


Note: A case and corresponding data file must always be read into FLUENT prior to
starting a mesh motion preview, a new solution, or restarting a solution.

10. Run the transient solution for 200 time steps (i.e., 50 degrees of rotation).
A complete cycle would require 1440 time steps.
Solve −→Iterate...
(a) Set the Number of Time Steps to 200.

28
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

(b) Click Iterate.

Step 10: Postprocessing

1. Display the pressure contours at 10 degrees of rotation Figure 12.


Read the case and data files ellipse-pump0040.cas.gz and ellipse-pump0040.dat.gz,
respectively.
Display −→Contours...

(a) Select Pressure... and Static Pressure from the Contours of drop-down lists.
(b) Select all surfaces except default-interior, default-interior:0, and default-interior:0:1
from the Surfaces selection list.
(c) Click Display.

2. Similarly, display the pressure contours at 44 degrees of rotation.


Read the case and data files ellipse-pump0176.cas.gz and ellipse-pump0176.dat.gz,
respectively.


c Fluent Inc. January 31, 2007 29
Vane Pump Modeling in FLUENT

Figure 12: Pressure Contours After 10o of Rotation

Figure 13: Pressure Contours After 44o of Rotation

30
c Fluent Inc. January 31, 2007
Vane Pump Modeling in FLUENT

Summary
In this tutorial, you set up and modeled a vane pump of circular and elliptical housing
respectively. You set up a dynamic mesh with dynamic zones defined using a UDF. You
then performed a transient dynamic mesh calculation and examined the pressure contours
at various stages of rotation.

Appendix 1: Details of the Input File


The format of the input file (input.txt) is as shown (all inputs must be in the file even
though some are specific to OUTER SHAPE).
All inputs to the file input.txt must be in SI units.
Sample Input File (This is the input file for the elliptical housing vane pump.):

0
0
8
7 13
25e-3 1.75e-3 0.1e-3
27.5e-3 2e-3

OUTER_SHAPE
INNER_SHAPE
N_VANE
CORE_ID GAP_ID
r HALF_VANE_WIDTH GAP
R DELTA

1. OUTER SHAPE is the outer profile of the pump core and is represented by an integer
value.
(a) 0: Profile is a circle and does not change in the z-direction.
(b) 1: Profile is user-defined and does not change in the z-direction. In this case a
profile file called data outer.txt (see sample in Appendix2) must be created
and copied to the same working folder as the case file.

2. INNER SHAPE is the inner profile of the pump core and is represented by an integer
value.
(a) 0: Profile is a circle and does not change in the z-direction.
(b) 1: Profile is user-defined and does not change in the z-direction. In this case
a profile file called data inner.txt (same format as data outer.txt) must be
created and copied to the same working folder as the case file (contact the support
engineer for information).
(c) 2: Profile is a circle and does change in the z-direction (i.e. 3D). In this case, an
additional source file called special inner.c is required to specify the change


c Fluent Inc. January 31, 2007 31
Vane Pump Modeling in FLUENT

of inner radius with respect to the z-coordinate (contact the support engineer
for information).

3. N VANE is the number of vanes.

4. CORE ID is the cell zone ID for the pump core. The complete pump core must be
defined as a single fluid zone.

5. GAP ID is the cell zone ID for the gaps. All gaps must be defined as a single fluid zone
(ignored if no gaps are used). If there is no gap, the GAP ID must be set to 0.

6. r is the radius of the rotor, i.e. the inner circle.

7. HALF VANE WIDTH is half of the width of each vane.

8. GAP is the gap width (ignored if no gaps are used).

9. R is the radius of the pump housing if the OUTER SHAPE is a circle (ignored for user-
defined outer profile).

10. DELTA is the distance between the center of the inner and outer circles if the OUTER SHAPE
is a circle (ignored for user-defined outer profile). Even though the offset is always to
the left of the pump core center, DELTA must be a positive value.

Appendix 2: Sample Profile File (data outer.txt):


This is a segment from an elliptical profile file. This tutorial uses this profile file, which
contains 320 points.

320
0.0275 0
0.027497851 0.0005
0.027491405 0.001
0.027480657 0.0015
0.027465603 0.002
0.027446237 0.0025
0.027422547 0.003
0.027394524 0.0035
0.027012277 0.0075

32
c Fluent Inc. January 31, 2007