Sunteți pe pagina 1din 41

OpenFOAM and Turbomachinery:

a Demonstration of a Simplified Francis Turbine Geometry

A. Wouden, B. Lewis, J. Cimbala, E. Paterson


The Pennsylvania State University
Funded by the US Department of Energy
http://psuhydroresearch.org

Contents
Motivation
Some preliminary bench-work
Cylindrical Inlet Velocity Patch
forFoam

The Simplified Francis Turbine


The Computational Domain
The OpenFOAM Setup
The No-Runner Computation
Results from potentialFoam, simpleFoam,
simpleSRFFoam, MRFSimpleFoam

Motivation
The study of flow through a Francis turbine is complex
An understanding of pre-processing methodology is
useful
A simplified Francis turbine demonstrates the
methodology without the complex geometry
The resulting OpenFOAM case structure provides an
archetype for other hydro turbine applications

Cylindrical Inlet Velocity Patch


Adapted from OpenFOAM 1.7.

The inlet velocity patch alters the variable list.


Given an inlet surface <name>, the velocity (0/U) can be specified in
cylindrical coordinates.

OpenFOAM 1.7

Modification

<name>
{
type cylindricalInletVelocity;
axis
(0 0 1);
centre
(0 0 0);
axialVelocity
30;
rpm
100;
radialVelocity
-10;
}

<name>
{
type cylindricalInletVelocity;
axis
(0 0 1);
centre
(0 0 0);
axialVelocity
30;
tangentVelocity
10;
radialVelocity
-10;
}

The modification corrects an error in OF1.7


version of cylindrical inlet velocity.
OpenFOAM 1.7

Modification

Normalized
radial vector;
no scaling

r-component scaled by
radius

The inlet condition is combined with SRFVelocity


to work with simpleSRFFoam.
SRFVelocity

cylindricalInletVelocity

SRFcylindricalInletVelocity

SRFVelocity
If relative, include the effects of
the SRF [1]

cylindricalInletVelocity
Specify boundary in cylindrical
coordinates
SRFcylindricalInletVelocity
Specify boundary in cylindrical
coordinates, and
If relative, include the effects of
the SRF

<name>
{
type SRFcylindricalInletVelocity;
relative
yes;
axis
(0 0 1);
centre
(0 0 0);
axialVelocity
30;
tangentVelocity
10;
radialVelocity
-10;
}

forFoam: Initial Condition Utility


Created as a semi-automatic (user-interactive) OpenFOAM utility.

A Fortran-based utility creates initial condition


files.
forFOAM

kp

Motivation
Create run-ready initial condition files
Provide user interaction
Automate definite surface types
Prompt ambiguous surface types (i.e. type patch)
Remember user responses

10

The Simplified Francis Turbine


Adapted from GAMM Francis turbine geometry.

11

Disclaimer
The geometry of this turbine, though based on a the GAMM Francis
turbine, does not represent any actual turbine in operation; there are no
experimental data available.
Rather, the simpler geometry provides for a tutorial to turbomachinery
analysis in OpenFOAM

The turbine housing is identical to the GAMM


geometry.
Stator Ring
Outer Diameter: 692 mm
Inner Diameter: 334 mm
Altitude: 120 mm

Crown
Outer Diameter: 334 mm
Inner Diameter: 44 mm
Altitude: 134 mm

12

Band
Top Diameter: 422 mm
Bottom Diameter: 402 mm
Altitude: 99 mm

Diffuser
Min Diameter: 402 mm
Max Diameter: 490 mm
Altitude: 446 mm

The stay bolt, wicket gate, and runner blade


have some geometric equivalence to GAMM.

13

Stay Bolt

Reduced to circular cylinder


Diameter: 12 mm

(Not to scale)

Wicket Gate
Reduced to rounded flat plate
Chord: 73 mm
Thickness: 9 mm

t
L

t
L

Runner Blade
Reduced to rounded flat plate
Thickness: 6 mm

(Not to scale)

The computational domain includes the 360


profile.
Stay Row
# of blades: 20
Periodicity: 18

Wicket Row
# of blades: 20
Periodicity: 18

Runner Passage
# of blades: 13
Periodicity: 27.69

14

15

The Computational Domain


CAD created in SolidWorks
Mesh generated in Pointwise.

The mesh consists of four independently built


regions.

ggi: B

ggi: A

Stay Vane Zone


502,080 cells
y+min=15.82

Wicket Gate Zone


1,171,200 cells
y+min=20.14

Inlet

Runner Blade Zone


1,117,090 cells
y+min=3.97

16

Diffuser Zone
ggi: B`

23,520 cells
y+min=90.20

ggi: A`

Outlet

Slip Wall

ggi: C`
ggi: C

17

The OpenFOAM Setup


Using OpenFOAM 1.6-ext.

The Allrun script contains a step-by-step process


of the OpenFOAM operations.
Consists of five steps
1.

Zoning

2.

Initializing

3.

divide mesh for parallel computing

Executing

5.

retrieve results from a previous


solution

Decomposing

4.

identify nonOrthoFace zones


create ggi zones
define MRF zones

run the solver

Reconstructing

recombine results for the


converged time step

18

The residuals can be tracked by constructing a


gnuplot script.

19

The OpenFOAM setup is consistent between


solvers.
The simplified turbine OpenFOAM case maintains
1.
2.
3.
4.
5.

k- SST turbulence model


Steady-state, Gauss-linear finite volume schemes
GAMG solver on pressure
smoothSolver on velocity and turbulence parameters
small under-relaxation factors

p = 0.2
U = 0.3
k = 0.3
= 0.3

20

21

The No-Runner Computation


Finding the right RPM.

The RPM is calculated through velocity triangles


at the leading edge.
From textbook formulation [3],

Solving for the angular speed:

By convention,
And converting into RPM:

22

The rpm is determined through processing the


no-runner geometry.

23

Processed using simpleFoam

For the simplified turbine


rpm = 363.32

Velocity Waypoint

24

potentialFoam
Initializing the flow field.

Preliminary processing in potentialFoam sets an


initial velocity distribution.
Convergence Criterion
Pressure residual
decreases by three
orders of magnitude

Parameter Update
Velocity field data are
updated to 0/U
Other field data are
unaffected

25

Swirl component at the inlet seems to disappear


inside the computational domain.

Inlet flow direction

26

27

simpleFoam
Analysis of a non-rotating turbine.

The global convergence criterion indicates


adequate convergence.
Relative residuals
decrease three orders of
magnitude, but increase
in latter iterations

The holding torque,


(Mz) converges to
550 N-m

28

The flow field passing through the runners


develops a vortex core.

29

30

simpleSRFFoam
Using a single reference frame.

The convergence using simpleSRFFoam is only


partially achieved.
The p-residual hovers at
a-less-than adequate
level

The head and efficiency


converge to
15.9 m, 29.9%

respectively

31

Coriolis terms in the internal flow field


misrepresent the flow through the stator.

Absolute velocity on
inlet, stator ring, and
turbine

Relative velocity on
inlet, stator ring, and
turbine

Streamlines progress
around obstacles
The simpleSRFFoam solution is
unreliable for this configuration

33

MRFSimpleFoam
Using multiple reference frames.

The RPM of the turbine is imposed on the runner


Zone only.
Non-Rotating Zone

Rotating Zone

34

The convergence in the MRFSimpleFoam case


exhibits distinctive behavior.
Residuals flat-line on
latter iterations.

The head and efficiency


converge to
2.8 m, 71.5%

respectively

35

Comparing the residuals and the lateral forces


alludes a pseudo-steady condition.

F_x leads F_y by


approximately 90

36

The pressure contour on the Francis turbine


shows the expected distribution.

37

Pressure Side

Suction Side

The formation of a vortex rope indicates the


unsteady nature of the flow field.

38

39

Summary
The simplified turbine cases provide a template for
more complex hydro turbines:
simpleFoam returns a steady state solution to the nonrotating rotor

simpleSRFFoam returns an unreliable solution for this


configuration
MRFSimpleFoam returns a pseudo-steady solution at
convergence

40

Thank You.
Questions?

41

References
[1] OpenFOAM, /scr/finiteVolume/cfdTools/general/SRF
/derivedFvPatchFields/SRFVelocityFvPatchVectorField/
SRFVelocityFvPatchVectorField.C
[2] Gshaider, Bernhard, pyFoam: Happy foaming with Python,
4th OpenFOAM Workshop, 1-4 June 2009
[3] Cengal and Cimbala. Fluid Mechanics: Fundamentals and
Applications. McGraw Hill, 2006.

S-ar putea să vă placă și