You are on page 1of 162

Manual

Turbomachinery CFD Manual, version 17.10

CFD support s.r.o., Sokolovská 270/201, 19000 Praha 9, Czech Republic


info@cfdsupport.com | phone: +420 212 243 883 | www.cfdsupport.com
Copyright

©2009-2017 CFD support s.r.o.


All rights reserved. Any unauthorized reproduction of any form will con-
stitute an infringement of the copyright.

Trademarks

ANSYS is a registered trademark of Ansys Inc.


BLENDER is a registered trademark of The Blender Foundation.
CFX is a registered trademark of Ansys Inc.
CHEMKIN is a registered trademark of Reaction Design Corporation
EnSight is a registered trademark of Computational Engineering Interna-
tional Ltd.
Fieldview is a registered trademark of Intelligent Light
Fluent is a registered trademark of Ansys Inc.
GAMBIT is a registered trademark of Ansys Inc.
Icem-CFD is a registered trademark of Ansys Inc.
I-DEAS is a registered trademark of Structural Dynamics Research Cor-
poration
JAVA is a registered trademark of Sun Microsystems Inc.
Linux is a registered trademark of Linus Torvalds
ParaView is a registered trademark of Kitware
STAR-CD is a registered trademark of Computational Dynamics Ltd.
TCFD is a registered trademark of CFD Support s.r.o.
UNIX is a registered trademark of The Open Group

The OPENFOAM® related products and services are not approved or en-
dorsed by OpenCFD Ltd. (ESI Group), producer of the OpenFOAM soft-
ware and owner of the OPENFOAM® and OpenCFD® trade marks.
Contents

1 TCFD® Introduction 7
1.1 TCFD® = Turbomachinery CFD . . . . . . . . . . . . . . . . . . . . . . 7
1.2 TCFD® Unique Value . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Differences between TCFD® and standard OpenFOAM® . . . . . . . . . 12
1.4 Technical Specifications & Software Features . . . . . . . . . . . . . . . 13
1.5 What is included? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 CFD Processor & TCFD® workflow overview . . . . . . . . . . . . . . . 15
1.7 Turbo Blade Post . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.8 ParaView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.8.1 ParaView License . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 TCFD® – Installation & First run 19


2.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 TCFD® – GUI Setup & Options 23


3.1 TCFDSource plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 General settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4 Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6 Speedlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.7 Turbulence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.8 Boundary condition: Inlet . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.9 Boundary condition: Outlet . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.10 Initial conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.11 Simulation controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.12 Post-processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.13 Meshing options: Snappy hex mesh . . . . . . . . . . . . . . . . . . . . 50
3.14 Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3
4 TCFD® – Running & PostProcessing 55
4.1 TCFDManager plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2 TCFDManager settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5 TCFD® – Configuration File Options 63

6 TCFD® – Running in Terminal 89


6.1 CFD Processor command line options . . . . . . . . . . . . . . . . . . . 89

7 TCFD® – CFD Theory & Formulas 91


7.1 Formulas for the Efficiency Evaluation . . . . . . . . . . . . . . . . . . . 91
7.1.1 Hydro Turbine Efficiency . . . . . . . . . . . . . . . . . . . . . . 91
7.1.2 Pump Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.1.3 Compressor Efficiency . . . . . . . . . . . . . . . . . . . . . . . 92
7.1.4 Turbine Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.1.5 Fan Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.2 Turbomachinery CFD Solvers . . . . . . . . . . . . . . . . . . . . . . . 93
7.2.1 blueSolver - steady state, incompressible . . . . . . . . . . . . . 93
7.2.2 blueDyMSolver - transient, incompressible . . . . . . . . . . . . 94
7.2.3 redSolver - steady state, compressible . . . . . . . . . . . . . . . 94
7.2.4 redDyMSolver - transient, compressible . . . . . . . . . . . . . . 94
7.2.5 greenSolver - steady state, cavitation . . . . . . . . . . . . . . . . 94
7.2.6 greenDyMSolver - transient, cavitation . . . . . . . . . . . . . . 94
7.2.7 Compressible Mathematical Model . . . . . . . . . . . . . . . . 95
7.2.8 Incompressible Mathematical Model . . . . . . . . . . . . . . . . 96
7.2.9 Unstructured Grid . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.2.10 Finite Volume Method . . . . . . . . . . . . . . . . . . . . . . . 96
7.2.11 Three Dimensional . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.2.12 Steady-State . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.2.13 Segregated Solver . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.2.14 Cell Centered Approach . . . . . . . . . . . . . . . . . . . . . . 97
7.2.15 Under-Relaxation . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.2.16 System of Linear Equations . . . . . . . . . . . . . . . . . . . . 97
7.2.17 SIMPLE Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.2.18 Spatial Integration Numerical Scheme . . . . . . . . . . . . . . . 98
7.2.19 Temporal Integration Numerical Scheme . . . . . . . . . . . . . 99
7.2.20 Non-Orthogonal Correctors . . . . . . . . . . . . . . . . . . . . 99
7.2.21 Number of Iterations on Rotor and Stator Part . . . . . . . . . . . 99
7.2.22 Minimal and Maximal Values Options . . . . . . . . . . . . . . . 99
7.2.23 Turbulent Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.2.24 MRF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.2.25 Message Passing Interface (MPI) . . . . . . . . . . . . . . . . . 100
7.3 Notes on gravitational potential and hydrostatic pressure . . . . . . . . . 101
7.3.1 Potential of a homogeneous gravitational field . . . . . . . . . . . 101
7.3.2 Hydrostatic pressure . . . . . . . . . . . . . . . . . . . . . . . . 101
7.3.3 Center of mass of a surface . . . . . . . . . . . . . . . . . . . . . 102
7.4 Water turbines - notes on calculations . . . . . . . . . . . . . . . . . . . 102
7.4.1 Alternative formulation . . . . . . . . . . . . . . . . . . . . . . . 104
7.4.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.5 Interface between rotor and stator part . . . . . . . . . . . . . . . . . . . 106
7.5.1 Frozen Rotor vs. Mixing Plane . . . . . . . . . . . . . . . . . . . 106
7.6 Cavitation Modeling in TCFD® . . . . . . . . . . . . . . . . . . . . . . 108
7.6.1 Cavitation Risk and Cavitation Index . . . . . . . . . . . . . . . 108
7.6.2 Multiphase cavitation . . . . . . . . . . . . . . . . . . . . . . . . 110
7.6.3 Keywords in .tcfd file . . . . . . . . . . . . . . . . . . . . . . . . 110

8 TCFD® – Notes & Recommendations 113


8.1 General Notes & Recommendations . . . . . . . . . . . . . . . . . . . . 113

9 Turbo Blade Post - graphical postprocessing 119


9.1 Geometry & Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
9.2 Example: Meridional average . . . . . . . . . . . . . . . . . . . . . . . . 124
9.2.1 Step by step guide . . . . . . . . . . . . . . . . . . . . . . . . . 125
9.3 Example: Blade-to-blade view . . . . . . . . . . . . . . . . . . . . . . . 130
9.3.1 Step by step guide . . . . . . . . . . . . . . . . . . . . . . . . . 130
9.4 Example: Pressure around the blade . . . . . . . . . . . . . . . . . . . . 138
9.4.1 Step by step guide . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.5 Example: Blade pressure and suction side contours . . . . . . . . . . . . 143
9.5.1 Step by step guide . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.6 Meridional Average filter – details . . . . . . . . . . . . . . . . . . . . . 148
9.6.1 Input parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 148
9.6.2 Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
9.7 Turbo Unwrap filter – details . . . . . . . . . . . . . . . . . . . . . . . . 150
9.7.1 Input parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 150
9.7.2 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Chapter 1

TCFD® Introduction

1.1 TCFD® = Turbomachinery CFD


TCFD® is a comprehensive CFD workflow for turbomachinery simulations. This work-
flow covers complete process from the basic (usually CAD) data over CFD analysis to
significant engineering results. TCFD® is based on the OpenFOAM® software. It is the
final outcome of a many year development of the team of CFD Support engineers and
developers.

TCFD® is not dependent on other software but it is fully compatible with standard
OpenFOAM® and other software packages. It was originally designed for simulating
rotational machines, nevertheless it can be used for a wide range of various CFD simula-
tions.

7
8 TCFD® 17.10 – Manual

• Pumps • Nozzles & Diffusers

• Fans • Steam Turbines

• Compressors • Both axial and radial machines

• Both compressible and incom-


• Turbines pressible flows
• Hydro Turbines • Ventilators

• Turbochargers • Engine flows

The package includes the real tutorials. The tutorials help the user to operate the
model data. The user can easily repeat the whole process with his own data.

8 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 9

CFD Support s.r.o. provides full technical support. TCFD® is maintained and regu-
larly updated. CFD Support engineers are instantly working on additional software mod-
ules and extensions covering even more physical problems. To ensure the smooth start
the extensive training is provided. Experienced lecturer shows the full functionality and
answers all the possible questions.

TCFD® is highly customizable. All the OpenFOAM® parts of the package are devel-
oped under GPL (GNU GENERAL PUBLIC LICENSE Version 3.) All the OpenFOAM®
based components are provided with their source code. Having technical support, any ad-
ditional functions can be added all over the workflow.

In TCFD® its developers made good use of many years experience with using and
developing CFD software. Especially for this workflow were developed special Open-
FOAM® based boundary conditions e.g. to handle the rotor - stator interface or bound-
ary conditions for the inlet and the outlet of the computational domain. The solvers for
TCFD® are very robust and they were heavily tested on real machine cases and showed
perfect agreement with available measurements. The solvers are robust enough to handle

©2017 CFD support s.r.o. www.cfdsupport.com 9


10 TCFD® 17.10 – Manual

the extreme flow conditions, it shows excellent performance, for example, at transonic
flows.

The TCFD® workflow also contains a number of scripts, OpenFOAM® utilities and
OpenFOAM® function objects for preprocessing and postprocessing. To keep complete
independence of this workflow, the computational mesh is created using OpenFOAM®
utility snappyHexMesh. Of course using snappyHexMesh mesh is not necessary - any
external CFD mesh can be imported and used instead.

10 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 11

1.2 TCFD® Unique Value

TCFD® is a smart, easy-to-use and affordable CFD software. TCFD® was designed for
CFD simulations of all rotating machinery such as pumps, fans, compressors, turbines,
turbochargers, hydro turbines, etc. Both radial and axial machines. Both compressible and
incompressible fluid flows. It is based on OpenFOAM. Turbomachinery CFD is unique
at least for four reasons:

1. TCFD® has No Licensing Policy - which means the users can keep Turbomachin-
ery CFD forever and they can use it for unlimited number of users, jobs or cores.
What is paid for is the first delivery and technical support and software mainte-
nance. This gives the investment in Turbomachinery CFD a permanent value. And
also this means our clients can scale their CFD simulations in a really big way.

2. TCFD® is fully automated - which means all the workflow from the initial data
to the final results report, it can be run by a single command or a single click. And
all the process is being done automatically. For this reason Turbomachinery CFD
is extremely effective.

3. CFD Support delivers the extraordinary technical support. CFD Support keeps
custom approach to every customer. To every issue. CFD Support never leaves
behind any of its clients. Technical support is very flexible. Technical support is
unlimited. CFD Support supports its clients even in matters out of the turboma-
chinery field. For example in: Numerical Mathematics, Physics, CFD, IT or even
Software Engineering.

4. The real tutorials are included - so the TCFD® user has no doubts about the best
practice settings. So there are included the real machines that are already pre-
set. User can basically take one of those tutorials, replace the geometry with his
own, you modify the settings and run the simulation. The rest of the workflow is
automated anyway. So, the requirements on user’s CFD skills are very low.

©2017 CFD support s.r.o. www.cfdsupport.com 11


1.3 Differences between TCFD® and standard OpenFOAM®

TCFD® Standard Commercial


OpenFOAM® software

Open-source Code YES YES NO

Unlimited Users, Jobs & Cores YES YES NO

Robust Solver for Turbomachinery YES NO YES

Turbo Boundary Conditions YES NO YES

Real Tutorials for Turbomachinery YES NO YES

Detailed Manual YES NO YES

Turbo Pre/Postprocessing YES NO YES

Automated Process (Workflow) YES NO NO

Both Linux & Windows YES NO YES

HTML Reporting YES NO NO

Graphical Interface - GUI YES NO YES

Free of Charge NO YES NO


support@cfdsupport.com 13

1.4 Technical Specifications & Software Features


• Both Linux & Windows OS compati- • Fully Parallel Computing
ble
• Robust OpenFOAM® Solvers
• Fully Automated
• Meshing using SnappyHexMesh
• Compressible Flow
• Turbulent Flow • Advanced Postprocessing

• Heat Transfer between Fluid and • Convergence Monitoring


Solid Parts
• Special Boundary Conditions &
• Both Subsonic and Transonic Function Objects

©2017 CFD support s.r.o. www.cfdsupport.com 13


14 TCFD® 17.10 – Manual

1.5 What is included?


• OpenFOAM® based software + source code

• Real Tutorials - preset test cases demonstrating how this workflow works on real
examples

• Applications - new robust solvers and utilities.

• Libraries - special boundary conditions, function objects, flow models.

• Scripts - preprocessing, postprocessing.

• Software is Perpetual, Unlimited Users, Jobs & Cores

• Source Code - all the source code of all GPL parts

• Turbo Blade Post - Visual Postprocessing software

• TCFDSource GUI - TCFD Graphical User Interface

• CFD Processor - application for automated workflow

• Training - tailored training covering individual needs of the client

• Unlimited Technical Support

• Updates & Maintenance until Technical Support is valid

14 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 15

1.6 CFD Processor & TCFD® workflow overview


CFD Processor is designed for an effective handling of Turbomachinery CFD simula-
tions. CFD Processor is an original product of company CFD Support s.r.o. (www.cfdsupport.com).
It was especially created to enable an effective automation of a CFD process.

The complete process is executed - reading the configuration file - creating new simula-
tion case - CFD setup - simulation run - evaluation of CFD results - writing down the
results report.

Figure 1.1: CFD Processor simple scheme

CFD Processor is a library – a set of routines – which is designed for

• a straightforward setup of OpenFOAM cases,

• automatic running of the calculations and

• basic postprocessing of the calculated results.

Internally, it uses the free OpenFOAM® toolbox – meshers, solvers and utilities – but
saves the user from filling up large amount of necessary configuration files and managing
the workflow of the computation. For this particular usage, a pair of plugins for the widely
used ParaView (www.paraview.org) visualization software has been developed.

The two ParaView plugins TCFDSource and TCFDManager serve as a Graphical User
Interface (GUI) for TCFD® and both of them are described in this manual.

• TCFDSource is used for an ease of use CFD case setup.

• TCFDManager is used for an user friendly CFD simulation control.

©2017 CFD support s.r.o. www.cfdsupport.com 15


16 TCFD® 17.10 – Manual

CFD Processor solves for physical volume fields in a finite volume mesh created
inside of a given boundary geometry. The machine is generally composed of several
components (e.g. inlet piping, rotor, stator, outlet piping) that are meshed individually
and have different construction properties. For the usage in CFD Processor each com-
ponent should be provided separately as a set of non-overlapping ASCII STL (Stereo
Lithography) geometry model files, which – put together – form the water-tight boundary
geometry of the component’s volume or the external computational mesh could of each
component can be imported.

The summarized CFD Processor workflow is

• [1.] Computational mesh generation - a brand new mesh can be generated on


given STL files or the external computational mesh can be imported.

• [2.] Simulation phase - it is possible to setup and simulate the whole machine
characteristics (working points) in one simulation (e.g. different flow rates, different
RPMs, different pressure ratios, etc.).

• [3.] Results evaluation - the output is an html report with plots of interesting vari-
ables and colored pictures (e.g. blade-to-blade views, meridional averages, etc.).

The third step can be done independently on the other two. It makes sense to run the
post-processing stage even after the first point of the machine characteristics – to obtain
detailed mesh information and interesting results of the first point (e.g. efficiency, pressure
drop/rise, torque, etc.) in the synoptic html report.

1.7 Turbo Blade Post


Turbo Blade Post is a product of company CFD Support s.r.o. (www.cfdsupport.com).
It was especially created to enable an effective graphical postprocessing of rotating ma-
chinery - both radial and axial machines such as pumps, hydro turbines, compressors,
turbochargers, propellers and many more.
Turbo Blade Post is a set of following plugins (filters) for ParaView (www.paraview.org):

• Turbo Unwrap - for visualization of the blade-to-blade view or 2D plots around the
blades.

• Meridional Average - for evaluation and visualization of the meridional averages


in the blade passage.

More information about Turbo Blade Post can be found in the chapter 9 or on CFD
Support web site: http://www.cfdsupport.com/turbo-blade-post.html.

16 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 17

Figure 1.2: ParaView screen shot of Turbo Blade Post

Figure 1.3: Turbo Blade Post filters in ParaView menu

©2017 CFD support s.r.o. www.cfdsupport.com 17


18 TCFD® 17.10 – Manual

1.8 ParaView
ParaView is an open source multiple-platform application for interactive, scientific visu-
alization. It has a client–server architecture to facilitate remote visualization of datasets,
and generates level of detail (LOD) models to maintain interactive frame rates for large
datasets. It is an application built on top of the Visualization Tool Kit (VTK) libraries.
Where VTK is a set of libraries that provide visualization services for data, task, and
pipeline parallelism, ParaView is an application designed for data parallelism on shared-
memory or distributed-memory multicomputers and clusters. It can also be run as a
single-computer application.
ParaView offers the possibility to extend its functionality in several directions. This
encompasses modifications to the GUI and implementation of new plugins.

1.8.1 ParaView License


ParaView uses a permissive BSD license that enables the broadest possible audience, in-
cluding commercial organizations, to use the software, royalty free, for most purposes. In
addition, there are other licenses that are applicable because of other packages leveraged
by ParaView or developed by collaborators. Lastly, there are specific packages for the
ParaView binaries available on paraview.org that have applicable licenses.
Copyright (c) 2005-2008 Sandia Corporation, Kitware Inc.Sandia National Labora-
tories, New Mexico PO Box 5800 Albuquerque, NM 87185 Kitware Inc., 28 Corporate
Drive, Clifton Park, NY 12065, USA
Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive license
for use of this work by or on behalf of the U.S. Government. Redistribution and use
in source and binary forms, with or without modification, are permitted provided that
the following conditions are met: Redistributions of source code must retain the above
copyright notice, this list of conditions and the following disclaimer. Redistributions
in binary form must reproduce the above copyright notice, this list of conditions and
the following disclaimer in the documentation and/or other materials provided with the
distribution. Neither the name of Kitware nor the names of any contributors may be used
to endorse or promote products derived from this software without specific prior written
permission.

18 www.cfdsupport.com ©2017 CFD support s.r.o.


Chapter 2

TCFD® – Installation & First run

This introductory chapter summarizes the basic steps needed to obtain Turbomachinery
CFD and run one of its preset tutorials. All combinations of operating systems (Lin-
ux/Windows) and user interfaces (console/graphical) are discussed.
See also:
http://www.cfdsupport.com/turbomachinery-cfd-workflow.html

2.1 Windows
1. Request the trial version (this is only for the trial version - in case you pur-
chased the perpetual version - skip this step)
http://www.cfdsupport.com/turbomachinery-cfd-demo.html

2. Download and install OpenFOAM® for Windows (including ParaView and Gnu-
plot):
http://www.cfdsupport.com/download-openfoam-for-windows.
html

3. Download and install TCFD® or TCFD® Demo (note: software versions have
to match; e.g.: Turbomachinery CFD 17.06 fits to OpenFOAM® for Windows
17.06).

4. Download a tutorial:
http://www.cfdsupport.com/download-cases.html

5. Copy two demo license files (License.key and License.dat) to the current Open-
FOAM version directory, typically: C:\OpenFOAM\17.06\* (this is only
for trial version - in case you purchased the perpetual version - skip this step)

6. Ready to run now!

19
20 TCFD® 17.10 – Manual

7. Extract your tutorial into work directory, e.g.:


C:\OpenFOAM\17.06\user-dev\run\pump

When using GUI:


8. Launch ParaView using the “TCFD 17.06” desktop shortcut or the corresponding
item in the Start menu.

9. Open configuration file e.g. pump.tcfd in via the Load... button in the General
section of the Properties panel located in the left area of the ParaView window.

10. Click Apply button.

11. In Pipeline browser select Settings and then apply TCFD Manager filter from the
toolbar.

12. Click Apply, then Write Case and finally Run All.

13. And all the process is done automatically: new case is written into default case name
ofcase0, mesh is created, case is set up, case is simulated, results are evaluated
and report is written down.

14. The report can be updated anytime during simulation.

15. When the simulation is finished the final results report is written down. It is located
inside the test case:
.\ofcase0\report-ofcase0\ofcase0.html

16. Visual postprocessing can be done in ParaView using Turbo Blade Post plugins
(included).

When using terminal:


8. Run OpenFOAM® for Windows command line.

9. Navigate e.g. to the pump directory (mc command – Midnight Commander – is


recommended, or navigate manually in terminal) and run all by one command from
the pump directory:
CFDProcessor -setup pump.tcfd -allrun

20 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 21

10. And all the process is done automatically: new case is written into default case name
ofcase0, mesh is created, case is set up, case is simulated, results are evaluated
and report is written down. When the simulation is finished the final results report
is written down immediately. It is located inside the test case:
./ofcase0/report-ofcase0/ofcase0.html
11. Visual postprocessing can be done in ParaView using Turbo Blade Post plugins
(included).

2.2 Linux
1. Request the trial version:
http://www.cfdsupport.com/turbomachinery-cfd-demo.html
2. Download TurbomachineryCFD-17.06v1-linux64-demo.tar.gz
3. In terminal extract into your favorite directory (e.g. /home/michael/):
tar xf TurbomachineryCFD-17.06v1-linux64-demo.tar.gz
4. Download the tutorial:
http://www.cfdsupport.com/download-cases.html
5. Copy two license files (License.key and License.dat) to the directory
TurbomachineryCFD-17.06v1-linux64-demo
6. Ready to run now!
7. In a new terminal source the system variables (with every new terminal, or add this
to your $HOME/.bashrc for permanent usage):
source OpenFOAM/TurbomachineryCFD-17.06v1-linux64-demo/etc/
bashrc-release
8. Extract your tutorial e.g. into your run directory:
/home/michael/OpenFOAM/michael-dev-cfdsupport/run/pump

When using GUI:


9. Launch ParaView by typing the command TCFD in the terminal.
10. Open configuration file e.g. pump.tcfd in via the Load... button in the General
section of the Properties panel located in the left area of the ParaView window.

11. Click Apply button.

©2017 CFD support s.r.o. www.cfdsupport.com 21


22 TCFD® 17.10 – Manual

12. In Pipeline Browser click Settings and then apply TCFDManager filter from the

toolbar.

13. Click Apply, then Write Case and finally Run All.

14. And all the process is done automatically: new case is written into default case name
ofcase0, mesh is created, case is set up, case is simulated, results are evaluated
and report is written down.

15. When the simulation is finished the final results report is written down immediately.
It is located inside the test case:
./ofcase0/report-ofcase0/ofcase0.html

16. The report can be updated anytime during simulation.

17. Visual postprocessing can be done in ParaView using Turbo Blade Post plugins
(included).

When using terminal:


9. In terminal navigate to the pump directory (mc – Midnight Commander – is recom-
mended, or navigate manually in terminal) and run all by one command:
CFDProcessor -setup pump.tcfd -allrun &

10. And all the process is done automatically: new case is written into default case name
ofcase0, mesh is created, case is set up, case is simulated, results are evaluated
and report is written down. When the simulation is finished the final results report
is written down immediately. It is located inside the test case:
./ofcase0/report-ofcase0/ofcase0.html

11. Visual postprocessing can be done in ParaView using Turbo Blade Post plugins
(included).

22 www.cfdsupport.com ©2017 CFD support s.r.o.


Chapter 3

TCFD® – GUI Setup & Options

3.1 TCFDSource plugin


The first part of the simulation is the setup. The plugin TCFDSource presents an intu-
itive graphical user interface (GUI) for the complete setup of a Turbomachinery CFD
calculation. It is possible to save the data from the form to a file and also to read them
back, whenever necessary.
When starting a new calculation, make sure that the TCFDSource plugin is loaded
(Tools > Manage Plugins...). If you can see the plugin in the list ("SMTCFDSource..."),
you should be also able to locate the VTK source in the menu Sources (Sources > TCFD
Source). Select that item; it will add a new object to the Pipeline Browser window.

Figure 3.1: Source TCFDSource added to the Pipeline Browser.

A long form will appear in the Properties panel, which may become even longer, depend-
ing on the current settings, if you show the advanced options using the Toggle advanced
properties button next to the search bar (wheel icon). Generally, the advanced properties
have universally reasonable values and are not necessary to modify. Individual sections
of the form can be folded and unfolded by a single click on their header. Double click on
a header will hide all other section than the one clicked.
A new TCFDSource form contains default values. It is also possible to import an
already prepared Turbomachinery CFD setup file (with the *.tcfd extension) into this
form and start editing those. You can load a Turbomachinery CFD setup file by using

23
24 TCFD® 17.10 – Manual

the menu item File > Open... (or using the toolbar button, or the keyboard shortcut Ctrl +
O) and selecting the file in the dialog window.
Once the form is edited to your satisfaction, press Apply. This finalizes the setup and
provides you with a concise table summarizing the options in the syntax of the Turboma-
chinery CFD setup files. Of course, it is possible to edit the entries even after clicking
Apply. If you do, the Apply button will be enabled again and the changes need to be
accepted anew.
The TCFDSource plugin is relatively uncommon with regard to its output. While
most built-in ParaView sources and filters have just one output, TCFDSource provides
two outputs! These are clearly visible in the Pipeline Browser. The output "Settings"
provides a table with raw settings, which can be saved as a *.tcfd file or passed to TCFD-
Manager filter (described in the next chapter). The output "Components" provides the
component geometry and is displayed in the common 3D RenderView.
The state of the form can be saved as a Turbomachinery CFD setup file using the
menu item File > Save Data... (or the appropriate toolbar button, or using the keyboard
shortcut Ctrl + S). In the Save File: dialog first select the correct extension *.tcfd; only
then the correct plugin will be used for writing the data. The form must be confirmed by
Apply before saving.
The following sections provide details for individual form fields.

3.2 General settings


The general settings are displayed in the figure 3.2.

• The entry "Setup file" contains full path of a Turbomachinery CFD setup file,
which has been used to initialize the fields in the form. It is empty if no such file
has been used. However, it is always possible to load a new file into the form
by pressing "Load..." and selecting a new file from the dialog window. The other
three buttons "Reload", "Save As..." and "Save" have obvious meaning. The same
restriction for the usage of File > Save data... holds also here: One must press
Apply before saving the results.

• The entry "Machine type" offers selection of the type of the machine that is to be
set up. CFD Processor supports the following machines: fan, compressor, pump,
turbine and hydro (water) turbine. Each of these types is slightly different, whether
due to a different assignment of boundary conditions, or the postprocessing tools
used.

24 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 25

Figure 3.2: Plugin TCFDSource – general settings.

3.3 Simulation
The simulation settings are displayed in the figure 3.3.

• The calculation mode can be chosen from the drop-down list "Time manage-
ment". Here one can choose between a simple steady-state calculation, or its com-
bination with some of the transient extensions, which will start from the precom-
puted steady-state results. The options are a classical transient calculation with
mesh motion, where all Mixing planes are replaced by face-weighted interpolation
through AMI, and a "semi-transient" variant which solves transient equations, but
the mesh is static and the rotation is simulated by the MRF method, as in the case
of steady-state calculation.

• When transient mode is chosen, it is possible to give the maximal value of the
"Courant number" throughout the simulation domain. Values above 1.0 should be
used only with extreme caution.

• The entry "Processors" specifies number of processes used to run the mesher and
the solver. OpenFOAM uses MPI (Message Passing Interface) for communication
of the processes.

• If the advanced options are enabled, then the table "Hosts" is visible. It can be
used in conjunction with the "Processors" entry to schedule the running of the
parallel jobs. This table contains nodes, on which the parallel processes will be
launched. The total number of processes given by "Processors" is evenly divided
between the nodes. A new node is added by the plus button. This is by default
the "localhost" node, but the word "localhost" in the first column can be edited
(double-click to enable editing) to any other host name or IP address. The simple
local network information provided by the system utility "getent" is then shown
in the second column. If the node is unknown, the table row will turn red. Such
nodes must be deleted, or the execution will fail. There are several restrictions on
the usage of remote nodes:

– All nodes must be accessible from the workstation where ParaView runs
without password for the current user (i.e. using the public key authentica-
tion), and the same must be true for access between the nodes.

©2017 CFD support s.r.o. www.cfdsupport.com 25


26 TCFD® 17.10 – Manual

– The MPI and OpenFOAM installations on the workstation and all the nodes
must be identical. Ideally, there is just one installation on a shared network
file system.
– The OpenFOAM case directory is written on a shared network file system, so
that it is accessible both to the front-end workstation used for solution man-
agement via ParaView and to the remote calculation nodes.

Hosts scheduling is currently possible only in Linux systems.

• The entry "Numerical order" sets the discretization order of the convection term.
All calculation should converge with the first order. The second order generally
provides more accurate results, but the simulations are often less stable and may
require better meshes or other tuning.

• The switch "Convergence check" enables and disables automatic convergence


check. If disabled, then CFD processor will always run the solver for specified
amount of iterations. If enabled, then the solution of a particular point can termi-
nate earlier. Two other parameters control the convergence checking: the "Conver-
gence tolerance" and "Averaging window" (or "Transient window" in transient
phase of the calculation). The calculation is deemed converged once all the follow-
ing criteria hold:

max |ηi − hηi| ≤ ξhηi ,


i
max |φin,i − hφin i| ≤ ξhφin i ,
i
max |φout,i − hφout i| ≤ ξhφout i ,
i
||φin,i | − |φout,i ||
max ≤ξ.
i ||φin,i | + |φout,i ||/2

In these expressions ηi is the efficiency evaluated in the i-th iteration, φi is the inlet
or outlet mass flow through the inlet and outlet patches defined in the efficiency
probe (see section “Post-processing”), ξ is the convergence tolerance, the angle
brackets denote the average over the last "Averaging window" iterations (or over
"Transient window" time interval in transient simulations), and the maximal value
is taken from the same time window.

• The switch "Bind to core" prevents migration of parallel processes between cores,
possibly resulting in some speedup. CFD Processor takes care for allocation and
locking of the processes to the most free CPU cores. (Currently only used in Linux-
based systems.)

26 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 27

Figure 3.3: Plugin TCFDSource – simulation settings.

3.4 Physics
The physical settings are displayed in the figure 3.4.

• The entry "Gravitational acceleration" sets the components of the gravitational


acceleration vector. For most applications the gravitational force is negligible and
these components can be zero. For large hydro (water) turbines it may be important.
The typical setup with z axis pointing upwards would be the vector (0, 0, −9.81).
• The drop-down list "Fluid name" offers selection of the fuild. This option has
effect only with conjunction with "Use fluid defaults" or "Cavitation risk".
• The switch "Use fluid defaults", when checked, hides some further fields and as-
sumes default values for them that are appropriate for the selected fluid at standard
conditions. These are summarized in the table 3.1.
• The switch "Compressible" determines whether or not the fluid is considered com-
pressible. When selected, then CFD Processor will also solve for the density and
temperature fields, which are otherwise considered constant throughout the compu-
tational domain. The form automatically shows and hides entries that are relevant
for the current choice.
• The value of "Dynamic viscosity" specifies the dynamic viscosity (η) of the fluid.
For incompressible cases it is η = ρν, where ν is the kinematic viscosity.

©2017 CFD support s.r.o. www.cfdsupport.com 27


28 TCFD® 17.10 – Manual

• The value of "Reference density" is used for postprocessing of incompressible


cases, where the density is not considered by the solver.

• The value of "Reference pressure" is used as a pressure value with respect to


which all other pressures are measured. Typically, in incompressible simulation the
user prescribes zero outlet pressure, while he or she actually means the ambient
pressure. This entry then sets the ambient pressure.

• The value of "Reference temperature" is the value of the ambient temperature


and is used for postprocessing of "Cavitation risk".

• The list "Transport model" can be used to select the preferred transport (viscos-
ity) model. There two models available: "constant" and "Sutherland". When
"Sutherland" transport model is selected, the entries "Ts" and "As" (parameters of
the model) will show up. In contrast, when "constant" is selected, then one can set
the Prandtl number "Pr".

• The entry "Molar weight" is used only in compressible simulations to set up the
thermophysical properties of the fluid. Molar weight is a standard chemical prop-
erty of a substance.

• The entry "Heat capacity" is used only in compressible simulations to set up the
thermophysical properties of the fluid. The constant-pressure heat capacity cp is
expected.

• The value of "Heat capacity ratio", γ = cp /cV , is used by the boundary condi-
tion "Total pressure" both in incompressible and compresible calculations. If that
boundary condition is not used, this entry is ignored.

• The switch "Cavitation risk" can be used to request estimation of the cavitation.
This switch is only available for "water" machines. The model was implemented
according to following literature: [6], [17], [18]. See the section 7.6 for details.

• The switch "Multiphase cavitation" will request use of a specialized cavitation


solver for the transient phase of the calculation. When this switch is enabled, ad-
ditional cavitation-related parameters can be set. Currently there is only one cavi-
tation model available for this solver – the Schnerr-Sauer model [5]. Multiphase
cavitation is only available for water pumps and hydro turbines with transient cal-
culation enabled. See the section 7.6 for details.

28 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 29

Figure 3.4: Plugin TCFDSource – physical settings: Incompressible (top) and compress-
ible (middle) variants and fully enabled multiphase cavitation section (bottom).
©2017 CFD support s.r.o. www.cfdsupport.com 29
30 TCFD® 17.10 – Manual

quantity symbol unit value


air water
dynamic viscosity µ Pa · s 1.8 × 10−5 10−3
reference density ρ kg · m−3 1.28 998
molar weight M kg · mol−1 28.9 18.015
heat capacity cp J · kg−1 · K−1 1004 4181.8
Sutherland AS AS − 1.512 · 10−6 1.512 · 10−6
Sutherland TS TS K 120 120
Prandtl number Pr − 0.7 7
heat capacity ratio γ − 1.4 1.33

Table 3.1: Fluid defaults used when "Use fluid defaults" is checked.

3.5 Components
A sample setup of the “Components” section is in the figure 3.6.
The computational domain can be split into any number of sub-domains – the compo-
nents. Components are meshed individually, they can be individually set as rotating and
individually postprocessed.
Each domain can have any number of inlets and outlets and can be connected to any
number of other components through inlet or outlet interfaces. There can be just one in-
let interface from component A to component B, as well as just one outlet component.
As the names “inlet” and “outlet” interface suggest, they should be used with consider-
ation of the anticipated direction of flow. This pre-orientation is a requirement between
rotating and non-rotating components, where the Mixing plane will be used. Between
co-rotating components it is not necessary, as the cyclicAMI interface used in those cases
is symmetrical.
At any time, the current topology of the components is graphically represented in the
component graph at the end of “Components” section. A sample auto-generated compo-
nent graph is displayed in the figure 3.5.
The number of components is controlled by the slider (or edit field) "Number of com-
ponents". When the number of components changes, the number of panels in this section
and also in the advanced mesh properties panels is adjusted accordingly. Every compo-
nent needs a water-tight boundary geometry divided into non-overlapping segments or a
ready-to-use mesh. Currently there are three options for input of component mesh:

• The entry "Scale factor" sets the scale of the length units to be used when pro-
cessing the input geometry and some other form entries (namely "Origin", "Back-
ground mesh size", "Internal point", "Wheel diameter", blade clearance and
distances to interfaces). If "1" is given, then CFD Processor assumes that all

30 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 31

lengths and point coordinates are in meters, whereas if (e.g.) "0.001" is given, it
is assumed that they are in millimeters. This setting is global: It is not possible
to set different length scales for the geometry and for the form entries, or to have
individual geometry files in different scales.

Watch out!
It is extremely important to set the parameter "Scale factor" correctly as it
defines the scale of the STL model. Wrong Scale factor will easily make the
whole geometry ten- (hundred-, thousand-) times bigger or smaller than it is in
reality, resulting in a completely meaningless calculation!

• The entries "Origin" are the coordinates of the rotation axis origin.
• The entries "Axis" are the components of the rotation axis direction vector.
• The entry "Feature edges included angle" is a tuning parameter that specifies
maximal angle (in degrees) that is considered "sharp" by the mesher. When two
faces of a boundary geometry make an angle smaller or equal to this number, then
their common edge will be preserved in mesh (the cells’ edges will be aligned
with this line), otherwise it may be smoothed away. If zero is given, only open
edges of the boundary geometry will be preserved. This parameter is only used by
components that are meshed from STL files.
• Directory with STL files – The directory must contain ASCII STL files which,
when merged, give rise to a water-tight boundary surface. Every STL corresponds
to an OpenFOAM patch (with a name taken from the name of the STL file), except
for interface patches which are ultimately renamed to reflect which components
they connect. Note that the STL file names should consist only of alpha-numerical
characters, dashes and underscores.
• Multi-solid STL file – The input is a single ASCII STL file containing multiple
solids. Every solid must have a unique name within the STL file. That name will
be used for naming the patch. Please make sure that the solid names consist only of
alpha-numerical characters, dashes and underscores.
• External OpenFOAM mesh – The patches (and mesh) are taken from an already
existing OpenFOAM mesh. The mesh creation step for this component will be
skipped.
Every patch has several properties. First of all, it is the patch type, which is one of the
following:
• empty – Boundary in non-physical, artificial, dimension; used in two-dimensional
simulations.

©2017 CFD support s.r.o. www.cfdsupport.com 31


32 TCFD® 17.10 – Manual

• symmetry – Special symmetry boundary condition for calculation of just a half of


a perfectly symmetrical system.

• inlet – Entry to the simulated machine, mostly to the first component.

• inletInterface – Entry to other components, connected to some preceding compo-


nent. It is necessary to connect this interface to a specific component by right-
clicking on the row and selecting the component. This change will be reflected in
the component graph.

• outlet – Exit from the simulated machine, mostly the last component.

• outletInterface – Exit from other components, connected to some following com-


ponent. It is necessary to connect this interface to a specific component by right-
clicking on the row and selecting the component. This change will be reflected in
the component graph.

• internalAMI – Internal non-conformal mesh iterface. It is necessary to connect this


interface to another "internalAMI" interface within the same component by right-
clicking on the row and selecting the patch. This change will be indicated by a
colour change of the rows.

• translationAMI – Periodic interface in simulation of a translationally symmetric


domain. It is necessary to connect this interface to another "translationAMI" in-
terface within the same component by right-clicking on the row and selecting the
patch. This change will be indicated by a colour change of the rows.

• rotationAMI – Patches on the boundaries of a segment, which are (periodically)


mapped to each other. It is necessary to connect this interface to another "rota-
tionAMI" interface within the same component by right-clicking on the row and
selecting the patch. This change will be indicated by a colour change of the rows.

• wall – General no-slip wall.

• wallSlip – General perfect-slip wall.

• hub – A specific type of wall.

• shroud – A specific type of wall.

• blade – A specific type of wall.

• bladePressureSide – A specific type of wall.

• bladeSuctionSide – A specific type of wall.

32 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 33

• bladeLeadingEdge – A specific type of wall.

• bladeTrailingEdge – A specific type of wall.

• bladeHubFillets – A specific type of wall.

• bladeShroudFillets – A specific type of wall.

• bladeCap – A specific type of wall.

• cutWater – A specific type of wall.

Besides the specific type, every patch can be either rotating or non-rotating, which is con-
trolled by a check-box in the column labeled "rot". Further columns contain the minimal
and maximal refinement and number of layers, which are used during the meshing. It is
possible to change the value by double-clicking on the required field and either modify-
ing the value by hand or using the spin-box buttons. Finally, the column "mxp", available
only for inlet and outlet interface patches, contains the number of Mixing planes . If "0"
is given, the components will be connected using cyclicAMI (direct weighted interpola-
tion); higher values specify number of Mixing plane strips (circular averaging) to use.
Some columns may not be present for specific geometry sources (e.g. for an external
OpenFOAM mesh).
Further options in this section are

• "Component name", which sets the name of the component used in patch names
and report.

• "Surface hook-up", which corrects some non-water-proof STL boundaries.

• "Rotating component", which makes the whole component rotate (needed for all
componets containing the wheel).

• "No. periodic segments", which is used to set periodicity of a segment when


simulating just a segment of the full wheel.

• "Background mesh size", which sets the basic cell size in the three directions for
the rectangular background mesh (all cells will be such or smaller).

• "Internal point", which specifies arbitrary internal point. This is needed by the
mesher. Internal point can be displayed in the RenderView by the adjacent check-
box. When shown, it can be directly manipulated by mouse.

• "Wheel diameter" is a mandatory parameter only for the "fan" machine and is used
for post-processing.

©2017 CFD support s.r.o. www.cfdsupport.com 33


34 TCFD® 17.10 – Manual

• "Leading edge gap" is an optional parameter specifying distance between the


leading edge of the blade and the adjacent interface (if any). When given, then the
refinement level for leading edge STL surfaces will be calculated such that the gap
contains at least 8 cells across.

• "Trailing edge gap" is an optional parameter specifying distance between the trail-
ing edge of the blade and the adjacent interface (if any). When given, then the
refinement level for trailing edge STL surfaces will be calculated such that the gap
contains at least 8 cells across.

• "Blade cap gap", commonly called “clearance” is the distance between the blade
cap and the shroud. When given, then the refinement level for blade cap STL sur-
faces will be calculated such that the gap contains at least 8 cells across.

• "Cylindrical mesh" requests the use of a cylindrical background mesh instead of


the rectangular, see figure 8.1, and enables the following three parameters.

• "Cylindrical radii", which sets the parameters r1 , r2 and r3 of the cylindrical mesh,

• "Cylindrical grading", which sets the parameters g1 , and g2 of the cylindrical mesh
and

• "Cylindrical warp", which sets the parameter w of the cylindrical mesh.

If a cylindrical background mesh is selected, then the interpretation of "Background


mesh size" changes. Instead of cell sizes in the x, y and z axes it sets the approximate
cell sizes in radial, circumferential and axial directions (with respect to the chosen axis).
The component graph (shown in the figure 3.5) displays all components and their in-
terfaces. Thick arrows point always from inlet to outlet interface. If some interface is
not available (or connected), the arrows become dashed and point elsewhere. This then
indicates an invalid topology. All components must be connected into a single domain us-
ing the inletIterface/outletInterface pairs. The graph can be detached from the Properties
panel by a double-click; this transfers it to a new window. The separated window stays
by default on top of all other windows (this can be manually unselected in the window
manager menu). Further double-click merges the window back into the panel, as does
also closing the window in any other way. The colours in the graph correspond to colours
of the individual components in RenderView, assuming the colouring by vtkBlockColors
is chosen. The graph also displays all inlets and outlets, with inlet and outlet compo-
nents assigned to them. In a valid setup, all inlets and outlets should have exactly one
inlet boundary condition and outlet boundary condition, respectively, assigned to them.
If some inlet/outlet lacks inlet/outlet boundary condition, its name becomes red. If some
inlet/outlet has more than one inlet/outlet boundary condition, its name becomes red, and
so do the inlet/outlet boundary condition arrows pointing to it.

34 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 35

Figure 3.5: Plugin TCFDSource – two examples of the (detached) component graph.
Left: Machine has linear topology with single inlet and single outlet. The fluid enters
impeller component, then goes to stator component, where it leaves. Right: Machine has
cyclic topology and multiple inlets, where first inlet has a unique boundary condition,
while the other two have the same boundary condition. Here, the fluid enters stator com-
ponent via one of the three inlets. The stator component can be left through a single outlet,
or the fluid can flow through the rotor part first. The rotor can be skipped e.g. due to a
leakage – fluid that goes through the leakage goes directly from inlet to outlet, without
ever visiting rotor.

©2017 CFD support s.r.o. www.cfdsupport.com 35


36 TCFD® 17.10 – Manual

Figure 3.6: Plugin TCFDSource – component setup, displaying process of connection


of components via interfaces.

36 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 37

Figure 3.7: Plugin TCFDSource – component setup – connecting the internalAMI /


translationAMI / rotationAMI patches.

3.6 Speedlines
Every simulation consists of individual points with similar setup, which are grouped into
speedlines sharing the rotation speed. Number of speedlines and number of points in
every speedline is chosen in this section. Some other sections then adjust number of their
inputs according to the numbers chosen here.
• The slider "Speedlines" sets the number of speedlines (groups of points with com-
mon rotation speed).
• The entries in "Rotation speed" set the rotation speed of the machine’s wheel
for every speedline, either in radians per second or in full revolutions per minute
(RPM). The unit is chosen in the drop-down box to the right. The number should be
positive when the vector of the angular velocity points in the same direction as the
rotation axis defined in “Components” section (right-hand rule) and negative when
it points into the opposite direction.
• The sliders in "Speedline points" set the number of points in every speedline.
• The entries in "Point iterations" set the number of iterations of steady-state calcula-
tion used for each of the points. This actually sets the maximal number of iterations.
If "Convergence check" is enabled, the solver may terminate even before the it-
eration count reaches this number, if it decides that the efficiency and the fluxes are
sufficiently converged.
• The entries in "Transient times" set the time span of transient calculation used
for each of the points. As in stationary calculation, if "Convergence check" is
enabled, the solver may terminate even before the end of the requested time interval,
if it decides that the efficiency and the fluxes are sufficiently converged.

©2017 CFD support s.r.o. www.cfdsupport.com 37


38 TCFD® 17.10 – Manual

Figure 3.8: Plugin TCFDSource – speedline settings.

3.7 Turbulence
Currently there are several turbulence models supported by TCFDSource:

• the laminar model (i.e. no turbulence),,

• k − ω SST model (default),

• k −  model

• Spalart-Allmaras (RANS variant) and

• Spalart-Allmaras DDES (implies use of Spalart-Allmaras RANS in stationary cal-


culation and Spalart-Allmaras DDES in the transient one)

One of the models has to be selected in the section “Turbulence” and if the advanced
parameters are enabled, the user can also tune parameters of the chosen turbulence model.
The default values of the model parameters are shown in the figure 3.9. Independently of
the turbulence model the user can also require wall roughness, which will be applied on
all walls in the case.

38 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 39

Figure 3.9: Plugin TCFDSource – turbulence settings: k − ω SST and k −  models.

3.8 Boundary condition: Inlet


Examples of inlet boundary conditions settings are displayed in the figures 3.10 and 3.11.
It is possible to define an arbitrary number of inlet boundary conditions. They can be
assigned to individual inlet patches defined in the section “Components”.
There are several possible ways how to prescribe the desired behavior of the simulated
fields at the inlet to the computational domain: Prescribing a fixed inflow (either in kg/s
or m3 /s), or requesting a fixed total pressure. The choice of the boundary conditions is
done by selection of one item of the drop-down list "Inlet BC". The rest of the panel is
then adjusted to the user’s choice.
Parameters of the turbulence model chosen in the section “Turbulence” are common
to all boundary condition types. If k − ω or k −  model is used, then the parameters "Tur-
bulent energy intensity" and "Turbulent dissipation" are available. If Spalart-Allmaras
model is used, then "Turbulent eddy viscosity" is available.

• "Turbulent energy intensity" sets the fraction of the inlet turbulent and total kinetic
energy k/ 12 ρU 2 , typically five per cent (0.05).

• "Turbulent dissipation" sets the inlet turbulent energy dissipation  within the k
models, or the inlet turbulent energy dissipation rate ω within the k − ω turbulent
model.

• "Turbulent eddy viscosity" sets the incoming value of the quantity ν̃.

The exclusive parameters of the "Mass flow rate" inlet boundary condition are:

• "Mass flow rate".

The exclusive parameters of the "Volumetric flow rate" inlet boundary condition are:

• "Volumetric flow rate".

©2017 CFD support s.r.o. www.cfdsupport.com 39


40 TCFD® 17.10 – Manual

The exclusive parameters of the "Total pressure" inlet boundary condition are:

• "Total pressure", which is the inlet total pressure ptot and

• "Total temperature", which is the inlet total temperature Ttot (only needed and
available for compressible simulations).

The flow rate boundary conditions have also directed variants ("Directed mass flow
rate" and "Directed volumetric flow rate"), which allow specification of the angle of the
velocity vectors at inlet. This is done by setting the meridional and circumferential angle
of the inlet direction. The inlet direction is a vector that points typically outside from the
geometry and the velocity vectors will be oriented to be antiparallel with the inlet direc-
tion vectors (i.e. to point inwards). The meridional angle is the angle between the inlet
direction vectors and the direction of the rotation axis. Allowed values of the meridional
angle are between 0 and 180 degrees. The circumferential angle of the inlet direction
vector at a given face is the angle between the inlet direction vector and the plane formed
by the axis and the position vector of the given face. The range of the circumferential
angles is from -90 degrees to +90 degrees, where positive angles correspond to positive
orientation with respect to the rotation axis (right hand rule).
Most of the dimensioned quantities have a user-selectable unit. Also, when the cal-
culation is set up as transient and the advanced mode is switched on, then some of the
boundary condition parameters accept a CSV file with time-dependent values of the pa-
rameter. The first column of the CSV file must contain the times, the second column must
contain the values of the parameter (e.g. mass flow or total pressure), in the same units
as chosen for the steady-state initial calculation. Clicking on “+ CSV” button will open a
file selection dialog; alternatively, the path to the file can be put by hand into the edit field
next to the button. When no time-dependent CSV data are specified, then the transient
calculation will use the same value for the boundary condition parameter as the stationary
calculation. If the calculation is set to run longer than what times are available in the CSV
file, it will use the last available value of the parameter once the maximal time edfined in
CSV is exceeded.

3.9 Boundary condition: Outlet


The outlet boundary conditions are displayed in the figure 3.12. There are two possible
ways how to prescribe the desired behaviour of the simulated fields at the outlet from the
computational domain: Prescribing a fixed pressure or adjusting the pressure based on the
outlet velocity. The choice of the boundary conditions is done by selection of one item of
the drop-down list "Outlet BC". The rest of the panel is then adjusted to the user’s choice.
The boundary condition "Fixed pressure" has only one editable property, of the same
name.

40 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 41

Figure 3.10: Plugin TCFDSource – inlet boundary conditions: Mass flow rate.

©2017 CFD support s.r.o. www.cfdsupport.com 41


42 TCFD® 17.10 – Manual

Figure 3.11: Plugin TCFDSource – inlet boundary conditions: Directed volumetric flow
rate.

42 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 43

The boundary condition "Outlet vent" adjusts the pressure based on the velocity:
pBC = p + 12 RU 2 , where R is the so called resistance. The parameters are

• "Resistance", which specifies the outlet vent resistance R; it can contain multiple
resistance if multiple points are to be computed;

• "Relaxation", which specifies the relaxation of the pressure fields between the iter-
ations of the solver;

• "Max pressure", which sets a pressure limit.

Figure 3.12: Plugin TCFDSource – outlet boundary conditions: Fixed pressure (top),
and outlet vent (bottom).

©2017 CFD support s.r.o. www.cfdsupport.com 43


44 TCFD® 17.10 – Manual

3.10 Initial conditions


The initial conditions are set for each speedline independently. Typical setup is displayed
in the figure 3.13. There are two ways how to initialize the fields for the calculation:
manually and by field mapping. The maual way means specifying uniform initial value
for individual fields that will be solved for.

• The entry "Pressure" sets a constant value of initial pressure throughout the com-
putational domain. The solver will then iteratively improve this initial estimate.

• The entry "Velocity" sets a constant value of initial velocity throughout the compu-
tational domain. It is recommended that the initial flow follows the overall expected
flow direction, typically along the rotation axis.

• The entry "Temperature" sets a constant value of initial temperature throughout


the computational domain.

• The entry "Turbulent energy" sets a constant value of initial turbulent energy k
throughout the computational domain. This is only needed when using k − ω or
k −  turbulence model.

• The entry "Turbulent dissipation" sets a constant value of initial turbulent dissipa-
tion rate  throughout the computational domain. This is only needed when using
k −  turbulence mode.

• The entry "Turbulent dissipation rate" sets a constant value of initial turbulent
dissipation rate ω throughout the computational domain. This is only needed when
using k − ω turbulence mode.

On the contrary, when using the mapped initial condition, the fields will be initialized
by results from some other OpenFOAM calculation. The meshes of the old and the new
calculation need to be very similar and the boundary patches in both cases must have the
same names.

• The entry "Source case" is a path to a directory with a completed TCFD (or gen-
erally OpenFOAM) calculation to be used.

• If the selected case is a valid OpenFOAM case, the selection list "Source time"
can be used to select a particular (stationary) time result directory from the chosen
case.

44 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 45

Figure 3.13: Plugin TCFDSource – initial conditions: Manual (top) and mapped (bot-
tom) variants.

3.11 Simulation controls


The under-relaxation factors and (in advanced mode) the number of non-orthogonal
correctors can be changed in this section, see figure 3.14. Depending on the selection
of incompressible or compressible calculation, the section offers modification of some or
all of the following factors: pressure, velocity, density, temperature and turbulence. If
available, the temperature and turbulence relaxation factors are always considered equal.
The defaults are concisely summarized in the table 3.2.

• The entry "Minimal pressure" sets the lower bound for the pressure. If there is a
cell with a lower pressure after a solver iteration it will be adjusted to this value.
This bounding can help in the beginning of the solution process, when the fields
wildly oscillate iteration-to-iteration before stabilization. The minimal and max-
imal pressure bounds are given in numerical units, which is Pa in compressible
calculation and Pa/(kg/m3 ) = m2 /s2 in incompressible calculation, and in both
cases without contribution of the reference pressure.

• The entry "Maximal pressure" sets the upper bound for the pressure.

• The entry "Maximal velocity" sets the upper bound for the magnitude of the veloc-
ity. Larger vectors are scaled to this magnitude.

• The entry "Minimal temperature" sets the lower bound for the temperature. This
is only available for the compressible setup.

©2017 CFD support s.r.o. www.cfdsupport.com 45


46 TCFD® 17.10 – Manual

• The entry "Maximal temperature" sets the upper bound for the temperature. This
is only available for the compressible setup.

• The entry "Minimal density" sets the lower bound for the density. This is only
available for the compressible setup.

• The entry "Maximal density" sets the upper bound for the density. This is only
available for the compressible setup.

incompressible compressible subsonic compressible transonic


pressure 0.2 0.3 0.8
velocity 0.5 0.7 0.2
density — 0.01 1.0
temperature — 0.5 0.2
turbulence 0.2 0.5 0.2

Table 3.2: Plugin TCFDSource – default relaxation factors for all possible setups. The
compressible subsonic setup is used for fans, the compressible transonic setup is used for
compressors and compressible turbines.

Figure 3.14: Plugin TCFDSource – simulation controls: relaxation factors and bounding
limits.

46 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 47

3.12 Post-processing
This section allows user to define how the post-processing (evaluation of results and gen-
eration of a report) will be done.

• The entry "Averaging window" sets the number of iterations used for calculation
of the averaged fields. Also, this interval is used to monitor convergence: If the
efficiency, inflow and outflow change negligibly during the window, the point is
deemed converged. Finally, it acts as a smoothing interval for the figures in the
resulting report.

• The entry "Transient window" is an analogue of "Averaging window" in a transient


calculation. It can be given either in seconds, or in revolutions.

• The entry "Snapshot interval" has only effect in a transient calculation. It serves
for regular write-out of the results during the calculation, so that they can be later
used e.g. to construct an animation.

• The element "Snapshot fields" can be used to select fields that will be written
during a snapshot. Quantities other than velocity and pressure are rarely needed.

• The selection "Report pressure unit" defines the pressure unit that will be used in
the calculation report.

• The selection "Report temperature unit" defines the temperature unit that will be
used in the calculation report.

• The selection "Report mass flow unit" defines the mass flow unit that will be used
in the calculation report.

• The selection "Report vol. flow unit" defines the volumetric flow unit that will be
used in the calculation report.

• The list "Total pressure profile path" offers the possibility to select a path though
the simulated machine (in terms of component indices) that will be used when plot-
ting the total pressure along the flow (one point per interface encountered on the
way). For linear component topology with single inlet to the first component and
single outlet from the last component there will be only one path and the resulting
total pressure graph will simply correspond to the total pressure variations between
the inlet and the outlet. But for more complicated topologies with cycles of multiple
inlets/outlets there are generally more ways how to choose the path.

• The table "Efficiency probes" has by default a single generic row, which corre-
sponds to the default report being generated. Every row of the table defines inlet,

©2017 CFD support s.r.o. www.cfdsupport.com 47


48 TCFD® 17.10 – Manual

torque and outlet patches. It is possible to add more rows to this table with different
contents, so that more reports will be generated for the chosen evaluation method.
The inlet and outlet patches are used to calculate mass flow and total pressure differ-
ence, the torque patches are used to calculate the torque expended by the fluid/blade
(depending on the machine). Together, they are used to evaluate efficiency and other
quantitites. The switch "convergence" determines whether this particular probe is
considered by the convergence check; the calculation will be stopped as converged
only when all probes with enabled "convergence" switch sufficiently converge. The
switch “flux weight” determines whether the quantities used to calculate efficiency
are calculated from area-averaged or mass-flow-averaged quantities.

• The table "Blade to blade views" contains a list of requested blade-to-blade views
(circularly unwrapped and slices meshes) to be generated by Turbo Blade Post. The
column "meshes" contains a list of meshes that will be unwrapped. It is possible to
use both the internal meshes and individual patches. The hub and shroud patches
must be provided in the next two columns as they define the requested transfor-
mation of the mesh. The column "fields" is used to select the field that will be
displayed on the blade-to-blade view. Finally, "span" contains a space-separated
list of positions between the hub and the shroud where the blade-to-blade views
will be taken.

• The switch "Group by point" reorders the blade-to-blade views in the report so that
figures corresponding to the same calculation point are grouped together; otherwise
figures corresponding to the same span are grouped together. The former option is
good for visualisation of how the field changes in space, whereas the latter option
is good for visualisation of how the field changes with the boundary condition.

• The table "Meridional averages" contains a list of meridional averages to be gen-


erated by Turbo Blade Post. It can be used only with component indices, but other-
wise the meaning of its columns is identical to "Blade to blade views".

• The table "Additional data files" is used to add user data to the graphs in the final
report from the calculation. The data should be provided in the form of Gnuplot-
readable data files, i.e. text files with white-space-separated equal-length columns
of numbers. The graph into which the data are to be added is chosen in the second
column, the column indices to be used in the remaining two (first column has index
1). Several data-lines within a single data file can be achieved by interrupting the
columns by an empty row; this is useful particularly in the multi-speedline summary
diagrams (their name ends with "-all").

48 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 49

Figure 3.15: Plugin TCFDSource – post-processing.

©2017 CFD support s.r.o. www.cfdsupport.com 49


50 TCFD® 17.10 – Manual

3.13 Meshing options: Snappy hex mesh


The parts of the default panel are displayed in the figures 3.16, 3.17, 3.18 and 3.19.
The most important numbers are the refinement levels (minimal and maximal) for
individual patches. The mesher will subdivide the cells of the background mesh a few
times. The count of these subdivisions is always in the given interval and depends on the
vicinity of other patches and the local curvature. The remaining parameters are:

• The switch "Castellated mesh" enables and disables the castellated mesh phase.
For normal operation it is always enabled.

• The value "Max global cells" sets a hard limit on the total number of cells to
prevent memory overflow.

• The value "Max local cells" sets a soft limit on the number of cells per meshing
process. When reached, the redistribution of the cells between the processes is done
in a more careful (and slower) way.

• The value "Min refinement" sets a limit on the lowest number of cells refined in
previous iteration of the mesher, which still triggers another iteration. If zero is
given, the mesh will be refined ideally according to the algorithm of the mesher.
Slightly higher values speed up the castellated mesh phase of the meshing without
great impact on the quality of the mesh.

• The value "Max load unbalance" is the largest relative difference in number of
cells across the mesher’s processes, which is considered low and does not trigger
(slow) redistribution.

• The value "Cells between levels" sets the minimal number of consecutive cells of
a single refinement level in area where the refinement level dramatically changes.

• The number "Resolve feature angle" is an angle in degrees.

The switch "Add layers" enables and disables the layer mesh phase, where a boundary
layer is added to the walls. The user can select number of boundary layers per a patch
group (hub, shroud, blade cap, etc.). The other parameters can be used to tune the mesher
operation. The other parameters can be used to tune the mesher operation.

3.14 Scripting
For experienced users it is possible to extend the Turbomachinery CFD workflow by
custom scripts. These scripts are expected to be written in basic Python 2.7 and they

50 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 51

Figure 3.16: Plugin TCFDSource – advanced mesh setup: Castellated mesh.

Figure 3.17: Plugin TCFDSource – advanced mesh setup: Snap mesh.

©2017 CFD support s.r.o. www.cfdsupport.com 51


52 TCFD® 17.10 – Manual

Figure 3.18: Plugin TCFDSource – advanced mesh setup: Mesh quality.

Figure 3.19: Plugin TCFDSource – advanced mesh setup: Layer mesh.

52 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 53

are executed at specific moments during the workflow. It is allowed to assign mul-
tiple execution points to a single script, see figure 3.20. The script can use the pre-
defined variable CaseDirectory, which contain the full absolute path to the directory
with the OpenFOAM case. Besides the standard Python functions one can also use the
TurbomachineryCFD-specific functions SetEntry and WriteFile. For example the
following tiny script
SetEntry("system/fvSolution", "solvers/p/nCellsInCoarsestLevel", "10")
WriteFile("system/fvSolution")

will change the coarsest-level cell number in pressure GAMG solver to 10, followed by
writing the modified file. The function SetEntry does all modifications in memory and
the result is written to disk only when the function WriteFile is used, or during writing
requested by the workflow. Apart from the two functions, there is also a predefined string
variable CaseDirectory which contains the absolute path to the case and two other
access functions
RenameEntry(<file>, <entry>, <newname>)
DeleteEntry(<file>, <entry>)

with obvous purpose: The former changes the name of an entry (i.e. the keyword that
introduces the entry), whereas the latter erases the whole entry from the file.

Figure 3.20: Plugin TCFDSource – addition of custom user scripts to be executed during
the workflow.

©2017 CFD support s.r.o. www.cfdsupport.com 53


54 TCFD® 17.10 – Manual

54 www.cfdsupport.com ©2017 CFD support s.r.o.


Chapter 4

TCFD® – Running & PostProcessing

4.1 TCFDManager plugin


The second part of the simulation is the calculation and its postprocessing. The plugin
TCFDManager offers a simple user interface for these two tasks in the framework of
Turbomachinery CFD. It builds on the plugin TCFDSource described in the previous
chapter.
When starting a new calculation, make sure that the TCFDManager plugin is loaded
(Tools > Manage Plugins...). If you can see the plugin in the list (“SMTCFDManager...”),
you should be also able to locate the VTK source in the menu Filters (Sources > Alpha-
betical > TCFD Manager or Sources > Turbomachinery > TCFD Manager). Select that
item; it will add a new object to the Pipeline Browser window. Note that the filter TCFD-
Manager can be used only together with TCFDSource. An instance of TCFDSource
(or its “Settings” output port) must be selected in the Pipeline Browser for TCFDMan-
ager to be even selectable!

Figure 4.1: Filter TCFDManager added to the Pipeline Browser.

The user interface of the TCFDManager is much simpler than that of the TCFDSource.
The following sections provide details for individual form fields.

55
56 TCFD® 17.10 – Manual

4.2 TCFDManager settings


The filter are displayed in the figure 4.3.

• The field “Output path” is a working directory, where new calculations are to be
created. If the TCFDSource has been initialized by a Turbomachinery CFD setup
file, this field will be already filled with the directory containing the file, or – if such
directory is an OpenFOAM case directory – by its parent directory.

• The field “Directory name” is the name of a new directory containing the next
calculation to be done. There are several possible scenarios for this option:

– If the TCFDSource has been initialized by a Turbomachinery CFD setup


file and that file is already inside of an OpenFOAM case directory, then that
directory name will be used here making the CFD Processor use the already
calculated data and, if needed, overwrite them with new results.
– If the loaded setup file is not located inside of an OpenFOAM case, then the
directory name will be left empty.
– In any case, the use may decide to specify an own name and press Apply.

• The button “Write case” will write a new OpenFOAM case into the directory spec-
ified by the combination of the above two fields. If no “Directory name” is given,
CFD Processor will provide some directory name, which is not yet used in the
“Output path”, and put the OpenFOAM case in there. This automatically suggested
directory name is always in the form “ofcaseX”, where X is lowest non-negative
integer available. Note that when “Directory name” is set, then whenever the Apply
button is pressed, this “Write case” action will be done automatically.

• The button “Write + Clean case” will first write the case files corresponding to
the current setup and then erase all other files from the case. This is useful when
restarting a calculation with different settings. Use it carefully, you may lost old
data.

• The button “Run all” will take care of rest of the steps. It will mesh the domain,
solve the fields and evaluate results. If more control is required, the user can use
the buttons in the “Manual Run” sections.

• The buttons “Build” can be used to prepare the mesh of a component. This needs
to be done even for external meshes (those can be distinguished by the note “(ext)”
displayed in the title of the component), so that the patches are renamed and mesh
is analyzed and copied to the appropriate destinations. The progress of meshing is
indicated by elapsed time displayed on the button. The button “Merge” is used to
concatenate meshes of individual components and create the final merged mesh of

56 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 57

the whole machine. The effect of the button “Mesh all” is equivalent to using all
“Build” buttons and the “Merge” button. The “Merge” button cannot be used until
all components are successfully meshed. The success is indicated by a change of
colour. Red colour means no mesh, yellow colour means invalid mesh (or meshing
in progress), green colour means valid mesh.

• Once a component’s mesh (or merged mesh) is ready, it can be displayed. To display
the mesh toggle the “Show” button and click “Apply”. Depending on the actual
layout of ParaView panels, the user may need to open a RenderView window and
display the loaded mesh by clicking on the eye symbol next to the “Mesh” output
of the TCFDSource filter in the Pipeline Browser.

• The button “Run calculation” will run the second stage of the workflow: calculation
of the physical fields for each simulation point. The progress of each point is shown
in the point progress bar (“Point (stead)”) and the progress of the whole calculation,
which can be composed of a sequence of points, is shown in the calculation progress
bar (“Calculation (stead)”), see figure 4.5. There are also the unsteady progress bars
if the setup includes a transient run.

• The button “Skip to next point” can be used during the calculation e.g. when the
currently calculated point seems to be converged and the user wants to continue
with the next point. Note that there is always a delay between pressing the button
and skipping action, which amounts to one or two iterations.

• The button “Abort calculation” will gracefully terminate the calculation allowing
for further use of ParaView. Note that there is some delay between pressing the
button and the termination itself. This button can be also used to terminate meshing
or report phase.

• The button “Abort calculation (+ write)” is similar to the previous with the addition
that the current state of the calculation is written out before termination. This is
useful for debugging purposes.

• The button “Update report” will regenerate the report containing various extracted
data, like the residua, efficiencies, pressure information etc. Some of the values
and plots may not be available until the end of the run. The report is a HTML
document, which can be displayed in the HTML View panel, see 4.7. The report
update is generally fast, but for long transient calculations or calculations with many
points and speedlines it can take even a few minutes. The progress is indicated in
the adjacent progress bar. The report is also automatically updated at the end of
the calculation. Moreover, one can set the auto-refresh interval (in minutes) in the
editable field above the progress bar (and confirm Apply). If a positive value is set,
it will be used during the calculation.

©2017 CFD support s.r.o. www.cfdsupport.com 57


58 TCFD® 17.10 – Manual

• “Light report” has a simillar function as “Update report”, but produces only a subset
of the full report, particularly the “Efficiency”, “Head” and “Total pressure differ-
ence” sections. This is useful to monitor convergence of these results during the
calculation.

• The button “Show results” will open the OpenFOAM calculation selected in the
drop-down list “Results” using the built-in OpenFOAM reader. There is one case
for the whole stationary simulation and separate cases for individual points of the
transient calculation.

When the Apply button is pressed, the TCFDManager will call CFDProcessor to
analyze the settings. This involves also inspection of the provided geometry and may take
a while. The progress of geometry analysis is shown on the ParaView’s main progress
bar.
If ParaView was launched from a Unix terminal, it is possible to read some diagnostic
information in the terminal. This information comes directly from the CFD Processor
libraries. Alternatively, the user can enable the Turbomachinery CFD output window
from the menu View, which contains the same information, see figure 4.2.

Figure 4.2: Dockable log window in TCFDManager showing progress of meshing.

58 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 59

Figure 4.3: Properties of the TCFDManager filter.

©2017 CFD support s.r.o. www.cfdsupport.com 59


60 TCFD® 17.10 – Manual

Figure 4.4: Meshing progress in TCFDManager showing the elapsed time.

Figure 4.5: Point and calculation progress indicator of TCFDManager. Apart from the
graphical representation, it shows the index of the point currently being solved, number of
iterations finished, number of iterations in total and estimated remaining time. In transient
calculation (below) the iterations are replaced by the simulated time. The bottom three
progress bars are only available for a transient calculation.

60 www.cfdsupport.com ©2017 CFD support s.r.o.


©2017 CFD support s.r.o.
www.cfdsupport.com
support@cfdsupport.com

Figure 4.6: View of the input components (surface mesh, left RenderView window) and the resulting unstructured volume
mesh generated by CFD Processor using the snappyHexMesh mesher (right RenderView window).

61
61
62 TCFD® 17.10 – Manual
Figure 4.7: View of the final report from the CFD Processor.

62 www.cfdsupport.com ©2017 CFD support s.r.o.


Chapter 5

TCFD® – Configuration File Options

The Turbomachinery CFD file produced by TCFDSource has mostly the *.tcfd exten-
sion. It is a human-readable plain text file where every line falls into one of the following
categories:

• Empty line.

• Comment, introduced by a hash sign (‘#’).

• Keyword–values pair.

The keywords are strings uninterrupted by a whitespace character. They contain only al-
phanumerical characters, numbers, dashes and underscores. Every keyword can be gener-
ally set to an arbitrary number of values. A value is a string uninterrupted by a whitespace
character. Some keywords have a special structure “N_something”, where “N” is a pos-
itive number. These are used to assign properties to individual components, speedlines,
working points, post-processing modes etc. This nest to deeper levels, resulting in key-
words like “X_keywd1-Y_keywd2-Z_keywd3”. A complete list of recognized keywords,
together with some sample values and explanation, is presented in the table at the end of
this chapter.
Both the UNIX-like (LF) and Windows (CR+LF) line endings are supported on both
UNIX-like and Windows operating systems.
Some numerical values in the TCFD file can bear a user-selectable physical unit. This
is always indicated in the keyword table as “Selectable unit”. Table 5.1 summarizes the
available units. The unit is appended to the numerical value using an underscore. So,
for instance, one millimeter is denoted as 1_mm or 0.1_cm or 0.001_m. While the
temperature quantities allow the use of the degree symbol, e.g. 100_◦ C, it is recognized
in UTF-8 encoding only (degree symbol is not part of ASCII). This is natural in modern
Unix-like operating systems, but we recommend sticking to 1_C in Windows. When a
number is used without unit suffix, it is assumed that it is in SI (i.e. the metric system).

63
64 TCFD® 17.10 – Manual

Quantity Symbol Known units Suffixes


time t seconds (SI) _s, _sec, _seconds
minutes _m, _min, _minutes
hours _h, _hrs, _hours
revolutions _revolutions
length l metres (SI) _m
decimetres _dm
centimetres _cm
millimetres _mm
inches _in
feet _ft
temperature T Kelvin (SI) _K, _Kelvin
degrees of Celsius _◦ C, _C, _Celsius
degrees of Fahrenheit _◦ F, _F, _Fahrenheit
pressure p Pascal (SI) _Pa, _Pascal
bar _bar
millibar _mbar, _millibar
atm _atm
Torr _torr, _Torr, _mmHg
pounds per square inch _psi
density ρ kg per cubic metre (SI) _kg/mˆ3
g per cubic centimetre _g/cmˆ3
heat capacity c SI _J/(kg.K)
Btu/(lb·F◦ ) _Btu/(lb.F)
angular velocity ω radian per second (SI) _rad/s, _sˆ-1
revolutions per minute _RPM
mass flow rate ṁ,φ kg per second (SI) _kg/s
g per second _g/s
volumetric flow rate φ m3 per second (SI) _mˆ3/s
litres per second _l/s
dynamic viscosity µ poiseouille (SI) _Pa.s, _Pl
poise _P
centipoise _cP

Table 5.1: Physical units recognized by CFD Processor.

64 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 65

Here is a sample of a TCFD file:

1 # Machine type AF-nq105


2 type fan
3
4 # Speedlines and initial conditions
5 numberOfSpeedlines 1
6 angularVelocity -471.238898038469
7 1_numberOfPoints 16
8 1_iterations 500 500 500 500 500
9 1_initialPressure 101325
10 1_initialVelocity 0 0 9.74014381911833
11 1_initialTurbulentEnergy 0.001
12 1_initialTurbulentDissipation 100
13
14 # Simulation controls
15 processors 6
16 UMax 1000
17 pMin -50000
18 pMax 50000
19
20 # Inlet boundary conditions
21 numberOfInletBoundaryConditions 1
22 1_inletBoundaryCondition-type volumetricFlowRate
23 1_inletBoundaryCondition-volumetricFlowRate 5 4.75 4.5 4.25 4
24 1_inletBoundaryCondition-turbulentEnergyIntensity 0.05
25 1_inletBoundaryCondition-turbulentDissipation 100
26
27 # Outlet boundary conditions
28 numberOfOutletBoundaryConditions 1
29 1_outletBoundaryCondition-type fixedPressure
30 1_outletBoundaryCondition-fixedPressure 0 0 0 0 0
31
32 # Physical settings & Fluid properties
33 fluidName air
34 compressibility incompressible
35 referenceDensity 1.2
36 dynamicViscosity 1.842E-5
37 gravitationalAcceleration 0 0 0
38 referencePressure 101325
39 referenceTemperature 293.15
40
41 # Geometrical information
42 scaleFactor 0.001
43 origin 0 0 0
44 axis 0 0 1
45 numberOfRegions 2
46
47 # Information of region 0: Impeller
48 1_componentName impeller
49 1_wheelDiameter 340
50 1_filePath ./STL
51 1_internalPoint 11.5 -161 28.4
52 1_backgroundMeshSize 30 30 30
53 1_inlet impeller-inflow
54 1_2_outletInterface impeller-outflow
55 1_2_outletInterface-mixingPlanes 10
56 1_shroud impeller-shroud
57 1_hub impeller-hub
58 1_blade impeller-blades
59 1_blade-refinementSurfaces 2 4
60 1_rotatingRegion true

©2017 CFD support s.r.o. www.cfdsupport.com 65


66 TCFD® 17.10 – Manual

61 1_rotatingPatches impeller-shroud impeller-hub impeller-blades


62
63 # Information of region 1: Vaned stator
64 2_componentName stator
65 2_wheelDiameter 0
66 2_filePath ./STL
67 2_internalPoint 155 -11.5 85.1
68 2_backgroundMeshSize 20 20 20
69 2_1_inletInterface vanedGate-inflow
70 2_1_inletInterface-mixingPlanes 10
71 2_outlet vanedGate-outflow
72 2_outlet-refinementSurfaces 2 4
73 2_shroud vanedGate-shroud
74 2_hub vanedGate-hub
75 2_blade vanedGate-blades
76 2_blade-refinementSurfaces 3 4
77 2_rotatingRegion false

66 www.cfdsupport.com ©2017 CFD support s.r.o.


©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description
type fan − yes
I Machine class, one of: fan, pump, turbine, waterTurbine, compressor.
processors 4 − no
I Number of CPU cores used for simulation. Default = 1. If processors > 1, then a domain-decomposition solution with MPI
communication is used.
bindToCore true − no
I Lock processes to cores to prevent their migration. This is currently active only in Linux.
hosts node1 node2 node3 − no

support@cfdsupport.com
I List of remote machines for scheduling parallel processes. Paswordless login must be available. Currently active only in Linux.
www.cfdsupport.com

transient no | yes | semiAMI | semiMXP − no


I Append transient simulation after stationary. Default is “no”. The semi-transient modes “semiAMI” and “semiMXP” use MRF
method instead of physical rotation, albeit with time derivatives.
Co 0.9 − no
I Courant number (transient simulations only).
numberOfSpeedlines 3 − yes
I Number of speedlines (different rotation speeds).
1_numberOfPoints 3 − yes
I Number of points for the first speedline. All speedline points share rotational speed.
1_iterations 1000 1000 1000 − yes
I Number of iterations for each point of a speedline.
1_transientTime 1.0 1.0 1.0 s no
I Running time of transient simulation in seconds.
1_transientRevolutions 555 − no
I Running time of transient simulation in impeller revolutions.
pMin -2000 Pa (m2 /s2 ) no
67

67
68

68
Keyword Allowed / sample values Units Mandatory
I Description
I Bounding value for pressure for robust convergence. Pascals assumed in compressible case, kinematic pressure in incompressible
case.
pMax 5000 Pa (m2 /s2 ) no
I Bounding value for pressure for robust convergence. Pascals assumed in compressible case, kinematic pressure in incompressible
case.
UMax 1000 m/s no
I Bounding value for robust convergence.
rhoMin 0.1 kg/m3 no
I Bounding value for robust convergence.

TCFD® 17.10 – Manual


www.cfdsupport.com

rhoMax 20 kg/m3 no
I Bounding value for robust convergence.
TMin 273.15 K no
I Bounding value for robust convergence.
TMax 1000 K no
I Bounding value for robust convergence.
p_relax 0.2 − no
I Pressure under-relaxation factor.
U_relax 0.5 − no
©2017 CFD support s.r.o.

I Velocity under-relaxation factor.


rho_relax 1 − no
I Density under-relaxation factor.
tt_relax 0.2 − no
I Temperature and turbulence under-relaxation factor.
X_tolerance 1E-8 − no
I Linear solver tolerance for quantity X = p, U, h, ...
©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description
X_relTol 1E-3 − no
I Linear solver relative tolerance of quantity X = p, U, h, ...
nonOrthoCorrectors 0 − no
I Non-orthogonality-compensating nested pressure iterations.
numericalOrder first − no
I “First” or “second” numerical order.
averagingWindow 100 − no

support@cfdsupport.com
I Averaging window for stationary calculation. Does the averages over last n iterations. Checks convergence for last n iterations.
www.cfdsupport.com

transientWindow 0.1_revolutions − (s) no


I Averaging window for transient calculation. Use the suffix _revolutions or _seconds to determine units for the time interval.
snapshotInterval 0 s no
I Secondary write for transient calculation.
snapshotFields pU − no
I Which fields to write during snapshots.
convergenceCheck true − no
I Monitor convergence and auto-skip to next point when convergence has been reached.
convergenceCheck-tolerance 0.001 − no
I Relative convergence threshold for efficiency and mass flow.
userDefinedFunctions scripts/run.py afterWrite − no
I Custom user script setup.
angularVelocity -185 -190 -195 rad/s, RPM yes
I Rotation speeds for all speedlines. Selectable unit.
inletBoundaryCondition massFlowRate − yes
I Inlet boundary condition to use. Possible options are: massFlowRate, directedMassFlowRate, volumetricFlowRate, directed-
69

69
VolumetricFlowRate, totalPressure.
70

70
Keyword Allowed / sample values Units Mandatory
I Description
1_inletBoundaryCondition-1_massFlowRate 0.126 0.124 0.120 kg/s yes*
I Boundary condition values for all points of the first speedline for first BC of type “massFlowRate”. Selectable unit.
1_inletBoundaryCondition-1_massFlowRate-1_csv bc/mphi.csv − no
I Transient boundary condition data for first boundary condition, first speedline, first point.
1_inletBoundaryCondition-1_volumetricFlowRate 0.126 0.124 0.120 m3 /s yes*
I As above, for BC of type “volumetricFlowRate”. Used for incompressible calculations. Selectable unit.
1_inletBoundaryCondition-1_volumetricFlowRate-1_csv bc/phi.csv − no

TCFD® 17.10 – Manual


I Transient boundary condition data for first boundary condition, first speedline, first point.
www.cfdsupport.com

1_inletBoundaryCondition-1_totalPressure 200000 150000 100000 Pa yes*


I As above, for BC of type “totalPressure”. Selectable unit.
1_inletBoundaryCondition-1_totalPressure-1_csv bc/pTot.csv − no
I Transient boundary condition data for first boundary condition, first speedline, first point.
1_inletBoundaryCondition-1_totalTemperature 1000 900 800 K yes*
I Boundary condition values for temperature in compressible calculations for the first speedline. Selectable unit.
1_inletBoundaryCondition-1_meridionalAngle 90 deg yes*
I Additional parameter for “directedMassFlowRate” and “directedVolumetricFlowRate” boundary conditions.
1_inletBoundaryCondition-1_circumferentialAngle 0 deg yes*
©2017 CFD support s.r.o.

I Additional parameter for “directedMassFlowRate” and “directedVolumetricFlowRate” boundary conditions.


1_inletBoundaryCondition-inletTurbulentEnergyIntensity 0.05 − yes*
I Turbulent intensity, typically 2%-5%. Only needed for k-omega or k-epsilon models.
1_inletBoundaryCondition-inletTurbulentDissipation 100 1/s yes*
I Boundary condition for turbulent dissipation (in case of k-epsilon turbulence model) or turbulent dissipation rate (in case of
k-omega turbulence model). Not needed for other models.
1_inletBoundaryCondition-turbulentEddyViscosity 0.01 m2 /s yes*
I Parameter of the Spalart-Allmaras turbulence model, not needed for other models.
©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description
outletBoundaryCondition outletVent | fixedPressure − yes
I Outlet boundary condition to use. Possible options are “outletVent” and “fixedPressure”.
1_outletBoundaryCondition-1_outletVentResistance 048 − yes*
I Outlet vent boundary condition resistance factor values for individual points of the first speedline.
1_outletBoundaryCondition-outletVentRelaxation 0.1 − yes*
I Outlet vent boundary condition relaxation factor value. Only for experienced users.
1_outletBoundaryCondition-outletVentMaxPressure 200000 Pa yes*

support@cfdsupport.com
I Outlet vent boundary condition maximum outlet pressure value. Selectable unit.
www.cfdsupport.com

1_outletBoundaryCondition-1_fixedPressure 100000 110000 120000 Pa yes*


I Average oulet pressure value for all points of the first speedline. Selectable unit.
fluidName water | air | custom − yes
I Name of the fluid. Used for various material properties defaults.
compressibility incompressible | compressible − yes
I Fluid flow nature: compressible or incompressible.
referenceDensity 1.2 kg/m3 yes
I Reference density of the fluid. Selectable unit.
dynamicViscosity 0.000018 Pa · s yes
I Dynamic viscosity of the fluid. Selectable unit.
gravitationalAcceleration 000 m/s2 no
I Gravity in Cartesian coordinates (x y z components).
referencePressure 101325 Pa yes
I Reference pressure. All other pressures will be considered relative to this one. Selectable unit.
referenceTemperature 293.15 K yes*
I Reference temperature. *) Only used in compressible calculations. Selectable unit.
71

71
72

72
Keyword Allowed / sample values Units Mandatory
I Description
transport sutherland | constant − no
I Viscous transport model.
Pr 0.7 − no
I Constant transport parameter (Prandl number, default air: 0.7, water: 7)
As 1.512e-06 − no
I Sutherland transport parameter.
Ts 120 K no

TCFD® 17.10 – Manual


I Sutherland transport parameter.
www.cfdsupport.com

kOmegaSST-alphaK1 0.85 − no
I Parameter of the k-omega SST model.
kOmegaSST-alphaK2 1 − no
I Parameter of the k-omega SST model.
kOmegaSST-alphaOmega1 0.5 − no
I Parameter of the k-omega SST model.
kOmegaSST-alphaOmega2 0.856 − no
I Parameter of the k-omega SST model.
kOmegaSST-beta1 0.075 − no
©2017 CFD support s.r.o.

I Parameter of the k-omega SST model.


kOmegaSST-beta2 0.0828 − no
I Parameter of the k-omega SST model.
kOmegaSST-betaStar 0.09 − no
I Parameter of the k-omega SST model.
kOmegaSST-gamma1 0.5555556 − no
I Parameter of the k-omega SST model.
©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description
kOmegaSST-gamma2 0.44 − no
I Parameter of the k-omega SST model.
kOmegaSST-a1 0.31 − no
I Parameter of the k-omega SST model.
kOmegaSST-b1 1 − no
I Parameter of the k-omega SST model.
kOmegaSST-c1 10 − no

support@cfdsupport.com
I Parameter of the k-omega SST model.
www.cfdsupport.com

kEpsilon-Cmu 0.09 − no
I Parameter of the k-epsilon model.
kEpsilon-C1 1.44 − no
I Parameter of the k-epsilon model.
kEpsilon-C2 1.92 − no
I Parameter of the k-epsilon model.
kEpsilon-C3 -0.33 − no
I Parameter of the k-epsilon model.
kEpsilon-sigmak 1 − no
I Parameter of the k-epsilon model.
kEpsilon-sigmaEps 1.3 − no
I Parameter of the k-epsilon model.
LESDelta-cubeRootVol-delta 1 − no
I Parameter of the Spalart-Allmaras turbulence model, not needed for other models.
roughWalls false − no
I Whether to simulate wall roughness.
73

73
74

74
Keyword Allowed / sample values Units Mandatory
I Description
roughWalls-Ks 0 − no
I Sand-grain roughness.
roughWalls-Cs 0.5 − no
I Roughness constant.
molarWeight 28.9 kg/mol no
I Molar weight (air = 28.9, water = 18.015).
heatCapacityRatio 1.4 − no

TCFD® 17.10 – Manual


I Heat capacity ratio Cp/Cv for “totalPressure” inlet boundary condition.
www.cfdsupport.com

Cp 1004 J/(kg · K) no
I Speficic heat capacity.
R 287.1 J/(kg · K) no
I Gas constant.
cavitationRisk false − no
I Whether to evaluate cavitation properties.
multiphaseCavitation SchnerrSauer − no
I Which model of multiphase cavitation to use, if any. Only for water machines.
multiphaseCavitation-pSat 2300 Pa no
©2017 CFD support s.r.o.

I Saturation pressure for multiphase cavitation.


multiphaseCavitation-sigma 0.075 kg/s2 no
I Surface tension for multiphase cavitation.
multiphaseCavitation-vapourRho 0.02308 kg/m3 no
I Vapour density for multiphase cavitation.
multiphaseCavitation-vapourNu 4.273e-04 m2 /s no
I Vapour kinematic viscosity for multiphase cavitation.
©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description
multiphaseCavitation-SchnerrSauer-n 1.6e+13 1/m3 no
I Bubble number density (parameter of Schnerr-Sauer multiphase cavitation model).
multiphaseCavitation-SchnerrSauer-dNuc 2.0e-06 m no
I Nucleation site diameter (parameter of Schnerr-Sauer multiphase cavitation model).
multiphaseCavitation-SchnerrSauer-Cc 1 − no
I Condensation rate coefficient (parameter of Schnerr-Sauer multiphase cavitation model).
multiphaseCavitation-SchnerrSauer-Cv 1 − no

support@cfdsupport.com
I Vapourisation rate coefficient (parameter of Schnerr-Sauer multiphase cavitation model).
www.cfdsupport.com

initialPressure 101325 Pa yes


I Initial condition for static pressure. Selectable unit.
initialVelocity 0 0 10 m/s yes
I Initial condition for velocity vector (x y z components).
initialTemperature 290 K yes*
I Initial condition for temperature. Only used in compressible calculations. Selectable unit.
initialTurbulentEnergy 1.5 m2 /s2 yes
I Initial condition for turbulent kinetic energy (k).
initialTurbulentDissipation 100 1/s yes
I Initial condition for turbulent kinentic energy dissipation (epsilon) or dissipation rate (omega).
scaleFactor 1 m yes
I Scale factor for STL files and various other metric properties. Selectable unit.
origin 000 scaleFactor yes
I Rotation axis position (any point on axis of rotation). Length unit defined by scaleFactor.
axis 001 − yes
I Rotation axis direction.
75

75
76

76
Keyword Allowed / sample values Units Mandatory
I Description
numberOfRegions 3 − yes
I Number of components.
featureEdgesIncludedAngle 0 deg no
I Angle used to extract STL edges, 0 = only boundaries.
1_wheelDiameter 0 scaleFactor no
I Wheel / Impeller / Rotor diameter for the first component. Used to post-process fans.
1_filePath ./STL − yes*

TCFD® 17.10 – Manual


I Directory with STL files or path to a multi-solid STL of the first component. Can be both relative (w.r.t. TCFD file) and absolute.
www.cfdsupport.com

1_surfaceHookUp true | false − no


I Hook-up the STL files of the first component, default = true.
1_meshPath ./mesh_rotor − yes*
I Path to an existing external OpenFOAM mesh. Use either “1_filePath” or “1_meshPath”.
1_componentName rotor − no
I Custom name for the component (used in patch names)
1_internalPoint 0 0 -200 scaleFactor yes*
I Point inside the first component (affected by scale factor). Defines the interior, where the fluid will simulated. Used only when
meshing.
©2017 CFD support s.r.o.

1_backgroundMeshSize 4.0 4.0 4.0 scaleFactor yes*


I Mesh size in each direction (affected by scale factor). Used only when meshing.
1_inlet pump_pipe_inlet − no
I Inlet surface(s). Must correspond to STL files in a directory or to solids In multi-solid STL file.
1_outlet pump_pipe_outlet − no
I Outlet surface(s).
1_rotationAMI pump_per1 pump_per2 − no
I Rotationally coupled surfaces, in pairs. Used for segment side patches.
©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description
1_translationAMI name_per1 name_per2 − no
I Translationally coupled surfaces, in pairs.
1_internalAMI name_per1 name_per2 − no
I Internal patches coupled through the AMI.
1_numberOfPeriodicSegments 6 − no
I Periodic multiplier, number of segments.
1_wall pump_pipe_wall pump_pipe2_wall − no

support@cfdsupport.com
I General rigid wall surface(s).
www.cfdsupport.com

1_2_inletInterface pump_rotor_inlet − no
I inlet to component 1 from component 2.
1_2_inletInterface-mixingPlanes 0 − no
I Number of averaging planes, default=1 – if 0 then cyclicAMI is used.
1_3_outletInterface pump_rotor_outlet − no
I Outlet from component 1 to component 3.
1_3_outletInterface-mixingPlanes 1 − no
I Number of averaging planes, default=1 – if 0 then cyclicAMI is used.
2_wheelDiameter 80 scaleFactor no
I Wheel / Impeller / Rotor diameter for the second component. Used to post-process fans.
2_filePath ./STL − yes*
I Directory with STL files or path to a multi-solid STL of the second component. Can be both relative (w.r.t. TCFD file) and
absolute.
2_internalPoint 0 0 -200 scaleFactor yes*
I Point inside the first component (affected by scale factor). Defines the interior, where the fluid will simulated. Used only when
meshing.
2_cylindricalBackgroundMesh true | false − no
77

77
78

78
Keyword Allowed / sample values Units Mandatory
I Description

I Background mesh can be cylindrical or Cartesian, default=false.


2_backgroundMeshSize 4.0 4.0 4.0 scaleFactor yes*
I Mesh size in each direction (affected by scale factor). Used only when meshing.
1_cylindricalBackgroundMeshGrading 11 − no
I Cylindrical mesh gradients g1 g2.
1_cylindricalBackgroundMeshRadii 0.05 0.1 0.2 scaleFactor no
I Cylindrical mesh radiuses r0 r1 r2 default: r2/4 r2/2 maxR*1.01.

TCFD® 17.10 – Manual


1_cylindricalBackgroundMeshWarp 0 no
www.cfdsupport.com

I Cylindrical mesh warp, default: 0.


2_inlet pump_rotor_inlet − no
I Inlet surface(s).
2_outlet pump_rotor_outlet − no
I Outlet surface(s).
2_wall pump_rotor_wall pump_pipe2_wall − no
I Rigid wall surface(s).
2_blade pump_rotor_123 pump_rotor_456 − no
I Blade surface(s).
©2017 CFD support s.r.o.

2_hub pump_rotor_hub − no
I Hub surface(s).
2_shroud pump_rotor_shroud − no
I Shroud surface(s).
2_bladeHubFillets pump_rotor_hfill − no
I Hub-fillets surface(s).
2_bladeShroudFillets pump_rotor_sfill − no
©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description

I Shroud-fillets surface(s).
2_bladePressureSide pump_rotor_PS − no
I Blade pressure side surface(s).
2_bladeSuctionSide pump_rotor_SS − no
I Blade suction side surface(s).
2_bladeLeadingEdge pump_rotor_LE − no
I Blade leading edge side surface(s).

support@cfdsupport.com
2_bladeTrailingEdge pump_rotor_LE − no
www.cfdsupport.com

I Blade trailing edge side surface(s).


2_bladeCap pump_rotor_TE − no
I Blade caps surface(s).
2_rotatingRegion true | false − no
I If the region is rotating or not, default is false.
2_cutWater pump_rotor_CW − no
I Cut water component(s).
2_bladeCap-clearance 0.5 scaleFactor no
I Distance between bladeCap and shroud for unshrouded impelers.
2_bladeTrailingEdge-toInterfaceDistance 1 scaleFactor no
I Distance between trailingEdge and outlet interface.
2_bladeLeadingEdge-toInterfaceDistance 1.5 scaleFactor no
I Distance between leadingEdge and inlet interface.
2_rotatingPatches pump_rotor_hubTip − no
I list of rotating patches.
3_wheelDiameter 0 scaleFactor no
79

79
80

80
Keyword Allowed / sample values Units Mandatory
I Description

I Wheel / Impeller / Rotor diameter for the second component. Used to post-process fans.
3_filePath ./STL − yes*
I Directory with STL files or path to a multi-solid STL of the second component. Can be both relative (w.r.t. TCFD file) and
absolute.
3_internalPoint 0 0 -200 scaleFactor yes*
I Point inside the first component (affected by scale factor). Defines the interior, where the fluid will simulated. Used only when
meshing.
3_backgroundMeshSize 111 scaleFactor yes*

TCFD® 17.10 – Manual


I Mesh size in each direction (affected by scale factor). Used only when meshing.
www.cfdsupport.com

3_inlet pump_spiral_inlet − no
I Inlet surface(s)
3_outlet pump_spiral_outlet − no
I Outlet surface(s)
3_wall pump_spiral_wall − no
I Rigid wall surface(s)
numberOfEfficiencyProbes 1 − no
I How many reports to generate (default: 1).
1_efficiencyProbe-inletPatches 1:pump_pipe_inlet − no
©2017 CFD support s.r.o.

I Inlet patches for the first report (default: inlet of first component). Specify patches as “<component>:<patch>”.
1_efficiencyProbe-torquePatches 2:pump_rotor_PS 2:pump_rotor_SS − no
I Torque patches for the first report (default: blades of rotating comps.).
1_efficiencyProbe-outletPatches 3:pump_spiral_outlet − no
I Outlet patches for the first report (default: outlet of last component).
1_efficiencyProbe-convergenceCheck yes − no
I Whether to include this efficiency probe in the convergence check.
©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description
1_efficiencyProbe-fluxWeighted yes − no
I Use mass flow weighting when evaluating quantities needed for efficiency calculation.
numberOfBladeToBladeViews 11 − no
I Number of distinct blade-to-blade views to include in the report (default: 0).
bladeToBladeView-groupByPoint no − no
I Reorder blade-to-blade view figures in report so that they are grouped by point and not by span.
1_bladeToBladeView-meshes 2 − no

support@cfdsupport.com
I Meshes to unwrap for the first blade-to-blade view, mostly whole components or blade patches. Specify component by name or
www.cfdsupport.com

number, patch by “<component>:<patch>”.


1_bladeToBladeView-hubs 1:pump_rotor_hub − no
I Hub patches needed to define the first blade-to-blade view.
1_bladeToBladeView-shrouds 1:pump_rotor_shroud − no
I Shroud patches needed to define the first blade-to-blade view.
1_bladeToBladeView-field U − no
I Field to display on the first blade-to-blade view.
1_bladeToBladeView-span 0.25 0.5 0.75 − no
I Distances between hub and shroud for the first set of blade-to-blade views.
numberOfMeridionalAverages 1 − no
I Number of distinct meridional average views to include in the report (default: 0).
1_meridionalAverage-meshes 2 − no
I Meshes to average for the first meridional average view. Specify component by its name or number.
1_meridionalAverage-field p − no
I Field to display on the first meridional average view.
reportPressure 1_Pa − no
81

81
I Pressure unit used in report.
82

82
Keyword Allowed / sample values Units Mandatory
I Description
reportTemperature 1_K − no
I Temperature unit used in report
reportMassFlow 1_kg/s − no
I Mass flow unit used in report.
reportVolumetricFlow 1_mˆ3/s − no
I Volumetric flow unit used in report.
totalPressureProfilePath 123 − no

TCFD® 17.10 – Manual


I Route through the machine for total pressure plot.
www.cfdsupport.com

additionalGraphDataFiles data/eta.dat flowRateVsEfficiency,1,2 − no


I Supplies additional data sources for report graphs.
1_castellatedMesh true − no
I Whether to generate castellated mesh during meshing of the first component.
1_snap true − no
I Whether to snap the castellated mesh during meshing of the first component.
1_addLayers false − no
I Whether to add layers to the snapped mesh during meshing of the first component.
1_castellate-maxGlobalCells 10000000 − no
©2017 CFD support s.r.o.

I Maximal global number of cells during meshing.


1_castellate-maxLocalCells 10000000 − no
I Maximal number of cells per MPI process during meshing.
1_castellate-minRefinementCells 10 − no
I Minimal number of refined cells after a refinement iteration for termination of refinement iterations.
1_castellate-maxLoadUnbalance 0.1 − no
I Maximal relative difference between individual processes’ cell count not triggering redistribution of the mesh.
©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description
1_castellate-nCellsBetweenLevels 1 − no
I Number of cell transition layers between cells of different refinement level (1 = no transition).
1_castellate-featureEdgesLevel 0 − no
I Level of refinement of the castellated mesh along the feature edges.
1_castellate-default-refinementSurfaces 14 − no
I Default minimal and maximal refinement for all surfaces.
1_inlet-refinementSurfaces 14 − no

support@cfdsupport.com
I Minimal and maximal refinement for inlet boundaries.
www.cfdsupport.com

1_outlet-refinementSurfaces 14 − no
I Minimal and maximal refinement for outlet boundaries.
1_wall-refinementSurfaces 14 − no
I Minimal and maximal refinement for wall boundaries.
1_blade-refinementSurfaces 14 − no
I Minimal and maximal refinement for blade boundaries.
1_hub-refinementSurfaces 14 − no
I Minimal and maximal refinement for hub boundaries.
1_shroud-refinementSurfaces 14 − no
I Minimal and maximal refinement for shroud boundaries.
1_bladeHubFillets-refinementSurfaces 14 − no
I Minimal and maximal refinement for blade hub fillets boundaries.
1_bladeShroudFillets-refinementSurfaces 14 − no
I Minimal and maximal refinement for blade shroud fillets boundaries.
1_bladePressureSide-refinementSurfaces 14 − no
I Minimal and maximal refinement for blade pressure side boundaries.
83

83
84

84
Keyword Allowed / sample values Units Mandatory
I Description
1_bladeSuctionSide-refinementSurfaces 14 − no
I Minimal and maximal refinement for blade suction side boundaries.
1_bladeLeadingEdge-refinementSurfaces 14 − no
I Minimal and maximal refinement for blade leading edge boundaries.
1_bladeTrailingEdge-refinementSurfaces 14 − no
I Minimal and maximal refinement for blade trailing edge boundaries.
1_bladeCap-refinementSurfaces 14 − no

TCFD® 17.10 – Manual


I Minimal and maximal refinement for blade cap boundaries.
www.cfdsupport.com

1_cutWater-refinementSurfaces 14 − no
I Minimal and maximal refinement for cut water boundaries.
1_cyclicAMI-refinementSurfaces 14 − no
I Minimal and maximal refinement for cyclic AMI boundaries.
1_internalAMI-refinementSurfaces 14 − no
I Minimal and maximal refinement for internal AMI boundaries.
1_castellate-resolveFeatureAngle 30 deg no
I Maximal feature angle that has influence on refinement.
1_snap-nSmoothPatch 3 − no
©2017 CFD support s.r.o.

I Number of patch smoothing iterations before finding correspondence to surface.


1_snap-tolerance 2 − no
I Maximum relative distance for points to be attracted by surface.
1_snap-nSolveIter 30 − no
I Number of mesh displacement relaxation iterations.
1_snap-nRelaxIter 5 − no
I Maximum number of snapping relaxation iterations.
©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description
1_snap-nFeatureSnapIter 10 − no
I Number of feature edge snapping iterations.
1_snap-implicitFeatureSnap true − no
I Detect (geometric only) features by sampling the surface.
1_snap-explicitFeatureSnap true − no
I Take into consideration manually generated feature edges.
1_snap-multiRegionFeatureSnap true − no

support@cfdsupport.com
I Detect features between multiple surfaces.
www.cfdsupport.com

1_layers-relativeSizes true − no
I Relative or absolute layer thickness.
1_layers-defaultWall-nSurfaceLayers 3 − no
I Default number of suface layers for a wall.
1_layers-expansionRatio 1.2 − no
I Expansion factor for layer mesh.
1_layers-finalLayerThickness 0.25 − (m) no
I Wanted thickness of the layer furthest away from the wall.
1_layers-minThickness 0.05 − (m) no
I Minimum overall thickness of total layers.
1_layers-nGrow 0 − no
I If points get not extruded do nGrow layers of connected faces that also not grown.
1_featureAngle 90 deg no
I When not to extrude surface.
1_layers-nRelaxIter 25 − no
I Max number of iterations after which relaxed meshQuality controls get used.
85

85
86

86
Keyword Allowed / sample values Units Mandatory
I Description
1_layers-nSmoothSurfaceNormals 10 − no
I Number of smoothing iterations of surface normals.
1_layers-nSmoothNormals 15 − no
I Number of smoothing iterations of interior mesh movement direction.
1_layers-nSmoothThickness 10 − no
I Smooth layer thickness over surface patches.
1_layers-maxFaceThicknessRatio 0.3 − no

TCFD® 17.10 – Manual


I Stop layer growth on highly warped cells.
www.cfdsupport.com

1_layers-maxThicknessToMedialRatio 0.5 − no
I Reduce layer growth where ratio thickness to medial distance is large.
1_layers-minMedianAxisAngle 90 − no
I Angle used to pick up medial axis points.
1_layers-nBufferCellsNoExtrude 0 − no
I Create buffer region for new layer terminations.
1_layers-nLayerIter 50 − no
I Overall max number of layer addition iterations.
1_quality-maxNonOrtho 65 deg no
©2017 CFD support s.r.o.

I Maximum non-orthogonality allowed. Set to 180 to disable.


1_quality-maxBoundarySkewness 20 − no
I Max boundary skewness allowed.
1_quality-maxInternalSkewness 4 − no
I Max internal skewness allowed.
1_quality-maxConcave 80 − no
I Max concaveness allowed.
©2017 CFD support s.r.o.

Keyword Allowed / sample values Units Mandatory


I Description
1_quality-minVol 1E-16 m3 no
I Minimum pyramid volume. Is absolute volume of cell pyramid. Set to a sensible fraction of the smallest cell volume expected.
1_quality-minTetQuality -1E+30 − no
I Minimum quality of the tet formed by the face-centre and variable base point minimum decomposition triangles and the cell
centre.
1_quality-minArea 1E-13 m2 no
I Minimum face area.
1_quality-minTwist 0.02 − no

support@cfdsupport.com
I Minimum face twist.
www.cfdsupport.com

1_quality-minDeterminant 0.001 − no
I Minimum normalised cell determinant. This is the determinant of all the areas of internal faces. It is a measure of how much of
the outside area of the cell is to other cells.
1_quality-minFaceWeight 0.02 − no
I Relative position of face in relation to cell centres (from 0 to 0.5). Orthogonal mesh corresponds to 0.05.
1_quality-minVolRatio 0.01 − no
I Volume ratio of neighbouring cells (from 0 to 1).
1_quality-minTriangleTwist -1 − no
I Per triangle normal compared to average normal.
1_quality-nSmoothScale 4 − no
I Number of error distribution iterations.
1_quality-errorReduction 0.75 − no
I Amount to scale back displacement at error points.
87

87
88 TCFD® 17.10 – Manual

88 www.cfdsupport.com ©2017 CFD support s.r.o.


Chapter 6

TCFD® – Running in Terminal

Apart from the intuitive and interactive graphical user interface in ParaView (TCFD com-
mand), a preset TCFD workflow can be executed also in terminal. This allows further
batch processing and automatization of the CFD calculations by embedding them in larger
(e.g. blade design optimization) scripted workflows. The command-line utility used to ex-
ecute TCFD setup is called CFDProcessor and can be used in the following way:
CFDProcessor -setup pump.tcfd -dir pump-case -allrun
This command would prepare an OpenFOAM-based calculation, in line with the settings
present in the file pump.tcfd, write the calculation configuration into the directory pump-
case, create the mesh, execute the solver and generate the same HTML report that is
normally visible in ParaView. The report is stored in a separate subdirectory of the pump-
case directory.
The same command can be used both in Linux and in Windows. In Windows, the
command should be executed from the OpenFOAM-for-Windows (Cygwin) command
line. In Linux, the OpenFOAM-in-Box environment1 needs to be sourced. Remote ex-
ecution of CFD Processor over SSH is also supported. In that case, though, one should
always forward X11 calls (ssh -X) to enable 3D processing of Turbo Blade Post ren-
ders, i.e. the blade-to-blade views and meridional averages. When those are not needed,
simple non-forwarding session is sufficient.

6.1 CFD Processor command line options


• -help
This option will produce only text output demonstrating usage of CFD Processor
similar to this chapter. The same effect happens also when no command line option
is given at all.
1
OpenFOAM-in-Box is distributed together with Turbomachinery CFD.

89
90 TCFD® 17.10 – Manual

• -setup <file>
Set the path to the TCFD configuration file. Except for the -help and -clean
option, this must be always present.
• -dir <path>
Set a custom name for the directory to be processed. This can be used to refer to
already existing case e.g. when generating report after a finished run. Or, when
the calculation is being initialized (in combination with the -write option), this
sets the name of the directory where the new case will be written. If not given, an
automatic name of the form ofcaseX will be used, where X is the lowest available
number that does not collide with any existing directory.
• -clean
Clean an existing directory, keeping only files that would be written with the -write
option.
• -write
Prepare calculation for run, writing the OpenFOAM configuration of a directory on
disk.
• -mesh
Run the meshing stage.
• -calc
Run the calculation, starting with the stationary one, optionally followed by tran-
sient.
• -report
Generate HTML report from results of the calculated case. It is possible to generate
report any time after the case is written, including during meshing and calculation.
• -lightReport
This is a faster and less complete variant of the above; it contains fewer sections. A
light report is useful to monitor convergence of efficiency and other basic parame-
ters.
• -allrun
Finally, this is a combination of the following switches: -write, -mesh, -calc
and -report.
• -foam <path>
Path to the directory containing the OpenFOAM distribution to use. This is nor-
mally not needed, because CFD Processor can obtain the correct paths from the
environment variables available inside the shell.

90 www.cfdsupport.com ©2017 CFD support s.r.o.


Chapter 7

TCFD® – CFD Theory & Formulas

7.1 Formulas for the Efficiency Evaluation


7.1.1 Hydro Turbine Efficiency
The water turbine efficiency can be evaluated using following efficiency formula:

η waterT urbine = , (7.1)
Qin hin − Qout hout
where η denotes the efficiency, M is the torque, ω is the angular velocity, Q is the volume
flow rate and h is the specific enthalpy which can be evaluated as follows:
1
h = p + (−ρ~g ) · ~r + ρU 2 . (7.2)
2
Subscript in means averaged quantities at the inlet, whereas subscript out denotes averaged
quantities at the outlet. The evaluation of turbine efficiency for different patches is also
possible.

7.1.2 Pump Efficiency


The pump efficiency can be evaluated using following efficiency formula:
Qin hin − Qout hout
η pump = , (7.3)

where η denotes the efficiency, M is the torque, ω is the angular velocity, Q is the volume
flow rate and h is the specific enthalpy which can be evaluated as follows:
1
h = p + (−ρ~g ) · ~r + ρU 2 . (7.4)
2
Subscript in means averaged quantities at the inlet, whereas subscript out denotes averaged
quantities at the outlet. The evaluation of pump efficiency for different patches is also
possible.

91
92 TCFD® 17.10 – Manual

7.1.3 Compressor Efficiency


Adiabatic efficiency. Total to Total. For compressor the following efficiency formula is
used:
  κ−1
p2,tot κ
T2,tot,IS − T1,tot T1,tot p1,tot
− T1,tot
ηacompressor = = (7.5)
T2,tot − T1,tot T2,tot − T1,tot

7.1.4 Turbine Efficiency


Adiabatic efficiency. Total to Static. For steam turbine or centrifugal turbine the following
efficiency formula is used:
T2 − T1,tot
ηaturbine = 
p2
 κ−1
κ c2 (7.6)
T1,tot p1,tot
+ 2c2p − T1,tot

7.1.5 Fan Efficiency


Pt
η f an = (7.7)
Pw
• Pt aerodynamic power, Pt = Yt · ṁ2 [W]

• Pw torque power, Pw = Md · ω [W]


∆ps
• f compress factor, f = 1 − 0.36 · ps1
[-]
∆ps
• Yst static work, Yst = f · ρ1
[m2 /s2 ]
c22 −c21
• Yd dynamic work, Yd = 2
[m2 /s2 ]

• Yt total work, Yt = Yst + Yd [m2 /s2 ]


2·D·∆pt 729.5·∆pt
• psi pressure number, ψ = ρ1 ·c2c
= n2 ·D2 ·ρ1
[-]
Qw 24.3·Qw
• phi flow number, φ = A·cc
= n·D3
[-]

• axialForce axial force on rotor, Fa [N]

• pTotInlet total pressure at the inlet, pt1 [Pa]

• pTotVolute total pressure at the outlet, p0t2 [Pa]

• pTotOutlet total pressure at the wheel outlet, pt2 [Pa]

92 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 93

• pInlet static pressure at the inlet, ps1 [Pa]

• pVolute static pressure at the outlet, p0s2 [Pa]

• pOutlet static pressure at the wheel outlet, ps2 [Pa]

• magUInlet velocity at the inlet, c1 [m/s]

• magUVolute velocity at the outlet, c02 [m/s]

• magUOutlet velocity at the wheel outlet, c2 [m/s]

• massFlowInlet mass flow at the inlet, ṁ1 [kg/s]

• massFlowVolute mass flow at the outlet, ṁ02 [kg/s]

• massFlowOutlet mass flow at the wheel outlet, ṁ2 [kg/s]

• rhoInlet density at the inlet, ρ1 [kg/m3 ]

• rhoVolute density at the outlet, ρ02 [kg/m3 ]

• rhoOutlet density at the wheel outlet, ρ2 [kg/m3 ]

• volumeFlowRateInlet volumetric flow rate at the inlet, Qw1 [m3 /s]

• volumeFlowRateVolute volumetric flow rate at the outlet, Q0w2 [m3 /s]

• volumeFlowRateOutlet volumetric flow rate at the wheel outlet, Qw2 [m3 /s]

• moment torque at wheel, Md [N·m]

• totalPressureDifference difference in total pressure inlet-outlet, ∆pt [Pa]

• staticPressureDifference difference in static pressure inlet-outlet, ∆ps [Pa]

7.2 Turbomachinery CFD Solvers


7.2.1 blueSolver - steady state, incompressible
Turbomachinery CFD solver for steady state, incompressible fluid flow is called blue-
Solver. It was gradually developed during the time from the simpleFoam solver. In
any matters the blueSolver behaves the same way as any standard OpenFOAM solver.
It is compatible with all OpenFOAM applications and libraries. Solver is modified to be
more robust, it can use MRF method, limits for variables can be specified and many other
changes have been done.

©2017 CFD support s.r.o. www.cfdsupport.com 93


94 TCFD® 17.10 – Manual

7.2.2 blueDyMSolver - transient, incompressible


Turbomachinery CFD solver for transient, incompressible fluid flow is called blueDyM-
Solver. It was gradually developed during the time from the pimpleDyMFoam solver.
In any matters the blueSolver behaves the same way as any standard OpenFOAM solver.
It is compatible with all OpenFOAM applications and libraries. Solver is modified to be
more robust, limits for variables can be specified and many other changes have been done.

7.2.3 redSolver - steady state, compressible


Turbomachinery CFD solver for steady state, compressible fluid flow is called redSolver.
It was gradually developed during the time from the rhoSimpleFoam solver. In any
matters the redSolver behaves the same way as any standard OpenFOAM solver. It is
compatible with all OpenFOAM applications and libraries. Solver is modified to be more
robust, it can use MRF method, limits for variables can be specified and many other
changes have been done.

7.2.4 redDyMSolver - transient, compressible


Turbomachinery CFD solver for transient, compressible fluid flow is called redDyM-
Solver. It was gradually developed during the time from the sonicFoam solver. In any
matters the redDyMSolver behaves the same way as any standard OpenFOAM solver.
It is compatible with all OpenFOAM applications and libraries. Solver is modified to be
more robust, limits for variables can be specified and many other changes have been done.

7.2.5 greenSolver - steady state, cavitation


Turbomachinery CFD solver for steady state, cavitating fluid flow is called greenSolver.
It was gradually developed during the time from the interPhaseChangeFoam solver. In
any matters the greenSolver behaves the same way as any standard OpenFOAM solver.
It is compatible with all OpenFOAM applications and libraries. Solver is modified to be
more robust, it can use MRF method, limits for variables can be specified and many other
changes have been done.

7.2.6 greenDyMSolver - transient, cavitation


Turbomachinery CFD solver for transient, cavitating fluid flow is called greenDyM-
Solver. It was gradually developed during the time from the interPhaseChangeDyM-
Foam solver. In any matters the greenDyMSolver behaves the same way as any stan-
dard OpenFOAM solver. It is compatible with all OpenFOAM applications and libraries.
Solver is modified to be more robust, limits for variables can be specified and many other
changes have been done.

94 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 95

7.2.7 Compressible Mathematical Model


The computational model solves following system of equations:

∂ρ ∂
+ [ρuj ] = 0 (7.8)
∂t ∂xj
∂ ∂
(ρui ) + [ρui uj + pδij − τji ] = 0 (7.9)
∂t ∂xj
∂ ∂
(ρe0 ) + [ρuj e0 + uj p + qj − ui τij ] = 0 (7.10)
∂t ∂xj
   
∂ ∂ 1 ∂ 1
(ρh) + ρuj h + qj − ui τij + ρ uk uk uj + ρ uk uk − p = 0 (7.11)
∂t ∂xj 2 ∂t 2
∂ ∂ ∂ui ∂ ∂uj ∂p
(ρh) + [ρuj h + qj ] − τij − (puj ) + p − = 0 (7.12)
∂t ∂xj ∂xj ∂xj ∂xj ∂t

 
1 ∂ui ∂uj 1 ∂uk
τij ≡ 2µSij Sij ≡ + − δij (7.13)
2 ∂xj ∂xi 3 ∂xk
∂T ∂h µ ∂T λ Cp µ
qj = −λ ≡ −α ≡ −Cp , α≡ , Pr ≡ (7.14)
∂xj ∂xj P r ∂xj Cp λ
Cp
γ≡ , p = ρRT (7.15)
Cv
uk uk
e0 ≡ e + , Cp − Cv = R, h = Cp T, e = Cv T (7.16)
2

• Mass conservation 7.8

• Momentum conservation 7.9

• Energy conservation 7.11 and 7.12, two options

• where: Einstein summation is used, ∂ is partial derivative, xi is i-th Cartesian


coordinate, ρ is density, ui is i-th velocity vector component, t is time, p is static
pressure, τ shear stress tensor, δij is Kronecker delta, e0 is total specific energy, µ
is dynamic viscosity, Sij is rate-of-deformation tensor, T is static temperature, P r
is Prandtl number, R specific gas constant, Cp specific heat capacity (at constant
pressure), Cv specific heat capacity (at constant volume), qi i-th heat flux component
(Fourier law), λ heat conductivity coefficient.

• The whole system is closed with boundary conditions.

©2017 CFD support s.r.o. www.cfdsupport.com 95


96 TCFD® 17.10 – Manual

7.2.8 Incompressible Mathematical Model


Incompressible model solves the system of incompressible Navier-Stokes equations
7.17, 7.18.

∇·u = 0 (7.17)
∂u
+ (u · ∇)u = ν∇2 u − ∇p + g (7.18)
∂t

µ
ν≡ (7.19)
ρ

• Mass conservation 7.17

• Momentum conservation 7.18

• where: Symbol ∂ is partial derivative, u is velocity vector, t is time, p is static


pressure [Pa/(kg m−3 ) = m2 s−2 ], µ is dynamic viscosity, ν is kinematic viscosity
and g is gravitational acceleration vector.

• The whole system is closed with boundary conditions.

7.2.9 Unstructured Grid


The computational mesh data is kept in unstructured OpenFOAM format. See e.g. [12].

7.2.10 Finite Volume Method


Solver is based on Finite Volume Method more information can be found e.g. in [2],
[10] or [9].

7.2.11 Three Dimensional


All the models are solved in three dimensions, even 2D-like or 1D-like models are treated
as 3D using special boundary conditions. See e.g. [12].

7.2.12 Steady-State
The system of equations is considered to be steady-state, which means all the time
derivatives are equal to zero. For more details see e.g. [1].

96 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 97

7.2.13 Segregated Solver


Segregated solver is used to compute unknown variables. The Finite Volume Solution
Method can either use a segregated or a coupled solution procedure. With segregated
methods an equation for a certain variable is solved for all cells, then the equation for the
next variable is solved for all cells, etc. For more details see e.g. [1].

7.2.14 Cell Centered Approach


A cell-centered approach stores the variable in all cell centers whereas a node-centered
scheme stores it in the points. For more details see e.g. [3].

7.2.15 Under-Relaxation
Under-Relaxation reduces solution oscillations and helps to keep the computation stable.
After each iteration, at each cell, a new value for variable U in cell i is then updated using
following equation:

UiN EW,U SED = UiOLD + α UiN EW,P REDICT ED − UiOLD



(7.20)
where α is under-relaxation factor. The choice α = 1 corresponds to no under-
relaxation. The choice α < 1 is under-relaxation. This may slow down speed of con-
vergence but increases the stability of the computation, i.e. it decreases the possibility of
divergence or oscillations in the solution. For more details see e.g. [1].

7.2.16 System of Linear Equations


Finite Volume Method converts the system of differential equations to the system of linear
equations:

A·x=b (7.21)
Such a linear algebra problem can be solved with following methods implemented in
OpenFOAM:

Linear system solver method:

• GAMG (Geometric-Algebraic Multi-Grid) for both symmetric and asymmetric ma-


trices

• PBiCG (Preconditioned Biconjugate Gradient ) for asymmetric matrices

• PCG (Preconditioned Conjugate Gradient) for symmetric matrices

©2017 CFD support s.r.o. www.cfdsupport.com 97


98 TCFD® 17.10 – Manual

• smoothSolver (solver using a smoother for both symmetric and asymmetric matri-
ces )

• ICCG (Incomplete Cholesky preconditioned PCG solver, i.e. PBiCG with DIC )1

• BICCG (Diagonal Incomplete LU preconditioned PBiCG solver, i.e. PCG with


DILU)2

Method preconditioner:

• DILU (Diagonal Incomplete LU decomposition)

• DIC (Diagonal incomplete-Cholesky) for symmetric matrices

• FDIC (Faster diagonal incomplete-Cholesky) for symmetric matrices

• diagonal (Diagonal)

• GAMG (Geometric-Algebraic Multi-Grid)

• none (No preconditioning)

• DICGaussSeidel, GaussSeidel, nonBlockingGaussSeidel, symGaussSeidel (for sym-


metric matrices)

For more details see e.g. [9].

7.2.17 SIMPLE Algorithm


For solving pressure - velocity coupling the SIMPLE algorithm is used. For more
details see e.g. [1].

7.2.18 Spatial Integration Numerical Scheme


Space discretization scheme is limitedLinear, which is central scheme of second order
accuracy. There are 55 default OpenFOAM schemes to select:

• CoBlended • LUST • Minmod • SFCD

• Gamma • MUSCL • OSPRE • SuperBee

• Gamma01 • MUSCL01 • QUICK • UMIST


1
Present for backward-compatibility
2
Present for backward-compatibility

98 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 99

• biLinearFit • limitWith • linear • quadraticLinearFit

• blended • limitedCubic • linearFit • quadraticLinearUpwindFit

• clippedLinear • limitedCubic01 • linearPureUpwindFit • quadraticUpwindFit

• cubic • limitedGamma • linearUpwind


• reverseLinear
• cubicUpwindFit • limitedLimitedCubic • localBlended
• skewCorrected
• downwind • limitedLimitedLinear • localMax
• upwind
• filteredLinear • limitedLinear • localMin
• vanAlbada
• filteredLinear2 • limitedLinear01 • midPoint

• filteredLinear3 • limitedMUSCL • outletStabilised • vanLeer

• fixedBlended • limitedVanLeer • pointLinear • vanLeer01

• harmonic • limiterBlended • quadraticFit • weighted

For more details see e.g. [9], [1] or [3].

7.2.19 Temporal Integration Numerical Scheme


- none (Steady-state problem)

7.2.20 Non-Orthogonal Correctors


Pressure equation is repeated according to number of non-orthogonal correctors. This
may reduce the influence of bad computational mesh. For more details see e.g. [9], [1] or
[3].

7.2.21 Number of Iterations on Rotor and Stator Part


User can specify how many sub-iterations are spend on rotor part and stator part during
single iteration. It is recommended to use default option: one sub-iteration on rotor part
and one sub-iteration on stator part. See file fvSolution.

7.2.22 Minimal and Maximal Values Options


During the computation, especially right at its start, some unphysical oscillations of so-
lution may appear. To make the solver more robust there may be minimal and maximal
values specified for selected variables. See file fvSolution.

©2017 CFD support s.r.o. www.cfdsupport.com 99


100 TCFD® 17.10 – Manual

7.2.23 Turbulent Flow


Eight default OpenFOAM turbulence models can be used within this solver:

• LamBremhorstKE • kEpsilon • laminar


• LaunderSharmaKE • kOmega
• RNGkEpsilon • kOmegaSST • realizableKE

7.2.24 MRF (Multiple Reference Frame) Method for Rotation of Ro-


tating Parts
For simulating of the rotation it is used Multiple Reference Frame (MRF) method. MRF
adds source term (acceleration) to velocity (momentum) equations. Source term is applied
on volume cells cellZone. For more details see e.g. [9].

7.2.25 Message Passing Interface (MPI)


For parallel computations there is Message Passing Interface (MPI) standard used. For
more details see e.g. [13].

100 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 101

7.3 Notes on gravitational potential and hydrostatic pres-


sure
7.3.1 Potential of a homogeneous gravitational field
A homogeneous gravitational field is characterized by a constant vector field ~g , the well
known gravitational acceleration. Let us consider some volume or vessel filled with an
incompressible fluid of density %. The gravitational field exerts a force on the fluid. Its
force density f~ is given by the following well known formula

f~ = %~g . (7.22)

It is a simple task to find a potential to (7.22). Let us remind, a potential (if it exists)
of some given force field F~ is defined as a certain function φ satisfying the following
equation
− ∇φ = F~ . (7.23)
We can see that to the f~ given by (7.22) there exists a potential, let us denote it by ϕ,
stating
ϕ (~r) = −%~g · ~r + C , (7.24)
where C ∈ R is a constant of integration3 and ~r is a position vector4 .

7.3.2 Hydrostatic pressure


Let us consider an incompressible fluid at rest in the presence of a homogeneous gravita-
tional field so it is supported by walls of some, possibly open, vessel. Inside a volume of
the fluid there is the well known hydrostatic pressure, let us denote it by p. Assume the
fluid has one free5 part of its boundary, i.e. one part of its surface forms a level, i.e. plane
or its part. Let us denote by ~r0 a position vector6 of an arbitrary point of this plane. Hence
for p holds
p (~r) = %~g · (~r − ~r0 ) . (7.25)
Notice the relation (7.25) is valid inside the volume of the fluid only. If we need to extend
its domain, it is necessary to assure zero values for p outside of the volume of the fluid. For
instance, this is satisfied naturally, if we consider % a constant scalar field but vanishing
outside the volume of the fluid.
3
For it is the change or difference, whether finite or infinitesimal, of the potential that matters, not its
actual value, we disregard such a constant unless stated explicitly.
4
defining the position of a certain point with respect to origin of a system of coordinates
5
i.e. not in contact with any wall of the vessel
6
in a given system of coordinates

©2017 CFD support s.r.o. www.cfdsupport.com 101


102 TCFD® 17.10 – Manual

Figure 7.1: General water turbine sketch. Physical setting of a turbine casing with respect
to a dam. Water levels indicated.

7.3.3 Center of mass of a surface


Consider a two dimensional surface S, choose a system of coordinates and define a posi-
tion vector ~rS of its center of mass as following
s
~r dS
~rS = sS , (7.26)
S
dS

where ~r is a position vector of an element dS.

7.4 Water turbines - notes on calculations


Figure 7.1 represents a physical setting of a turbine casing with respect to a dam. Let
us denote by h the head, i.e. the difference between heights of water levels in front of
the dam and at the back of it. Vertical distance between the center of mass of the inlet
surface of volute and the high water level is denoted by hIn . Vertical distance between
the center of mass of the outlet surface of draft tube and the low water level is denoted by
hOut . Finally, vertical distance between the centres of mass of inlet and outlet surfaces is
denoted by hIO .

102 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 103

We can see there are several simple relations among quantities just defined
h + hOut = hIn + hIO (7.27)
h = hIn + hIO − hOut (7.28)
h − hIO = hIn − hOut (7.29)
To simplify calculations we usually considers water an incompressible fluid with no
phase changes possible and we solve the well known equations, the conservation laws the
fluid obeys.
Coservation of linear momentum is expressed by the Navier-Stokes equation. In this
case (incompressible fluid, steady state) it can take the form
U~ · ∇U
~ − ν∆U ~ = − 1 ∇p + 1 f~ , (7.30)
% %

where U~ is a velocity field, ν kinematic viscosity, % density, p pressure field and f~ is a


force density of a gravitational field, given by (7.22).
Conservation of mass is expressed by the continuity equation. In this case it takes the
simple form
∇·U ~ =0 , (7.31)
It remains to discuss boundary conditions for the equations mentioned above. For we
usually do not know the inlet velocity field, we are about to prescribe pressure field for
both inlet and outlet surface.
At the inlet surface a total pressure is known and it is equal to hydrostatic one. With
the use of formula (7.25) we can write
ptot,In (~r) = %~g · (~r − ~r0,H ) , (7.32)
where ~r0,H is a position vector of an arbitrary point of the high water level (plane). Since
total pressure is defined as a sum of static and dynamical pressure
~2 ,
ptot = p + 1 %U (7.33)
2
we can, by means of this definition (7.33) and formula (7.32), express p at the inlet
~ 2 (~r) .
pIn (~r) = %~g · (~r − ~r0,H ) − 1 %U (7.34)
2
At the outlet the situation is a little bit complicated. After the flow (with high total
pressure) exits the draft tube it mixes with water (with low total pressure) surrounding the
draft tube. We usually take simplifying steps and assume the static pressure of exiting
flow equals the hydrostatic pressure of surrounding water, i.e. we write
pOut (~r) = %~g · (~r − ~r0,L ) , (7.35)
where ~r0,L is a position vector of an arbitrary point of the low water level.
Described steps correspond to real physical setting. In a task like this we need to know
not only the h, but even hIn (optionally hOut ), i.e. a position of the turbine with respect to
the high or low water level. Quantity hIO can be obtained from the given turbine casing
geometry, of course.

©2017 CFD support s.r.o. www.cfdsupport.com 103


104 TCFD® 17.10 – Manual

7.4.1 Alternative formulation


Model setting
Since equation (7.30) is independent on actual pressure field values, but only on its gra-
dients, we can formally simplify the boundary condition at the outlet by adding a certain
constant C to the right hand side of the prescription (7.35) in order to get mean value of
the outlet pressure equal to zero and not to hydrostatic presure at the center of mass of the
outlet surface. If we do this, we have to amend the inlet boundary condition (7.32) the
same way, of course. We can find easily that the constant C has following value

C = %~g · (~r0,L − ~rOutlet ) = −%ghOut , (7.36)

where ~rOutlet is a position vector of the centre of mass of the outlet surface. Hence pre-
scription (7.35) changes to

pOut (~r) = %~g · (~r − ~rOutlet ) , (7.37)

and prescription (7.32) to

ptot,In (~r) = %~g · (~r − ~r0,H + ~r0,L − ~rOutlet ) . (7.38)

A mean value ptot,In of the total pressure at the inlet surface now gives
x
1
ptot,In = SInlet %~g · (~r − ~r0,H + ~r0,L − ~rOutlet ) dS (7.39)
Inlet
x
1
= SInlet
%~g · ~r dS + %~g · (−~r0,H + ~r0,L − ~rOutlet ) (7.40)
Inlet
= %~g · (~rInlet − ~r0,H + ~r0,L − ~rOutlet ) (7.41)
= %g(h − hIO ) , (7.42)

where ~rInlet is a position vector of the center of mass of the inlet surface and g ≡ k~g k.
We can see that in this model setting there is no need to know the position of a turbine
to the water level. It suffices to know h and take the measurement of hIO .

Model setting without an explicit use of ~g in the momentum equation


Let us take a look at the equation (7.30) as if its right hand side were known. Then we
can introduce an alternative quantity, denoted by p−%gh , to the static pressure p

p−%gh = 00 p − %gh00 = p − %~g · ~r = p + ϕ . (7.43)

By means of (7.43) we can formally substitute equation (7.30) by the following one
~ · ∇U
U ~ − ν∆U
~ = − 1 ∇p−%gh , (7.44)
%

104 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 105

for the right hand side takes the same values. This is the consequence of a fact that field
(7.22) has potential and thus a change in potential energy of an arbitrary element of a fluid
is not dependent on its path, but on its initial and final position only.
By introducing p−%gh we formally drop ~g out from the momentum equation. However,
in order to obtain the same solution as in the previous settings, it is necessary to alter the
presrciption (7.38) by adding %~g · (~rOutlet − ~rInlet ) to its right hand side7 . By doing this
we obtain a new prescription, but this time for the quantity p−%gh

p−%gh,tot,In (~r) = %~g · (~r − ~r0,H + ~r0,L − ~rInlet ) . (7.45)

If we calculate the mean value of (7.45), we obtain


x
1
p−%gh,tot,In = SInlet %~g · (~r − ~r0,H + ~r0,L − ~rInlet ) dS (7.46)
Inlet
x
1
= SInlet
%~g · ~r dS + %~g · (−~r0,H + ~r0,L − ~rInlet ) (7.47)
Inlet
= %~g · (~r0,L − ~r0,H ) (7.48)
= %gh . (7.49)

Prescription at the outlet surface remains formally the same as (7.37), but this time for
the quantity p−%gh
p−%gh,Out (~r) = %~g · (~r − ~rOutlet ) , (7.50)
and hence its mean value is zero.
We can see that in this setting there is no need to know a position of a turbine with
respect to the water level and there is also no need to even take the measurement of hIO .
It only suffice to know h, the head.

7.4.2 Conclusion
We have seen there are two basic approaches to water turbine calculations.

1. With ~g in the momentum equation

(a) physical setting


(b) model setting

2. Without explicit ~g in the momentum equation

Following table shows possible boundary conditions for the pressure variable
7
This term is equal to the change of the potential energy density of an element of the fluid by its passage
through the turbine (from the volute inlet to the draft tube outlet).

©2017 CFD support s.r.o. www.cfdsupport.com 105


106 TCFD® 17.10 – Manual

pressure
setting inlet outlet
~g , physical hTP = %ghIn fMV = %ghOut
~g , model hTP = %g(h − hIO ) fMV = 0
6 ~g hTP = %gh fMV = 0

Table 7.1: Boundary conditions

We note that hTP stands for hydrostaticTotalPressure boundary condition and values
listed in the Table 7.1 for this type represent values of hydrostatic pressure in the centre
of mass of the inlet surface. Whereas fMV stands for fixedMeanValue boundary condition
and values listed in the Table 7.1 for this type represent values of static pressure in the
centre of mass of the outlet surface.
We add that pressureInletVelocity boundary condition is prescribed for the inlet veloc-
ity field for all of the above settings, where the velocity magnitude is computed from the
difference between total and static pressure and its direction is taken as a local normal to
the inlet surface (usually planar). Also zeroGradient boundary condition is prescribed for
the outlet surface for all of the above settings.

7.5 Interface between rotor and stator part

7.5.1 Frozen Rotor vs. Mixing Plane

At the interface between stator and rotor part, for each variable one can prescribe either
Frozen Rotor boundary condition or Mixing Plane boundary condition. Frozen Rotor
maps variable directly to the neighbour patch. Mixing Plane computes the variable aver-
age first and then maps just the average value to the neighbour patch. Both approaches
can be combined (each variable can have its own option). Both approaches have benefits
and drawbacks to each other. Authors of this methodology recommend to prefer Mixing
Plane boundary condition.

106 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 107

Figure 7.2: Radial turbine. Example of Mixing Plane Averaging from stator region to
rotor region.

Figure 7.3: Radial turbine. Example of Frozen rotor interpolation from stator region to
rotor region.

©2017 CFD support s.r.o. www.cfdsupport.com 107


108 TCFD® 17.10 – Manual

7.6 Cavitation Modeling in TCFD®


Turbomachinery CFD in its current form has three models for handling the cavitation:

• Cavitation risk provides a "warning", when pressure drops too low and thus cavi-
tation inception is likely.

• Cavitation index is standard measure of cavitation.

• Multiphase cavitation modeling using Schnerr-Sauer model .

7.6.1 Cavitation Risk and Cavitation Index


Cavitation risk and Cavitation index are both triggered simultaneously by checking check
box Cavitation risk in the physics section of the TCFD menu, see figure 7.5. Both meth-
ods work as a post-processing, so triggering them on/off does not affect results.
In order for this feature to work properly, user must fill in proper Reference pres-
sure , Reference density and Reference temperature . Reference temperature is used
for calculation of the saturated vapor pressure using Antoine equation (see [18]) with
coefficients taken from [19]. Reference temperature is expected to be in Kelvins. Most
incompressible calculations are done with zero pressure at the outlet. Reference pres-
sure is way to offset the pressure to real physical value. Basically, there are two possible
setups:

• Pressure at outlet is set to zero. Reference pressure must be set to the value the
flow will experience in reality, e.g. atmospheric pressure.

• Pressure at outlet is set to the value the flow will actually experience. Reference
pressure should be left zero.

Reference pressure is expected to be in pascals. Reference density is for proper


conversion between dynamic and kinematic pressure.
Cavitation risk evaluates saturated vapor pressure of water and then marks all cells,
where the pressure drops under the saturated vapor pressure level. The result can be visu-
alized by seeing cavitation field. Cells with value 0 are above saturated vapour pressure
level, cells below that level have value 1. TCFD also evaluates volume of all cells with
cavitation risk and surface of rotating parts with cavitation risk. Both those quantities can
be seen in report, see example graph in figure 7.4.

108 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 109

Figure 7.4: Example of Cavitation risk graph from report.

Cavitation index is standard measure of cavitation calculated by formula


p − pV
σ= 1 2 , (7.51)
2
ρU
where p, ρ and U are upstream values of pressure, density and velocity, all evaluated at
inlet, pV is saturated vapor pressure. For more on cavitation index, refer to [6].

Figure 7.5: User can switch on and off both "Cavitation Risk" and "Multiphase cavitation"
in the physics section of the menu.

©2017 CFD support s.r.o. www.cfdsupport.com 109


110 TCFD® 17.10 – Manual

7.6.2 Multiphase cavitation


Multiphase cavitation is triggered by Multiphase cavitation check box in the TCFD
menu, see figure 7.5. It is only available for transient calculations. Upon checking, user
will be offered additional options, see figure 7.6. Unless user is familiar with Schnerr-
Sauer model , we recommend using the default values. For more information on Scherr-
Sauer model , see citeCavitationScherr. As opposed to previous case, Multiphase cav-
itation uses different solver, so results may (and probably will) slightly differ, when its
triggered on. In this case, only Reference pressure is important, setting is the same as
in previous case.
It is not recommend to use both Multiphase cavitation and Cavitation risk at the same
time. Cavitation risk is not suitable for solver used in Multiphase cavitation mode, so
its results may not be reliable. However, since Cavitation risk is post-processing, other
results than its own will not be affected.
Results are delivered in the form of fields alpha.water and alpha.vapor , that contain
volumetric fraction of water and vapor respectively. Also, volume of all vapor is evaluated
and shown in report, see example on figure 7.7. Beware, it shows only volume of vapor
itself, not volume of all cells containing some vapor, so it is not directly comparable with
volume of all cells with risk of cavitation inception from previous section.

Figure 7.6: When Multiphase cavitation is switched on, menu offers additional choices
for coefficients used in Scherr-Sauer model

7.6.3 Keywords in .tcfd file


In this section, keywords used in .tcfd file to setup cavitation modeling are described. See
example of setting for water at atmospheric pressure and 20 °C:
1 referencePressure 101325
2 referenceTemperature 293.15
3 referenceDensity 998
4 cavitationRisk yes

110 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 111

Values are expected to be in Pa, K and kg/m3 , respectively. For turning on Multiphase
cavitation, following keywords are necessary:
1 referencePressure 101325
2 referenceDensity 996
3 multiphaseCavitation SchnerrSauer

Multiphase cavitation modeling with Schnerr-Sauer model also has following optional
parameters:
1 m u l t i p h a s e C a v i t a t i o n −p S a t 2300
2 m u l t i p h a s e C a v i t a t i o n −s i g m a 0 . 0 7
3 m u l t i p h a s e C a v i t a t i o n −vapourRho 0 . 0 2 3 0 8
4 m u l t i p h a s e C a v i t a t i o n −vapourNu 0 . 0 0 0 4 2 7 3
5 m u l t i p h a s e C a v i t a t i o n −S c h n e r r S a u e r −n 1 . 6 e +13
6 m u l t i p h a s e C a v i t a t i o n −S c h n e r r S a u e r −dNuc 2 e−06
7 m u l t i p h a s e C a v i t a t i o n −S c h n e r r S a u e r −Cc 1
8 m u l t i p h a s e C a v i t a t i o n −S c h n e r r S a u e r −Cv 1

When these parameters are omitted, default values are used.

Figure 7.7: Example of Multiphase cavitation graph from report

©2017 CFD support s.r.o. www.cfdsupport.com 111


112 TCFD® 17.10 – Manual

112 www.cfdsupport.com ©2017 CFD support s.r.o.


Chapter 8

TCFD® – Notes & Recommendations

8.1 General Notes & Recommendations


1. Turbomachinery CFD input is the surface geometry and physical settings being read
from Turbomachinery CFD Configuration File (*.tcfd). The configuration file can
be either created manually (e.g. modifying existing tutorial), or configuration file
can be even created in special graphic interface in ParaView called TCFDSource.

2. Any number of model components is allowed.

3. Each component has to be waterproof, typically inlet + wall + outlet.

4. Watch out the model dimensions, they are critical.

5. STL surface model files has to be in ASCII format.

6. Ideally, each component surface STLs should fit vertex-to-vertex. Not necessary,
but safest.

7. All the interfaces between two components should overlap, or at least to fit each
other very well.

8. Mesh size - the most important mesh parameter of each component is 0_back-
groundMeshSize, which is a basic mesh block (cell) to be refined. Three dimensions
x y z in meters (scaleFactor parameter may change the dimension).

9. If command line used - the CFD Processor has several options. Custom case name.
Writing the case. Writing the mesh. Run the simulation. Write the report. See all
the options: $ CFDProcessor -help .

10. Log files - are located in ./logRun/* .

113
114 TCFD® 17.10 – Manual

11. It is not suitable to have “Trailing edge fixed on outlet” of the Impeller for any CFD
simulation. It is recommended, when simulate, to extend the hub and shroud a little
bit.

12. Compressibility: pump and waterTurbine are always incompressible; compressor


and turbine are always compressible; fan can be both compressible and incom-
pressible.

13. rotatingPatches: If rotatingRegion is false. RotatingPatches (if any) have rotating-


WallVelocity (symmetric rotation – no MRF).

14. Rotation direction has signum minus for clockwise direction (right hand rule).

15. Cavitation risk is evaluated by function object cavitation. Saturated vapour pres-
sure is evaluated using Antoine equation (see wikipedia), coefficients are taken
from NIST. Relevant entries are referenceTemperature and referencePressure. Field
cavitation is saved alongside other fields, which has values either 1 (cells with pres-
sure below saturated vapour pressure) or 0 (other cells). Statistics such as number
of cavitating cells, their volume and percentage of cavitating volume from whole
computational domain are printed each time step.

16. Convergence Auto Stop - if convergenceCheck is true - each simulation point run
is skipped - if the total machine efficiency change is lower than 0.1% over the last
X iterations. X is equal to averagingWindow value.

17. Circumferential and Meridional angle - tangent is chosen in such a way that axis,
radial and tangent (in this order) form a right-handed coordinate system. U is rela-
tive velocity, Um is projection of U into meridional plane, Ur is projection of U into
radial plane, Ut is projection of U into tangential plane. Meridional angle α is angle
between axis and Um. It is positive, when Um points away from axis and negative
when Um points toward axis. Axial circumferential angle βa , is angle between tan-
gent and Ut. Radial circumferential angle βr is angle between tangent and Ur. It is
positive when Ur points out (of the cylinder in the picture), it is negative when Ur
points in.

114 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 115

18. Cylindrical background mesh can be used. Three radii, two gradients and warping.

19. CFD Processor is capable of scheduling MPI jobs to remote machines. This can
be used with OpenMPI in Linux. The keyword “hosts” in the configuration file is
followed by a list of nodes (hostnames or IP addresses). Password-less SSH ac-
cess to those machines must be possible and the OpenMPI package, as well as the
calculation directory itself, must be accessible at the same filesystem path, e. g.
through the use of a disk shared among the machines. The parameter “bindToCore”
is ignored when “hosts” is used. *-clearance - non-mandatory parameter which
can be used to improve robustness of meshing at clearance between bladeCap and
shroud *-toInterfaceDistance - non-mandatory parameter which can be used to im-
prove robustness of meshing at small gaps between particular part of blade and
neighbouring geometry

20. Currently, there are two possible transport models: sutherland (default) and con-
stant. If “sutherland” is used, then is it possible to set also the parameters of the

©2017 CFD support s.r.o. www.cfdsupport.com 115


116 TCFD® 17.10 – Manual

Figure 8.1: Cylindrical background mesh (here viewed along the axis) is fully specified
by its length (not shown) and six more parameters. The parameter r2 is the radius of the
outer cylinder. The parameter r1 is the radius of the middle cylinder. The inner “cylinder”
is cylinder only when d = r0 , which is just
√a special case. Generally it is allowed d < r0
and the derived parameter w = 1 − r0 /d 2 is called warp and is equal to 1 for ideally
cylindrical shape and to 0 when the inner “cylinder” collapses to the dashed rectangular
shape. The numbers g0 and g1 specify the mesh grading (gradual change of cell sizes).

116 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 117

Sutherland model: As (default 1.512e-06) and Ts (default 120). If “constant” is


used, then the parameter Pr (default 0.7 for air, 7 for water) are available.

21. There are three possible turbulence models: kOmegaSST (default), kEpsilon and
laminar. The names and default values of the optional parameters of the mod-
els are: kOmegaSST-alphaK1 (0.85), kOmegaSST-alphaK2 (1.00), kOmegaSST-
alphaOmega1 (0.5) kOmegaSST-alphaOmega2 (0.856), kOmegaSST-beta1 (0.075),
kOmegaSST-beta2 (0.0828), kOmegaSST-betaStar (0.09), kOmegaSST-gamma1 (0.5555556),
kOmegaSST-gamma2 (0.44), kOmegaSST-a1 (0.31), kOmegaSST-b1 (1.00), kOmegaSST-
c1 (10.0), kOmegaSST-F3 (false); kEpsilon-Cmu (0.09), kEpsilon-C1 (1.44), kEpsilon-
C2 (1.92), kEpsilon-C3 (-0.33), kEpsilon-sigmak (1.00), kEpsilon-sigmaEps (1.30).

22. CFD Processor allows a straighforward extension of the built-in workflow by user-
defined functions. These take form of a Python scripts and can be executed in
several places along the workflow. The keyword for setting used defined functions
is userDefinedFunctions and has the following syntax: userDefinedFunctions script
locations [ script locations . . . ] The word script is a path (no spaces!) to the
Python script to be executed. During write-out of the case is will be written to
the subdirectory “scripts” of the case directory and executed from that place. The
word locations is a comma-separated list (no spaces!) of execution points during
the workflow, when the script is to be executed. The possible execution points
are: afterWrite, beforeMeshing, afterMeshing, beforeCalculation, afterCalculation,
beforeEverySpeedline, afterEverySpeedline, beforeReport, afterReport. The script
can use common Python functions and also two special predefined functions Se-
tEntry and WriteFile. E.g. SetEntry(‘system/fvSolution’, ‘SIMPLE/nNonOrthog-
onalCorrectors’, ‘5’) WriteFile(‘system/fvSolution’) Finally, the special predefined
variable CaseDirectory contains full path to the directory with the case.

23. END.

©2017 CFD support s.r.o. www.cfdsupport.com 117


118 TCFD® 17.10 – Manual

118 www.cfdsupport.com ©2017 CFD support s.r.o.


Chapter 9

Turbo Blade Post - graphical


postprocessing

Turbo Blade Post is designed for postprocessing of rotating machinery. Both radial and
axial machines. Pumps, hydro (water) turbines, compressors, turbochargers, propellers
and many more.
Turbo Blade Post is product of company CFD Support s.r.o. (www.cfdsupport.com).
It was especially created to enable an effective postprocessing of rotating machinery.
Turbo Blade Post is a set of plugins for ParaView software www.paraview.org.
ParaView is an open source multiple-platform application for interactive, scientific
visualization. It has a client–server architecture to facilitate remote visualization of datasets,
and generates level of detail (LOD) models to maintain interactive frame rates for large
datasets. It is an application built on top of the Visualization Tool Kit (VTK) libraries.
Where VTK is a set of libraries that provide visualization services for data, task, and
pipeline parallelism, ParaView is an application designed for data parallelism on shared-
memory or distributed-memory multicomputers and clusters. It can also be run as a
single-computer application.
ParaView offers the possibility to extend its functionality in several directions. This
encompasses modifications to the GUI, implementation of new sources (i.e. generation of
predefined curves and bodies), definition of new selection functions etc. The most useful
category of plugins are the Filters.

Any extension to ParaView comes in a form of a shared library (something.dll in


Windows or libsomething.so in Unix-like systems). The library can be loaded into Par-
aView using the plugin manager. The plugin manager is accessible through Tools >
Manage Plugins. All new plugins have to be loaded there and optionally set to auto-load
(see fig. 9.2).

119
120 TCFD® 17.10 – Manual

Figure 9.1: ParaView custom filters

Figure 9.2: ParaView plugin manager

120 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 121

Note — The filters tend to disappear from their categories after use. This is a feature
of ParaView, which moves the last used filter menu item into Filters > Recent. That list
is, however, limited. Nevertheless, all filters are alwys accessible through the Filters >
Search option.

9.1 Geometry & Mesh


All following Turbo Blade Post usage examples are presented on a numerical results
from a simulation of an incompressible flow in a pump. The boundary geometry of the
simulated volume of the pump is shown in the figure 9.3. The meshing and calculation has
been done by Turbomachinery CFD / CFD Processor using the OpenFOAM package. The
resulting meshes are displayed in the figures 9.4 and 9.5. Numerical results are illustrated
in the figures 9.6 and 9.7. These are classical visualisations from ParaView. Turbo Blade
Post offers several new ways how to inspect the numerical data, which are presented in
the following chapters.

Figure 9.3: Geometry of the Turbomachinery CFD tutorial pump used in this examples.

©2017 CFD support s.r.o. www.cfdsupport.com 121


122 TCFD® 17.10 – Manual

Figure 9.4: Computational mesh in the rotor MRF (rotating) zone as generated by Turbo-
machinery CFD using the snappyHexMesh mesher.

Figure 9.5: Computational mesh in the rotor MRF (rotating) zone as generated by Turbo-
machinery CFD using the snappyHexMesh mesher.

122 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 123

Figure 9.6: Static pressure field in the pump. The incompressible simulation has been
done by Turbomachinery CFD using OpenFOAM.

Figure 9.7: Relative velocity streamlines in the rotating part (MRF zone) of the mesh. The
incompressible simulation has been done by Turbomachinery CFD using OpenFOAM.

©2017 CFD support s.r.o. www.cfdsupport.com 123


124 TCFD® 17.10 – Manual

9.2 Example: Meridional average

The aim of the first example is to meridionally average the scalar quantities in the vicinity
of the blades, in the rotating (MRF) section of the fluid. Whereas the simple axial slice
very often cuts a blade, the meridional average avoids the holes by displaying circumfer-
ential average of values around the axis of rotation, see figure 9.8.

Figure 9.8: Comparison between a common ParaView Slice filter (top) and Turbo Blade
Post Meridional Average filter (bottom) – application on Turbomachinery CFD (Open-
FOAM) calculation of incompressible flow in a pump.

124 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 125

9.2.1 Step by step guide


Step 1 — Load the OpenFOAM case into ParaView and make sure that you included
the rotating zone. Depending on the way how you loaded the OpenFOAM case you
can use either the "Include Zones" check-box above the mesh/field selection frames
(figure 9.9 left), or "Read Zones" check-box below to read the rotating zone (figure 9.9
right). The former way, more frequent in Linux, will add available zones at the end of the
"Mesh Parts" selection list (and you need to select them manually). The latter way, more
frequent in Windows, will automatically read all available zones after clicking on the
"Apply" button. Choose some non-zero simulation time, select appropriate components
("Mesh parts") and fields ("Volume fields") and press "Apply". This will load the mesh.
Step 2 — Meridional average can be calculated by an application of the filter Meridional
Average, which is part of Turbo Blade Post. You should see the icon of the filter in the
toolbar. Note that the filter is available (i.e. coloured and clickable) only when the data
selected in "Pipeline browser" are of the type "Unstructured grid" (see panel "Informa-
tion", section "Statistics"). If we loaded several blocks (mesh parts), we would first need
to extract the appropriate mesh zone using the filter Extract block, see figure 9.10.

Either use this button, or select the filter Meridional Average in the Filters > Turboma-
chinery (or Filters > Alphabetical) menu, or use the search box from Filters > Search.
This will add the filter into the "Pipeline browser".
Step 3 — The properties of the filter Meridional Average are shown in the figure 9.11.
Some of the options are advanced and can be displayed using the "Toggle advanced
properties" button (wheel symbol). The setup consists of a just a few numbers: (a) ro-
tation axis, (b) axis origin, (c) clip out radius and (d) resolution. The "resolution" is
the number of points of the resulting projection in radial or axial direction, whichever is
larger. A non-zero "Inner radius" is necessary if the rotation axis pierces through the
computational mesh, i.e. if there is no hole along the axis. In this tutorial the rotation axis
is the axis z, the origin coincides with the coordinate system origin and we choose the
clip out radius to be 0.01 m, as shown in the figure. Confirm the settings by pressing the
"Apply" button. A non-zero "Outer radius" can be used to clip out some unwanted parts.

©2017 CFD support s.r.o. www.cfdsupport.com 125


126 TCFD® 17.10 – Manual

Figure 9.9: Loading the OpenFOAM pump case for application of Turbo Blade Post
Meridional Average. Left (OpenFOAM’s OpenFOAM reader): The MRF zone and all
fields are selected. Right (ParaView’s Foam reader): All zones and fields are selected for
reading.

126 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 127

Figure 9.10: Extraction of a single block from a multi-block dataset using the filter Extract
Block, so that the Meridional Average can be applied. In this example we are interested
only in the “rotor_mrf_zone” part. If the loaded case already has a single block only, it
is not necessary to extract it. However, when the ParaView’s Foam reader is used, where
only reading of all mesh zones at once is possible, this step is needed.

Figure 9.11: Properties of the filter Meridional Average, part of the Turbo Blade Post
postprocessing toolbox. The parameters have default values, except for the non-zero "Clip
out radius".

©2017 CFD support s.r.o. www.cfdsupport.com 127


128 TCFD® 17.10 – Manual

Step 4 — Once the filter completes, it will produce a projection as in the figure 9.12. By
default, it shows the distance of individual points to the nearest surface (hub, shroud, inlet
or outlet). However, all scalar fields have been averaged by the filter and are available in
the field selection drop-down list in the main toolbar. The figures 9.13 and 9.14 show the
averaged results for static pressure and relative velocity, respectively.

Figure 9.12: Resulting projection of the geometry constructed by the Turbo Blade Post
toolset (Meridional Average filter) showing an auxiliary field, together with the original
geometry and the cutting cylinder that corresponds to the chosen "Clip out radius".

128 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 129

Figure 9.13: Meridional average of the static pressure for an incompressible flow in a
pump constructed by Turbo Blade Post / Meridional Average. Results are from a calcula-
tion by TurbomachineryCFD using OpenFOAM.

Figure 9.14: Meridional average of relative velocity restricted to the slice for an incom-
pressible flow in a pump. Contructed by Turbo Blade Post / Meridional Average. Results
are from a calculation by TurbomachineryCFD using OpenFOAM.

©2017 CFD support s.r.o. www.cfdsupport.com 129


130 TCFD® 17.10 – Manual

9.3 Example: Blade-to-blade view


The blade-to-blade view offers a unique perspective for an inspection of the flow between
the blades at a fixed relative distance between hub and shroud surfaces. In Turbo Blade
Post it can be generated in two steps: First, the cylindrical mesh of the rotating zone needs
to be "unwrapped" into a rectangular block. Second, the unwrapped block has to be cut
at the requested distance.

Figure 9.15: Blade-to-blade view constructed by the Turbo Blade Post toolset showing
static pressure for an incompressible flow in pump. Results are from a calculation by
Turbomachinery CFD using OpenFOAM.

9.3.1 Step by step guide


Step 1 — Load the OpenFOAM case into ParaView and make sure that you included
the rotating zone. Depending on the way how you loaded the OpenFOAM case you
can use either the "Include Zones" check-box above the mesh/field selection frames
(figure 9.16 left), or "Read Zones" check-box below to read the rotating zone (figure 9.16
right). The former way, more frequent in Linux, will add available zones at the end of the
"Mesh Parts" selection list (and you need to select them manually). The latter way, more
frequent in Windows, will automatically read all available zones after clicking on the
"Apply" button. Choose some non-zero simulation time, select appropriate components
("Mesh parts") and fields ("Volume fields") and press "Apply". This will load the mesh.

Step 2 — The transformation from the cylinder - or disk-like rotating area (as shown in
the figure 9.4 or 9.5) into the normalized rectangular block can be calculated by the filter
Turbo Unwrap. You should see the icon of the filter in the toolbar. Note that the filter is
available (i.e. coloured and clickable) only when the data selected in "Pipeline browser"
are of the type "Multi-block Dataset" (see panel "Information", section "Statistics").

130 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 131

Either use this button, or select the filter Turbo Unwrap in the Filters > Turbomachinery
(or Filters > Alphabetical) menu, or use the search box from Filters > Search. This will
add the filter into the "Pipeline browser".

Step 3 — The basic properties of the filter Turbo Unwrap are shown in the figure 9.17.
When the advanced options are hidden, there are only a few options to define. First of
all, it is necessary to choose the internal mesh, that will be transformed, and the hub
and shroud patches, which will serve as a leaders to define the transformation. After the
transformation is done, hub and shroud will be perfectly flat and parallel to each other,
conformly deforming the mesh in between. If multiple mesh parts are selected in the
"Unwrap mesh" window or multiple patches are selected in "Hub" or "Shroud" windows
then they will be internally merged into a single entity before proceeding. In this example
the mesh is well prepared and we can just select the three items that we loaded in the first
step.

Step 4 — Set the direction and position of the rotating axis using the parameters "Axis"
and "Origin". In our case we use z-axis, which is the default option.

Step 5 — Select the position of the breaking semiplane and cutting cylinder, see fig-
ure 9.18. In this case we have chosen the plane direction along the x-axis and the radius
of the cylinder equal to 0.01 m, see figure 9.17.

Step 6 — Click on "Apply". Particularly the cylinder clipping (and to less extent also
the transformation of the mesh and of the vector fields) can be quite time consuming for
large meshes. Some parts of the algorithm are parallelized and will automatically make
use of multi-core machines. When the algorithm finishes, the result will look similarly to
figure 9.20. The nature of the transformation is illustrated in the figures 9.18–9.21.

Step 7 — Unlike the scalar quantities (like pressure) the vector fields need to be trans-
formed, too, when the mesh transforms. This is done automatically for the cell fields U
and URel. As a by-product the filter also produces several other cell fields that can be used
as an input to other filters: The local streamline vectors UStream and URelStream, and
the cell field URelLIC, which is particularly well suited for usage in Line Integral Con-
volution ("SurfaceLIC") representation. To use these fields in filters that request point
fields, it is necessary to interpolate the data from points to cells, which is done as the final

©2017 CFD support s.r.o. www.cfdsupport.com 131


132 TCFD® 17.10 – Manual

Figure 9.16: Loading mesh zones and the hub and shroud patches needed by the filter
Turbo Unwrap. Left (OpenFOAM’s OpenFOAM reader): Hub and shroud patches are
selected, as well as the rotating zone. Right (ParaView’s Foam reader): Hub and shroud
patches and all zones are selected.

132 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 133

step using the filter Cell data to point data (can be found in Filters > Alphabetical). This
filter has no important settings.

Step 8 — Now all that is necessary to obtain a specific blade-to-blade view is to use
a standard Slice filter (z-normal) to cut through the block at the requested height. The
coordinate z = 0 corresponds to the hub patch, z = 1 corresponds to the shroud patch,
z = 0.5 corresponds to the surface in the middle between hub and shroud etc. This step
is shown in the figure 9.22, the resulting cut displaying pressure is the figure 9.15, or
showing the SurfaceLIC representation (with settings from 9.24) in the figure 9.23.

Figure 9.17: Basic parameters of the filter Turbo Unwrap.

©2017 CFD support s.r.o. www.cfdsupport.com 133


134 TCFD® 17.10 – Manual

Figure 9.18: Rotating area of the simulated pump’s volume before the application of the
filter Turbo Unwrap. The patches are coloured here to make them easily differentiable
in the following figure 9.20. Hub patch (bottom) is in solid green, shroud patch (top)
in solid orange, inflow (top) is orange wireframe and outflow (bottom) green wireframe.
The figure also contains the clipping cylinder corresponding to the parameter "Clip out ra-
dius" and the cutting semiplane corresponding to the direction specified by the parameter
"Break".

Figure 9.19: Detail of the inflow interface mesh structure of the pump test case before the
application of Turbo Blade Post plugin Turbo Unwrap.

134 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 135

Figure 9.20: Rotating area of the simulated pump’s volume after the application of the
filter Turbo Unwrap. The hub and shroud patches are now parallel, the new z coordinate
runs from hub (z = 0) to shroud z = 1, the normalized circular coordinate is transformed
to x ∈ (0, 2π) and the remaining coordinate that is orthogonal to both, "along the stream",
is mapped to y ∈ (0, 1). The green hub patch is now in the bottom, orange shroud on top,
inflow is left and behind (not visible here) and the green outflow is in the front and to
the right. The two additional sides of the block arose by cutting the mesh by a semiplane
specified by the revolution axis and the parameter "Break". It is not a straight cut through
the cells, rather the cells that would be split by the semiplane are removed completely.

Figure 9.21: Detail of the inflow interface mesh structure of the pump test case after the
application of Turbo Blade Post plugin Turbo Unwrap.

©2017 CFD support s.r.o. www.cfdsupport.com 135


136 TCFD® 17.10 – Manual

Figure 9.22: Construction of the blade-to-blade view from the rotor block unwrapped by
Turbo Blade Post plugin Turbo Unwrap.

Figure 9.23: Blade-to-blade view from the rotor block unwrapped by Turbo Blade Post
plugins showing the Line Integral Convolution (LIC) representation of the flow based on
the relative velocity. The results are from a calculation by Turbomachinery CFD.

136 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 137

Figure 9.24: Surface Line Integral Convolution setup after application of Turbo Unwrap
+ Cell Data To Point Data filters. The coloring is taken from the magnitude of the vector
field URel, the directions and sizes from URelLIC.

©2017 CFD support s.r.o. www.cfdsupport.com 137


138 TCFD® 17.10 – Manual

9.4 Example: Pressure around the blade


For industrial applications of the CFD simulations it is often necessary to visualize the
pressure distribution around the blade, when cut at a specific height. This is a direct
analogy of the pressure profiles used in aeronautics when simulating wing profiles etc. In
Turbo Blade Post this can be achieved by application of a sequence of ParaView filters
on the blade patches.

Figure 9.25: Input geometry (hub, shroud and blade patches) for the Turbo Blade Post /
Turbo Unwrap filter for construction of the around-the-blade pressure profile.

9.4.1 Step by step guide


Step 1 — Load the rotor part of an OpenFOAM case into ParaView using the command
paraFoam -region rotor. Avoid loading the whole mesh; choose only the blade walls and
the hub and shroud patches. Choose some non-zero simulation time, select appropriate
components ("Mesh parts") and fields ("Volume fields") and press "Apply". This will
load the necessary patches, figure 9.25.

Step 2 — First, the blades need to be transformed from the cylinder- or disk-like arrange-
ment to a straight rectangular block. This is done by the filter Turbo Unwrap. You should
see the icon of the filter in the toolbar. Note that the filter is available (i.e. coloured and
clickable) only when the data selected in "Pipeline browser" are of the type "Multi-block
Dataset" (see panel "Information", section "Statistics").

138 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 139

Either use this button, or select the filter Turbo Unwrap in the Filters > Turbomachinery
(or Filters > Alphabetical) menu, or use the search box from Filters > Search. This will
add the filter into the "Pipeline browser".

Step 3 — The basic properties of the filter Turbo Unwrap are shown in the figure 9.26.
When the advanced options are hidden, there are only a few options to define. First of
all, it is necessary to choose the blade wall patch, that will be transformed, and the hub
and shroud patches, which will serve as a leaders to define the transformation. After the
transformation is done, hub and shroud will be perfectly flat and parallel to each other,
conformly deforming the mesh in between. If multiple mesh parts are selected in the
"Unwrap mesh" window or multiple patches are selected in "Hub" or "Shroud" windows
then they will be internally merged into a single entity before proceeding. In this example
the mesh is well prepared and we can just select the three items that we loaded in the first
step.

Step 4 — Set the direction and position of the rotating axis using the parameters "Axis"
and "Origin". In our case we use z-axis, which is the default option.

Step 5 — Unlike in the case of the blade-to-blade view, when constructing the pressure
profile it is mostly not necessary to specify a non-zero "Clip out radius", because the
blades do not reach all the way to the axis in the middle. We will leave the parameter
having its default zero value.

Step 6 — Click on "Apply". The transformation should be relatively fast, because the
sufrace mesh of the blades is orders of magnitude easier to process than the full volume
mesh. It may be necessary to zoom in or out a little (depending on the geometry) to make
the result fit to window. Outcome of this step is shown in the figure 9.27, where the blades
are coloured by pressure.

Step 7 — Having the blades transformed we can now cut them at a specific height (z-axis)
using the filter Slice. This will result in several two-dimensional intersection contours.

Step 8 — Add the filter Plot Data from Filters > Alphabetical or using Filters > Search.
Unselect all fields but pressure (see figure 9.28). Above the field selection box use
"Points_Y" as the "X Array Name". This will use points’ Y coordinates as the data for

©2017 CFD support s.r.o. www.cfdsupport.com 139


140 TCFD® 17.10 – Manual

the horizontal axis. Below the field selection box use "None" as "Line Style" and "Circle"
as "Marker Style". This will only show one bullet per a mesh point, making the result
independent on the order of the projected points. Now press "Apply". You should obtain
a similar figure to 9.28.

Figure 9.26: Settings of the Turbo Blade Post / Turbo Unwrap filter for transformation of
blades of the pump.

Note — The plot will contain data from all blades. As the blades are equivalent, it doesn’t
hurt the visualization. If just a single blade profile was required, it would be necessary to
separate one of the contours using a pair of the Clip filters .

140 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 141

Figure 9.27: Blades of a pump transformed by Turbo Blade Post – Turbo Unwrap to a
straight arrangement and displaying pressure field computed by Turbomachinery CFD
using OpenFOAM.

©2017 CFD support s.r.o. www.cfdsupport.com 141


142 TCFD® 17.10 – Manual

Figure 9.28: Pressure distribution around the blade for a given height (i.e. relative dis-
tance from the hub to the shroud) constructed with the aid of the plugins of Turbo Blade
Post toolset. The horizontal axis shows the transformed Y axis, which corresponds to
the normalized inlet-to-outlet direction position (for given hub-to-shroud distance and
angular position). The vertical axis displays the value of the pressure as computed by
Turbomachinery CFD using OpenFOAM.

142 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 143

9.5 Example: Blade pressure and suction side contours


Turbo Blade Post allows also an easy selection of a single blade from the full complex of
all blades, which might be difficult otherwise due to a strong curvature of the blades. The
method works by transforming the blade patches from their original cylinder- or disk-like
arrangement to a straight arrangement just like in the previous example and by isolating
the chosen blade.

9.5.1 Step by step guide


Step 1 — Load the rotor part of an OpenFOAM case into ParaView using the command
paraFoam -region rotor. Avoid loading the whole mesh; choose only the blade walls and
the hub and shroud patches. Choose some non-zero simulation time, select appropriate
components ("Mesh parts") and fields ("Volume fields") and press "Apply". This will
load the necessary patches, figure 9.25.

Step 2 — First, the blades need to be transformed from the cylinder- or disk-like arrange-
ment to a straight rectangular block. This is done by the filter Turbo Unwrap. You should
see the icon of the filter in the toolbar. Note that the filter is available (i.e. coloured and
clickable) only when the data selected in "Pipeline browser" are of the type "Multi-block
Dataset" (see panel "Information", section "Statistics").

Either use this button, or select the filter Turbo Unwrap in the Filters > Turbomachinery
(or Filters > Alphabetical) menu, or use the search box from Filters > Search. This will
add the filter into the "Pipeline browser".

Step 3 — The basic properties of the filter Turbo Unwrap are shown in the figure 9.26.
When the advanced options are hidden, there are only a few options to define. First of
all, it is necessary to choose the blade wall patch, that will be transformed, and the hub
and shroud patches, which will serve as a leaders to define the transformation. After the
transformation is done, hub and shroud will be perfectly flat and parallel to each other,
conformly deforming the mesh in between. If multiple mesh parts are selected in the
"Unwrap mesh" window or multiple patches are selected in "Hub" or "Shroud" windows
then they will be internally merged into a single entity before proceeding. In this example

©2017 CFD support s.r.o. www.cfdsupport.com 143


144 TCFD® 17.10 – Manual

the mesh is well prepared and we can just select the three items that we loaded in the first
step.

Step 4 — Set the direction and position of the rotating axis using the parameters "Axis"
and "Origin". In our case we use z-axis, which is the default option.

Step 5 — Unlike in the case of the blade-to-blade view , when constructing the pressure
profile it is mostly not necessary to specify a non-zero "Clip out radius", because the
blades do not reach all the way to the axis in the middle. We will leave the parameter
having its default zero value.

Step 6 — Click on "Apply". The transformation should be relatively fast, because the
sufrace mesh of the blades is orders of magnitude easier to process than the full volume
mesh. It may be necessary to zoom in or out a little (depending on the geometry) to make
the result fit to window. Outcome of this step is shown in the figure 9.27, where the blades
are coloured by pressure.

Step 7 — Having the blades transformed we can now separate the chosen blade from the
rest. This is done by the filter Clip. Adding the Clip filter will provide the user with an
interactive positioning tool consisting of a ball in the origin, clipping plane and its normal.
Use the ball to position the plane. Use the axis to orient the plane; see figure 9.29. Once
you have placed the clipping plane to one side of the chosen blade so that it doesn’t
intersect any blade, click apply.

Step 8 — Repeat Step 7 appending another Clip filter to isolate the chosen blade also
from the other side. You may need to check the "Inside Out" option in the settings of the
filter Clip.

Step 9 — Append the filter Contour. In the drop-down list "Contour By" select the
pressure field. Use the red cross button to erase suggested contour values (right bottom
of the box "Value Range") and then press grid button (right top) to populate the list of
contour values by equidistant values covering the whole pressure range. Do not modify
the suggested minimal ("From") and maximal ("To") values, and use e.g. 20 samples
("Steps"). See the figure 9.30.

Step 10 — Pressing "Apply" will calculate the contour data and display the contours,
hiding the blade geometry. Click on the eye symbol in "Pipeline Browser" to show the
blade again. The results are in the figure 9.31.

144 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 145

Figure 9.29: Interaction with the interactive Clip manipulator when separating a single
blade of a pump transformed by Turbo Blade Post / Turbo Unwrap filter. The blades are
colored by static pressure calculated by Turbomachinery CFD using OpenFOAM.

©2017 CFD support s.r.o. www.cfdsupport.com 145


146 TCFD® 17.10 – Manual

Figure 9.30: Settings of the filter Contour applied on a isolated pump blade transformed
by Turbo Blade Post / Turbo Unwrap filter.

146 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 147

Figure 9.31: Static pressure field and contours on an isolated blade transformed by Turbo
Blade Post / Turbo Unwrap filter. The pressure data have been calculated by Turboma-
chinery CFD using OpenFOAM. Left is the pressure side, right the suction side of the
blade.

©2017 CFD support s.r.o. www.cfdsupport.com 147


148 TCFD® 17.10 – Manual

9.6 Meridional Average filter – details


The filter Meridional Average creates a geometrical slice by a plane containing the rota-
tion axis and circumferential averages all the field data onto this slice. The slice ignores
blades; there are never holes in the slice.

9.6.1 Input parameters

Figure 9.32: Turbo Blade Post; Filter properties.

Axis and its origin


This input specifies the position and direction of the rotation axis around which the rotor
region is placed.

Inner radius
For best results, the rotor region should be donut-shaped, i.e., there should be a hole
running through its centre. Only for such shapes the slice contour is well defined. If there
is no hole in the middle, this option allows specifying a positive radius of a hole to drill
before applying the filter.

Outer radius
This option allows specifying a positive radius to clip out some unwanted parts at the
periphery.

Resolution
This parameter controls the number of sampling faces in the slice. In the slice there will
be approximately N faces in the axial direction. The faces are squares and their number
in the radial direction is calculated automatically.

148 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 149

Debug output
When "Debug output" is checked, then the filter produces some additional output in the
form of txt files in the workking directory. These files can be used to explore the internal
mechanisms particularly when contructing the projected boundary contour.

9.6.2 Averaging
At the moment only the following quantities are sampled: the pressure p, the absolute
velocity U (no circumferential component), the relative velocity URel (no circumferential
component), the absolute velocity magnitude magU and the relative velocity magnitude
magURel.

©2017 CFD support s.r.o. www.cfdsupport.com 149


150 TCFD® 17.10 – Manual

9.7 Turbo Unwrap filter – details


The filter Turbo Unwrap transforms the rotor region into
a box according to a rather complicated set of rules. The
purpose is to allow slicing the computational mesh and
blades in the fixed relative distance between the hub and
shroud patches. The filter can be applied to the whole
computational mesh or to its individual parts (clips of
e.g. only the blades). The unwrapping transformation is
guided by hub and shroud patches.

9.7.1 Input parameters


Input mesh
The input mesh is one or more mesh parts that are to be
"unwrapped" by the filter. Most often this will be either
the internal mesh or the blade patch(es).

Hub and shroud patches


Knowledge of hub and shroud profile is crucial for the
transformation algorithm, because the aim of the trans-
formation is to flatten both these patches. This selection
box enables user to select both patches.

Axis and its origin


This input specifies the position and direction of the rota- Figure 9.33: Turbo Blade
tion axis around which the rotor region is placed. Post; Advanced Turbo Un-
wrap filter properties.

Break
To unwrap the mesh, it is necessary to break it somewhere. This option allows specifica-
tion of a direction, where the cut will occur.

Clip out radius


For best results, the rotor region should be donut-shaped, i.e., there should be a hole
running through its centre. Only for such shapes the unwrapping into a box is well defined.
If there is no hole in the middle, this option allows specifying a positive radius of a hole
to drill before unwrapping.

150 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 151

Clipped boundary is hub

The boundary of the mesh that is newly created by the drilling (specifying non-zero "Clip
out radius") can be considered to belong either to the hub or to the inlet/outlet inter-
face. The default is to assign the new boundary to the hub patch. If unselected, the new
boundary will be assumed to belong to the inlet/outlet interface.

Advanced parameters

The remaining parameters are in the advanced section and can be shown by clicking on
the button with a wheel sign next to the search field in the panel Properties.
The number parameters "Resolution", "Tolerance" and "Iterations" are internal con-
trol parameters that influence precision and speed of the filter. "Resolution" is a approxi-
mately the number of control points along the hub and shroud patches. Raising the number
of control points can increase the resolution of the approximated patches. "Tolerance" is
proportional to the allowed absolute error in determination of point’s transformed coordi-
nates (m, t, ζ). The number should generally be smaller than the typical distance between
two points in the original mesh. "Iterations" is the iteration limit set for determination of
the transformed coordinates. It should not be necessary to raise the default value, unless
an extremely fine mesh is being transformed.
The field "Extension Points" is only used when "Snap internal points" is unchecked.
It determines which sampled points of the boundary patches are used to extrapolate the
patches. The number must be and integer greater than zero. If "1" is given, then only the
tail of each patch is used to extrapolate their direction. If larger number is given, then the
extrapolation runs in a more averaged direction. If "Snap internal points" is checked, no
extrapolation is done and points outside the area bounded by hub and shroud are simply
left with some extremal m-coordinate.
The check box "Remove split cells" (default: on) determines whether the cells that
are split by unwrapping are to be removed or kept. Removing these cells allows ParaView
to display the unwrapped mesh correctly; otherwise it looks as if there was no internal
mesh. However, for special meshes this leads to a crash. In such cases, unchecking is an
option.
The option "Normalize patches" makes sure that the transformed hub and shroud
patches will be of unit size in the ξ (i.e. z) direction. This allows easy construction of
the blade-to-blade view , but it may not be desired for the overall view. If this option is
unchecked, the hub will still be normalized to unit size, but the transformed shroud will
keep its ratio with respect to the hub.
Finally, the "Debug output" option produces additional text information as a txt files
in the working directory, which can be used to explore internal mechanisms of the filter,
particularly the construction of the m-ξ (y-z) contour which is then used to transform the
whole mesh.

©2017 CFD support s.r.o. www.cfdsupport.com 151


152 TCFD® 17.10 – Manual

9.7.2 Usage
The usage of the filter is similar to other filters with one small difference: Because it
allows (and requires) selection of different parts of the multi-part mesh, it is necessary to
load all needed parts of the mesh, not just the internal mesh. The figure 9.34 demonstrates
a typical selection of OpenFOAM case mesh and patches for the Turbo Unwrap filter.

Figure 9.34: Turbo Blade Post; Selection of multiple parts of the mesh.

The filter will transform the cylinder-like mesh into a box. The meaning of its new
dimensions is described in the table 9.1. In brief it can be said that the boundary z 0 ≡ ζ =
0 is the hub patch, the boundary z 0 ≡ ζ = 1 is the shroud patch, the boundary x0 ≡ m = 0
is the one of inlet and outlet interfaces that is lower on the rotation axis and the boundary
x0 ≡ m = 1 is the other one (higher on rotation axis). The boundaries on minimal and
maximal y 0 ≡ t coordinates are only artificial and were originally connected to each other.
The filter transforms only the cell data, not point data, so it may be necessary to apply
the filter Cell data to point data afterwards to regain access to the point fields (which
are necessary for usage of e.g. the Glyph filter).

Symbol Mapped to Range Meaning


m x (0, 1) Distance along the hub/shroud/streamline.
t y (0, 2π) Circumferential angle.
ζ z (0, 1) Distance from the hub; the "span".

Table 9.1: Coordinates of the "unwrapped" mesh. The coordinate m is relative to the full
length of the hub/shroud/streamline. The coordinate ζ is relative to the full local distance
between hub and shroud.

The filter passes all cell data without change except for the vector fields U and URel,
which are transformed into the new coordinate system (x0 , y 0 , z 0 ) ≡ (m, t, ζ). Besides
these two vector fields Turbo Unwrap also creates several additional vector fields, namely
UStream and URelStream which should be used to construct streamlines in the trans-
formed mesh and URelLIC, which should be used as an input for the Surface Line Integral

152 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 153

Convolution (SurfaceLIC) integrator when displaying realtive velocity using SurfaceLIC


representation.

©2017 CFD support s.r.o. www.cfdsupport.com 153


Index

AS Sutherland transport, 30 blade, 32


Cp specific heat capacity, 30, 95 Blade cap gap, 34
Cv specific heat capacity, 95 Blade to blade views, 48
P r Prandtl number, 30, 95 blade-to-blade view, 130, 133, 144, 151
R specific gas constant, 95 bladeCap, 33
Sij rate of deformation tensor, 95 bladeHubFillets, 33
T static temperature, 95 bladeLeadingEdge, 33
TS Sutherland transport, 30 bladePressureSide, 32
δij Kronecker delta, 95 bladeShroudFillets, 33
γ Heat capacity ratio, 30 bladeSuctionSide, 32
λ heat conductivity coefficient, 95 bladeTrailingEdge, 33
µ dynamic viscosity, 30, 95, 96
ν kinematic viscosity, 96 Castellated mesh, 50
∂ partial derivative, 95, 96 cavitation, 28
ρ density, 30, 95 Cavitation index, 108
τ shear stress tensor, 95 Cavitation risk, 27, 28, 108
e0 total specific energy, 95 Multiphase cavitation, 28, 108, 110
g gravitational acceleration, 96 Schnerr-Sauer model, 28, 108, 110,
p static pressure, 95, 96 111
qi i-th heat flux component, 95 Cell data to point data, 133, 152
t time, 95, 96 cell-centered, 97
u velocity vector, 96 Cells between levels, 50
ui i-th velocity vector component, 95 cellZone, 100
xi i-th Cartesian coordinate, 95 CFD Processor, 16, 24, 26, 27, 30
circumferential angle, 40
Add layers, 50
Clip filter, 140, 144
Additional data files, 48
Clip out radius, 127, 128, 139, 144, 151
alpha.vapor, 110
Component name, 33
alpha.water, 110
Compressible, 27
Averaging window, 47
constant transport, 28
Axis, 31, 131, 139, 144
Contour, 144
Background mesh size, 30, 33, 34 Convergence check, 26, 37
Bind to core, 26 cutWater, 33

154
support@cfdsupport.com 155

Cylindrical grading, 34 Inner radius, 125


Cylindrical mesh, 34 Internal point, 30, 33
Cylindrical radii, 34 internalAMI, 32
Cylindrical warp, 34 Iterations, 151

Debug output, 151 Kinematic viscosity, 27


density, 30
Directed mass flow rate, 40 Leading edge gap, 34
Directed volumetric flow rate, 40 License.dat, 21
Directory with STL files, 31 License.key, 21
Dynamic viscosity, 27, 30 linear solver
diagonal, 98
Efficiency probes, 47 diagonalSolver, 98
Einstein summation, 95 DIC, 98
empty, 31 DILU, 98
Extension Points, 151 FDIC, 98
External OpenFOAM mesh, 31 GAMG, 98
Extract block, 125 none, 98
PBiCG, 98
Feature edges included angle, 31 smoothSolver, 98
Finite Volume Method, 96 BICCG, 98
Fluid name, 27 localhost, 25
Frozen rotor, 106
fvSolution, 99 Machine type, 24
Mass flow rate, 39
Glyph, 152 Max global cells, 50
Gravitational acceleration, 27 Max load unbalance, 50
Group by point, 48 Max local cells, 50
Heat capacity, 28 Max pressure, 43
Heat capacity ratio, 30 Maximal density, 46
Hosts, 25 Maximal pressure, 45
hub, 32 Maximal temperature, 46
Maximal velocity, 45
Information, 130, 138, 143 Meridion average, 126
Initial pressure, 44 meridional angle, 40
Initial temperature, 44 Meridional average, 16, 48, 124, 125, 148
Initial turbulent dissipation, 44 Mesh Parts, 143
Initial turbulent dissipation rate, 44 Mesh parts, 125, 130, 138
Initial turbulent energy, 44 Message Passing Interface, 25
Initial velocity, 44 Min refinement, 50
inlet, 32 Minimal density, 46
inletInterface, 32 Minimal pressure, 45

©2017 CFD support s.r.o. www.cfdsupport.com 155


156 TCFD® 17.10 – Manual

Minimal temperature, 45 Report mass flow unit, 47


Mixing plane, 33, 106 Report pressure unit, 47
Molar weight, 28, 30 Report temperature unit, 47
MPI, 25, 100 Report volumetric flow unit, 47
MRF, 122 Resistance, 43
MRF zone, 123 Resolution, 151
Multi-block Dataset, 130, 143 resolution, 125
Multi-block dataset, 138 Resolve feature angle, 50
Multi-solid STL file, 31 Rotating component, 33
Multiple Reference Frame, 100 Rotation speed, 37
rotationAMI, 32
Navier-Stokes equations, 96
No. periodic segments, 33 saturated vapor pressure, 108
non-orthogonal correctors, 45, 99 Scale factor, 30, 31
Normalize patches, 151 scheme
Numerical order, 26 divergence scheme
biLinearFit, 98
Origin, 30, 31, 131, 139, 144
blended, 98
Outer radius, 125
clippedLinear, 98
outlet, 32
CoBlended, 98
Outlet vent, 43
cubic, 98
outletInterface, 32
filteredLinear, 98
ParaView, 15, 18, 25, 26, 143, 151 filteredLinear2, 98
ParaView filter, 24 filteredLinear3, 98
ParaView source, 24 fixedBlended, 98
Pipeline Browser, 22–24 Gamma, 98
Pipeline browser, 125, 131, 138, 139, 143, Gamma01, 98
144 harmonic, 98
Plot Data, 139 limitedCubic, 98
Point iterations, 37 limitedCubic01, 98
Prandtl number, 30 limitedGamma, 98
pressure - velocity coupling, 98 limitedLimitedCubic, 98
Processors, 25 limitedLimitedLinear, 98
Properties panel, 23 limitedLinear, 98
limitedLinear01, 98
Reference density, 28, 108 limitedMUSCL, 98
Reference pressure, 28, 108 limitedVanLeer, 98
Reference temperature, 28, 108 limiterBlended, 98
Relaxation, 43 limitWith, 98
Remove split cells, 151 linear, 98
RenderView, 24 linearFit, 98

156 www.cfdsupport.com ©2017 CFD support s.r.o.


support@cfdsupport.com 157

linearPureUpwindFit, 98 greenSolver, 94
linearUpwind, 98 interPhaseChangeDyMFoam, 94
localBlended, 98 interPhaseChangeFoam, 94
localMax, 98 pimpleDyMFoam, 94
localMin, 98 redDyMSolver, 94
LUST, 98 redSolver, 94
midPoint, 98 rhoSimpleFoam, 94
Minmod, 98 simpleFoam, 93
MUSCL, 98 sonicFoam, 94
MUSCL01, 98 Specific heat capacity, 30
OSPRE, 98 Speedline points, 37
outletStabilised, 98 Speedlines, 37
pointLinear, 98 Statistics, 130, 138, 143
quadraticFit, 98 steady-state, 96
quadraticLinearFit, 98 Surface hook-up, 33
quadraticLinearUpwindFit, 98 SurfaceLIC, 131, 153
quadraticUpwindFit, 98 Sutherland transport, 28
QUICK, 98 AS , 30
reverseLinear, 98 TS , 30
SFCD, 98 symmetry, 32
skewCorrected, 98
SuperBee, 98 TCFDManager, 15, 22, 24
UMIST, 98 TCFDSource, 15, 23, 24, 38
upwind, 98 Time management, 25
vanAlbada, 98 Toggle advanced properties, 23, 125
vanLeer, 98 Tolerance, 151
vanLeer01, 98 Total pressure, 40
weighted, 98 Total pressure profile path, 47
SetEntry, 53 Total temperature, 40
Settings, 22 Trailing edge gap, 34
Setup file, 24 transient, 25
shroud, 32 Transient times, 37
SIMPLE algorithm, 98 Transient window, 47
Slice filter, 133 translationAMI, 32
Snap internal points, 151 Transport model, 28
Snapshot fields, 47 Turbo Blade Post, 16, 138, 143
Snapshot interval, 47 Turbo Unwrap, 16, 130, 131, 138, 139,
solver 143, 152
blueDyMSolver, 94 turbulence model, 38
blueSolver, 93 kEpsilon, 38, 100
greenDyMSolver, 94 kOmega, 100

©2017 CFD support s.r.o. www.cfdsupport.com 157


158 TCFD® 17.10 – Manual

kOmegaSST, 38, 100


LamBremhorstKE, 100
laminar, 38, 100
LaunderGibsonRSTM, 100
LaunderSharmaKE, 100
realizableKE, 100
RNGkEpsilon, 100
Spalart-Allmaras, 38
Turbulence settings, 38
Turbulent dissipation, 39
Turbulent eddy viscosity, 39
Turbulent energy intensity, 39

Under-Relaxation, 97
under-relaxation factors, 45
Unstructured grid, 125
Unwrap mesh, 131, 139, 143
Use fluid defaults, 27

Value Range, 144


Volume fields, 125, 130, 138, 143
Volumetric flow rate, 39

wall, 32
wallSlip, 32
Wheel diameter, 30, 33
WriteFile, 53

158 www.cfdsupport.com ©2017 CFD support s.r.o.


Bibliography

[1] H. Versteeg, W. Malalasekera, An Introduction to Computational Fluid Dynam-


ics: The Finite Volume Method (2nd Edition), (Feb 26, 2007)
[2] LeVeque R. J., Numerical Methods for Conservation Laws Birkhauser Verlag,
1990
[3] H. Lomax, David W. Zingg, Thomas Pulliam, Fundamentals of Computational
Fluid Dynamics, 2001
[4] Dvořák R., Kozel K., Matematické modelovaní v aerodynamice Vydavatelství
ČVUT, 1996.
[5] Schnerr G. H. And Sauer J., Physical and Numerical Modeling of Unsteady Cav-
itation Dynamics, Proc. 4th International Conference on Multiphase Flow, New
Orleans, U.S.A., 2001.
[6] Schiavello B., Visser F., Pump Cavitation - Various NPSHR Criteria, NPSHA
Margins, and Impeller Life Expectancy, Proc. of the twenty-fifth INTERNA-
TIONAL PUMP USERS SYMPOSIUM, 2009
[7] CFD-online web pages: Navier-Stokes equations
(http://www.cfd-online.com/Wiki/Navier-Stokes_equations, date: 30. 1. 2014).
[8] Wilcox D.C., Turbulence Modeling for CFD , DCW Industries
[9] OpenFOAM web pages: OpenFOAM Documentation
(http://www.openfoam.org/docs/, date: 30. 1. 2014).
[10] Wikipedia web pages: Finite Volume Method
(http://en.wikipedia.org/wiki/Finite-volume_method, date: 30. 1. 2014).
[11] NASA web pages: Isentropic Flow
(http://www.grc.nasa.gov/WWW/BGH/isentrop.html, date: 30. 1. 2014).
[12] OpenFOAM web pages: OpenFOAM mesh description
(http://www.openfoam.org/docs/user/mesh-description.php, date: 30. 1. 2014).

159
160 TCFD® 17.10 – Manual

[13] Wikipedia web pages: Message Passing Interface


(http://en.wikipedia.org/wiki/Message_Passing_Interface, date: 30. 1. 2014).

[14] CFD-online web pages: Best practice guidelines for turbomachinery CFD
(http://www.cfd-online.com/Wiki/Best_practice_guidelines_for_turbomachinery_CFD,
date: 30. 1. 2014).

[15] Wikipedia web pages: ParaView


(http://en.wikipedia.org/wiki/ParaView, date: 25. 2. 2015).

[16] ParaView web pages: ParaView License


(http://www.paraview.org/paraview-license/, date: 25. 2. 2015).

[17] Wikipedia web pages: Euler Number


(https://en.wikipedia.org/wiki/Euler_number_(physics)), date: 6. 7. 2017).

[18] Wikipedia web pages: Vapor Pressure


(https://en.wikipedia.org/wiki/Vapor_pressure), date: 6. 7. 2017).

[19] NIST web pages: Water Coefficients


(http://webbook.nist.gov/cgi/cbook.cgi?ID=C7732185&Mask=4&Type=ANTOINE&Plot=on#ANTOINE),
date: 6. 7. 2017).

160 www.cfdsupport.com ©2017 CFD support s.r.o.

You might also like