0% found this document useful (0 votes)
23 views438 pages

CFView User Guide

The CFView™ 16.1 User Guide provides comprehensive instructions for using the CFView™ flow visualization tool, including its features, graphical user interface, and project management. It covers various functionalities such as creating and handling surfaces, visualizing flow quantities, and specific features for turbomachinery and marine applications. Additionally, the guide includes sections on animations, macro language, input file formats, and troubleshooting to assist users in effectively utilizing the software.

Uploaded by

rr0212420
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views438 pages

CFView User Guide

The CFView™ 16.1 User Guide provides comprehensive instructions for using the CFView™ flow visualization tool, including its features, graphical user interface, and project management. It covers various functionalities such as creating and handling surfaces, visualizing flow quantities, and specific features for turbomachinery and marine applications. Additionally, the guide includes sections on animations, macro language, input file formats, and troubleshooting to assist users in effectively utilizing the software.

Uploaded by

rr0212420
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 438

USER GUIDE

CFView™ 16.1

www.numeca.com
CONTENTS
CHAPTER 1. GETTING STARTED
1.1 Introduction 9
1.2 Conventions Used in this Manual 10
1.3 Outline 11
1.4 Running CFView™ 11
1.5 Advanced Options 13
1.5.1 Command Line Arguments 13
1.5.2 Customizing Graphics Options 15
1.6 Troubleshooting 17

CHAPTER 2. GRAPHICAL USER INTERFACE, PROJECTS & VIEWS


2.1 Graphical User Interface (GUI) 20
2.1.1 Menu Bar 21
2.1.2 Toolbar 24
2.1.3 Quick Access Pad (QAP) 27
2.1.4 Graphics Area 28
2.1.5 Message Area 29
2.1.6 Keyboard & Viewing Control Area 29
2.2 Project Management 30
2.2.1 File Chooser 31
2.2.2 Supported File Formats 32
2.2.3 Open Multiple Projects 36
2.2.4 Partial Loader 37
2.2.5 Close Project 42
2.3 Import Validation Data 42
2.4 Views Manipulation 43
2.4.1 Active View 43
2.4.2 View Concepts 44
2.4.3 Viewing Buttons 47
2.4.4 View & Window Menus 51
2.4.5 Multiple Views 54
2.4.6 Add Coordinate Axes 60
2.5 Templates & Macro Scripts 63

CHAPTER 3. CREATING & HANDLING SURFACES


3.1 What are Surfaces in CFView™? 71
3.2 Select Surfaces 73
3.2.1 From Quick Access Pad 73
3.2.2 From Geometry Menu 78
3.2.3 Interactive Surface Selection 81
3.2.4 Surface Selection using Macro 82
3.3 Create Surfaces 83
3.3.1 Create Mesh Surface 84

2 CFView™ 16.1 User Guide


3.3.2 Create Cutting Plane 86
3.3.3 Create Cutting Surfaces Defined from IGG™ Curve 89
3.3.4 Create Cutting Plane from 3 Points 90
3.3.5 Split Surfaces 91
3.3.6 Create Iso-surfaces 92
3.4 View Surfaces 94
3.4.1 View Surfaces Boundaries 94
3.4.2 View Solid Boundaries 95
3.4.3 Update Surfaces Boundaries Representation 95
3.4.4 View Grid Wireframe 95
3.4.5 Update Grid Wireframe Representation 96
3.4.6 Hidden Lines Rendering 97
3.4.7 Uniform Coloring 97
3.4.8 Flat Shading 97
3.4.9 Gouraud Shading 97
3.4.10 Remove Rendering Effects 98
3.4.11 Modify Rendering Color 98
3.4.12 Set Visibility, Light & Shadow Attributes 103
3.4.13 Graphics Repetition 106
3.4.14 Surfaces Representation Selectability 108
3.5 View Elements (Unstructured Meshes Only) 108

CHAPTER 4. FLOW QUANTITIES VISUALIZATION


4.1 Select & Create Flow Quantities 111
4.1.1 Quantity Types 111
A. Select Field Quantity 112
B. Select Mechanics Data 113
C. Select Solid Quantity 116
D. Select Computed Thermodynamic Quantity 116
E. Definition of Computed Thermodynamical Quantities 116
F. Select Vector Component 127
G. Apply Differential Operators: Gradient, Divergence or Curl 128
H. Vortex Detection 129
I. Create Derived Quantity 130
4.1.2 Field Quantities & Computer Memory Management 132
A. Quantities Load on Demand 132
B. Unload Quantities 133
C. Field Quantities Status Dialog Box 134
D. Projects Comparison 136
E. RAM Management and Unsteady Post-processing 138
4.2 Visualize Scalar Data 139
4.2.1 Local Values 139
4.2.2 Isolines 140
4.2.3 Color Contours 145
4.2.4 Streamlines 149
4.2.5 Iso-Surfaces 155
4.2.6 Cartesian Plots 156

3 CFView™ 16.1 User Guide


4.2.7 Update Cartesian Plot 160
A. Duplicate Axis 160
B. Change Axis Variable & Range 160
C. Manage Legend in Cartesian Plot 162
D. Update Curve Type 163
E. Change Axis Ticks & Labels 171
F. Add Grid Lines in Cartesian Plot 173
G. Resize Cartesian Plot 174
H. Insert New Curve 174
I. Show Curves List 175
J. Cartesian Plot Axis Editor Dialog Box 176
K. Update/Plot Menu 177
4.2.8 Export Plot Curve(s) in File 177
4.3 Represent Validation Data 178
4.4 Represent Plot Data 180
4.5 Visualize Vector Data 181
4.5.1 Arrow Representation 181
4.5.2 Update Vector Representation 184
4.5.3 Vector Lines 186
4.5.4 Vector Lines Parameters 188
4.5.5 Stream Ribbons & Tubes 191
4.5.6 Update Vector Line Representation 194
4.6 Colormap & Representations Range 196
4.6.1 Insert Colormap 196
4.6.2 Control Representations Range 196
4.6.3 Update Colormap Representation 197
4.7 Represent Particle Traces Data 203
4.8 Decoration Texts 203
4.9 Update Representations 205
4.10 Edit, Save & Restore Defaults 212
4.11 Surface Integrals 214
4.12 Volume Integrals 217
4.13 Curve Integrals 218
4.14 Export Quantities Distribution 220
4.15 Output Generation 225

CHAPTER 5. TURBOMACHINERY SPECIFIC FEATURES


5.1 Visualization in Blade to Blade Coordinates 229
5.1.1 Hub & Shroud Definition 229
5.1.2 Open Blade to Blade View 231
5.1.3 Visualization of Blade to Blade Surfaces 231
5.2 Compute Meridional View by Azimuthal Averaging 233
5.2.1 Meridional Average Input Definition 234
A. Structured Project 234
B. Unstructured Project 237
5.2.2 Compute & Open Meridional View 238
5.3 TurboMachinery Mode 239

4 CFView™ 16.1 User Guide


5.4 NLH Post-processing 243
5.4.1 Reconstruction of Flow in Time/Space 243
A. Reconstruction in Time 245
B. Reconstruction in Space 249
5.4.2 Local Reconstruction and Spectral Analysis 251
A. Harmonics Selection 252
B. Local Time Evolution 253
C. Local Spectrum 254
D. Frame of reference change of the spectral solution 255
5.5 TurboWizard Module 258
5.5.1 TurboWizard Step 1 : Configuration File 260
5.5.2 TurboWizard Step 2 : Meridional Station Averages Post-Processing Tool 261
5.5.3 TurboWizard Step 3 : Blade Profiles Post-Processing Tool 264
5.5.4 TurboWizard Step 4 : Display Post-Processing Output Pictures 267

CHAPTER 6. MARINE SPECIFIC FEATURES


6.1 Overset grids visualization 272
6.2 Visualize Catway catenary lines 273
6.3 Macros 277
6.3.1 Group Patches by Type 278
6.3.2 Compute Wetted Area 279
6.3.3 Plot Wave Elevation along X 280
6.3.4 Display computation info 281
6.3.5 Forces by Section 282
6.3.6 Represent Water Line 289
6.3.7 Camera rotation for animation 289
6.3.8 Streamlines to Upright Position 290
6.3.9 Represent Free Surface 291
6.3.10 Relative wave height 291
6.3.11 Wake Flow Tool 293
6.3.12 Represent towing tank lines 298
A. Vertical lines 299
B. Horizontal lines 300
6.3.13 Customized planes 302

CHAPTER 7. ANIMATIONS & UNSTEADY DATA ANALYSIS


7.1 Animations in Steady State Data Sets 307
7.1.1 Animation of Vector Lines 307
7.1.2 Animation by Mesh Surfaces Scrolling 311
7.1.3 Animation by Cutting Planes Scrolling 313
7.1.4 Recording a Steady Animation 314
7.2 Animation of Unsteady Data Sets 315
7.2.1 Recording an unsteady animation 318
7.2.2 Export Time-Averaging Steady Results 319
7.2.3 Cartesian Plot Function of Time/ Clocking Position 320

5 CFView™ 16.1 User Guide


CHAPTER 8. MACRO LANGUAGE
8.1 Python Language 323
8.2 Python Language Overview 323
8.3 Macro Script Examples 330
8.4 Python CFView™ Module 333
8.5 CFView™ Command Description 334
8.5.1 Commands Related to Default Settings 335
8.5.2 Picture Output Generation 338
8.5.3 Commands Related to Project Handling 340
8.5.4 Commands Related to Additional Views Creation 345
8.5.5 Commands Related to Animation Control 346
8.5.6 Commands Related to Multiple Views Handling 348
8.5.7 Commands Related to Turbomachinery Mode & B2B View 349
8.5.8 Commands Related to Meridional View Creation 351
8.5.9 Commands Related to Active View Only 352
8.5.10 Commands Related to Viewing Geometry of Active View 354
8.5.11 Commands Related to Mesh Representation 357
8.5.12 Commands to Obtain Informations on Data Set 361
8.5.13 Commands Related to Surface Creation 363
8.5.14 Commands Related to Surface or Group Surface Selection 366
8.5.15 Commands Related to Surface Rendering 369
8.5.16 Commands Related to Quantity Selection 371
8.5.17 Commands Related to Quantity Probing 374
8.5.18 Commands Related to Scalar Quantity Representations 377
8.5.19 Commands Related to Vector Quantity Representations 388
8.5.20 Commands Related to Time Label/Clocking Position 393
8.5.21 Commands for Computing Integrals on Surfaces 393
8.5.22 Commands for Computing Volume Integrals 397
8.5.23 Commands for Computing Mechanics 397
8.5.24 Commands for Computing Integrals Along Curves 398
8.5.25 Commands Related to NLH Post Processing 398
8.5.26 Commands Related to Plot Manipulation 400
8.5.27 Commands Related to Colormap & Range Selection 406
8.5.28 Commands Related to Marker 409
8.5.29 Commands Related to Text Manipulation 409
8.5.30 Commands Related to Axes Systems Representations 411
8.5.31 Commands Related to catenary line visualization 413
8.5.32 Description of Argument List for Some Standard Features 414
8.6 Utilities for Handling Curves 415

CHAPTER 9. LIST OF SHORTCUT KEYS

CHAPTER 10. INPUT FILE FORMAT


10.1 Native File Format 421
10.1.1 Create Identification File 422
A. Project Identification 423

6 CFView™ 16.1 User Guide


B. Mesh Identification 423
C. Domain(s) Identification 426
D. Validation Data Identification 427
E. Plot Data Identification 428
F. Geometry Support for Blade to Blade Views 429
G. Example of Complete Identification File 430
10.1.2 Create Boundary Condition Files 432
10.2 FINE™ File Format 437

7 CFView™ 16.1 User Guide


CHAPTER 1.

GETTING STARTED

Welcome to the CFView™ User Manual, an illustrated presentation of the CFView™ capabilities. This
chapter presents the basic concepts of CFView™ and shows how to get started with the program.
Specifically, this chapter describes:
l what CFView™ does and how it operates,
l how to use this guide,
l how to run CFView™.

In this section
1.1 Introduction 9
1.2 Conventions Used in this Manual 10
1.3 Outline 11
1.4 Running CFView™ 11
1.5 Advanced Options 13
1.6 Troubleshooting 17

8 CFView™ 16.1 User Guide


1.1 INTRODUCTION

CFView™ is the flow visualization tool of the FINE™ integrated environment. The FINE™
integrated solvers (i.e. FINE™/Turbo, FINE™/Open with OpenLabs™,...) interpolate the
computed flow quantities from cell- centre to cell- vertices before outputting them in the
CFView™ format.
CFView™ is designed for the visualization of structured and unstructured meshes in multi-
domain (multi- block) configurations and provides a user friendly graphical interface (GUI)
integrating two dimensional and three dimensional plotting capabilities in a multi- window
environment.

Features

CFView™ provides a set of powerful exploration tools for the interactive qualitative and
quantitative analysis of the field at the cell-vertices. This analysis can be performed on any surface
and consists of representations such as local values, isolines, Cartesian plots, streamlines, contour
shading and thresholding. In addition, CFView™ provides a set of numerical probes for a
quantitative investigation of the flow properties anywhere in the computational domain.
The most important tools comprise the local value extraction, the quantity distribution along
curves (arbitrary section or mesh lines or streamlines) for detailed analysis of specific regions such
as boundary layers.
CFView™ provides the ability to display in Cartesian and cylindrical coordinates as well as in
turbomachinery blade to blade views. Scalar and vector quantities can be displayed and new
quantities can be computed by providing their mathematical formula. Pitchwise averaging can be
performed and comparison with experimental data or with other numerical data is easily obtained.
Another interesting feature of the system is the ability of scanning instantaneously the
computational volume by scrolling through constant I, J, K mesh surfaces or by moving arbitrary
cutting planes. This feature gives the possibility to localize rapidly regions of interest in the field.
CFView™ is capable to visualize surfaces in hidden lines or shaded models with user defined
light sources assigned to the views. When saving pictures several formats are available. The
creation of animations from unsteady data sets is extremely easy and the animations can be
recorded as animated GIF files.
All these features are integrated in a highly interactive multiwindow environment which allows
loading different data sets for comparison during the same CFView™ run.
This version of CFView™ contains macro capabilities. A macro is a powerful tool that allows
recording a sequence of operations that can be played back later. It is also possible to create
libraries of custom macros to perform repetitive operations quickly.

9 CFView™ 16.1 User Guide


Approach & Acknowledgments

The CFView™ system is designed using an object-oriented programming approach (OOP) and is
implemented in C++. In order to ensure maximal portability the software development platform
consists of the HOOPS graphics library and the Tcl/Tk toolkit.
A HOOP is a 3D graphics standard, developed by TechSoft. It is a versatile and efficient tool to
create, display and modify device independent graphics. The C++ binding and the graphical class
library were created for HOOPS in order to ensure an object-oriented code development and an
integration of 3D graphics.
CFView™ is also embedding the Python language interpreter (v2.7 on Windows/Linux) for the
macro features.
The creation of PNG formatted pictures and animated GIF makes use of libraries included in
library magick v6.4.3
The creation of JPEG formatted pictures makes use of the sixth public release of the Independent
JPEG Group's free JPEG software.
The creation of TIFF formatted pictures makes use of the TIFF software distribution 3.8.
All the third party software components are copyrighted of their respective owners.

1.2 CONVENTIONS USED IN THIS MANUAL

Some conventions are used to ease information access throughout this guide.
l Commands that should be typed in are in italics.
l Keys that should be pressed are in italics and surrounded by <> (e.g.: press <Enter>).
l Names of menu, sub-menu items and names of buttons in dialog boxes are in bold.
l Numbered sentences are steps that should be followed to complete a task. Sentences that
follow a step and are preceded with a dot (•) are substeps; they describe in detail how to
accomplish the step.

A text in blue with a blue background indicates an important note.

Keyboard shortcuts are indicated in blue italic.


A light bulb indicates a section with more detailed information on a specific subject for advanced
use of CFView™.

10 CFView™ 16.1 User Guide


1.3 OUTLINE

The first five chapters of this manual contain all information necessary for a beginning user to
work with CFView™. The advanced user may however also consult these first chapters when
requiring more detail about a specific task.
This first chapter tells how to start the application. Graphical User Interface, Projects & Views
chapter introduces the basics: the graphical user interface and project management. To learn how
to use and how to perform a specific task, more details are available in "Creating & Handling
Surfaces" (p. 70) to Turbomachinery Specific Features. All the functionalities of the system
software are gathered in a step-by-step learning method.
For the more advanced user Animations & Unsteady Data Analysis, Macro Language and Input
File Format provide more detailed information. Animations & Unsteady Data Analysis describes
the analysis of time dependent data sets. In Macro Language the macro system of CFView™ is
described with the available commands in Python language. The macro system is a powerful
feature that allows automating CFView™. To learn how to generate input files in the CFView™
native file format, turn to Input File Format. It contains the description of the CFView™ input
data file system.

1.4 RUNNING CFVIEW™

Basic Installation

When using CFView™ for the first time verify that it is installed according to the installation note.
This installation note is provided with the software and should be read carefully. The following
points are specifically important:
l Hardware and operating system requirements should be verified to see whether the chosen
machine is supported.
l Installation of CFView™ according to the described procedure in a directory chosen by the
user and referenced in the installation note as 'NUMECA_INSTALLATION_DIRECTORY'.
Depending on the provided installation package CFView™ is installed alone or in
combination with other NUMECA software.
l A license should be requested which allows for the use of CFView™. This license should be
installed according to the described procedure. However, it is also possible to use CFView™
without a license for visualization of mesh and CGNS files. For the latest, only the surface data
can be read without a license.

11 CFView™ 16.1 User Guide


To request that CFView™ waits for active license, a "preferences.dat" file should be created in
$(USER_ HOME_ DIRECTORY)/.numeca/ subfolder and it should contain the LICENSE_WAIT
parameter for the PRODUCT CFView:
PRODUCT CFView
LICENSE_WAIT
END_PRODUCT

l Each user willing to use CFView™ or any other NUMECA software must perform once a
user configuration as described.
When these points are checked the software can be started as described below.

Starting CFView™

1. CFView™ may be started from the FINE™ interface by pressing the CFView™ button ( )
or by selecting the CFView item from the Modules menu.
2. CFView™ can also be started as a standalone application, outside of the FINE™
environment. The starting procedure for the Linux based platforms is different from the one on
the Windows based platforms (below # is the release version):

On Linux

Start CFView™ by typing: cfview# <Enter> in a command shell.


The command may be followed by one or several command line arguments that are described
in Advanced Options.

On Windows

Two different ways may be used to start CFView™ as a standalone application.


1. During the installation, an icon identifying CFView™ is created and inserted in the
Start/Programs/NUMECA software/Fine# menu. Select the icon identifying CFView™ to
start it as a standalone application.
2. It is also possible to start CFView™ from a command prompt window or by defining a
desktop shortcut. The full path name of the CFView™ executable must be typed. Typically,
this will be C:\numeca_ software\fine#\bin64\cfviewx86_ 64.exe <Enter> . In a command
prompt shell or in the string defining the command corresponding to a desktop shortcut, one or
several command line arguments may be added after the CFView™ executable file name.
These arguments are described in Advanced Options.

12 CFView™ 16.1 User Guide


1.5 ADVANCED OPTIONS

1.5.1 Command Line Arguments

CFView™ may be started with one or several command line arguments. The set of valid
command line arguments is described here. Unless specified differently, the command line
arguments may be used on Linux and Windows platforms.
The command line arguments allow to override some system defaults (used graphics acceleration
driver, display device name, doublebuffering and updateabort options) or to specify files to be
loaded immediately (project, macro, defaults settings, macro module).
The supported command line arguments are:
l -help: prints a summary of the command line arguments.
l -version: prints the CFView™ version number.
l -backward <version number>: necessary when executing a macro file created with an earlier
version than CFView™ v8.
l -date: prints the CFView™ version date.
l -defaults <defaults file name>: starts CFView™ with the default settings from the specified file
(see Edit, Save & Restore Defaults for a complete description of defaults settings).
l -geometry <widthxheight[+|-]x[+|-]y>: control the size and position of GUI opening. [x|y]
means x or y here. Numbers width and height specify sizes of the window in pixels, x and y –
position in pixels. If x is preceded by +, it specifies the number of pixels between the left edge
of the screen and the left edge of window border; if preceded by - then x specifies the number
of pixels between the right edge of the screen and the right edge of window border. If y is
preceded by + then it specifies the number of pixels between the top of the screen and the top
of window border; if y is preceded by - then it specifies the number of pixels between the
bottom of window border and the bottom of the screen.
l -project <project file name>: starts CFView™ and opens immediately the specified project.
l -project_ask_partial_load <project file name>: starts CFView™ and opens the project (.cgns,
.cfv, etc.) with the partial loader.
l -nob2b on: starts CFView™ and allows to avoid the hub and shroud projections process when
loading a turbomachinery solution file.
l -macro <macro script file name>: starts CFView™ and executes the specified macro script.
l -macromodule <macro module file name>: starts CFView™ and loads a specified macro
module (see Load Macro Module for a description of the macro module feature).

13 CFView™ 16.1 User Guide


l -display <display name>: starts CFView™ on the specified display device, overwriting the
DISPLAY environment variable (this feature is available only on Linux platforms).
l -doublebuffering (or -doublebuffering on): activates double buffering, overwriting the NI_
DOUBLEBUFFERING environment variable if existing (see Customizing Graphics
Options). The argument -doublebuffering off disables the double buffering feature, overwriting
the environment variable.
l - updateabort (or - updateabort on): activates update aborting, overwriting the
UPDATEABORT environment variable if existing (see Customizing Graphics Options). The
argument -updateabort off disables the update abort feature, overwriting the environment
variable.
l - driver <driver name>: starts CFView™ with the specified graphics accelerator (see for
information on graphics accelerators Graphics Drivers).
l - reversevideo (or - reversevideo on) starts CFView™ with black background color,
overwriting the REVERSEVIDEO environment variable if existing (See Other User
Preferences). The argument -reversevideo off starts CFView™ with a white background color
(the default).
l - facedisplacement <n>: starts CFView™ with the specified face displacement (See Face
Displacement).
l -loaddata all (-loaddata none, -loaddata ask). With the -loaddata all option (the default), when
opening a project the quantities fields are loaded in the computed memory. With the -loaddata
none, no quantity are loaded. And with the -loaddata ask argument, a specific dialog box is
raised where the user choose the field variables to be loaded. See Quantities Load on Demand
for a description of the data management facility and of the associated dialog box
l - batch: starts CFView™ without graphical user interface. This mode can be used in
combination with the -macro command line option in order to perform the execution of a
macro script without user interaction. 3 options are available:
l -batch: the graphic area is resized according to the size of the screen so that it behaves as
without the -batch argument.
l -batch backward: keeps the behavior of CFView™ before v9.0 for ensuring backward. In
this mode, the size of the graphic area is fixed: 29cmx12.19cm on Linux and
22.5cmx12.19cm on Windows.
l -batch size: force the size of the graphic area. for example, -batch 1500x1000 will set the
graphic area to 1500 pixels width and 1000 pixels height. This allows to keep a batch mode
independent of the screen size.
l -turbomode (or -turbomode on): starts CFView™ with the turbomachinery analysis mode
enabled (see TurboMachinery Mode), overwriting the TURBOMODE environment variable if
existing. The argument "-turbomode off" starts CFView™ in the standard mode, overwriting
the environment variable.

14 CFView™ 16.1 User Guide


l - hoops_ relinquish_ memory off: this option disables the garbage collection feature in the
HOOPS graphics library that is activated when CFView™ is idle during a long period of time.
l -np <number of OMP threads>: starts the CFView™ in parallel with the number of threads
specified.
l -openmp <on/off/#np>: starts CFView™ with the options specified.
l if openmp="on", the number of threads is set to the maximum available.
l if openmp="off", the number of threads is set to 1.
l if openmp="#np", the openmp argument overwrites the np argument.
l (see Commands Related to Defaults Settings to set dynamically the number of OMP
threads from the macro)

It can be inefficient to set the number of threads to the maximum available knowing that some other
processes are running on the system. The reason is that the thread run on the same core will be slowed
down and the other ones will have to wait this straggler.

The parallel post-processing is only applied when mesh loading, cut plane and iso-surface creation,
new quantity and thermodynamic derived quantity computation, RTZ/STM surface creation and
quantity computed by differential operators (grad, div, rot).

1.5.2 Customizing Graphics Options

Control size and position when opening GUI

In CFView™, the user can control the size and position of the GUI when launching CFView™
by creating the file $(USER_ HOME_ DIRECTORY)/.numeca/preferences.dat. And add the
following contents in the preferences.dat file:
PRODUCT CFView
GEOMETRY widthxheight[+|-]x[+|-]y
END_PRODUCT

15 CFView™ 16.1 User Guide


[x|y] means x or y here. Numbers width and height specify sizes of the window in pixels, x and y
– position in pixels. If x is preceded by +, it specifies the number of pixels between the left edge
of the screen and the left edge of window border; if preceded by - then x specifies the number of
pixels between the right edge of the screen and the right edge of window border. If y is preceded
by + then it specifies the number of pixels between the top of the screen and the top of window
border; if y is preceded by - then it specifies the number of pixels between the bottom of window
border and the bottom of the screen.
To control the GUI size and position, the user can also use the -geometry argument (see -
geometry). If geometry is provided both in the argument and in the preference file, the argument
has priority.

Double Buffering

Double buffering is a graphics technology that allows smooth graphics refreshing. Without it,
graphics refreshing may cause flickering or flashing, depending on the graphics accelerator
drivers.
By default, the double buffering is enabled for all the graphics accelerator drivers. In very rare
occasion, it has been observed that the doublebuffering is slowing down heavily the rendering
speed. In this case, double buffering may be disabled in the following way:
l on Linux platforms add a line in the shell configuration file (.cshrc or equivalent): to set the
environment variable NI_DOUBLEBUFFERING to off
l on Windows platforms the DOUBLEBUFFERING variable must be defined and its value set
to off in the Environment Variable dialog box, accessible from the Windows Control Panel
(Start / Control Panel) by invoking the Advanced system settings.

Reverse Video

By default CFView™ is started with a white background. It is possible to have a black


background in three ways:
l through the interface selecting the toggle menu item Preferences/Reverse Video before
loading the solution file,
l using the command line argument -reversevideo when starting CFView™,
l setting the environment variable REVERSEVIDEO to ON (on all platforms).

Update Abort

When enabled, this feature allows to continue to access to the menu bar and dialog boxes during
the graphics updates. If the content of the graphics window changes during a refresh due to the
continuing user interaction, the graphics update is aborted and restarted with the new content.
When disabled, the user interaction is disabled during graphics update.

16 CFView™ 16.1 User Guide


The default is to enable update abort. If, for some reason, this feature should be turned off, it can
be done in the same way as for double buffering (see above), except that the environment variable
is UPDATEABORT for all platforms.

Graphics Drivers

The graphics area of CFView™ interface uses by default an OPENGL driver that takes
advantage of the available graphics card. When the activation of OPENGL is causing problems,
CFView™ uses an X11 driver (on Linux) or MSW driver (for Windows) instead.
It is possible to explicitly change the driver used by CFView™ in the following ways:

On Linux

in csh or tcsh shell:


setenv NI_DRIVER X11
in bash or korn shell:
NI_DRIVER=X11
export NI_DRIVER
The selection will take effect at the next session.

On Windows

l Log in as Administrator.
l Launch regedit from the Start/Run menu.
l Go to the HKEY_ LOCAL_ MACHINE/SOFTWARE/NUMECA International/Fine#
register.
l Modify the DRIVER entry to either OPENGL or MSW.
The selection will take effect at the next session.

1.6 TROUBLESHOOTING

Unexpected termination of CFView™ may occur due to memory resources, network or graphics
server problems or other problems. In case of unexpected termination CFView™ tries to save a
script that allows, once CFView™ is restarted, to retrieve the visualization session at the point it
was interrupted.

17 CFView™ 16.1 User Guide


On Windows platforms, the script is saved in the user home directory under the name cfview_
recover.py. On Windows the home directory is defined by the environment variable HOME. If
this variable is not defined the home directory is set to the concatenation of HOMEDRIVE and
HOMEPATH environment variables.
On Linux platforms, the script is saved in the .numeca subdirectory under the user home directory
and with the name .cfview.recover.
To restart the session, CFView™ has to be restarted and the script has to be executed by selecting
File/Macro/Execute... This opens a file chooser dialog box, in which the recovery file has to be
selected.

18 CFView™ 16.1 User Guide


CHAPTER 2.

GRAPHICAL USER INTERFACE, PROJECTS


& VIEWS

This chapter presents the basic concepts used in CFView™. It is divided in 6 sections:
l user interface description,
l opening project,
l manipulating active view,
l manipulating graphics area (multi view operations),
l adding coordinate axis in a view,
l macros.
The first section describes the basic concepts of the interface. The remaining sections provide step-by-
step instructions for loading and working with a project.

In this section
2.1 Graphical User Interface (GUI) 20
2.2 Project Management 30
2.3 Import Validation Data 42
2.4 Views Manipulation 43
2.5 Templates & Macro Scripts 63

19 CFView™ 16.1 User Guide


2.1 GRAPHICAL USER INTERFACE (GUI)

When starting CFView™, the graphical user interface appears on the screen. The interface allows
to navigate through the system by interacting with all of its parts. It is subdivided into areas:

FIGURE 2.1
The graphical user interface

Creating flow field pictures with print quality is made very easy with CFView™ and usually
consists of the following steps:
1. The fluid flow simulation project is opened and a sketch of its geometry is drawn automatically
in the graphics area. When used in the FINE™ GUI environment, CFView™ is opening
automatically the current computational project. More than one project can be opened
simultaneously (see Open Multiple Projects for multiple project handling and Supported File
Formats for a detailed description of the supported file formats).
2. One or several surfaces on which a flow quantity is to be represented are selected or created.
CFView™ allows selecting any of the boundary surfaces on which boundary conditions have
been defined, but also allows creating cuts at arbitrary locations as well as iso-surfaces. Please

20 CFView™ 16.1 User Guide


refer to Creating & Handling Surfaces for a detailed description of surface selection and
creation.
3. The flow quantity and the type of representation are selected. Isolines, color contours,
streamlines, iso-surfaces, solid rendering, Cartesian plots are among the most frequently used
representations available. The graphics area is updated automatically. Refer to Flow Quantities
Visualization for a detailed description of quantity selection and creation and also for a detailed
description of the various types of representations.
4. If necessary, the viewing point can be modified (see Views Manipulation ) and the
representation parameters can be modified through dialog boxes (see Update Representations).
5. The final picture is printed in one of the available graphic formats (PNG, JPEG, PostScript...).
The user interface is organized in various parts: the menu bar, the toolbar, the Quick Access Pad,
the graphics area, the message area, the information area and the viewing buttons, as shown in
FIGURE 2.1 Each part plays a specific role, as explained in the following sections.

2.1.1 Menu Bar

The menu bar is situated at the top of the layout. It consists of 11 pull down menus: File, Edit,
Geometry, Render, Quantity, Representation, Update, View, Window, Preferences, Tools
and Macros. They contain all the commands needed to control CFView™.
The pull down menus are dynamic. Their content depends on the active project type (2D or 3D,
structured or unstructured) and on the quantity selected. For example:
l In 2D, the Render pull down menu and a part of the Geometry pull down menu as well as
other items are not available.
l When selecting a scalar quantity, the content of the Representation pull down menu is
different from the menu available for a vector quantity.
l The content of the Quantity pull down menu is based on the quantities given in the project
file. For example, if there is no validation data loaded, this item will not be available.
When a command is not available, it appears in light grey and it is not possible to select it.

21 CFView™ 16.1 User Guide


Pull-down Menu

There are five types of menu items:


l items with immediate response in the active view,
l items requiring mouse interactions in the graphics area,
l items requiring string input. They are followed by a left and right parenthesis: ().
l items opening a pull right menu, which may in turn contain all types of items. Such items are
followed by an arrow.
l items opening a dialog box or a chooser used for the selection of items in a list. These items are
followed by three dots (...).

Menu General Organization

The available functionalities are grouped into menus:


l The File menu contains the functionality related to
l data access: project, mesh, validation data, default parameters loading,...
l handling of macros,
l activation of the turbomachinery analysis mode,
l printing (save images),
l leaving CFView™.
l The Edit menu offers the possibility to undo or redo one or several consecutive actions.
l The Geometry menu contains
l the surfaces creation and selection functionality: mesh surfaces, cutting planes, blade to
blade surfaces, mesh surface for pitchwise averaging,
l the geometry representations functionality: surface, grid, wireframe and boundaries,
repetitions,
l the animation of representations: cutting plane and mesh surfaces sweeping, streamlines
animations,
l orientation axis and graduated coordinate system,
l calculation of the surface area, projected surface area and volume of the mesh.
l The Render menu contains all the functionalities related to surface rendering.
l The Quantity menu allows selecting the quantity used for flow field representation. There are
five types of data:

22 CFView™ 16.1 User Guide


l The field data: these are quantities which are given for the complete computational domain,
such as the pressure, the Mach number or the temperature. There are two main kinds of
field data:
l the basic field quantities that are loaded from the project or are in the computer memory,
l the computed thermodynamics and vector components that are computed on the fly if
selected.
l The solid data: these are quantities which are existing only on surfaces such as skin friction,
heat transfer coefficient or the normal component of the velocity.
l The validation data: this data is coming from experiments or other computations used for
comparison with computed ones (required to be loaded through the menu File/Load
Validation Data...).
l The plot data: they are related to arbitrary X-Y plots, such as convergence history or
quantities selected in FINE™/Turbo on the Outputs/Surface Averaged Variables page.
l The particle traces data: they are externally computed traces attached to an inlet boundary
such as those computed by the Lagrangian Module under the page Optional
Models/Fluid-Particle Interaction within FINE™/Turbo.
l The Time Label/Clocking Position: it allows to display the time or clocking position for an
unsteady computation in time or in space.
l Lines (Catway): it allows to display the cable lines computed by the CATWAY solver.
(New in CFView™ v15.1 & available starting FINE™/Marine v9.2)
CFView™ has no limits on the number of input data points or quantities. The only limit is the
hardware memory storage.
l The Representation menu allows to invoke representation insertions. This menu is accessible
only when a quantity is selected and its content depends on the quantity type.
l The Update menu contains the functionalities that allow to modify the flow field
representations after their insertion.
l The View menu contains the functionalities related to the handling of the active view:
l active view resizing and positioning,
l camera handling (see Views Manipulation for a complete description).
l The Window menu contains the functionalities related to the creation and handling of views:
l additional view creation,
l views tiling.
l The Preferences menu contains the functionalities related to the defaults settings:
l default line and marker types for various kind of curves, default text font size and type,
l graphics parameters such as background color, face displacement, use of an underlying grid
for view position, graphics accelerator.

23 CFView™ 16.1 User Guide


l The Tools menu contains the distance tool, which allows to measure the distance between two
points. The points can be either picked in the view or entered with the keyboard. CFView
displays the distance between the two selected points in the view and the values of dx, dy and
dz in the information area at the bottom. The distance tool will continue after selecting two
points. The user can quit by pressing <Esc> or right-clicking.

Keyboard Shortcuts

For more efficient use most of the menu items have a key binding, which can be activated when
the cursor lies in the graphics area. If a menu item has a key binding, it is written as an extension
to the menu item name. For example, under the File menu, the Open Project... command is
followed by "P". This indicates a shortcut. Hold down the <Shift> key and type <p> to invoke
the Open Project... command. Note that the use of capitals is important in the shortcuts of
CFView™. When the shortcut is indicated by a capital this means that the character should be
combined with the <Shift> key.
Throughout this manual keyboard shortcuts are indicated in blue italic.

2.1.2 Toolbar

The toolbar is located right under the menu bar and allows performing common tasks. This bar is
composed of 14 buttons that allow performing different tasks.

In the case of unsteady data sets, the toolbar is extended by a set of specific buttons:

Open & Close Project Buttons

This button is a shortcut for opening a project by selecting a project file. See Supported File
Formats, for a more detailed description of project opening and of the supported file formats.

24 CFView™ 16.1 User Guide


This button is a shortcut for partially opening a project by selecting required geometry and
quantities of a project file or for opening an unsteady project. See Partial Loader for a more
detailed description of steady state and unsteady project opening.

This button is a shortcut for closing the current project. See Close Project, for a more detailed
description of that function.

View Handling Buttons

This button is a shortcut for opening an additional view in Cartesian coordinates. See Multiple
Views, for a more detailed description of that function.

This button is a shortcut for opening an additional view in cylindrical coordinates. See Multiple
Views, for a more detailed description of that function.

This button is a shortcut for minimizing the active view. See Change View Size/Position, for a
more detailed description of that function.

This button is a shortcut for maximizing the size of the active view. See Change View
Size/Position, for a more detailed description of that function.

This button is a shortcut for deleting the active view. See Close Active View for a more detailed
description.

This button is a shortcut for inserting a decoration text. See Decoration Texts for a more detailed
description.

Coordinate Axis Buttons

25 CFView™ 16.1 User Guide


This button displays or removes the orientation axis, acting as a toggle. It performs exactly the
same task as the menu item Geometry/Coordinate System/Axis. See Add Coordinate Axes for a
more detailed description of that function.

This button displays or removes the graduated coordinate axis, acting as a toggle. It performs
exactly the same task as the menu item Geometry/Coordinate System/Graduated Axis. See
Insert Graduated Axes for a more detailed description of that function.

This button allows the user to measure the distance between the two selected points in the view. It
performs exactly the same task as the menu item Tools/Distance.

Quantity Range Control Buttons

This button starts a modification of the active quantity range. It performs exactly the same task as
the menu item Representation/Range/Range Set. See Range Set for a more detailed description.

This button fits the quantity range back to the default. It performs exactly the same task the menu
item Representation/Range/Range Default. See Range Default for a more detailed description
of that function.

This button fits the quantity range on the active surfaces. It performs exactly the same task as the
menu item Representation/Range/Range Active Surfaces. See Range Active Surfaces, for a
more detailed description of that function.

Unsteady Animation Buttons

The detailed description of unsteady data sets handling is provided in Animation of Unsteady
Data Sets.

This button brings the animation back to the first time step.

26 CFView™ 16.1 User Guide


This button moves the animation from the current time step to the next one. The same
representations are drawn in the views, but with the data from the next time step.

This button starts the animation of the current representation. The same representations are drawn
in the views, for each time step successively.

This button stops a running animation.

This button enables or disables the automatic restart at the first time step, when the animation has
reached the last time step. If the feature is turned on, the first time step is considered as the one
following the last time step. If the feature is turned off, the animation stops when it reaches the last
time step.

This button frees the RAM usage at each time step when post-processing unsteady data sets. By
default it is activated. See Projects Comparison for a more detailed description.

This button enables or disables the animation recording in an animated GIF format. It acts as a
toggle: when the recording is turned off, the button background is gray (this is the default) and
when the recording is turned on, the button background is yellow.

This button saves a time-averaging solution for the selected time steps.

The time-averaging steady results can only be computed for structured (FINE™/Turbo) projects.

2.1.3 Quick Access Pad (QAP)

The Quick Access Pad is located on the left side of the user interface and contains icons and lists
providing direct access to commonly used functions in CFView™. It is divided in three main
parts:

27 CFView™ 16.1 User Guide


l The Surfaces subpanel provides easy ways to select and to create surfaces (see Select
Surfaces).
l The Quantities subpanel displays the list of available quantities. It allows to select and to
create quantities (see Select & Create Flow Quantities).
l The Representations subpanel provides icons for creating representations and for the
computation of surface integrals (see Flow Quantities Visualization).
Each subpanel may be closed and reopened by clicking on its header.
The width of the Quick Access Pad may be augmented or narrowed by clicking and dragging the
square button situated on the right side of the Surfaces subpanel header.
The height of the Surfaces and Quantities subpanels may be increased or decreased by clicking
and dragging the square buttons situated at the bottom right of the subpanels.

2.1.4 Graphics Area

The graphics area is the part of the layout where all graphics objects appear. The graphics objects
may be distributed in different windows called views in the CFView™ terminology. These views
can be positioned arbitrarily in the graphics area and can also be moved, resized and iconised (see
Multiple Views).
The selection as well as the drag and drop operations are directly connected to the mouse buttons
and are explained below. As detailed in Active View, only one view at a time can be modified.
The active view is highlighted by a red border. When the interactive mode is active, a describing
message is present at the bottom of the graphics area.
The mouse buttons have the following function when the cursor is located inside the graphics
area:
l The left button (<1>) is used to select a point interactively.
l If the interactive mode is not active, the functionality associated with the picking selects the
object situated at the mouse location (see Update Representations).
l If the interactive mode is active, it depends on the mode that is currently active in that view
(for example: if the local value insertion is active, a click with the left mouse button will
interpolate the local quantity value on the active surface intersected by the line passing
through that point).
l Middle button (<2>)
Used for dragging decoration text in view. It is also used for translation in the free rotation
mode. On two mouse buttons computers, this is also accessible through the left button with the
<Ctrl> key pressed.

28 CFView™ 16.1 User Guide


l Right button (<3>)
l When one or several graphics objects are selected, pressing the right mouse button raises a
contextual pop up menu providing access to the updating functionalities.
l When the interactive mode is active, it allows to quit the interactive mode.

2.1.5 Message Area

The message area is located immediately below the graphics area. Three types of text messages
are displayed on this line. Message types are easily identified by the background color:
l Light yellow background: information messages.
l Black background: request messages. These messages are reminding the valid user interactions
in the graphics area or in the keyboard input area (see Keyboard & Viewing Control Area).
l Red background: warning messages. These are non fatal errors. However, the result of the
requested operation may be altered.

2.1.6 Keyboard & Viewing Control Area

This area contains a set of information on the current state of CFView™.

FIGURE 2.2
Keyboard & Viewing Area

The viewing buttons are described in Viewing Buttons and the three other regions are outlined
below.

Keyboard Input Area

The multipurpose keyboard input area is present in the layout of CFView™ to allow input from
the keyboard. A prompt indicating the type of input is displayed on the left side of the string input

29 CFView™ 16.1 User Guide


window, e.g. 'enter isosurface value'. To perform a string input operation, move the cursor in the
limits of this area, click the left mouse button, enter the value(s) separated by a blank and press
<Enter> to execute the action.
The mouse buttons have the following function in this area:
l left button (<1>):
Click and release to select an insertion point in the string editor.
Click and hold to initiate a rate scrolling of text within the horizontal box, then move the cursor
to the left or to the right for scrolling. When the desired position is reached, release the button.
l right button (<3>):
After left-click on the graphics area, the right-click enables the user to leave the menu.

Quantity Range Monitor

The quantity range monitor displays the current range of the active quantity in the active view. By
default, this is the full range of the quantity determined from the input data. This range can be
smaller or larger than the full range (see Control Representations Range for the quantity range
control).

Information Output Area

In this area, the quantitative information are displayed. Three kind of values are displayed:
l The results obtained from surface, volume or curve integrals (see Surface Integrals to Curve
Integrals).
l When pressing the left mouse button in the graphics area while no graphics object is selected
and when no interactive mode is active, the cursor position is displayed.
l This area also displays a progress bar during some computationally intensive operations.

2.2 PROJECT MANAGEMENT

In this section it is described how to open and close a project and which type of data sets are
supported by CFView™.
The data related to the current computation is loaded automatically when CFView™ is opened
through the FINE™ GUI environment. Furthermore (additional) projects may be opened by
selecting in CFView™ File/Open Project... and selecting a data file in the file chooser. The
available file types depend on the selected type of output for the computation. In Supported File
Formats, the file formats that can be opened by CFView™ are listed.

30 CFView™ 16.1 User Guide


When starting CFView™ with a command line in a shell the -project command line argument
may be used to load a specific data file (see Advanced Options). If the command line argument -
loaddata is used, the project loading may be restricted to the geometry only or to the geometry
with a user defined subset of flow fields (see Advanced Options, for further details).
A project can also be opened through File/Open Project Selection... . It allows the user to
partially load the geometries and quantities of the project, or to open unsteady projects or to
reconstruct unsteady solutions or clocking positions from harmonic solution. See Partial Loader.
The data loading process is completed when the messages "Reading..." have disappeared. When
the reading operation is completed, CFView™ opens a new view and automatically displays the
boundaries of the solid surface(s) of the geometry. This view becomes active and all following
actions are related to this view. From that moment the system is ready for the visualization session
and the control of the system is accomplished through the use of the menu items, the Quick
Access Pad or through the graphics area itself. The name of the project is indicated on the upper
part of the CFView™ session.

To open a project, the user must have the read permission on the file and the execute permission on
the whole directory path where the project related files are located.

If the rotation axis of the loaded project of one or more blocks is not z, the following functionalities
will have an undefined behavior: repetition, derived quantities, cylindrical and blade-to-blade views,
meridional averages, NLH post-processing.

2.2.1 File Chooser

The layout of the File Chooser depends on the used operating system but a typical layout is
shown in FIGURE 2.3 . Select the path of the directory containing the file using the list of
directories or to add the path directly in the string editor. To filter the available files in the selected
directory choose a file type in the list of file types (for more detail on the available file types see
Supported File Formats). In the list of files, automatically the files corresponding to the chosen file
type are displayed for the selected directory. Select the file and press OK (Open) to open the file.

31 CFView™ 16.1 User Guide


FIGURE 2.3
Typical layout of a File Chooser

2.2.2 Supported File Formats

CFView™ supports several file formats and each file format is identified by the extension of the
file name. The following sections describe how to open files that are in the CFView™ native, in
the FINE™, in the CGNS or in the PLOT3D file format.

Open CFView™ Native File Format (.cfv)

All the information concerning the project is included in the identification file. This file has the
'.cfv' extension.
FINE™/Turbo is creating such files when doing unsteady computations or selecting meridional
averaged variables. Refer to "Native File Format" (p. 421), to have a complete description of this
format.
FINE™/Marine is also creating such files. When opening a '.cfv' file created by FINE™/Marine
in CFView™ it is necessary to have the corresponding '.hex' file in the same directory with the
same name (this last file is automatically saved by FINE™/Marine).

32 CFView™ 16.1 User Guide


Open FINE™ File Format (.run)

The FINE™ formatted files have the '.run' extension. This is a file format specific to the FINE™
GUI environment. When running a computation with FINE™, all files related to the computation
and its solution are stored in one directory.
When opening a '.run' file created by FINE™/Turbo in CFView™ it is necessary to have the
corresponding '.cgns' file in the same directory with the same name (this last file is automatically
saved by FINE™/Turbo).
When opening a '.run' file created by FINE™/Open with OpenLabs™ in CFView™ it is
necessary to have:
l either the corresponding '.cfview' file (or '.s#' and '.v#' files) and '.hex' or '.sph' file;
l or the corresponding '.cgns' file;
in the same directory with the same name (these files are automatically saved by FINE™/Open
with OpenLabs™) depending on the output file format selected in the FINE™/Open project.

If the rotation axis of the loaded project of one or more blocks is not z, the following functionalities
will have an undefined behavior: repetition, derived quantities, cylindrical and blade-to-blade views,
meridional averages, NLH post-processing

If the rotation axis of the loaded project of one or more blocks is not z, the following functionalities
will have an undefined behavior: repetition, derived quantities, cylindrical and blade-to-blade views,
meridional averages, NLH post-processing.

Open Plot3D Formatted Files

Plot3D formatted files can be loaded in CFView™ using File/Open Plot3D Project.... As the
data in this format may be provided in one or several files, a specific file chooser dialog box will
appear as shown in FIGURE 2.4.

33 CFView™ 16.1 User Guide


FIGURE 2.4
Plot3D File Chooser

The first entry should contain the name of the geometry file, the second one should contain the
name of the solution file and the last two entries should contain the name of the function file and
the associated name file. A Plot3D project must always contain a geometry file. A project can also
be composed of a geometry and a solution file. The last kind of project contains the four file
types.
As various kind of file formats are allowed in the Plot3D format, the user should provide
information on the file format by clicking on the File Format... button in the Plot3D file chooser
box or by selecting the Plot3D file type... item in the Preferences menu. The dialog box as
shown in FIGURE 2.5 will appear.

FIGURE 2.5
Plot3D File Type Editor

The dialog box contains, on the left side, the parameters related to the grid type:
l multiblock: must be selected if the grid contains more than one block;
l blanking : must be selected if blanking information is included in the files. It should be
emphasized that this parameter relates to the presence of the blanking information in the file. It
may happen that such information is included even if no grid point is blanked.
On the right side, the parameters related to the file formatting are as follows:

34 CFView™ 16.1 User Guide


l file type: may be ASCII, binary single precision, binary double precision, unformatted single
precision or unformatted double precision;
l binary big endian/binary low endian : this information relates to the byte ordering on the
machine on which the files were created. This does not apply to ASCII formatted files.
The file format is stored as a part of the user defaults. If the file format default options are changed
during a CFView™ session, CFView™ prompts the user that the defaults have changed and
proposes to save them. Saving of the defaults is done automatically at the moment CFView™ is
quit. If the user saves the new defaults, the Plot3D file format may be restored in the next
sessions. Default restoring may be automatic or manual (see Edit, Save & Restore Defaults for
further information on loading defaults).
Plot3D files created by FINE™/Turbo can be binary low endian (little endian) single precision
unformatted or ASCII (imposed in the Outputs/Computed Variables page within FINE™/Turbo),
whatever the platform was used to run the computation. This is also the CFView™ default. Note
that Intel processor and Compaq alpha processor based platforms are natively low endian (little
endian), while the RISC processors (used in Linux workstations) are natively big endian.

With binary or unformatted file, a wrong binary ordering specification (e.g.: big endian instead of
low (little) endian) may lead to unpredictable behavior, including application crash.

Open Mesh

The mesh files from AutoGrid5™ (.cgns), HEXPRESS™ (.hex) and HEXPRESS™/Hybrid
(.sph) can be directly loaded into CFView™ without having a computation performed. This can
be achieved by selecting File/Open Mesh... and loading a mesh file in the file chooser.

The meridional or blade-to-blade (B2B) mesh exported from AutoGrid5™ (.cgns) cannot be imported
into CFView™.

35 CFView™ 16.1 User Guide


When opening an unstructured mesh (.hex or .sph) if the .bcs or the .isis2cfview file is not found
in the same directory as the mesh file, an error message is displayed. Otherwise, the mesh is
loaded with the boundary conditions defined in the .bcs or .isis2cfview file. It is possible to show
the repetitions (when applicable) as the repetition type and periodicity are also read from the .bcs
file.

To be able to use the repetition menu, the user has to set up the periodicity in HEXPRESS™.

For turbomachinery cases meshed at 360 degrees where the hub and shroud curves are loaded, the
mesh is cut so that the STM view will be correct.

For unstructured meshes, the .bcs file must be present in the same directory as the mesh file.

The .hex file created at the end of a FINE™/Marine computation and saved into the computation
folder cannot be loaded because the .bcs file is not adapted. The .sph mesh generated by
HEXPRESS™/Hybrid v3.1-2 and lower cannot be loaded into CFView™ for the same reason.

2.2.3 Open Multiple Projects

The multiview environment of CFView™ loads simultaneously different projects during the same
run and manipulates them in a similar way. This feature is particularly useful when comparative
analysis is made between computations based on similar geometry.

If CFView™ is already open, click Open ( ) on the toolbar or choose Open Project... in the
File menu to open a new project. The number of files that can be opened at the same time is
limited by the memory of the system.
The keyboard shortcut for File/Open Project... is <Shift> + <p>.

36 CFView™ 16.1 User Guide


2.2.4 Partial Loader

The partial loader is a useful tool to load part of the geometry and quantities instead of the
complete project. This functionality reduces the CPU time and memory usage and is especially
interesting for post-processing large projects. Moreover, unsteady projects can also be loaded with
the selected time steps.
The tool is compatible with steady and unsteady data sets (both 3D domain and CGNS surfaces).
If the project is unsteady, CFView™ searches for available time step files in the project directory
and provides additional controls in order to allow the user to choose the first and the last time step
as well as the interval between two consecutive time steps. The tool is also compatible with
harmonic project, please refer to Reconstruction of Flow in Time/Space for more details of
reconstruction in time/space.
Access this feature by selecting Open Project Selection… from the File menu or from the Open
Project Selection( ) button in the CFView™ toolbar
The keyboard shortcut for Open Project Selection… is <p>.
The data file can be selected from the pop-up file chooser window. Selection of the data file leads
to the Partial Loader dialog box. Depending on the selection of a steady/unsteady project or a
reconstructed harmonic solution in time/space, the dialog box is different.
l When a steady project is selected, the Partial Loader dialog box appears as shown in FIGURE
2.6.

FIGURE 2.6
Partial Loader dialog box for a steady project

37 CFView™ 16.1 User Guide


l The left frame in the dialog box allows loading part of the geometry by selecting their
corresponding check box among the existing geometries available in the data file.
l The right frame in the dialog box allows loading part of the available quantities by selecting
their corresponding check box among the existing quantities available in the data file.
l Filter string input area allows to select or deselect the geometries by their name, if the
Select or Unselect option is selected respectively. Type full or fractions of the name of the
geometries need to be filtered and activate the Select or Unselect option as defined by the
requirement and press <Enter>.
l MG level allows users to select the coarser level of the loaded structured FINE™/Turbo
solution. The default value is 0 and corresponds to no coarsening. Once the MG level is
set, when clicking on Apply the coarsening is applied in each direction until the chosen
MG level is reached or a non MG number of points is obtained on the given direction.

When loading a coarser level, as CFView™ is interpolating the quantity field from the data on the
loaded grid, the plotted quantity field will also be coarser as presented in FIGURE 2.7

FIGURE 2.7
Plotted static pressure field on different grid levels

l When an unsteady project (or a reconstructed harmonic solution in time) is selected, the Partial
Loader dialog box as shown in FIGURE 2.8 appears. Two extra radio buttons are available
for time step selection:

38 CFView™ 16.1 User Guide


l All Time Steps: load all the time steps available in the directory of the unsteady data file.
l The second radio button applies for selecting Initial and Final time steps along with an
Interval between two consecutive time steps.

FIGURE 2.8
Partial Loader dialog box for an unsteady project

When opening projects that contain a snap file (*.snap) with irregular time steps, the input for the
Interval will not be present anymore. It is not possible to skip some time steps in between the initial
and final ones.

l When a reconstructed harmonic solution in space (clocking) is selected, the Partial Loader
dialog box as shown in FIGURE 2.9 will appear. Two extra radio buttons are available for
clocking positions selection:
l All Clocking Positions: load all the clocking positions available in the directory of the data
file.
l The second radio button applies for selecting First and Last clocking positions with an
Interval between two consecutive positions.

39 CFView™ 16.1 User Guide


FIGURE 2.9
Partial Loader dialog box for a harmonic reconstruction in space project

l When a CGNS surfaces file is selected (the filter must be set to CGNS surfaces), the Partial
Loader dialog box as shown in FIGURE 2.10 appears.

CFView™ supports structured surfaces and unstructured conformal surfaces (without hanging
nodes). If surfaces including hanging nodes are loaded, cell borders of non conformal cells appear
as surface border.

CFView™ reads data in single precision. If the CGNS surfaces file is written in double precision,
CFView™ will read it and store the data in single precision.

When loading CGNS surfaces, there is no meaning to show or create derived quantities which are
3D domain quantities.

40 CFView™ 16.1 User Guide


FIGURE 2.10
Partial loader dialog box for a CGNS surfaces file

l The left frame in the dialog box allows to load part of the surfaces by selecting their
corresponding check box among the existing surfaces available in the data file.
l The right frame in the dialog box allows to load part of the available quantities by selecting
their corresponding check box among the existing quantities available in the data file.
l Filter string input area allows to select or deselect the surfaces by their name, if the Select
or Unselect option is selected respectively. Type full or fractions of the name of the
surfaces need to be filtered and activate the Select or Unselect option as defined by the
requirement and press <Enter>.
l If several time steps with the same base name are present in the directory, the user can
choose to open steady case (Steady case) corresponding to the selected time step or to open
unsteady case. In case of opening unsteady case, the second radio button applies for
selecting Initial and Final time steps along with an Interval between two consecutive time
step. If only one file is present in the directory, the choice between steady and unsteady is
not available.

41 CFView™ 16.1 User Guide


2.2.5 Close Project

To remove a given project from CFView™, click Close ( ) on the toolbar or choose File/Close
Project... from the menu. The active view and all the views related to that project are closed.
Remember that each view has always one project associated with it.
To quit CFView™, select File /Quit CFView.
The keyboard shortcut for File/Quit CFView... is: <Ctrl> + <q>.

2.3 IMPORT VALIDATION DATA

To load validation data, select File/Load Validation Data.... A file chooser appears and, by
default, filters the files with a '.dat' extension. To select a file with a different extension select All
Files in the List Files of Type section of the file chooser (see File Chooser for more information on
the file chooser). Select the file containing the validation data. Once imported successfully, the
validation data are available through the Quantity/Validation Data menu. (see Represent
Validation Data for detailed information on validation data representation).
The validation data must be provided in ASCII file format describing the data set along one curve
in the Cartesian coordinates space. The file has the following format:
l a header line which contains:
l the number of geometrical coordinates. It is usually 3, but it may be 2 or 1. If this number is
2, the Z coordinate is assumed to be null. If this number is 1, both Z and Y coordinates are
assumed to be null.
l followed by the number of quantities and the number of curve points,
l followed by the names of the quantities surrounded by '|' characters.
l the content lines where each line contains:
l the X, Y and Z coordinates of one point (or Z, R coordinates and a "0" in case of a r-z
profile),
l followed by the quantity values.
This format is compatible with the curve plot export facility (see Export Plot Curve(s) in File).
Example:
3 1 65 |magnitude V|
1.200000e-001 6.007622e-002 0.000000e+000 9.515225e-002
1.180000e-001 6.007622e-002 0.000000e+000 8.875245e-002

42 CFView™ 16.1 User Guide


...
6.499933e-002 6.007622e-002 0.000000e+000 2.244284e-005
6.499832e-002 6.007622e-002 0.000000e+000 0.000000e+000

2.4 VIEWS MANIPULATION

CFView™ operates as a multi-window system in which 2D and 3D graphics objects can be


simultaneously and independently displayed and manipulated. A window is called a view in
CFView™ terminology. The number of windows and tasks assigned to them is unlimited (except
by system resources). Any representation of the field may be applied and combined inside one or
more views. CFView™ recognizes three types of views:
l 2D views which are primarily related to 2D data,
l 3D views which are related to 3D data,
l Cartesian plot views which are used to display data in a Cartesian plot form.
When starting CFView™ only one view is created that occupies the entire graphics area. It is
possible to create additional views by opening a new project or by explicitly requesting a new
view for the same data set. In addition CFView™ creates Cartesian plot views whenever a scalar
quantity distribution (Representation/Cartesian Plot) is requested. The newly created view
becomes the active view. All subsequent actions, by using the menus or viewing buttons, are
related to it.
To manage the set of views, use special menu items dedicated to view manipulations such as
resizing, moving, iconising or deleting a view. It is also possible to tile all non iconised views to
the graphics area. This gives a flexible way to customize the screen layout dedicated to graphics
and to produce plots for scientific publications and technical reports.

2.4.1 Active View

Although CFView™ allows any number of views to appear on the screen, only one view may be
active at a given time. The active view is the view to which all viewing operations and data
manipulations are applied by using the viewing buttons and menus.
The active view always appears on top of all the other views (view stack) and is recognized by its
red border, while the other views appear with a black border.
It is possible to activate any other view for interactive work. To do so, use the left mouse button:
click inside the view, to pop-up the desired view of the stack on top of the others.

43 CFView™ 16.1 User Guide


2.4.2 View Concepts

The way the user looks at a certain scene is defined by 4 parameters controlling a virtual camera.
l The view point represents the position of the camera.
l The target point represents the point where the camera is pointing to.
l The view up direction controls the direction the top of the camera should face.
l The width and height control the span around the target to be visible.
In addition we can define:
l The view normal direction going from camera target to camera position.
l The target plane which is the plane passing through the target and normal to the views normal
direction.

FIGURE 2.11
View Definition

Each viewing operation affects one, some or all the parameters of this camera. The parameters
affected by each operation are specified at the end of each description.
Whenever a view is opened or a new surface is added to the active view, CFView™
automatically computes the box such that all the graphics objects fit inside.

44 CFView™ 16.1 User Guide


Projection Mode

CFView™ provides three types of projection modes to display three- dimensional objects
(View/Parameters):
l Orthographic : they are typically used to represent the metric properties of an object and to
show the exact shape of a side parallel to the plane of the screen.
l Stretched : this mode is similar to orthographic, except that when the view is resized the
observed object is scaled in the same way
l Perspective : they give a more realistic representation of an object as seen from an observer at
a specific position. This position, called the reference point, can be used to change the
appearance of the graphics objects on the screen. The closer the point is, the more distorted the
objects will appear. On the other hand, if the reference point is far from the objects, the
projection will look like an orthogonal projection (Orthographic). CFView™ provides a
convenient way to modify the position of this reference point by controlling its distance from
the objects using the Continuous zooming ( ) viewing button. Refer to Viewing Buttons.
The default projection mode is orthogonal (Orthographic).

The interactive picking cannot be done in perspective views. Hidden line may not work properly in
perspective views, when the projection point is too close to the object.

Change Representation Scale

To change the scaling factors for the 3D or 2D scenes, select Scale from the Geometry menu.
Then enter the 3 or 2 scaling factors for each of the directions. Press <Enter> in the keyboard
input area in order to validate the entry. The scale factors are applied to the active view. A value
lower or larger than 1 is respectively stretching in or out the geometrical representation for the
related direction. Finally a value of 1 is leaving the geometry unaffected.

Change Background

To change the view background, right-click in the active view and select Set Background or
define the view background in the Preferences/Background Type menu before creating the
view.

45 CFView™ 16.1 User Guide


Four types of view background are available:
l Clear Color: a unique color is selected as background.
l Shaded Colors: two colors are selected to define a vertical color gradient as background.
l Picture Background: a 32-bits PNG picture is selected as background using the Load File
button. The loaded picture is stretched to fit the view when the Stretched background option
is active.
l Skybox Background : a 32-bits PNG horizontal skybox or a skybox script file (.sky) is
selected as background using the Load File button. The skybox script file is referring to six
32- bits PNG pictures defining the six faces of the cube representing the surrounding
environment.

The 32-bits PNG horizontal skybox is not available on Windows.

When the loaded file is not a 32-bits PNG, a warning "Loaded file is not a 32-bits PNG" will appear.

46 CFView™ 16.1 User Guide


The Apply button applies the selected background on the active view. The Close button is
closing the dialog box without applying.

2.4.3 Viewing Buttons

There are 13 buttons allowing to perform various operations on the active view: viewing
operations affect the way the user looks at the project.
Most viewing operations are interactive:
l Press on the left (<1>) or middle (<2>) mouse button to initiate the operation.
l Drag the mouse. Depending on the operation, the position of the mouse will affect some
parameters of the camera.
l Release the mouse button when finished.
If the option View/Parameters/Full Render is disabled then the scene in the active view is
reduced (hidden surface removal is deactivated, markers are removed, text is removed, colormaps
are removed, etc....) during interactive operation in order to maximize the response of the graphic
system.

X, Y & Z Projection Buttons

These buttons allow to set the camera position in order to bring the view normal parallel to X, Y
or Z coordinate directions. This option is also accessible through the menu View/Projection/.

Translate Button

This button allow to scroll (translate) the camera in a given direction, the direction the camera is
being pointing is remaining unchanged.
l Press on the left mouse button to initiate the operation.
l Then drag the mouse in the direction of interest.
l Release when finished.
This button allows also to perform a continuous scrolling of the camera:

47 CFView™ 16.1 User Guide


l Press on the middle mouse button to initiate the operation.
l Then drag the mouse in the direction of interest. The continuous scrolling speed and direction
are proportional to the dragging amplitude and direction.
l Release when finished.
These operations affect the camera position and target.

Dynamic Viewing Button

This button allows to rotate and translate the camera position around the target as well as to zoom
and to fix the rotation center and to zoom in/out.
l Click with the left mouse button to start the operation mode.
l Press, drag and release the left button in the graphics area to rotate the camera. Move the
mouse left-right for a rotation around the vertical axis or forward-backward for a rotation
around a horizontal axis.
l Press and release the left mouse button with the <Shift> key pressed to select a new rotation
center. The rotation center is chosen in two steps: first if at least one active surface is under the
mouse pointer, the point which is the closest to the observer is chosen. If no such points exists,
non-selected surfaces are considered and if no point is found, the selection is aborted.
l Press, drag and release with the middle mouse button to translate the camera. This is also
available with the left mouse button with the <Ctrl> key pressed.
l Press, drag and release the middle button with the <Shift> key pressed for zooming in or out.
This is also available through the left mouse button with the <Ctrl> and <Shift> keys pressed
simultaneously.
l Roll the middle-mouse button to perform a zoom where the mouse is pointing.
l Press and release the right button to quit to operation mode.
The shortcut key for dynamic viewing is <F1>.

X, Y & Z Rotation Buttons

These buttons allow to rotate the camera about the principal coordinate directions (X, Y or Z for
views in Cartesian coordinates; R, θ or Z for cylindrical coordinates,...).

48 CFView™ 16.1 User Guide


1. Press on the left mouse button to initiate a rotation operation.
2. Then drag the mouse to the left or to the right to rotate clockwise or counterclockwise.
3. Release when finished.
These buttons allow also a continuous rotation:
1. Press on the middle mouse button to initiate a rotation operation.
2. Then drag the mouse to the left or to the right to start a continuous clockwise or
counterclockwise rotation. The rotation speed is proportional to the dragging amplitude.
3. Release when finished.
Rotation affects only the camera position.

Roll Button

This button allow to roll the camera around the view normal and affects the view up direction:
1. Press on the left mouse button to initiate a rolling operation.
2. Then drag the mouse to the left or to the right to roll clockwise or counterclockwise.
3. Release when finished.
This button allows also a continuous rotation:
1. Press on the middle mouse button to initiate a rotation operation.
2. Then drag the mouse to the left or to the right to start a continuous clockwise or
counterclockwise rotation. The rotation speed is proportional to the dragging amplitude.
3. Release when finished.

Zoom In/Out Button

This button allows the user to interactively zoom in and out and thus affects the camera width and
height:
1. Press on the left mouse button to initiate a zooming operation.
2. Then drag the mouse to the left or to the right to zoom in or out.
3. Release when finished.
This button allows also a continuous zoom in or zoom out operation:

49 CFView™ 16.1 User Guide


1. Press on the middle mouse button to initiate the zoom operation.
2. Then drag the mouse to the left or to the right to start a continuous zoom. The zooming speed
is proportional to the dragging amplitude.
3. Release when finished.

Zoom Area Button

This button allows the user to specify a rectangular area of the active view to fit to the whole
view. This affects the camera position, target, width and height:
1. Press and release the button to initiate an area zoom operation.
2. Move the mouse to the active view and press the left mouse button on the first corner of the
rectangular area.
3. Drag the mouse to the second corner and release the left mouse button.
The operation may be repeated several times. Press the right mouse button to quit the interactive
mode
The shortcut for defining the zoom area is <F2>.

Fit Button

This button fits the scene to the view based on the bounding box surrounding the geometry as
described in View Concepts. This affects the camera position, target, width and height.
The shortcut to fit the scene to the view is <F3>.

Original Button

This button brings the active view in a default viewing state and affects all the parameters of the
camera. This default viewing state is referred to as the "original" view and is also accessible
through View/Projection/Original.
The shortcut to return to the default viewing state is <F4>.

50 CFView™ 16.1 User Guide


2.4.4 View & Window Menus

The functionalities related to the view handling are grouped in the View and Windows menu.
The View menu contains the functionalities that affect the active view directly, while the
Window menu contains the items for the creation of new views and for the tiling of the views in
the graphics area.
The Projection and Parameters submenu are described first. In View/Projection multiple view
handling and the other items from these menus are described.

View/Projection

The Projection submenu in the View menu contains the following commands:

Original

To reset the view in its default orientation select this item. The associated viewing button is ( ).
The keyboard shortcut to reset the view in its default orientation is <o>.

X Constant, Y Constant, Z Constant

To update the view parameters to obtain X, Y or Z constant projection of the objects, choose one
of these three commands from the View/Projection menu. The associated view buttons are ,
, or
The keyboard shortcuts for X constant, Y constant or Z constant are respectively <x>, <y> or
<z>.
To go back to the original view use View/Projection/Original or use the shortcut <o>.

51 CFView™ 16.1 User Guide


View/Parameters

This menu allows to exactly setup the view by giving an orientation to the view coordinate
system. This is done through two variables, the Normal vector and the Up Vector . The
Normalvector is a vector perpendicular to the screen and pointing outside it. The Up Vector is a
vertical vector in the plane of the screen. Giving the coordinates of this vector rotates the
coordinate axes around the normal vector. These two vectors are always perpendicular. If the
perpendicularity is not respected when entering the coordinates of the Up Vector, the system will
automatically replace it with its projection in a plane perpendicular to the Normalvector.
This submenu allows also to set some of the viewing parameters and to choose the projection
mode (see Projection Mode): Orthographic, Stretched or Perspective.

Normal

This command allows to enter the coordinates of the Normalvector. To do so:


1. Choose Normal from the Parameters pull right menu.
2. Move the mouse to the keyboard input area and enter the coordinates of the Normalvector or
press, drag and release with the left mouse button in the active view to indicate the desired
normal direction.

Up Vector

This command allows to enter the coordinates of the Up Vector. To do so:

52 CFView™ 16.1 User Guide


1. Choose Up Vector from the Parameters pull right menu.
2. Move the mouse to the keyboard input area and enter the coordinates of the Up Vector or
press, drag and release with the left mouse button in the active view to indicate the desired up
direction.

Full Render

When not being in Full Render mode CFView™ automatically degenerates all shaded
representations, such as solid model and color contour during rotation and translation in order to
improve the operation speed. This is the default mode. To disable or enable this feature, select this
item. It acts as a toggle.
The keyboard shortcut for Full Render is <Shift> + <v>.

Display Shadow

When activating the Display Shadow feature in this menu or the button in the QAP, a
shadow is drawn under the scene. Its position and the light direction change according to the
view. The shadow is always drawn on an horizontal plane, located at the bottom of a bounding
box, enclosing the scene. The direction of the light source generating the shadow is always
vertical.

Fast Preview

When the user has semi-transparent surfaces in its view, the time needed to generate an image in a
big scene can achieve a couple of seconds. Because of this lack of interactivity, changing the
camera position is really difficult. To solve this problem, the Fast Preview mode can be activated.
In this mode, all the costly rendering options are disabled (transparency, environment map).
This mode will give different opportunity to help the user in large scenes:
l Set the materials in normal mode, switch temporary to the Fast Preview mode to set the
camera, and switch back to normal mode to see the final result.
l Switch to Fast Preview mode, edit a set of material properties, and switch back to normal
mode to see all the modification at once.

The message "Fast preview mode" is displayed when the mode is active in the menu.

Transparent

This command allows to make a view transparent. To do so:

53 CFView™ 16.1 User Guide


1. Activate the view to make transparent.
2. Choose Transparent from the Parameters pull right menu. The view becomes transparent.
This command acts as a toggle: a second selection disables the transparency.
The keyboard shortcut for Transparent is < - >.

The transparent mode makes the whole project transparent in the view and thus it is no more possible
to manipulate this view.

Border

This command allows to hide the border of the view. To do so:


1. Activate the view to edit.
2. Choose Border from the Parameters pull right menu. The border of the view disappears.
This command acts as a toggle: a second selection makes the border visible again.
The keyboard shortcut for Border is <Shift> + <b>.

Stretched, Orthographic, Perspective

These three menu items allow to control the projection mode of the active view (see Projection
Mode).

2.4.5 Multiple Views

Open Additional Views

To open a new Cartesian view, choose Open Cartesian from the Window pull down menu. To
do so specify a rectangular area to indicate the location of the new view:

54 CFView™ 16.1 User Guide


1. Move the mouse to the active view and press the left mouse button on the first corner of the
rectangular area.
2. Drag the mouse to the second corner and release the button.
Open Cylindrical opens a view in the (r, θ, z) coordinate space.
Open Blade to Blade in the (s, θ, m) coordinate space. For a description of the (s, θ, m)
coordinate space refer to "Geometry Support for Blade to Blade Views" (p. 429).
Compute & Open Pitch Average starts the computation of a pitch average project and opens a
meridional (2D) view. Refer to Compute Meridional View by Azimuthal Averaging for a detailed
description of this feature.
The keyboard shortcut for Open Cartesian is <Shift> + <n>and the toolbar buttons associated
to the opening of respectively Cartesian and cylindrical views are and .

Refresh Graphical Area Display

To refresh the content of the graphics area, select Refresh from the Window menu. CFView™ is
refreshing automatically the graphics area content and this command does not need to be used
under normal conditions.

Reset View Content & Viewing Parameters

To reset the view content as it was just after opening it, choose Reset View from the Window
menu.

Close Active View

To close the active view and delete all the representations, choose the Close item from the
Window menu. After deletion it is not possible to retrieve the content. In this way memory space
can be made available again.
When all the views associated with a project are deleted, the project is at the same time deleted
from the system.

The keyboard shortcut <Ctrl> + <n> and the toolbar button permit to close the view.

55 CFView™ 16.1 User Guide


Change View Size/Position

The view size and position can be changed by selecting the appropriate feature from the View
pull down menu. The view border can also be selected with the left mouse button in order to
activate the view move or resize interactive mode. This section describes first the functionalities
from the View menu and then provides a description of the interactive move or resize mode.

Maximize

To expand the active view over the entire Graphics area, choose Maximize from the View pull
down menu.

The keyboard shortcut is <f> and the toolbar button associated is .

Preferred Size

To return to the size of the active view before the last full screen or icon operation select
Preferred Sizefrom the View pull down menu.
The keyboard shortcut is <7>.

Minimize

To iconise the active view select Minimizefrom the View pull down menu.

The keyboard shortcut is < . > and the toolbar button associated is .

56 CFView™ 16.1 User Guide


Push Back

To push back a view, select the Push Back item. The active view is redrawn behind any
overlapping view.

Move/Resize

To move or resize the active view in the graphics area, choose Move or Resize from the View
menu. Both are starting the interactive move or resize mode described in Tiling Views.
For compatibility with previous versions, two shortcuts are recognized <m> and <r>.

Interactive Move/Resize Mode

When move or resize are selected from the View menu, or when the view border is selected with
the left mouse button, the interactiveMove or Resizemode is activated. The cursor appearance is
changed.
In this mode, the mouse binding are as follows:
l When the mouse pointer is positioned near a view corner or at mid distance along one of the
view side, the cursor is changed into a symbol (i.e. ) indicating which type of resizing
operation can be performed. At this moment, if the left mouse button is pressed, a resizing
operation is started. By dragging, without releasing, the mouse pointer into a new location the
view is resized accordingly. The resizing operation is validated by releasing the left mouse
button.

l When the mouse pointer ( ) is positioned inside of the view. Pressing, dragging and then
releasing with the left mouse button is moving the view accordingly.
l When the right mouse button is pressed a pop up menu is raised that provides access to the
commonly used features. These features are enabling to change the view size, to send it to
back or to bring it to the front and to close the view.

l The interactive mode is quit by a simple left-click inside the view.

Tiling Views

To tile the non iconised views to the entire graphics area select Tile Viewsfrom the Windows

57 CFView™ 16.1 User Guide


menu.

Arrange Iconised Views

To arrange the current iconised views in the graphics area select Arrange Icons from the
Windows menu.

Swap Views

It is possible to swap a view with another view, i.e. exchanging their position and size. To do so:
1. Select the first view with the mouse.
2. Choose Swap Views from the View pull down menu.
3. Select the second view with the mouse. The two views are swapped.
The keyboard shortcut for Swap Views is < / >.

Align Views

This command aligns the camera position and orientation of a view with another. To align a view:
1. Select the model view for alignment.
2. Choose Align Views from the View pull down menu.
3. Click with the left mouse button into the reference view on which to align the active view. The
camera position and orientation parameters will be automatically set to those of the reference
view.
The keyboard shortcut for Align Views is < = >.

Synchronize Views

These commands allow to control the dynamic synchronization of multiple views by linking the
viewing operations (i.e. zoom, rotate and translate) to a group of views.

To synchronize views:

l Left-click on a view to activate it. This view will be the "master" view.
l Select View/Synchronize Views menu to start synchronization (shortcut <a>).
l Left-click on another view. This view will be the "slave" view.
l Repeat above steps to add another slave view.

58 CFView™ 16.1 User Guide


When applying viewing operations (more details in "Viewing Buttons" (p. 47)) in the "master"
view, the same operations will be automatically applied in the synchronized "slave" views.

The dynamic synchronization is not allowed on views with different coordinate systems. When
selecting "slave" view a warning "Can not synchronize, not the same coordinate system" will appear.

Stop View Synchronization

The View/Stop View Synchronization menu allows to stop the dynamic synchronization of the
whole CFView™ session (shortcut <A>).

Show Synchronized Views

The View/Show Synchronized Views check button displays a label at the bottom of each view
indicating the ID of the view as well as all the "slaves" views synchronized with it when "master"
view.

Superpose Views

This command superposes two views in order to compare their contents. The active view is
placed on top of another one and the active view is set transparent. To superpose a view:

59 CFView™ 16.1 User Guide


1. Activate the view to superpose.
2. Choose Superpose Views from the View pull down menu.
3. Click with the left mouse button into the target view on which to put the active view. The
active view is superposed and becomes transparent.
The keyboard shortcut for Superpose Views is <+>.

Match Ranges

This command sets the colormap range for one view equal to another one. To match two views:
1. Activate the target view. This is the view that will have its colormap range matched to the
second view.
2. Choose Match Ranges from the View pull down menu.
3. Left-click into the second view. Now the target view has the same colormap range as the
second view.
The keyboard shortcut for Match Ranges is <Ctrl> + <m>.

2.4.6 Add Coordinate Axes

CFView™ provides two types of coordinate systems, both right handed: the orientation axis and
the graduated axis. Both types of coordinate systems are explained in this section.

Insert Orientation Axes

The orientation axes make a small local coordinate system displayed without graduations. By
default, it is displayed in the lower right corner of the view. And it defines the principal directions
as a help for the viewing operations.

The orientation axis is inserted in the active view by selecting the toolbar button or by
selecting Axis in the Geometry/Coordinate system submenu. The button and the menu item are
acting as toggles: a second selection removes the axis representation.
The orientation axis origin may be changed easily:
1. Select the axis representation in the view by clicking on it. A set of highlighting markers are
appearing.
2. Place the mouse cursor on the axis, then press, drag and release with the left mouse button to
place it at the desired location.
The size of the orientation axis may be increased or decreased in the following way:

60 CFView™ 16.1 User Guide


1. Select the axis representation in the view by clicking on it. The highlighting markers are
shown.
2. Press the right mouse button, a pop up menu appears.

3. Select Set Larger or Set Smaller to increase or decrease the representation size.
The pop up menu offers also the possibility to discard the axis representation from the view. To
do so, select the Hide item in the pop up menu.

Insert Graduated Axes

The graduated axes are inserted in the active view by clicking on the toolbar button or by
selecting Graduated Axis in the Geometry/Coordinate System submenu. The axis origin and
range is set automatically to values appropriate in order to fit with the represented geometry.
When the viewing direction is parallel to one of the main coordinates axis, the axis close to that
direction is not drawn (since its representation would be degenerated to a point).
Several options are available to customize the graduated axis representation. These are accessible
in the graduated axis editor dialog box (see Graduated Axis Representation Control). To open this
dialog box, there are two possible ways:
l select the Axis Editor... in the Geometry/Coordinate System submenu,
l select the graduated axis in the active view, highlighting markers are drawn. Then, press the
right mouse button, a pop up menu is appearing. In the pop up menu, select Edit axis.... Note
that the pop-up menu contains a series of items that are shortcuts for common update options.

Graduated Axis Representation Control

There are several parameters that can be modified in order to tune the graduated axis
representation. All of them are accessible from the Graduated Axis Editor dialog box (see figures

61 CFView™ 16.1 User Guide


below).
In the page entitled Ticks & Line Type, the following parameters are controlled:
l the origin and extend in each direction. The coordinate system origin is situated at the point
which coordinates are below the From label and the axis extends to the values given below the
To label. The ticks spacing and their associated labels are given below the Spacing label. In
order to change those values, type the new values and press the Apply button.
l The size of the ticks (with respect to the axis size) is displayed at the centre. In order to change
it, type the new value in the entry and press the Apply button.
l In the lower part of the page, the line type used for drawing the axis and the ticks is displayed.
The parameters controlling the line type are detailed in Curve, Line & Marker Type Editors.

FIGURE 2.12
Ticks & Line Type and the Numbers Type pages from the Graduated Axis Editor

The second page Numbers Type of the Graduated Axis Editor provides control of the type of
text used for the numbers labels displayed along the axis.
l The numbers orientation can be set to Horizontal (the numbers text appear horizontal whatever
the axis orientation) or to Perpendicular to the axis (the numbers text are always orthogonal to
the axis direction). This can be controlled individually for each axis. This control is also
accessible directly from the graduated axis popup menu.
l The font type, size and color can be changed in the Text Type frame. Further details on these
parameters are provided in Text Type Editor.

62 CFView™ 16.1 User Guide


FIGURE 2.13
Labels page from the Graduated Axis Editor

The third page Labels of the Graduated Axis Editor provides control over the positioning and
text type of the axis labels:
l The axis labels can be set at the end of the axis or at the centre (at mid range). Select Top or
Center in the Position frame in order to change this setting.
l The font type, size and color can be changed in the Text Type frame (see Text Type Editor for
further details on these parameters).
The pop-up menu also offers shortcuts to enlarge or shrink all the text sizes in the represented
graduated axis. To do so, select Larger Texts or Smaller Texts. The pop-up menu provides also
an item to discard (Hide axis) the representation from the active view.

2.5 TEMPLATES & MACRO SCRIPTS

The templates and macro scripts are special types of files that are containing commands to be
executed by CFView™. Templates and macro scripts are designed with very different objectives:
l A template file contains commands that are defining the content of the views, without
reference to a specific data set. It contains information on how to construct the content of each
view along with instructions needed to set up an entire drawing. A template recorded on a data
set is designed to be applicable on similar data sets.

63 CFView™ 16.1 User Guide


l A macro script is a general purpose set of commands. It may contain reference to actual data
sets. Macro scripts are written in the Python language, extended by the CFView™ specific
commands. CFView™ provides a way to record a sequence of user commands as they are
performed interactively. And, it is also possible to create macro scripts from scratch, using the
CFView™ commands and all the features of the Python language (loops, tests, subroutines,
file input/output,...).

Apply Templates

In order to apply an existing template on another data set, proceed as follows:


1. Load the project in CFView™ or select a view that is relative to the desired project.
2. Select Apply Template... from the File menu. A file chooser appears.
3. Select the template file ('.ty'). The template is automatically applied to the current project: all
the views related to the project are closed and replaced by those defined in the template file.

There are some limitations to the applicability of templates. If the project from which the template
was created is too different from the target project, the template may not work properly, leading to
error messages and/or incomplete building of the representation layout. The templates are working
with difference in number of points in the mesh and with small modifications in the geometry.
However, differences in topology (different boundary condition patches type or names, differences in
number or in name of blocks) and differences in coordinate scales (e.g. difference in units) would
most probably lead to inapplicable templates.

The ability to save templates has been replaced by saving macros, see Use Macro Scripts for more
details on how to use macros in CFView™.

64 CFView™ 16.1 User Guide


Use Macro Scripts

As explained in the introduction, the macro scripts are Python scripts that are executed by
CFView™. In order to facilitate the creation of scripts, CFView™ allows the user to record
sequences of actions. CFView™ works with an active macro: this is a script stored internally and
initially empty. All macro manipulations operate on the active macro. These operations are
grouped in the Macro pull right menu of the File menu.
CFView™ supports also macro modules: a macro module is a set of macro functions defined in a
file. When a macro module is loaded, each function can be invoked individually from the Macros
menu.
For additional information and the description of the supported commands, please refer to Macro
Language. This chapter provides also a short description of the Python language.

Play Active Macro

To play the active macro, choose Play from File/Macro. The macro execution starts in the active
view.

Record User Actions

To record subsequent actions on the active macro, choose the Record toggle from the
File/Macro menu. When starting a recording of a new macro 'from scratch' do not forget to Clear
the active macro first.

Clear Active Macro

To clear (remove all operations in) the active macro, choose Clear from the File/Macro menu.

65 CFView™ 16.1 User Guide


Load Macro

To load a macro from file, choose Load... from the File/Macro menu. A file chooser appears.
The file extension for a macro script file is ".py". The new macro replaces the previous active
macro.

Save Active Macro

To save in a file the content of the active macro, only recording the actions when the Record
toggle from the File/Macro menu is active, choose Save... from the File/Macro menu. A file
chooser appears. The file extension for the macro script files is ".py". This extension is
automatically added if necessary.
The active macro is saved on file and remains in the system for further operation.

Execute Macro Script Data File

To execute a macro script stored in a file, choose Execute... from the File/Macro menu. A file
chooser appears. Select the macro script file ".py". The macro execution is started automatically.

The execution of the macro is also recorded if the Record button is turned on. It is different from
loading and then playing a macro only from the point of view of the macro recorder. If a macro is
loaded, the recorder is reset. If a macro is executed, the new script is appended to the active macro.

The keyboard shortcuts for Execute... are <k> or <6>.

Save All Macro Recording Since Session Start

To save the script recording all the operations made since the session start, choose Save All...
from the File/Macro menu. A file chooser appears. The script is saved in the selected file.

Load Macro Module

To load a macro module, choose Load Module... from the File/Macro menu. A file chooser
appears. The file extension for the macro module files is ".py". The selected file is loaded and the
functions defined in the module are inserted in the Macros pull-down menu. (see Create & Use
Modules, for a further description of macro modules).

Two macro modules having the same file name should not be loaded in the same CFView™ session.

66 CFView™ 16.1 User Guide


Viewer/Debugger

The viewer/debugger module allows to control macro execution and editing at runtime. It contains
the following functionality:
l load a macro file and view the contents of the macro file,
l edit any particular macro,
l set breakpoint at any particular macro,
l delete breakpoint from any macro for which a breakpoint has already been set,
l step through the macros n at a time, n being controlled by the user,
l delete any particular macro,
l print a variable that has been assigned any value during macro execution,
l notify the user of failure if execution fails at any particular macro,
l auto cleaning of macros depending on various clauses,
l at any time user can either highlight all the macros for which breakpoints have been set or the
macro that will be executed next.

67 CFView™ 16.1 User Guide


Implementation of automatic cleaning is dependent on following clauses:
l Following macros are cleaned if the value is not assigned to any variable:
l Macros for quantity probing (see Commands Related to Quantity Probing).
l Macros for integral computation (see Commands for Computing Integrals on Surfaces,
Commands for Computing Mechanics ,and Commands for Computing Integrals Along
Curves).
l Other macros just returning values (NumberOfTimeSteps, ViewName,
GetMeshRepetitionType, StructuredDomainSize, ProjectFile, SurfaceExist,...).
l Unsteady Macros are removed (NextTimeStep, SetActiveTimeStep,...).
l Viewing Macros are removed in case any of the macros occur consecutively: the preceding
instances are removed (see Commands Related to Viewing Geometry of Active View for the
description).

68 CFView™ 16.1 User Guide


l If multiple instances of ViewTile (Commands Related to Multiple Views Handling) exist in
macro list, the unnecessary instances are cleaned: e.g. if there are no view opening / file
opening / view closing / file closing macros between two instances of ViewTile, the second
instance is removed.
l If a quantity is created and removed without being used anywhere, corresponding instances of
QntFieldDerived and QntFieldRemove are cleaned ( Commands Related to Quantity
Selection). Only those instances are considered that occur without any call to ViewActivate in
between. This is done to make sure that QntFieldDerived and QntFieldRemove are for the
same project.
l If there are occurrences of contour creation commands (Color Contours) without any print
commands in between, the preceding instances are removed. Besides, all of the contour
commands are removed if the contour is deleted without being printed. Only those instances
are considered that occur without any call to ViewActivate in between.
l All consecutive instances of Toggle commands are removed.
l If there are consecutive occurrences of following Set commands with the same name, first
instance is removed.

The macro debugger is guaranteed only on a CFView™ generated macro. Any loop ('for', 'while', ...)
or statement ('if', ...) is not supported because the lines are executed one by one. Only a linear
sequence (one line) of instructions is working. For example the macro debugger is working for:
CFViewBackward(810)
for i in [0,1]: print i

69 CFView™ 16.1 User Guide


CHAPTER 3.

CREATING & HANDLING SURFACES

This chapter provides a detailed description of the Blade to Blade surface handling features in
CFView™. Surfaces are playing a fundamental role in CFView™ as nearly all the representations of
the flow quantities are made on surfaces. This chapter is divided in 6 sections:
l surface types and attributes description,
l handling the list of selected surfaces,
l creating new surfaces,
l visualizing the surfaces mesh,
l surfaces rendering and shadow,
l mesh cell visualization.
The commands related to surface handling, creation and representation are available mainly from the
Geometry and the Render menus.

In this section
3.1 What are Surfaces in CFView™? 71
3.2 Select Surfaces 73
3.3 Create Surfaces 83
3.4 View Surfaces 94
3.5 View Elements (Unstructured Meshes Only) 108

70 CFView™ 16.1 User Guide


3.1 WHAT ARE SURFACES IN CFVIEW™?

This section describes the various types of surfaces and the concept of active and inactive
surfaces.
The surface concept of CFView™ is of great importance. CFView™ allows to visualize 3D data
sets by the definition of surfaces on which the data can be analysed. This means that most of the
representations used to analyse scalar or vector fields are applied to surfaces.

Surfaces Types

CFView™ makes a distinction between:


l Structured surfaces that are related to structured meshes. In 3D structured meshes, they
correspond to constant I, J, K mesh surfaces or to boundary patches. In the case of 2D
structured data sets, the computational domain is made of one or several structured surfaces.
l Unstructured surfaces that result from computations inside the computational domains, such as
iso-surfaces, arbitrary cutting planes, and that are defined by their nodes and cells. They
correspond to boundary patches in 3D unstructured grids.
When the user opens a project file, some surfaces are automatically represented in CFView™.
These surfaces are:
l for 2D projects : all the (2D) domains.
l for 3D projects : only the solid boundaries patches, if existing; otherwise all the boundary
patches defined in the data set.

Activation/Selection of Surfaces

CFView™ defines an activation state for each surface. Surfaces have two possible states:
l Active : when requested, surface representations, rendering or flow quantities representations
are applied to the surface. Surface integrals are computed on the set of active surfaces.
l Inactive : they may be present on the screen but are not affected by the user's requests.
The surfaces status is displayed in the Surfaces subpanel in the Quick Access Pad. After the
creation of new surfaces, they automatically become active. The active-inactive status of the
surfaces can be modified at any time in different ways:
l with the Surfaces subpanel from the Quick Access Pad (see Select Surfaces),
l with the Geometry/Select Surfaces... menu (refer to From Geometry Menu),
l interactively with the mouse (see Interactive Surface Selection).
The set of the active surfaces is also called the surface selection.

71 CFView™ 16.1 User Guide


Project Surfaces List

Each project has a list of surfaces. They are available in all the views related to the project. Each
surface has a unique name.
If a project is visualized in more than one view, all the surfaces of that project can be accessed and
manipulated in all of them. Consequently, all surfaces existing inside a view are accessible from
all the other views. However, the surface manipulations are independent in each view. An
operation performed on a surface in a given view does not affect this surface in the other views.
The surface state may be different for every view.
As an example, if a cutting surface is defined in a cylindrical coordinates view, the same cut may
be viewed in a Cartesian coordinates view, where it will be a cylinder or a cone.

Surfaces Groups

The surfaces may be grouped. Groups may have various origins:


l groups defined in the FINE™ GUI (version 5 or higher).
l groups formed at project opening by CFView™. This automatic grouping is performed in
projects that are not created by FINE™ GUI or that are not in a format supporting the group
description. These groups are made of surfaces having an identical boundary condition type
and which are "in continuity" with each other.
l when cutting planes are crossing several domains, a group is created automatically and the
created surfaces are placed inside.
A group of surfaces is handled in the same way as a surface: all operations performed on a group
are performed on all of its members.

72 CFView™ 16.1 User Guide


3.2 SELECT SURFACES

3.2.1 From Quick Access Pad

FIGURE 3.1
Surfaces Subpanel in Quick Access Pad

The Surfaces subpanel is made of three parts: the surfaces list, the surfaces creation shortcut
buttons and the filter frame.

Surfaces List

The Surfaces list contains a hierarchical list of all the project surfaces. Each surface is listed by its
name. On the left side of the name, symbols indicating the status and the type (using a color code)
are shown. The active surfaces are indicated by a in the colored symbol. Groups are also
indicated by a specific symbol (see FIGURE 3.1).
The following color convention is used:

73 CFView™ 16.1 User Guide


l inlets: green,
l outlets: orange,
l solid walls: blue,
l external: red,
l mirror and singular: brown,
l connections: cyan,
l periodic connections: magenta,
l rotor stator connections: grey,
l mesh surfaces, cutting planes and iso-surfaces: black.
l inlets: green,
l outlets: orange,
l solid walls: blue,
l external: red,
l mirror and singular: brown,
l connections: cyan,
l periodic connections: magenta,
l rotor stator connections: grey,
l mesh surfaces, cutting planes and iso-surfaces: black.
This convention is the same as in IGG™ patch viewer, except for the inlets for which a green
color is used instead of yellow for a better readability.
Several operations can be performed directly in the list:
l double click on a surface to toggle its activation state.

l display of group composition can be added or remove by clicking on the group symbol .
l left mouse button is used to build a browsing selection, the surfaces in the browsing selection
are highlighted in blue.
l To select or deselect one surface, click with the left mouse button on the surface name.
Only this item is highlighted.
Or, to select several surfaces:
l click on a first item,
l press the <Ctrl> key while clicking to add or remove surfaces from the current browsing
selection.
l or press the <Shift> key while clicking on a second item: all the surfaces between the two
selected items are added to the current browsing selection.

74 CFView™ 16.1 User Guide


When a selection is made (highlighted in blue), a popup menu can be raised by pressing the right
mouse button. It provides a set of operations:
l Setting the surface activation state (Select - Make Active/Inactive),
l Visualization of a surface for quick identification (Show Wireframe),
l Reversing the normal orientation of the selected surface(s) (Reverse Normal)
l Visualization of the normal of the selected surface(s) (Show/Remove Normal),
l Plotting the number of points of the selected surface(s) in the message area (Number Of
Points)
l Creating or deleting groups (Make Group - Ungroup),
l Renaming of surfaces or groups (Rename),
l Deletion of surfaces (Delete),
These functions are explained in the following sections.

Set Surfaces Activation State

To toggle the activation state of a single surface or group, double click on its name.
To set the current selection to the surfaces highlighted in blue, choose the Select item. All the
surfaces highlighted in blue become active, while the others are removed from the active surfaces
list.
In order to add (or remove) the surfaces highlighted in blue to (or from) the current set of active
surfaces, choose Make Active (or Make Inactive).

Visualize for Quick Identification

In order to locate easily a surface in the geometry, select the Show Wireframe item. The surface
is represented as a wireframe colored in blue. The representation is automatically removed when
another interaction takes place.
This item is present in the pop-up menu only if the browsing selection is made of one surface or
one group.

Reverse Surface(s) Normal

To reverse the normals on the surfaces highlighted in blue choose Reverse Normal. When
computing the mass flow on selected surfaces, the normals should be oriented in the same
direction. Currently, when selecting a set of surfaces defined by a cutting plane or the bounding
patches of the blocks, the normals will be oriented in the same direction (i.e. for boundary patch,
the normal points towards inside the block to which it belongs.) but this not true for internal IJK
surfaces for which the tool Reverse Normal should be used.

75 CFView™ 16.1 User Guide


Visualize Surface(s) Normal

To plot (or remove) the normals on the surfaces highlighted in blue choose Show Normal (or
Remove Normal).

Check Number Of Points

To plot the number of points in the message area of the surfaces highlighted in blue choose
Number Of Points.

Create/Delete Group

To create a group from the current browsing selection, select the Make Group item. A group is
formed. The name of the group can be changed by selecting the Rename item described here
below.
To delete a group, select the Ungroup item. This is only removing the group from the surfaces
list, all the member surfaces are left unchanged.
These items are included only when relevant: the Make Group item is present if the browsing
selection is made of several surfaces and the Ungroup item is present only if the browsing
selection contains exactly one group.

Rename Surface/Group

To change the name of a surface or a group, select the Rename item. The name in the list
becomes an editable string. Once the new name is typed, press <Enter> to validate the entry. The
renaming mode is left if the <Esc> key is pressed or if a click with the left mouse button is

76 CFView™ 16.1 User Guide


performed outside of the editable string area.
An internal check against duplicated names is performed before the new name becomes effective.
If the name is already associated to another surface or group, an error box is raised and the
renaming is not performed.

Delete Surfaces from Project

To delete a surface from a project, choose Delete. All the representations associated with the
surface are removed from the active view. Furthermore, if the surface was created during the
project session (e.g. the surface is a cutting plane), the surface disappears also from the list and all
its representations in all the views are deleted.

Surface Creation Shortcut Buttons

These buttons are offering shortcuts to open the surface creation dialog boxes:
l select Cut in order to open the cutting plane creation dialog box (see Create Mesh Surface).
l Select IJK Surf in order to open the mesh surfaces creation dialog box (see Create Cutting
Plane).
l Select Blade to blade in order to open the blade to blade surfaces creation dialog box (see
Visualization of Blade to Blade Surfaces).

Surface Selection by Filter Frame

The surface selection can also be made by entering a string in the Filter frame. Several
possibilities are available:

77 CFView™ 16.1 User Guide


l In order to select all the surfaces whose names are matching an expression, press the Name
check button, enter the expression in the area next to the Select label and press <Enter>.
l In order to remove from the selection all the surfaces whose name are matching an expression,
press the Name check button, enter the expression in the string area next to the Unselect label
and press <Enter>.
l In order to select all the boundary patches of a given type, select the Type check button, select
the type in the list: e.g. inl, out, sol, mir, ext, con, cmb, nmb, per, pmb, pnm, rot or sng.
l In order to remove from the selection all surfaces of a given type, select the Type check button,
select the type in the list: e.g. inl, out, sol, mir, ext, con, cmb, nmb, per, pmb, pnm, rot or sng.
As an example, in order to select all the surfaces that contain the word "rotor" in their name, select
the Name button, enter the "rotor" string next to the Select label and press <Enter>.

3.2.2 From Geometry Menu

The Select Surfaces dialog box is provided for backward compatibility: its use is not advised
anymore and the Surfaces subpanel in the Quick Access Pad should be preferred. To open the
dialog box, choose Select Surfaces... from the Geometry menu.

FIGURE 3.2
Select surfaces dialog box

It contains a hierarchical list of all the surfaces and a filter box. Several operations can be
performed from this dialog box. These are:

78 CFView™ 16.1 User Guide


l Setting the surface selection for flow field representation,
l Visualization of group composition,
l Visualization of a surface for quick identification (Show...),
l Removing of all representations of a surface in the active view (Remove...from view),
l Deletion of surfaces from the project (Delete...),
l Renaming of surfaces or groups (Rename...).
All these functions are accessible through a popup menu which is raised by pressing on the right
mouse button (see FIGURE 3.2). The popup menu entries are mentioning the targeted surface
name for an easier control. These functions are detailed in the following sections.

Surface Selection

To select or unselect surfaces:


1. Select one surface. Click the left mouse button on the surface name. Only this item remains
highlighted.
2. Or, select several surfaces.
l click on a first item,
l press the <Ctrl> key while clicking to add or remove surfaces from the current selection.
l or press the <Shift> key while clicking on a second item: all the surfaces between the two
selected items are added to the current selection.
3. Click the Apply button to validate the surface selection and the Close button to close the
chooser.
1. Select one surface. Click the left mouse button on the surface name. Only this item remains
highlighted.
2. Or, select several surfaces.
l click on a first item,
l press the <Ctrl> key while clicking to add or remove surfaces from the current selection.
l or press the <Shift> key while clicking on a second item: all the surfaces between the two
selected items are added to the current selection.
3. Click the Apply button to validate the surface selection and the Close button to close the
chooser.
The selected surfaces are now active and all the representations can be applied to these surfaces.

79 CFView™ 16.1 User Guide


The selection can also be made by entering a regular expression in the Select or the Unselect filter
entry. Pressing <Enter> adds or suppresses to the selection the surfaces whose name matches the
filter expression (entering a blank or null expression, i.e. pressing <Enter> without entering any
expression, selects or unselects all surfaces).

After the selection process, the inactive surfaces still remain on the screen but are not affected by the
user's requests.

The keyboard shortcut for opening the Select Surfaces dialog box is: <Ctrl-s>.

Visualization of Group Composition

An item in the list that is a group is marked by a symbol . The group composition can be seen
or hidden by clicking on the symbol at the left side of the item name. Clicking on the group
name acts also as a toggle, but modifies at the same time the selection.

Visualization for Quick Identification

The surfaces and groups can be easily identified in the graphical window by using the Show...
item in the popup menu. The grid of the surface or of the group is represented in the active view.
If another surface or group is selected for quick identification, any previous quick representation is
removed.
The quick representations can be removed at any moment by pressing the <Esc> key. If the
dialog box is closed or if the active view is changed, the quick representations are removed from
the view.

Remove all Surface Representations in the Active View

To selectively remove all representations of a surface from the active view, choose
Remove...from view. All the representations associated with the surfaces selected for removal are
deleted. This can be applied to an individual surface or to a group.

Delete Surfaces from Project

To delete a surface from a project, choose Delete.... All the representations associated with the
surface are removed in all the views.

80 CFView™ 16.1 User Guide


If the surface was created during the project session (e.g. the surface is a cutting plane), the
surface disappears also from the list.
This can be applied to an individual surface or to the group.

Rename Surface or Group

To change the name of a surface or of a group, select Rename.... The name in the list becomes an
editable string. Once the new name is typed, press <Enter> to validate the entry. The renaming
mode is left if the <Esc> key is pressed or if a click with the left mouse button is performed
outside of the editable string area.
Before the new name becomes effective, an internal check to avoid duplicated names is
performed. If the name is already associated to another surface or group, an error box is raised and
the renaming is not performed.

3.2.3 Interactive Surface Selection

This functionality allows to interactively select or unselect visible surfaces in the active view. A
surface is visible when one of the following representations is displayed for that surface:
l boundaries,
l mesh wireframe,
l hidden line rendering,
l solid or flat shading,
l color contour (flat or striped),
l vector representation.
To interactively select surfaces in the active view:
1. highlight surfaces:
l To highlight one surface, move the mouse to the desired surface, then left-click on it.
l To highlight multiple surfaces, keep < Ctrl > pressed, move the mouse to the desired
surfaces and left-click one by one.
l To highlight one group of surfaces, keep <Shift> pressed, move the mouse to the one
surface of the desired group and left-click on it.
l To highlight multiple groups of surfaces, keep <Shift> and <Ctrl> pressed, move the mouse
to the one surface of the desired group and left-click on it, repeat to highlight multiple
groups.

81 CFView™ 16.1 User Guide


The group means all the blocks that are separated by two adjacent R/S interfaces or all the blocks
between inlet/outlet and the first/last R/S interface.

It should be noted that when a surface has no representation, the user has to select the surface by
clicking on the boundaries.

2. operate the highlighted surfaces:


l Right- click on the highlighted surfaces, choose the menu Select to select only the
highlighted surfaces.
l Right-click on the highlighted surfaces, choose the menu Add to Selection to add the
highlighted surfaces to the current selected surface lists.
l Right-click on the highlighted surfaces, choose the menu Remove from Selection to
remove the highlighted surfaces from the current selected surface lists.

3.2.4 Surface Selection using Macro

FIGURE 3.3
Cutting plane in a O-topology leads to two non-connected areas

When the surface generated is composed of non connected areas, a macro can be used to select
one of the non connected areas that are by default saved in the list of surfaces under one unique
surface. For example, if a cutting plane is used to create a new surface in a O-topology, two non
connected areas are created and saved under a unique surface in the list (see FIGURE 3.3).

82 CFView™ 16.1 User Guide


In order to select only one area of the surface, the following command can be used within a
macro:
LimitedCutPlaneSave(x,y,z,nx,ny,nz)
where x, y, z are the coordinates of a point belonging to the requested area of the cutting plane
and nx, ny, nz are the plane normal.
For example, if the area of the top of the blade is required, a macro file containing the command
"LimitedCutPlaneSave(0.25,0.01,0.004,0,0,1)" will select the area of a cutting plane normal to
the z axis and that is containing the point (0.25,0.01,0.004) as illustrated in FIGURE 3.4.

FIGURE 3.4
Macro to select area of a cutting plane

3.3 CREATE SURFACES

Different types of surfaces can be created: mesh surfaces, cutting planes and iso-surfaces. All the
newly created surfaces are added to the project surfaces list and to the current activated surfaces
list.

83 CFView™ 16.1 User Guide


3.3.1 Create Mesh Surface

This command allows to scan the computational domains instantaneously by scrolling through
constant I, J, or K surfaces (for structured meshes) and save the most interesting surfaces for
further analysis. In a multi-domain configuration it is possible to select the domain to be scanned
through the chooser displaying the list of all the domains. This scanning consists of displaying the
surfaces of constant I, J or K family one after the other, continuously or step-by-step. The
scrolling is available in two representation modes:
l Geometry mode: it allows the user to visualize the surface grids of the active block. It can be
used to analyse the mesh geometry surface by surface.
l Quantity mode: it allows to analyse the same surfaces with a shaded contour of the active
quantity if it is a scalar or with a vector arrow representation if it is a vector quantity. This
option is only available when a quantity has been selected first and can be used to quickly
localize interesting regions of the 3D computational volume.
To create surfaces:
1. Choose Create IJK Surface... from the Geometry pull down menu. A dialog box appears.

FIGURE 3.5
Create Structured Surface

It contains:
l if a multi-block project is active a Domains (block) chooser appears for selection of one,
more or all existing domains, the selected domains will be highlighted in the view.
l three radio buttons for the surface family selection (I, J or K). The family defines the
constant index of the scrolled surfaces. The family I, for example, contains surfaces which
have I constant;
l one string editor per family to input the constant index value of the scrolling operation;
l two scroll buttons per family to move up and down the constant index;

84 CFView™ 16.1 User Guide


l two string editors per family to input the lower and upper limits of the non constant indexes
for the scrolling operation;
l if a quantity is selected, a mode selector (Geometry or Quantity);
l Apply, Save, Reset and Close push buttons;
2. Choose a representation mode. Click the left mouse button on Geometry or Quantity.
3. Choose a surface family. Click the left mouse button on the desired J, K Index button or I.
4. Choose the upper and lower limits for the non constant indexes.
5. Start step by step scrolling. Dependent on the used button, a different action is performed:
l click the left mouse on the up arrow button to increase the value of the constant index
value.
l click the left mouse on the down arrow button to decrease the value of the constant index
value.
6. The selected surface can be visualized and saved by respectively clicking on the Apply and
Save buttons.
7. Close the dialog box by clicking on the Close button.
The previous actions can be repeated with constant I, J or K surfaces any number of times.
After any saving operation, the boundaries of the newly created surfaces are displayed and
indicate that they have been properly created. FIGURE 3.6 illustrates the definition of a
structured surface and its simultaneous representation in the active view.

FIGURE 3.6
Mesh surface definition dialog box with geometry representation

This command is related to structured meshes. The creation of surfaces for unstructured meshes is
done through arbitrary cutting planes

85 CFView™ 16.1 User Guide


The keyboard shortcut for Create IJK Surface... is <Ctrl> + <z> and the item is accessible in
the Quick Access Pad: .

3.3.2 Create Cutting Plane

FIGURE 3.7
Create Cutting Plane dialog box

This option is used to scan the computational field by an interactive movement. A plane, on
which the active quantity distribution is interpolated, is displayed in smooth color contour.
The plane is defined by two vectors:
l The plane point is any point belonging to the plane.
l The plane normal is any vector normal to the plane.
Additionally a rotation axis direction is introduced. This direction is used for rotation operations.
To draw a cutting plane:
1. Choose Create Cutting Plane... from the Geometry menu. A dialog box appears.
2. Define a plane (if the user does not define a plane, a default cutting plane defined by the
current view camera target and camera normal is activated):

86 CFView™ 16.1 User Guide


l Use the Plane Point control to input the plane point.
l Use the Plane Normal control to input the plane normal.
l Press on the Apply button to see the defined plane.
3. Select the appearance of the cutting plane using the mode control.
l select Quantity to visualize a color contour on the cutting plane (available if a quantity is
selected).
l select Geometry to visualize only the mesh of the cutting plane.
l select Polygon to see a semi-transparent blue cutting plane. The contour of the plane is
drawn in red. A cross has been added to better show the 3D aspect of the plane.
l select Triangulate to save the mesh triangulation on the cutting plane when performing the
mesh display.
4. Translate the plane along the normal direction.

l Press on the left mouse button to initiate a translation.


l Then drag the mouse to the left or to the right to translate forward or backward.
l Release when finished.
5. Rotate the plane around the axis.

l Press on the left mouse button to initiate a rotation operation.


l Then drag the mouse to the left or to the right to rotate clockwise or counterclockwise.
l Release when finished.

The direction used for the rotation is actually the normal projection on the plane of the rotation
axis as specified in the axis direction control ( Normal).

6. Rotate the axis direction in the plane.

l Press on the left mouse button to initiate a rotation operation.


l Then drag the mouse to the left or to the right to rotate the axis direction in the plane
clockwise or anti clockwise. The axis direction is identified by a black line in the control
polygon.
l Release when finished.

87 CFView™ 16.1 User Guide


7. Use step by step scrolling.

l Input the scrolling increment in the Step scrolling control.


l Use the right and left arrow buttons to translate forward and backward in the normal
direction. The magnitude of the translation is the scrolling increment.
8. To save the selected cutting plane, click on the Save button. This operation introduces the
cutting plane into the project surfaces list. If the cut is crossing several domains, a group is
formed that contains the cuts from each domain.
9. Close the dialog box by clicking on the Close button.
The keyboard shortcut for Create Cutting Plane... is <Shift> + <l> and the item is accessible in
the Quick Access Pad: .

FIGURE 3.8
Cutting plane definition dialog box with active quantity color contour representation

88 CFView™ 16.1 User Guide


3.3.3 Create Cutting Surfaces Defined from IGG™ Curve

FIGURE 3.9
Intersection surface (grid on right side) between the computational domain (left side) and the
revolution surface (purple highlight)

The cutting surfaces defined from an IGG™ curve are not supported on HEXPRESS™/Hybrid
meshes.

In order to enable more flexibility in cutting planes, the user may generate a new kind of cutting
surface by defining it from an IGG™ curve.
The objective is to generate a surface by rotating an IGG™ user-defined curve around a rotation
line whose axis vector is 0 0 1 and axis origin is 0 0 0. Afterwards, CFView™ is saving in the
surface list the intersection between this last surface of revolution and the computational domain
as presented in FIGURE 3.9.
Starting v11.2, the objective is to generate a surface by rotating an IGG™ user-defined curve
around a rotation axis imposed in the Set Revolution Surface Axis menu (Default settings:
Direction [0; 0; 1] and Origin [0; 0; 0]). Afterwards, CFView™ is saving in the surface list the
intersection between this last surface of revolution and the computational domain as presented in
FIGURE 3.9.
The user- defined curve used to generate the surface of revolution must respect the format
presented below:
Example:

89 CFView™ 16.1 User Guide


IGG first line comment
XYZ space coordinates (i.e. XYZ, YXZ, ZR or RZ)
3 number of points to define curve
0.0 0.0 0.0 space coordinates of each point
0.05 0.05 0.05
0.09 0.09 0.09

When the curve is defined in XYZ coordinates, CFView™ will first project it on a ZR plane
(Theta=0) before generating the surface of revolution.

Afterwards to define the surface of revolution and its intersection with the computational domain,
the user-defined curve data has to be selected through the menu Geometry/Create Cutting
Surface Along IGG Curve....

The ZR curves limited option in the Preferences menu allows to control the limits of the loaded
IGG™ curve. When active, the loaded curve is not extended and the created surface of revolution is
based on the original loaded curve.

3.3.4 Create Cutting Plane from 3 Points

Cutting plane can also be created by 3 points, through the menu Geometry / Create Cutting
Plane From 3 Points. In this method, the plane will be defined by 3 points. Then the plane
intersects with the computational domain to create a cutting plane. The three points can be
specified by picking in the view or by entering the coordinates in the keyboard input area. In the
view, the user can select points located only on edges of the geometry.
When moving the mouse pointer close to an edge of the geometry, a point will appear and attract
to the edge of the geometry. After the user selects the first point, a line will appear between the
first point and the mouse pointer. After the user selects two points, a triangle will appear. After the
user selects three points, the cut plane will automatically be created and saved.

90 CFView™ 16.1 User Guide


FIGURE 3.10
Create cutting from 3 points

3.3.5 Split Surfaces

This option extracts a portion of active surfaces delimited by two planes. A new dialog box is
available from the menu Geometry/Split Surface....
The dialog box is similar to the one for the cutting plane (see Create Cutting Plane) but in this
case, the plane settings are duplicated in order to control both planes at the same time.
When the Save button is pressed, a new surface is created that is the portion of all active surfaces
included between the two planes.
The green lines show the surface normals pointing to the direction excluding the surface portions
in order to avoid the two normals overlay and provide therefore more visibility. This is available
in Cartesian coordinates as well as in cylindrical or STM coordinates that allows for example to
extract surfaces included between two span values.

91 CFView™ 16.1 User Guide


3.3.6 Create Iso-surfaces

An iso-surface is a 3D surface where a scalar flow quantity is constant. CFView™ is able to


display such surfaces (see Iso-Surfaces), but it is also possible to save the surface and introduce it
in the project surfaces list as an unstructured surface. In order to do so, a two step process must be
followed:

Compute Iso-surface

1. Select a scalar quantity in the Quantities subpanel or in the Quantity menu.

2. Choose Iso-Surface from the Representation pull down menu or press the button in the
Representations / Contours & Iso Values subpanel.
3. Choose the iso-surface value by using one of the following possibilities:

92 CFView™ 16.1 User Guide


l move the mouse to the keyboard input area, enter a single value (included between the
maximum and the minimum of the quantity) and press <Enter>.
l with the mouse in the colormap: move the mouse to the colormap (by default on the right
side of the graphics area) and click at a level which represents the value.
l with the mouse on an active surface: move the mouse over an active surface, click at the
location where the iso-surface is going to intersect the surface. An iso-surface with the
active quantity value at that location is displayed.
Each new input for the iso-surface value removes the previous iso-surface and displays the new
one. In the information output area, the iso-surface volumes below and over the iso-surface value
are displayed.

Iso-surface generation involves scanning the complete computational volume and is computationally
intensive on large meshes.

FIGURE 3.11
Iso surface of constant mass fraction around a boat

93 CFView™ 16.1 User Guide


Save Iso-surface

Once an iso-surface has been created, it can be saved for further manipulations. To save an iso-
surface, choose Iso-Surface Save from the Representation menu or click a second time on the
iso-surface button .
The surface name appears in the Surfaces subpanel and in the Select Surfacesdialog box, so that
it can be activated and any flow field representations can be added on it.

3.4 VIEW SURFACES

When a project is opened, or when surfaces are created, the surface boundaries, the surface mesh
wireframe may be represented. The surfaces may also be rendered as solid surfaces. The
transformation (such as a translation, a rotation or a mirror) defined in the identification file can
also be applied to the graphical representations inside the active view.
The commands to create such representations are contained mainly in the Geometry and Render
menus. Also the Representations/Grid, Opacity, Lighting & shadows and Material subpanels
contain a set of shortcuts buttons for the commonly used functions.

3.4.1 View Surfaces Boundaries

To turn on the display of the mesh boundaries in the active surfaces, choose Boundary from the
Geometry menu or click on the button in the Representations/Grid subpanel. This item acts
as a toggle.
The default line pattern, color and width may be modified using the Default Boundary Curve
Type Editor (Preferences/Boundary curve type...). See Curve, Line & Marker Type Editors, for
further information. In order to change the representation line type, see Update Surfaces
Boundaries Representation.

If the boundary representation is present on some active surfaces, but not on all of them, choosing this
item a first time removes all the representations. Select it a second time in order to turn on the
boundary display on all active surfaces.

The keyboard shortcut for Boundary representation is <b>.

94 CFView™ 16.1 User Guide


3.4.2 View Solid Boundaries

To turn on the display of the boundaries in the active surfaces that have a solid boundary
condition type, choose Solid boundary from the Geometry menu. This item acts as a toggle.
The default line style is the same as for other boundaries (see View Surfaces Boundaries and
Update Surfaces Boundaries Representation).

3.4.3 Update Surfaces Boundaries Representation

The line type of the surfaces boundaries representations can be modified as follows:
l Check that the surfaces representations can be selected interactively. The Render/Selectable
checkbutton, also displayed as the button in the Representations/Grid subpanel must be
enabled.
l Select the boundaries to be modified: click with the left mouse button on a surface boundary,
highlighting markers are inserted and the name of the surface is indicated in the message area.
l If several boundary representations are to be updated at the same time, select the other
boundary representations by click with the left mouse button with the <Ctrl> key pressed.
l Press the right mouse button, a popup menu appears.

l Select the Curve Type... item, a Line Type Editor dialog box is raised (see Curve, Line &
Marker Type Editors for a description of the parameters appearing in this dialog box).
l Modify the parameters in the dialog box and press Apply to validate the new parameters.
The Line Type Editor dialog box may be also opened by selecting the Line Type Editor... item
in the Update menu.

3.4.4 View Grid Wireframe

To turn on the display of the wireframe geometry of the active surfaces, choose Grid from the
Geometry menu or click on the button in the Representations/Grid subpanel. This item acts
as a toggle.

95 CFView™ 16.1 User Guide


The default grid line pattern, color and width may be modified using the Default Grid Line Type
Editor (Preferences/Grid line type...). See Curve, Line & Marker Type Editors, for further
information.
To change the grid line type in the graphical area, see Update Grid Wireframe Representation.

If the grid representation is present on some active surfaces, but not on all of them, choosing this item
a first time removes all the grid representations. Select it a second time in order to turn on the grid
wireframe display on all active surfaces.

The keyboard shortcut for Grid representation is <g>.

3.4.5 Update Grid Wireframe Representation

The line type of the grid wireframe representations can be modified as follows:
l Check that the surfaces representations can be selected interactively. The Render/Selectable
checkbutton, also displayed as the button in the Representations/Grid subpanel must be
enabled.
l Select the grid wireframe to be modified: click with the left mouse button on a wireframe,
highlighting markers are inserted and the name of the surface is indicated in the message area.
l If several representations are to be updated at the same time, select the other boundary
representations by click with the left mouse button with the <Ctrl> key pressed.
l Press the right mouse button, a pop up menu appears.

l Select the Grid Line Type... item, a Line Type Editor dialog box is raised (see Curve, Line &
Marker Type Editors for a description of the parameters appearing in this dialog box).
l Modify the parameters in the dialog box and press Apply to validate the new parameters.
The Line Type Editor may also be opened by selecting the Line Type Editor... item in the
Update menu.

96 CFView™ 16.1 User Guide


3.4.6 Hidden Lines Rendering

To show the active surfaces with hidden lines removed, choose Hidden line from the Render or
select the button from the Representations/Grid subpanel. This item acts as a toggle: select it
a second time or select Render/Render Off to turn off hidden lines rendering.

When Hidden line rendering is activated, flat and smooth shading are not available (see Flat
Shading).

The keyboard shortcut for Hidden line representation is <h>.

3.4.7 Uniform Coloring

To show the active surfaces in uniform color (with nor shading nor lighting) choose Uniform
from the Render pull down menu. This item acts as a toggle: select it a second time or select
Render/Render Off to turn off the uniform representation.

3.4.8 Flat Shading

To show the active surfaces in a solid model with one color assigned to each cell according to
light position and cell surface normal, choose Flat from the Render/Shading menu. This item
acts as a toggle: select it a second time or select Render/Render Off to turn off flat shading.
The keyboard shortcut for Render/Shading/Flat is <Shift> + <f>.

3.4.9 Gouraud Shading

To show the active surfaces in Gouraud style shading (smooth shading) choose Gouraud from
the Render/Shading menu or select the button from the Representations/Grid subpanel.
This item acts as a toggle: select it a second time or select Render/Render Off to turn off
Gouraud shading.

97 CFView™ 16.1 User Guide


When combined with transparent surfaces, this representation is computationally intensive and may
affect the interactive graphics performances.

The keyboard shortcut for Render/Shading/Gouraud is <Shift> + <s>.

3.4.10 Remove Rendering Effects

To remove hidden lines, flat and shading visualisations on the active surfaces, choose Render Off
from the Render pull down menu.
The keyboard shortcut for Render Off is <Shift> + <h>.

3.4.11 Modify Rendering Color

To modify the rendering attributes:


l Check that the surfaces representations can be selected interactively. The Render/Selectable
checkbutton, also displayed as the button in the Representations/Grid subpanel must be
enabled.
l Select the surface representation to be modified: click with the left mouse button on a
represented surface, highlighting markers are inserted and the name of the surface is indicated
in the message area.
l If several representations are to be updated at the same time, select the other surfaces by
clicking with the left mouse button with the <Ctrl> key pressed.
l Press the right mouse button, a popup menu appears.

l Select the Material Type... item. The Surface Material Editor is opened. This dialog box
allows the user to modify the material light reflection properties of the active representations.

98 CFView™ 16.1 User Guide


The dialog box may be also opened by selecting the Surface Material... item in the Update
menu or click on the button in the Representations/Material subpanel.
The surface material properties are defined by 4 parameters:
l Diffuse: is the base color of the surface.
l Specular: affects the light reflections on the surface.
l Opacity: controls the transmission of light through the surface. An opacity of 1.0 means a
completely opaque surface. An opacity of 0 means a completely transparent surface.
l Reflection: is the property of a surface to reflect the surrounding environment.
The keyboard shortcut to open the dialog box is <Shift> + <t>.

Transparency availability depends only on the driver/machine/graphic card combination. If not


available the value is discarded. Regarding transparency and diffuse color, some graphics hardware
only take the intensity of the color into account.

99 CFView™ 16.1 User Guide


Diffuse

The diffuse color is the fundamental color of the surface. It is chosen using the color picker
Diffuse/Color.

Specular Highlight

The specular highlight affects the light reflections on the surface. The shape, the strength and the
color of the highlight depends of the material. For instance, a material like cotton tissue will not
have any specular highlight, in comparison to a reflective surface like a mirror that will have a
very bright specular highlight.
l Color : is the color of the specular highlight. It is chosen using the color picker
Specular/Color.

100 CFView™ 16.1 User Guide


l Amount: is the strength of the highlight. It is a value ranging from 0 to 1. A value of 0 means
that the surface has no specular highlight; a value of 1 means that the surface presents a strong
specular highlight.

l Gloss: defines the extent of the highlight. It is a value ranging from 1 to 30. A value of 1
means that the specular highlight is widespread. It will be the case for rough material. A value
of 30 means that the highlight is very narrow. It will be the case for very smooth surfaces, like
glass.

Opacity

Set the opacity of the surface, ranging from 0 to 1. An opacity of 1.0 means a completely opaque
surface. An opacity of 0 means a completely transparent surface.

101 CFView™ 16.1 User Guide


Reflection

Reflection is the property of a surface to reflect the surrounding environment. A "spherical


environment mapping" technique is applied on the selected surface (s) when the option use
reflection mapping is set active:
l An image, also called "map", is provided for each surface. This map represents a given
material.
l The color of each surface point is found by using the local normal at the surface point to
address the map.

Amount: changes the reflectivity property of the surface.


l A reflectivity amount of 0 means that the surface has no reflectivity: the final color is the
diffuse color of the surface.
l A reflectivity amount of 1 means that the surface is purely reflective: the final color is equal to
the reflection color.
l All value in-between result in a mix of reflectivity and surface color.

102 CFView™ 16.1 User Guide


3.4.12 Set Visibility, Light & Shadow Attributes

To turn on or off the visibility of the faces, edges or markers on surfaces, grid wireframes and on
shaded surfaces, select Render/ Visibility On/Off /Faces, Edges or Markers. These allow to
control directly the visibility of the rendering, of the grid wireframe and of the markers
represented at the grid points locations. The faces visibility is turned on for surface rendering. The
edges visibility is equivalent to the grid wireframe visibility and, by default, the markers visibility
is not turned on by surface representations.
Furthermore, to turn on or off the lighting attribute of the faces, edges or markers, select Render/
Light On/Off /Faces, Edges or Markers. By default, only the lighting is turned on only for faces
with a shaded representation (Flat or Gouraud).
Finally, to control the lightning attribute on grid wireframe, rendering or color contour on selected
surface(s), select Representations/Lighting & shadows subpanel in the Quick Access Pad. It
allows to set the light parameters and to add a shadow.
These features apply only to surfaces immediately after the grid or the color contour or the surface
rendering has been activated. They should not be used most of the time, they are only useful in
some very specific cases.

Toggle Light Contour

Select the icon to toggle the lighting on/off for all the active color contours.

Toggle Light Grid

Select the icon to toggle the lighting on/off for all the active grids.

103 CFView™ 16.1 User Guide


Toggle Light Face

Select the icon to toggle the lighting on/off for all the active surface rendering.

Display Shadow

Select the icon to toggle a shadow under the scene. The shadow is view dependent: its position
and the light direction change with the view. The shadow is always drawn on an horizontal plane
located at the bottom of a bounding box enclosing the scene. The direction of the light source
generating the shadow is always the vertical direction.

104 CFView™ 16.1 User Guide


Light Editor

The light editor ( ) allows to change the settings of the light of the active view. The type,
position and direction of the light can be controlled.

It is possible to choose between two different kind of lights: directional or omni.

105 CFView™ 16.1 User Guide


l Directional: the light is coming from an infinitely far away light source, like the sun. All the
light rays are parallel.
l Omni: the light is coming from a punctual point, like a candle. The lights illuminates in all
directions in a uniform way.
In the Position & orientation section, the light direction can be controlled by dragging the spot
on the surface of the sphere.
The Back light option imposes a light coming from the other side of the hemisphere (i.e light
comes from the back of the objects in the direction of the viewer).
When an omni light is selected, a Distance slider allows to set the distance of the light to the
center of rotation of the view.
In the Light Intensity section, a slider enables to change the power of the light.
In the Refresh Options section, instantaneous update of the lightning and visualization of the
light can be controlled by respectively the Instant Refresh and the Display in View options.
The Default button reset the active light to its default value.

3.4.13 Graphics Repetition

The repetition of the graphical representations may consist of a translation in a given direction, a
rotation around an arbitrary axis or a mirror operation. This feature allows to represent a complete
geometry while, due to symmetry properties of the computational domain, only a part of it has
been simulated. The number and type of repetitions are defined in the mesh. To visualize a certain
number of repetitions use Geometry/Repetition on/off after entering a number of repetitions.
To activate the graphics repetition:
1. Choose Repetition Number from the Geometry menu to specify the repetition settings.
The repetition setting dialog box is shown in FIGURE 3.12 . By default, a group list is
proposed by gathering the blocks that share a periodic or a connecting boundary. Note that the
index of the groups may not correspond to their position in the view. When the user clicks on a
group in the list, the group is highlighted in the graphical view.
By default, all groups are selected (the selected groups have a tick before their number). The
user can select one or several groups at the same time either by double-clicking on a group or
by right-clicking on the highlighted groups and then choosing Select, Add or Unselect. The
Number of repetitions will be applied to all the selected groups. If the user activates the
button Max, the maximal number of repetitions (equal to the periodicity minus 1) is stored for
the selected groups and the entry Number of repetitions is disabled. If a negative number is
specified in the entry Number of repetitions , the repetitions will be made in the other
direction.

106 CFView™ 16.1 User Guide


After finishing the repetition settings, click on the button Apply, the number of repetitions will
be saved.

FIGURE 3.12
Repetition settings

2. Choose Repetition on/off from the Geometry menu to activate the repetition. This item acts
as a toggle: click a second time on the menu to cancel the action.
For example, this option is used for turbomachinery applications where blade to blade geometry
can be duplicated for better visual understanding of the periodical behavior of the flow properties.
FIGURE 3.13 shows an example of geometry before and after mirror repetition.

FIGURE 3.13
Geometry representation before (left) and after (right) repetition (mirror)

This item is not available if no repetition (translation, mirror or rotation) is specified in the input data
file.

107 CFView™ 16.1 User Guide


The repetition option creates only an image of the graphical objects. No interactive operation, such as
interactive picking, can be performed on the duplicated surfaces.

The keyboard shortcut for Repetition on/off is <Shift> + <r>.

3.4.14 Surfaces Representation Selectability

In some circumstances, the interactive selection of surfaces representations may not be desired. As
an example, when surface representations are superposed to flow quantities representations, it
may be difficult to select the flow field representation.
In order to disable the interactive selection of surfaces representations, choose the Selectable item
in the Render menu or click on the button. When the button is raised and gray colored, the
selectability is disabled.
This feature behaves as a toggle: selecting a second time enables the selectability again.

3.5 VIEW ELEMENTS (UNSTRUCTURED


MESHES ONLY)

This feature allows to insert the representation of mesh elements in the graphical area. It is
restricted to 3D unstructured meshes. When choosing the Cells... item in the Geometry menu, a
dialog box is raised. See FIGURE 3.14.

FIGURE 3.14
Cell Chooser

108 CFView™ 16.1 User Guide


The list of cells is specified as a comma separated list. Each item is a single number or a set of two
numbers separated by a '-' symbol. '-' separated pairs of numbers are used to specify a range of
element numbers.
The size factor can be specified in the Size Factor entry or adjusted using the increase/decrease
arrows. A value of 1.0 indicates that the element is represented with its geometric size. A factor
smaller than one indicates that the element is shrunk and a value larger than one is used to enlarge
the element.
By default, the cell edges are represented and the cell faces are rendered with a flat shading.
Modifying these attributes can be made by first selecting the "domain" item in the surface list
chooser (Select Surfaces). The edge representation can be toggled by the Geometry/Grid menu
item. The rendering can be modified in the same way as for surfaces (Modify Rendering Color).

109 CFView™ 16.1 User Guide


CHAPTER 4.

FLOW QUANTITIES VISUALIZATION

This chapter provides a detailed description of how to represent the flow quantities. It is divided in 5
sections:
l Select and create flow quantities,
l Visualize scalar data,
l Work with Cartesian Plots,
l Visualize vector data,
l Update the data representation.
The first section describes the basic concepts needed before going further into details. The remaining
sections provide step-by-step instructions to create and modify a project.

In this section
4.1 Select & Create Flow Quantities 111
4.2 Visualize Scalar Data 139
4.3 Represent Validation Data 178
4.4 Represent Plot Data 180
4.5 Visualize Vector Data 181
4.6 Colormap & Representations Range 196
4.7 Represent Particle Traces Data 203
4.8 Decoration Texts 203
4.9 Update Representations 205
4.10 Edit, Save & Restore Defaults 212
4.11 Surface Integrals 214
4.12 Volume Integrals 217
4.13 Curve Integrals 218
4.14 Export Quantities Distribution 220

110 CFView™ 16.1 User Guide


4.15 Output Generation 225

4.1 SELECT & CREATE FLOW QUANTITIES

The multiview environment of CFView™ allows the user to load different projects
simultaneously in the same session and to manipulate them in a similar way.
It is also possible to analyze simultaneously more than one quantity of the same project in the
same view (for example, Mach number isolines and local values of static pressure plotted on the
same surface...). Nevertheless, in order to avoid clutter in a view, it is recommended to create
additional views for the same project to visualize several quantities.

4.1.1 Quantity Types

CFView™ allows the visualization of different types of quantities in the computational domain:
l The field quantities: they are defined for the complete domain. For example, the pressure or the
velocity field around a body is calculated through all the computational volume, from the inlet
to the outlet. Two kinds of data are supported:
l scalar data such as pressure, Mach number or velocity magnitude,
l vector data such as the velocity field.
l The solid quantities: they are defined on the solid surfaces only. For example, the skin friction
on the solid surfaces of a body. These data are defined only on a defined set of surfaces.
Therefore, they are separated from the field data.
l Like for the field data, there can be scalar or vector quantities.
l The computed thermodynamical quantities: these are the quantities that can be computed from
the field quantities by standard formulas and that have not been computed by the flow solver.
They are computed in CFView™ upon request.
l The components of vector quantities: these are directly extracted from a vector field quantity.
l The quantities defined as the gradient, divergence or curl of an existing quantity.
l The derived quantities: these are quantities respecting a user defined definition. CFView™
supports field derived quantities (defined in the whole computational domain) as well as
surface derived quantities (defined only on surfaces).
Besides these data types, CFView™ also supports data for specific purposes:

111 CFView™ 16.1 User Guide


l The validation data: these are comparison data defined along curves. For example, they allow
the comparisons between experimental and computed data or between different numerical data
sets.
l The plot data: this is a generic container for any type of data defined along a curve. They can
be convergence curve, surface averaged data from FINE™ GUI ( Surface Averaged
Variables page).
l The particle traces data: these are related to externally computed trajectories of particles, such
as those generated by the Lagrangian module of FINE™ GUI (Fluid Particle Interaction
page).
All these quantities are not available in all file formats. As an example, computed thermodynamics
and particle traces data are available only in the FINE™ GUI environment.
The quantities are selected by using the Quantity menu or the Quantities subpanel in the Quick
Access Pad. The Quantity menu contains a complete set of submenus allowing the selection of
any quantities, while the Quantities subpanel provides a convenient shortcut to select the most
commonly used ones.

A. Select Field Quantity

l To select a quantity in the Quantities subpanel, double click on the quantity name. A
marker is inserted on the left of the selected quantity name.

l To select a quantity from the Quantity menu, choose Quantity/Field Data/Basic Quantities.
This menu contains a list of all scalar and vector fields that are present in the project. Then,
select one of them.

112 CFView™ 16.1 User Guide


FIGURE 4.1
Quantity Selection Menu

After the selection, CFView™ displays the active quantity name in the lower left corner, with the
minimum and maximum values and, if available, its units label.
The active quantity can always be replaced by another for further analysis. All the graphical
objects related to the previous quantity representation remain in the view.

B. Select Mechanics Data

In the Quantities subpanel, the Mechanics group enables the calculation of the force (per unit
surface), the torque on solid surfaces, the normals and the normalized normals:
l When double clicking on Force, the vector field is computed on each point of the solid
surfaces from the static pressure and viscous stress fields computed by the flow solver:

where n is the normalized normal to the cell and τxyz is the viscous stress.

If the Viscous Stress ( Solid Data ) output is not computed by the flow solver, it will not be
considered in the computation of the Force .

The computed Force (per unit surface) is added in the Solid Data group.
l When double clicking on Torque, the vector or scalar fields are computed depending of the
settings imposed in the Set Torque Axe dialog box (Geometry/Set Torque Axis... menu).

113 CFView™ 16.1 User Guide


By default, the torque is computed with respect to the axis defined by the Origin (first point) and
Direction (end point) coordinates.
l If the check button With respect to point is not active, when double clicking on Torque, the
scalar field (component along specified axis) is computed and added under the Solid Data
group as Scalar Torque.
l If the check button With respect to point is active, when double clicking on Torque, the
vector field is computed and added under the Solid Data group as Vector Torque.

l When double clicking on Normals, the normal vector field is computed on each point of the
solid surfaces. The magnitude of the normal is the arithmetic average of the adjacent cell
surface areas. The computed Normals is added in the Solid Data group.
l When double clicking on Normalized Normals , the normalized normal vector field is
computed on each point of the solid surfaces. The magnitude of the normalized normal is set to
1. The computed Normalized Normals is added in the Solid Data group.
l The total scalar torque is computed by:
l selecting the Scalar Torque quantity,
l clicking on the Scalar Integral button that will integrate the scalar field on all active
surfaces.

114 CFView™ 16.1 User Guide


l The total force and vector torque are calculated by taking the norm of the vector given by the
use of the Vector Integral button (i.e. total force = sqrt(Fx^2+Fy^2+Fz^2)).
l The Vector Integral button integrates the active vector field (Force or Vector Torque) on all
active surfaces and provides the x, y, z components of the resulting vector.

When comparing results of vector integral with solver results in .wall file, differences may appear mainly for
the inviscid contribution. We recommend to use the Force and Vector Torque quantities for field
visualization purpose only and not for integration in CFView™.

To compute accurate x,y,z components of the Force on active solid surfaces, the following approach
should be followed:
1. Compute vector integral of Static Pressure on active solid surfaces: Finv,x Finv,y Finv,z
2. Compute vector integral of Viscous Stress on active solid surfaces: Fvisc,x Fvisc,y Fvisc,z
3. Compute total force on active solid surfaces:
F x = F inv,x + F visc,x
F y = F inv,y + F visc,y
F z = F inv,z + F visc,z
Note that the viscous contribution does not have the same sign as in the solver.
Note that the .wall file contains the forces on the whole machine while in CFView™ we may
compute only on a blade (active solid surfaces). If the machine of periodicity n (repetition angle a =
360/n) is rotating along z, the following formula should be applied to obtain the forces on the whole
machine:

To compute accurate x,y,z components of the Vector Torque on active solid surfaces, the following
approach should be followed:
1. Compute vector integral of the cross product r x F inv on active solid surfaces where r is the
position vector (x,y,z) and F inv is the vector field computed on each point of the solid surfaces
from the ( Static Pressure ).( Normalized Normals) field : Minv,x Minv,y Minv,z

115 CFView™ 16.1 User Guide


2. Compute vector integral of the cross product r x F visc on active solid surfaces where r is the
position vector (x,y,z) and F visc is the vector field computed on each point of the solid surfaces
from the Viscous Stress field: Mvisc,x Mvisc,y Mvisc,z
3. Compute total torque on active solid surfaces:
Mx = Minv,x + Mvisc,x
My = Minv,y + Mvisc,y
Mz = Minv,z + Mvisc,z
Note that the viscous contribution does not have the same sign as in the solver.
Note that the .wall file contains the torques on the whole machine while in CFView™ we may
compute only on a blade (active solid surfaces). If the machine of periodicity n (repetition angle a =
360/n) is rotating along z, the following formula should be applied to obtain the torques on the whole
machine:

C. Select Solid Quantity

To select a quantity existing only on surfaces (a solid quantity or a surface derived quantity),
select the corresponding item in the Quantity/Solid Data menu, or open the Solid Data group in
the Quantities subpanel and double click on the quantity name.

D. Select Computed Thermodynamic Quantity

When used with a FINE™ GUI project, CFView™ checks automatically if the fluid computation
was made with a perfect gas, a real gas, an incompressible or a condensable gas fluid. In such a
case, a list of standard thermodynamical quantities which are not already available is proposed:
l in the menu Quantity/Field Data/Computed Thermodynamics and
l in the Thermodynamics group of the Quantities list subpanel.
To select one of these quantities, choose the corresponding item in the Quantity/Field
Data/Computed Thermodynamics menu or open Thermodynamics group by clicking on the
group symbol and double click on the desired quantity name.

E. Definition of Computed Thermodynamical Quantities

The computation of these derived quantities is based on a set of conventional names for the basic
thermodynamical fields:

116 CFView™ 16.1 User Guide


l Static Pressure,
l Static Temperature,
l Density (for incompressible fluids, this quantity does not need to be present),
l Vxyz for the absolute velocity vector field,
l Wxyz for the relative velocity vector field.
If it is not present, the absolute velocity is automatically deduced from the relative velocity (or the
relative velocity from the absolute velocity) when the quantity is required.

The full list of the quantities in FINE™/Open with OpenLabs™ project with its explanation can be
seen in Output/General.

The full list of the quantities in FINE™/Turbo project with its explanation can be seen in Computed
Variables.

In project files created by FINE™/Turbo, these quantities are associated to the unit system selected in
the FINE™ interface. As a consequence, unit conversion is performed and a unit label is
automatically attached to the quantity.

Perfect Gas

For perfect gas, the following quantities are defined:

117 CFView™ 16.1 User Guide


where is the perfect gas constant, is the rotary total pressure at the row inlet, is the
local static pressure, is the rotation speed around the Z axis, is the radius calculated by
and the can be computed from the local static
pressure using the isentropic relation:

If a group of blocks contains neither inlet nor rotor/stator patch for computing reference values (Total
Enthalpy, Pressure and Temperature at the inlet), the computation of the Isentropic Mach Number
will not be performed on the group of blocks and a warning is appearing.

118 CFView™ 16.1 User Guide


where and are requested in a specific
dialog box if the Entropy item is selected. Note that refers to Neperian (or natural) logarithm.
When activating the Normalized option, the normalized field of the entropy is computed:

where is the specific gas constant.

No and are required to visualize the entropy


if the quantity is already provided by the flow solver.

where is the turbulent kinetic energy.

Incompressible Fluid

For incompressible fluids, the following standard thermodynamical quantities are supported:

119 CFView™ 16.1 User Guide


where is requested in a specific dialog box if the Entropy item is
selected. Note that refers to Neperian (or natural) logarithm.

The Normalized option is not available for incompressible fluids.

No is required to visualize the entropy if the quantity is already


provided by the flow solver.

where is a constant value retrieved from the FINE™ project file.

120 CFView™ 16.1 User Guide


where is the turbulent kinetic energy.

Real Gas

For real gas, the thermodynamical quantities are computed by interpolation in tabulated
piecewise-polynomial functions.

where is the perfect gas constant, is the rothalpy at the row inlet, is the
isentropic static enthalpy, is the rotation speed around the Z axis and is the radius calculated
by using .

Condensable Gas

When thermodynamic tables are available, the thermodynamic quantities are computed by reading
the tables. The following quantities can be computed in CFView™:

121 CFView™ 16.1 User Guide


where is the rotation speed around the Z axis, is the radius calculated by and
the calculation of the depends on the fluid models (with and without
preconditioning) and the thermodynamic tables available for the considered fluid.
Dynamic quantities (absolute, relative or rotary) can be defined as the difference between the total
quantities and the static quantities.

With Preconditioning

The key tables have and ( , ) as independent


quantities.

To be able to properly re-compute the dependent variables and improve the consistency between the
derived quantities in CFView™ and the computed quantities by the solver, we strongly recommend to
extract from the solver the Static Pressure, Static Enthalpy as the key independent quantities, Density,
Static Temperature, relative and/or absolute velocities and turbulent kinetic energy when the
turbulence model has (e.g. k-e, SST, etc).

The velocity vector is the absolute velocity (Vxyz) if we refer to absolute quantities and the relative
velocity (Wxyz) if we refer to relative quantities.

The dependent quantities if not available are computed as the following:


is evaluated from the table.

where is ( ) as a function of ( ) and ( ).

is evaluated from the table.

122 CFView™ 16.1 User Guide


where is ( ) as a function of ( ) and
( ).

If not available,

If not available, the is first computed from the tables which takes the
and as inputs.

is evaluated from the table.

where is ( ) as a function of ( ) and ( ).

is evaluated from the table with the


following steps:
1. is evaluated from the table.

where is ( ) as a function of ( ) and


( ).
2.

3.

4. is evaluated from the table.


where is ( ) as a function of ( ) and
( ).
5. is finally evaluated from the table.
where is ( ) as a function of ( ) and
( ).

is evaluated from the table with the following


steps:
1. is evaluated from the table.

where is ( ) as a function of ( ) and


( ).

123 CFView™ 16.1 User Guide


2.

3.

4. is evaluated from the table.


where is ( ) as a function of ( ) and
( ).

If table exists, the quantity is evaluated from the table which takes the
and as inputs.
If table does not exist, the quantity is computed with the following steps:
1. Compute using an internal function to compute the derivatives of a table.

2. Compute using an internal function to compute the derivatives of a table.

3. Apply the formula:

and :

If cavitating flow (iCavitation_==2), the quantities can be computed from the


and tables where and are respectively and
as a function of and .

If non- cavitating flow ( iCavitation_ ==0 ), the quantities can be computed from the
and tables where and are respectively
and as a function of and .

Without Preconditioning

The key tables have and ( , ) as independent quantities:

l The quantity solved from the equation is directly the ( ).

l The quantity solved from the equation is but to access the tables, it is simply
transformed to by subtracting the mechanical energy and the turbulent
kinetic energy (if a turbulence model with this variable is used. e.g. k-e).

124 CFView™ 16.1 User Guide


To be able to properly re-compute the dependent variables and improve the consistency between the
derived quantities in CFView™ and the computed quantities by the solver, we strongly recommend to
extract from the solver the Density and Static Energy as the key independent quantities, Static
Pressure, Static Temperature, relative and/or absolute velocities and turbulent kinetic energy when the
turbulence model has (e.g. k-e, SST, etc).

The velocity vector is the absolute velocity (Vxyz) if we refer to absolute quantities and the relative
velocity (Wxyz) if we refer to relative quantities.

The dependent quantities if not available are computed as the following:


is evaluated from the table.
where is ( ) as a function of ( ) and ( ).

is evaluated from the table.

where is ( ) as a function of ( ) and ( ).

If not available,

If not available, the is first computed from the tables which takes the
and as inputs.

is evaluated from the table.

where is ( ) as a function of ( ) and ( ).

If not available, the is computed from the table.


If not available,

is evaluated from the table with the


following steps:

125 CFView™ 16.1 User Guide


1. If not available, the is computed from the table.
2. If not available, .

3. is evaluated from the table.

where is ( ) as a function of ( ) and


( ).
4.

5.

6. is evaluated from the table.


where is ( ) as a function of ( ) and
( ).
7. is finally evaluated from the table.
where is ( ) as a function of ( ) and
( ).

is evaluated from the table with the following


steps:
1. If not available, the is computed from the table.
2. If not available, .

3. is evaluated from the table.

where is ( ) as a function of ( ) and


( ).
4.

5.

6. is evaluated from the table.


where is ( ) as a function of ( ) and
( ).

If table exists, the quantity is evaluated from the table which takes the
and as inputs.

126 CFView™ 16.1 User Guide


If table does not exist, the quantity is computed with the following steps:
1. Compute using an internal function to compute the derivatives of a table.

2. Compute using an internal function to compute the derivatives of a table.

3. Apply the formula:

is evaluated from the table.

where is as a function of and .

is evaluated from the table.

where is as a function of and .

It should be noted that the tables dedicated to store complex non- linear relations between the
variables and the solver outputs often consists in a simple interpolation at cell vertices from values
computed in the cell centers. An exact equality cannot be expected between the derived quantities in
CFView™ and the ones computed by the solver. The difference can reach more than 1% in high
gradient zones.

F. Select Vector Component

For each of the vector fields, each submenu of Quantity/Field Data/Vector Components
contains a set of vector components that can be obtained from the vector. Based on the vector
field name, a naming convention is applied automatically.
For a vector name having a name suffix "xyz", the "xyz" suffix is suppressed before the
component name is formed. Then a suffix letter is added or the quantity name is used to compose
the component name.
e.g.: if Vxyz is present, the proposed vector components are
l Cartesian components: Vx, Vy, Vz,
l magnitude V = ,

l radial, tangential and meridional components with respect to the z axis: ,

and where x and y are the local geometrical coordinates,


l flow angle: in 3D and in 2D.

127 CFView™ 16.1 User Guide


G. Apply Differential Operators: Gradient, Divergence or Curl

To calculate the gradient, divergence or curl of a field quantity , select Quantity/Field


Data/Gradient, Divergence or Curl (see FIGURE 4.2.

The differential operators are computed block by block and thus are not necessarily continuous at the
block boundaries.

FIGURE 4.2
Differential Operators

A menu containing a list of respectively scalar and vector operable fields appears.
To launch the operator, left-click in the menu on the field on which the differential operator has to
be applied.
The computation of the gradient, divergence and curl may also be selected from the Quantities
subpanel:
l Click on the quantity for which the computation should be made, it is highlighted in blue.
l Press the right mouse button, the popup menu for scalar quantity or vector quantity appears.
See FIGURE 4.2.

128 CFView™ 16.1 User Guide


FIGURE 4.3
Popup menus for scalar and vector quantities

l Select the Gradient, Divergence or Curl item.


Once the computation is done, the divergence, gradient, or curl field will be added to the field
quantities list, respectively as: Div, Grad, or Curl followed by the name of the operand field in
parentheses.
The computation method is based on the Gauss formulas: average values for Gradient,
Divergence and Curl are computed in each cell of the mesh. Then, values at the vertices are
obtained as weighted means of the neighboring average cell values. Note that this method is less
accurate along the boundaries than inside the grid.

H. Vortex Detection

The quantities that are used for vortex detection can be calculated through Quantities/Field
Data/Vortex Detection/Lambda 2 or Q Invariant. See FIGURE 4.4.

FIGURE 4.4
Vortex detection menu

The eigenvalues of the symmetric tensor, (S² + Ω²) are ordered as |λ 1 | ≥ |λ 2 | ≥ |λ 3 |, where S ij =
0.5(u ij + u ji ) is the strain-rate tensor, Ω ij = 0.5(u ij - u ji ) is the spin tensor, u ij = δu i /δx j and u i
being the three components of a vector field. Lambda 2 is the scalar defined by the second
eigenvalue. A vortex core can be a region of flow where λ 2 < 0. As for Q Invariant, it is the
scalar value defined by where and .When Q
Invariant of a region is positive and at the same time the local pressure has a lower value than the
ambient, it can be interpreted as a vortex core.

129 CFView™ 16.1 User Guide


In the current implementation, the computation of Lambda 2 and Q Invariant are allowed for
any vector field. This allows the user to modify its velocity definition using derived quantities and
then validate the implementation with vector fields from which the results can be derived
analytically.
The computation of Lambda 2 and Q Invariant may also be selected from the Quantities
subpanel with the same steps as shown in the differential operators (Apply Differential Operators:
Gradient, Divergence or Curl). The computation can be achieved through the right-click menu of
the selected vector quantity. See FIGURE 4.5.

FIGURE 4.5
Popup menu for a vector quantity

Once the computation is done, the Lambda 2 or Q Invariant field will be added to the field
quantities list, respectively as: Lambda 2, or Q Invariant followed by the name of the operand
field in parentheses.

I. Create Derived Quantity

New quantities are created by using the Define New Quantity dialog box. This dialog box, as
shown in FIGURE 4.6 is opened by selecting Quantities/Field Data/Define New Quantity... or
by clicking on the New button in the Quantities subpanel.

130 CFView™ 16.1 User Guide


FIGURE 4.6
Derived quantity definition dialog box

To create a derived quantity:


1. select the new quantity type. For Scalar and Vector by components, the available scalar
quantities and the mathematical operators are listed in the upper right frames. If Vector is
selected, the available vector quantities are listed in the Quantities frame. When defining a
Vector by components, the Definition entry is replaced by a set of 2 or 3 entries, one for
each component of the new vector quantity.
2. Select Field Surface:
l A Field quantity is defined in the complete computation domain. The available quantities
for its definition are all the field quantities (if Scalar or Vector by components is selected,
the components of the field vector quantities are also available).
l A Surface quantity is defined only on surfaces. The available quantities for its definition
are all the field and solid quantities as well as the normal and tangent component of the
vector quantities.
3. Enter the name of the new quantity in the Name entry and its mathematical definition in the
Definition entry. The following operators and functions are available:
l +, -, *, ^ and / operators
l V^W is the vectorial product of vectors V and W when Vector type,
l V*W is the scalar product of vectors V and W when Scalar type,

The result of the scalar product cannot be used in the same quantity (i.e. sqrt(V*W) will return
an error). The scalar result should be reused in a new scalar derived quantity.

l V*W is the direct product of vectors V and W when Vector type:


(Vx.Wx,Vy.Wy,Vz.Wz).

For the direct product, "()" or "-" must be used otherwise the product will return an error.

l log, log10, exp, sqrt, pow, sin, cos, tan, cotan, sinh, cosh, tanh, asin, acos, atan(y/x) and
atan2(y,x) functions,
l if function with three arguments for the condition, the action when the condition is
satisfied and the action when the condition is not satisfied e.g. if (Static
Pressure<150000,1,0),

131 CFView™ 16.1 User Guide


l The geometrical coordinates as x, y and z,
l The constants 'e' and 'pi' are also predefined,
l The a to the power b is obtained by using pow function (ab = pow(a,b)), or the log and
exp functions (ab = exp(b*log(a))),
l Boolean operators: relational and equality operators (==, !=, >, <, >=, <=) and logical
operators (!, &, | for respectively not, and, or)
By double clicking with the mouse left button on any of the items listed in the Quantities,
Geometry, Op., Bool. or Constants frames, its name is automatically inserted in the Definition.
For example, enter the string "normalized pressure" in the Name entry, the string "Static Pressure
/ 101325" in the Definition entry to create a normalized pressure quantity.
Press the Apply button to create the new quantity and to insert it into the project. The new quantity
can be selected for visualization in the same way as the project field quantities.

To delete or unload a derived quantity, use the unload option or the Quantities Status dialog box as
described in Unload Quantities or Field Quantities Status Dialog Box respectively.

4.1.2 Field Quantities & Computer Memory Management

A. Quantities Load on Demand

By default, when a project file is opened, CFView™ is loading all the quantities in memory.
Compared to a situation where the data would be left on disk, this accelerates considerably the
access to the data for the creation of representations.
However, when the data sets are very large, this may require a computer memory larger than
available. For this reason, CFView™ provides the capability to postpone the data loading until
requested by the graphical representation. A selection of the quantities to be loaded can be done
by using the Partial Loader.
Releasing some computer memory by removing some of the quantities from the computer
memory is also possible from the Quantities Status dialog box (see Unload Quantities). When a
quantity has been removed from the memory, it will be automatically reloaded if required.

132 CFView™ 16.1 User Guide


B. Unload Quantities

The unload quantities option in the multi-view environment of CFView™ reduces the CPU time
and memory requirement for post-processing large projects. This unloading functionality works
for both steady and unsteady cases. The unload option is available from the pop-up menu that
appears on pressing the right mouse button on any field or solid data quantity in the Quantities
subpanel. Unloading of any field quantity can be done in the following way:
1. Press the right mouse button on any of the scalar or vector field quantity available in the
Quantities sub-panel.
2. A popup menu is displayed where the last item in the popup menu is Unload.
3. If Unload is selected the storage space allocated to the corresponding quantity is freed.

In the unloading process of any solid data quantity from Solid Data list in the Quantities sub-
panel shows a different menu list when right mouse button is pressed. However the functionality
of the Unload option is the same as for the field quantities.
Once the quantity is unloaded, a small bitmap file (unload icon) is placed at the left of the
unloaded quantity as observed in the right hand side image of FIGURE 4.7.

FIGURE 4.7
Unloading of a field quantity

133 CFView™ 16.1 User Guide


By default the thermodynamic quantities from the Thermodynamics list in the Quantities
subpanel, are not loaded into the memory. After selecting such a quantity, it becomes available in the
field quantities list. Once loaded, it can be unloaded in the same way as described above.

If Unload is selected on a user-defined quantity in the field quantities list, it permanently removes
that user-defined from the field quantities list
The memory usage status can be confirmed from Quantities Status dialog box. To open the
Quantities Status dialog box select the Quantities Status... option in the main menu
Quantity/Field Data or click on the Status button in the Quantities subpanel (see Field
Quantities Status Dialog Box for more details).

C. Field Quantities Status Dialog Box

To open the Quantities Status dialog box, select Quantities Status... in the Quantity/Field Data
menu or click on the Status button in the Quantities subpanel.

FIGURE 4.8
Access to Quantities Status

134 CFView™ 16.1 User Guide


FIGURE 4.9
Quantities Status dialog box

The dialog box is listing the scalar fields on the left and the vector fields on the right. The button
on the left of each quantity name is an on/off button indicating if the quantity is loaded in the
computer memory (the button is on if the quantity is present).
By toggling the buttons and then clicking on Apply, the computer memory storage is modified
according to the user's specification.
For a derived quantity, this removes the field as well as its definition. The name used for the
derived quantity is available again for another derived quantity definition.
For a quantity defined in the project itself, this removes only the data storage. If the quantity is
needed later, it is reloaded automatically.
Below the list of quantities, a first line indicates the type of the quantity at the cursor position. This
may be "Quantity from file" or "Derived quantity". The second line is present only when a
derived quantity is under the cursor and it presents the quantity definition.
On the right, the memory used for the storage of the complete field data is mentioned.

135 CFView™ 16.1 User Guide


D. Projects Comparison

This functionality allows two projects to be compared. The projects having the same mesh
topology but slightly different geometries or same geometry but different meshes can be
compared.
Two projects can be considered as having the same mesh topology if:
l the number of domains is the same.
l the meshes are either both structured or both unstructured meshes.
l for structured mesh: for each domain, the numbers NI, NJ and NK are the same.
l for unstructured mesh: for each domain, the number of points and the number of cells are the
same. For each cell, the number of nodes and the number of faces are the same. The node
indices and connected cells are the same as well.
l the bounding boxes of the two meshes are sufficiently close. A relative tolerance of 0.1 is
applied in each dimension.
For projects having the same geometry but different meshes. It means:
l if every point on every surface of mesh A is within a given tolerance of a surface of mesh B.
This tolerance can be accessed through Preference / Projects Comparison tolerance ....

The tolerance chosen should be as low as possible.

For better performance, the project with fewer blocks should be selected before performing the
comparison.

This functionality can be accessed through Quantity / Field Data as shown in FIGURE 4.10. If
two or more projects are opened in CFView, the Project Comparison ... entry is enabled
otherwise it is grayed out.

136 CFView™ 16.1 User Guide


FIGURE 4.10
Projects Comparison

If the open projects are not comparable, an error message is shown to warn the user once the
option is selected. Otherwise, the Projects Comparison dialog box as shown in FIGURE 4.11
appears. There will be a list of comparable projects in the Comparable projects list box.

FIGURE 4.11
Projects Comparison dialog box

When a project is selected, its scalar and vector quantities are shown in the Quantities list box.
The "Field" and "Surface" radio buttons show the field quantities and the solid data respectively.
When a quantity is selected, the Import and Compare buttons are enabled at once. See FIGURE
4.11. The Import button imports the selected quantity from the selected project to the active
project while the Compare button computes the difference of the selected quantity between the
two projects.
Upon clicking the Import and Compare buttons, the Quantity name dialog box appears and the
new quantity name can be defined. See FIGURE 4.12.

137 CFView™ 16.1 User Guide


FIGURE 4.12
Quantity name dialog box

The interpolation has to be done if two meshes are different and this computation may take a lot of
time.

A default name is proposed as the following:


l quantityName_computationName for quantity imported.
l quantityName_diff_computationName for quantity compared.
The newly created quantity will appear in the Quantities sub-panel.

E. RAM Management and Unsteady Post-processing

This functionality frees the RAM usage at each time step when post-processing unsteady data
sets. It is very useful for large projects.

This feature can be accessed through the button Free Memory On/Off available in the
animation toolbar when an unsteady project is loaded. By default, this button is active and
highlighted in yellow. The Free Memory On/Off button is not highlighted anymore when
inactive.
Press the left mouse button on Free Memory On/Off button, to toggle this functionality on or off.
When the Free Memory On/Off button is active, and the Previous/Next Time Step buttons (
) are pressed, the memory allocated to all field and solid data quantities at the current
time step is freed, before moving to the next time step. If the Free Memory On/Off button is
inactive, all the field and solid quantities are kept in the memory for every time step.

138 CFView™ 16.1 User Guide


4.2 VISUALIZE SCALAR DATA

When a scalar quantity is selected, CFView™ visualizes it in different ways:


l local values,
l isolines,
l color contours,
l iso-surfaces,
l Cartesian plots.
The Representation menu and the Representations subpanel allow the creation of such
representations. These are dynamic containers: it means that the contents of this menu and of this
subpanel depend on the type of the active quantity (scalar or vector) and on the view type (2D or
3D). This section describes only the items dealing with scalar quantities. The items concerning
vector quantities are outlined in Visualize Vector Data.

4.2.1 Local Values

Display Local Values

The local value tool is a numerical probe that prints directly the data value of the active quantity at
selected points on the active surfaces. To create local values:
1. Choose Representation/Local Value or click on the button in the Representations/Plots &
Values subpanel.
2. Select a point in the graphical area by clicking with the left mouse button. CFView™
interpolates the active quantity value at the point that is located at the intersection of the active
surface and the line that is perpendicular to the screen and which passes through the selected
point.
This item remains active until another quantity representation requiring interactive input is
selected.
The default style for number formats may be modified by using the Default Local Value Type
Editor (Preferences/Local value type...). Edit, Save & Restore Defaults for further information.
The keyboard shortcut for Local Value is <v>.

Update Local Values

To modify one or several local values represented on the screen,

139 CFView™ 16.1 User Guide


1. Click on the first local value to modify, then pressing the <Ctrl> key, click on the other local
values to modify.
2. Press the right mouse button, a pop up menu appears.

It contains 4 items:
l select Marker Type... in order to modify the type of marker. A marker editor is opened (see
Curve, Line & Marker Type Editors for a detailed description of marker parameters).
l Select Number Format... in order to modify the way the figures are formatted. A number
format editor is opened (see Numbers Format Editor for a detailed description of number
formats).
l Select Text Type... in order to modify the font type and size. A Text Type editor is opened
(see Text Type Editor for a description of text font parameters).
l Select Delete to suppress the local values from the screen.

Delete Local Values

CFView™ provides different methods to erase local values:


l By interactive selection: as explained in Update Local Values, when a set of local values is
selected, the associated popup menu contains a Delete item. By selecting this item, the
currently selected local values are suppressed from the screen.
l By selecting Update/Delete/Local Value: all the local values associated to the active quantity
and attached to one of the active surfaces are erased.
l By selecting Update/Delete/All, all the representations (not only the local values) on all
surfaces are deleted.

4.2.2 Isolines

Single or multiple isolines are available. It is also possible to select uniformly colored isolines or
isolines colored according to the value.

Drawing a Local Isoline

To display a local isoline of the active quantity:

140 CFView™ 16.1 User Guide


1. Choose Representation/Isolines/Local Isoline in the menu bar or click on the button in the
Representations/Contours & Iso Values subpanel.
The keyboard shortcut for Local Isoline insertion is <j>.
2. An iso-value can be set in three different ways:
l type a single value (in between the minimum and maximum of the quantity) in the
keyboard input area and press <Enter>.
l left-click on the active surface. For each clicking operation, the value of the quantity at the
selected point is interpolated and an isoline corresponding to that value will be generated.
l left-click on the colormap of the active view to indicate the desired value.
This option remains active as long as no other scalar representation is activated.

Isoline drawing is restricted to the current range. See Control Representations Range for more
details on the quantity range.

Drawing Multiple Isolines

To generate multiple isolines, choose Isolines... from the Representation/Isolines menu or click
on the button in the Representations/Contours & Iso Values subpanel.
The keyboard shortcut for Isolines is <i>.
A dialog box is opened once the button is pressed: the isolines can be specified by the number of
isolines to be drawn or by their relative increment.
To modify the number of isolines:
l click the number option;
l adjust the Valuewith the spinner or type the value directly into the text box.
To modify the increment between two isolines:
l click the increment option;
l adjust the Valuewith the spinner or type the value directly into the text box.

141 CFView™ 16.1 User Guide


FIGURE 4.13
Create Multiple Isolines

l To modify the range of which the isolines are computed:


l type the value in the from text box for the minimum value and press <Enter>.
l perform the same operation for the maximum value in the to text box.
l If an input value exceeds the quantity limits, it is automatically reset to the limit value.
l Select whether the isolines should be uniformly colored (Uniform) or colored according to the
value (Contour).
l Select Clear Before Apply (default) to remove the isolines corresponding to the active
quantities before the new ones are created.
l Click the Apply button to start the isoline computation with the new parameters.
l Click the Close button to exit the dialog box.

Isolines drawing is restricted to the current range. See Control Representations Range for more
details on the quantity range.

Modifying the Isolines

To modify the isolines represented in graphics area,

142 CFView™ 16.1 User Guide


1. Left-click on one of the isolines created, immediately the isoline is highlighted in light green. It
is possible to select several isolines by pressing the <Ctrl> key.
2. Right-click to access the pop-up menu shown in FIGURE 4.14 (left). Once the Value On/Off
is toggled, the menu with more options (right) appears.

FIGURE 4.14
Right-click menu for isolines

The pop-up menu contains the following options:


l Line Type... allows the user to edit the type of line used for the representation. Note that the
line color parameter is effective only if the isolines are set in the Color Lock mode (see Curve,
Line & Marker Type Editors for an explanation of the line type parameters).
l Color Lock draws the isolines in a fixed color.
l Color by Value (default) draws the isolines according to the isoline's value.
l Value On/Off displays or hides the value of the isolines. Once the values of the isolines are
displayed, more options are available in the menu:
l - Larger Font/Smaller Font increases or decreases the font size.
l - Value Format ... allows the user to change the format of the values.
l - Value Colored sets the color the value according to the isoline's value.
l - Label White (default)/ Label Colored sets the background of the value to white or
according to the isoline's value.

The Line Type , Color Lock, Color by Value and Value On/Off options apply to all the isolines.

l Export to File ... exports the selected isoline(s) into a .dat file with the name given by the user
in the file chooser. The format of the file is compatible with IGG curve data files and is the
same as for the export of streamlines.
For each selected isoline:

143 CFView™ 16.1 User Guide


l the first line is the name of the isoline. There can be several parts for each isoline.
l the second line is the coordinate system, i.e. "XYZ" for Cartesian, "RTHZ" for cylindrical
or "STM" for meridional.
l the third line is the number of points.
l for each point there is one line with the x, y and z coordinates.
Example:

l Cartesian Plot creates a Cartesian plot of the active quantity on the selected isoline. For
example, the wave elevation can be plotted by creating a Cartesian plot of Z on the isoline of
mass fraction with value 0.5.

The Cartesian plot is available in the Cartesian view only.

l Delete suppresses the selected isoline(s) from the graphics area.

The Export to File , Cartesian Plot and Delete options apply only to the selected isolines.

Deleting the Isolines

CFView™ provides different methods to delete the isolines:


l By interactive selection: as explained in Modifying the Isolines, when isolines are selected, the
associated pop up menu contains the Delete item. By selecting this item, the currently selected
isolines are suppressed from the graphics area.
l By selecting Update/Delete/Isoline: all the isolines associated to the active quantity and that
are drawn on one of the active surfaces are erased.

144 CFView™ 16.1 User Guide


l By selecting Update/Delete/All or pressing <Ctrl> +<d> shortcut: all the representations (not
only the isolines) on all surfaces are deleted.

4.2.3 Color Contours

With color contours, the active surfaces are painted with a gradation of colors according to the
selected data values. CFView™ provides six coloring options: flat, smooth, strip and these 3
options with or without thresholding. Thresholding restricts the coloring of the quantity on the
active surface to a restricted range of the quantity values.

All colorings are restricted to the current range. See Colormap & Representations Range for more
details on the quantity range.

Flat

Choose Flat from the Representation/Color Contour menu or click on the button in the
Representations/Contours & Iso Values subpanel. In this mode, each cell is assigned to a
unique color that corresponds to the average value of the quantity in that cell.
The keyboard shortcut for Flat color contour is <Shift> + <q>.

Smooth

Choose Smooth from the Representation/Color Contour menu or click on the button in
the Representations/Contours & Iso Values subpanel. In this mode, the color is interpolated
inside each cell from the values of the quantity at the cell vertices.
The keyboard shortcut for Smooth color contour is <c>.

Strip

Choose Strip from the Representation/Color Contour menu or click on the button in the
Representations/Contours & Iso Values subpanel. In this mode, the color interpolated on each
cell contour from the values of the quantity at the surface vertices is kept constant over small sub-
ranges.
The keyboard shortcut for Strip color contour is <s>.

145 CFView™ 16.1 User Guide


Thresholding (Flat, Smooth and Strip)

This option provides a convenient way to discard uninteresting parts of the color contours
(previous command) by allowing the introduction of minimum and maximum threshold values.
All the surface regions in which the quantity value does not fit into the threshold values are
discarded. To achieve this:
1. Choose any thresholded coloring from the Representation/Color Contour/...Threshold
menu or click on one of the buttons in the Representations/Contours & Iso
Values subpanel. The message "min, max (min, max)" appears in the keyboard input area.
2. Providing the threshold range can be done in different ways:
l with the mouse: move the mouse into the colormap and click at a level which represents the
first limit. Drag the mouse along the colormap up to a suitable value (a line appears
between the selected point and the cursor). Release the mouse button to fix this second
limit.
l with keyboard input: click in the string input box and enter either 2 or 4 values separated by
a blank:
l if two values are provided, they are forming a single range. The first value must be
smaller than the second one.
l If four values are provided, the first pair is forming a first range and the last pair is
forming a second one. Within each pair, the first value must be smaller than the second
one.
By default, the regions with values outside the specified ranges are set to transparent. The colors,
to be used outside of the threshold range, can be specified in the Range Colors Type Editor.
This editor can be accessed through the Preferences/Range colors type… menu. As it can be
seen in FIGURE 4.15, the editor contains 4 options:
l Visible: When activated, the colors specified in the editor will be used, if not they will be set to
transparent.
l Below Range: The specified color will be used for all regions in which the quantity value is
lower than the specified minimum threshold value.
l Between Ranges: If four values are provided for the threshold range, the specified color will
be used for all regions in which the quantity value lies between the specified maximum and
minimum threshold values of the first and second range respectively.
l Above Range: The specified color will be used for all regions in which the quantity value is
higher than the specified maximum threshold value.

146 CFView™ 16.1 User Guide


FIGURE 4.15
Range Colors Type Editor

The settings in the Range Colors Type Editor are only taken into account when a project is opened in
CFView™.

The region of the surface in which the quantity lies between the limits is represented. This
command remains active until another quantity representation requiring interactive input is
selected. An example of a thresholded smooth color contour is given in FIGURE 4.16.

FIGURE 4.16
Thresholded color contour of the static pressure

147 CFView™ 16.1 User Guide


Color Contour Transparency

An opacity slider has been added to the quick panel. When the user change this slider, the opacity
value is given to:
l all the active surfaces
l all the active color contours.

FIGURE 4.17
Semi-transparent color contour on a cutting plane

Update Color Contour

To modify one or several colored contours represented on the screen,


1. Click on the first color contour to modify, then pressing the <Ctrl> key, click on the other
color contour representations to modify.
2. Press the right mouse button, a pop up menu appears.

It contains 6 items for smooth and strip contour (for flat contours, only the Delete item is
available):
l Select Filled to let the color contour fill the surfaces completely.
l Select Wireframe to get colored surface wireframes.
l Select Markers Only to get only the markers colored.

148 CFView™ 16.1 User Guide


l Select Line Type... to edit the type of line used for the wireframe representation. Note that the
line color parameter does not have any effect in this context (see Curve, Line & Marker Type
Editors for an explanation of the other parameters).
l Select Marker Type... to edit the type of markers used for the "markers only" representations.
Note that the color parameter does not have any effect in this context (see Marker Type Editor
for an explanation of the marker parameters)
l Select Delete to suppress the contour representations from the screen.

FIGURE 4.18
Color contour shown as markers only, mesh wireframe and filled.

Delete Color Contours

CFView™ provides different methods to erase color contour representations:


l By interactive selection: as explained in Update Color Contour , when color contour
representations are selected, the associated popup menu contains a Delete item. By selecting
this item, the currently selected contours are suppressed from the screen.
l By selecting Update/Delete/Color Contour: all the color contour associated to the active
quantity and that are drawn on one of the active surfaces are erased.
l By selecting Update/Delete/All, all the representations (not only the color contours) on all
surfaces are deleted.

4.2.4 Streamlines

The Streamlines module allows the user to color the streamlines based on any scalar field quantity
available in the field quantities list in the Quantities subpanel. By default the streamlines are
computed by using the relative velocity vector field. To color the streamlines by integration of the
active scalar quantity, select Streamline from the Representation menu. A submenu appears,
containing three options to plot streamlines: Local, Section and From Grid Line…. The default
computation and representation parameters can be changed by using the Streamlines Parameters
dialog box available from Parameters… menu.

149 CFView™ 16.1 User Guide


FIGURE 4.19
Access to Streamlines Module

Local Streamline

1. Select Local from Representation/Streamline menu.


2. Select the starting point. This can be done in two ways,
l With the mouse: select a point with the left mouse button on an active surface (selected in
the Surfaces subpanel).
l With the keyboard: A request message "Input or select vector line starting point" appears in
the message area of CFView™.

In the string input area, type the desired x y z coordinates of the starting point on the active
surface, then press <Enter> in the keyboard input area in order to validate the entry.
The streamline starts from this point and extends to the first non-connected boundary (i.e. full-
non-matching boundaries, rotor-stator interfaces…) encountered or until the maximum number of
points per streamline is exceeded (more details can be found in Streamlines Parameters).

Streamline from Section

1. Choose Section from Representation/Streamline menu.


2. Select a section defined by two points: A request message "Input number of vector lines and
press-drag to define section" appears in the message area of CFView™.

150 CFView™ 16.1 User Guide


3. In the keyboard input area, type the desired "Number of Points:" (the default value is 5), then
press <Enter> in the keyboard input area in order to validate the entry (e.g. 25). The entered
number should be larger than 2. It defines the number of starting points on the originating
section.

4. To create the originating section of streamlines through the active surface (selected in the
Surfaces subpanel), move the mouse in the graphical area and click the left mouse button to
select the first point of the section line. Hold the mouse button and drag it, a red line is attached
to the cursor. Move the cursor in the desired direction and release the left mouse button to
define the second point of the line.

FIGURE 4.20
Section creation on an active surface for streamline plot

Streamline from Grid Line

1. Choose from Grid Line... from the Representation/Streamline menu. A dialog box shown in
FIGURE 4.21 appears:

151 CFView™ 16.1 User Guide


FIGURE 4.21
Grid line definition dialog box for streamline plot

2. In the Index area, click the desired radio button. The i and j radio buttons do not necessarily
correspond to the IGG™ indices:
l If the surface is constant in I, the first index corresponds to J and the second to K.
l If the surface is constant in J, the first index corresponds to K and the second to I.
l If the surface is constant in K, the first index corresponds to I and the second to J.
3. Set a value of the constant index in the Value box between 1 and the maximum value
indicated.
4. Select the nodes from which the streamlines need to be generated in Node Range area. To do
this, enter a node range:
l Enter a number in the First box included between 1 and the maximum of the unselected
index.
l Enter a number in the Last box included between the number given in First box and the
maximum of the unselected index. This number has to be different from the first node
number. Initially the Last box indicates the maximum node number available.
5. Click the Apply button to start the streamline computation and display.
6. Click the Close button to close the dialog box.

Streamlines Parameters

The parameters of the streamlines like the maximum number of points per line or cell, the cell
average, the color, the direction, the curve type can be changed in the following way.

152 CFView™ 16.1 User Guide


1. Choose Parameters... from the Representation/Streamline menu. A dialog box appears, as
shown in FIGURE 4.22.
2. To modify the maximum number of points per streamline: click on the Max points per line
box and enter the desired number of points or use the increment-decrement buttons
3. To modify the maximum number of points calculated inside each cell (this number avoids
continuous calculations when the streamline goes in a spiral inside a cell): click on the Max
points per cell box and enter the desired number of points or use the increment-decrement
buttons. This parameter is used only for surface streamlines on mesh surfaces.
4. To modify the average number of points inside each cell (this average defines the number of
points calculated inside a cell): click on the Average points per cell box and enter the desired
point average or use the increment-decrement buttons. This parameter is used only for surface
streamlines on mesh surfaces.

FIGURE 4.22
Parameters for streamlines

153 CFView™ 16.1 User Guide


1. To modify the integration direction: click on the pull down menu and choose among three
options:
l Forward to set up a downstream integration,
l Backward to set up an upstream integration or
l Both to set up full stream integration.
2. To modify the computation mode: click on the pull down menu and choose among two
options:
l Volume to define streamline(s) in the 3D space or
l Surface to constrain the streamline on the surface from which it is started
3. Click the Apply button to apply the modifications.
4. Click the Reset button to discard the modifications and go back to the initial parameters.
5. Click the Close button to close the dialog box.
To modify the default line or the marker type click on the corresponding Line Type or Marker
Type page respectively (See Curve, Line & Marker Type Editors for a detailed description of
these parameters).
For more info on the ribbon and tube type see Stream Ribbons & Tubes.

The settings are applied for the next created streamline(s).

Update Streamline

To modify one or several streamlines represented on the screen,


1. Click on the first streamline to modify, then pressing the < Ctrl> key, click on the other
streamlines to modify.
2. Press the right mouse button, a pop up menu appears.

It contains the following items:

154 CFView™ 16.1 User Guide


l Select Uniform Color to color the streamline with pre-defined uniform color.
l Select scalar quantity (i.e. Static Pressure) to color the streamline based on the scalar quantity
which was selected when creating the streamline.
l Select Export to file to export the selected streamlines into a file. More details of Export to file
in "Update Color" (p. 194).
l Select Parameters... to edit the type of curve used for the streamline representation. Note that
the line color parameter only has an effect if Uniform Color was selected before.
l Select Delete to suppress the streamline representations from the screen.
l Select Cartesian Plot to create a Cartesian plot of the scalar quantity along the streamline.

Delete Color Streamlines

CFView™ provides different methods to erase color streamline representations:


l By interactive selection: as explained in Update Streamline , when color streamline
representations are selected, the associated popup menu contains a Delete item. By selecting
this item, the currently selected streamlines are suppressed from the screen.
l By selecting Update/Delete/Streamline : all the color streamline associated to the active
quantity and that are created from one of the active surfaces are erased.
l By selecting Update/Delete/All, all the representations (not only the color streamlines) on all
surfaces are deleted.

4.2.5 Iso-Surfaces

This option visualizes the surfaces in 3D where the active quantity remains constant. To do so:

1. Choose Iso-Surface from the Representation menu or click on the iso-surface button in
the Representations/Contours & Iso Values subpanel.
2. Choose the iso-surface value:
l move the mouse to the keyboard input area, enter a single value (included between the
maximum and the minimum of the quantity) and press <Enter>.
l with the mouse in the colormap: move the mouse to the colormap (by default on the right
side of the graphics area) and click at a level which represents the value.
l with the mouse on an active surface: move the mouse over an active surface, click at the
location where the iso-surface is going to intersect the surface. An iso-surface with the
active quantity value at that location is displayed.

155 CFView™ 16.1 User Guide


Each new input for the iso-surface value removes the previous iso-surface and displays the new
one. In the information output area, the iso-surface volumes below and over the iso-surface value
are displayed.

Iso- surface generation involves the scanning of the complete computational volume and is
computationally intensive on large meshes.

Iso-surfaces may be saved in order to create other representations on them. To save an iso-surface,
choose Representation/Iso-Surface Save or click a second time on the iso-surface button.
The surface name is inserted in the project surface list for further manipulations.

4.2.6 Cartesian Plots

CFView™ creates easily the plots of the quantity distribution along arbitrary sections and grid
lines.
When one of the plot commands is activated, CFView™ automatically opens a new view, that
will contain the Cartesian plot. Furthermore, the range of the plot axis is set to the limits reached
by the quantities. CFView™ defines and handles automatically one Cartesian plot view per
quantity. When the first curve of a quantity is drawn, a Cartesian plot view is opened. And the
next curves are automatically inserted in this Cartesian plot view.
By default, curves associated with different quantities are plotted in different Cartesian plot views.
When activating Global Plot View in the Representation/Cartesian Plot menu, all curves
related to all quantities will be plotted in the same Cartesian plot.

FIGURE 4.23
Global plot view option: static pressure and temperature in same plot

156 CFView™ 16.1 User Guide


The layout of existing Cartesian plots can be modified interactively by selecting parts, by using
the Update/Plot menu or by the viewing buttons.
The different commands to create Cartesian plots are contained in the Representation/Cartesian
Plot menu and in the Representations/Plot & Values subpanel. These are outlined below.

Cartesian Plot along Surface Boundaries

Choose Along Boundary from the Representation/Cartesian Plot menu or click on the
Boundary button in the Representations/Plot & Values subpanel. A curve is drawn for each
boundary of the active surfaces.
In the currently active 3 or 2 dimensional view, the boundaries of the active surfaces are colored
in the same color as in the Cartesian plot.

The default style for the line and markers may be modified by using the Default Node Line Curve
Type Editor ( Preferences/Node line curve type... . If the default color is different from black or
white, the color is changed from curve to curve in order to facilitate curves identification. Similarly,
the marker type and the line style are changed from curve to curve.

Cartesian Plot along Solid Surface Boundaries

Choose Along Solid Boundary from the Representation/Cartesian Plot menu or click on the
Boundary Solids button in the Representations/Plot & Values subpanel. A curve is drawn for
each boundary of the active surfaces which is a solid boundary. Also, the boundaries of the solid
surfaces are colored in the same color as in the Cartesian plot.
As for the plot along surface boundaries feature, the default line and marker styles can be changed
by using the Default Node Line Curve Type Editor (Preferences/Node line curve type...).

If no solid surface is selected at the time the Cartesian Plot/Along Solid Boundary is requested, an
empty Cartesian plot view will appear on the screen.

Cartesian Plot along Section

This option provides a convenient way of visualizing quantity distributions along arbitrary
sections of the active surfaces. To create a plot along a section:

157 CFView™ 16.1 User Guide


1. Select the surfaces on which the section has to be represented.
2. Choose Along Section from the Representation/Cartesian Plot menu or click on the Section
button in the Representations/Plot & Values subpanel.
3. Select a section line defined by two points:
l move the mouse to the graphical area and click the left mouse button to select the first point
of the section line. A red line is attached to the cursor. Drag the cursor in the desired
direction and release the left mouse button to define the second point of the line.
l or, move the mouse to the string input area and successively enter the coordinates of the
two points defining the section. Press <Enter> to apply.
The section line actually defines a cutting plane perpendicular to the plane of the screen. This
plane crosses the active surfaces and generates sections. The quantity values on these sections are
immediately mapped in the Cartesian plot view, while the traces of the sections appear on the
active surfaces.

FIGURE 4.24
Pressure profile on a radial compressor blade.

The section shown in FIGURE 4.24 is obtained from a cylindrical coordinates view (constant
radius). The viewing direction is along theta and the section line is a horizontal line which
intersects the blade pressure and suction sides.
The default style for line and markers may be modified by using the Default Section Curve Type
Editor ( Preferences/Section curve type... ). Edit, Save & Restore Defaults for further
information. If the default Section Curve Type is different from black or white, the curve color is
changed from curve to curve, as well as the line and marker styles.
This option remains active until another scalar representation which requires interactive picking is
activated.

The arc lengths are independent for each curve extracted from the active surfaces.

158 CFView™ 16.1 User Guide


The keyboard shortcut for Along Section is <d>.

Cartesian Plot along a Grid Line

To create a plot along a grid line:


1. Select the desired surfaces.
2. Select Along Grid Line... from the Representation/Cartesian Plot menu or click on the
Grid Line button in the Representations/Plot & Values subpanel. It opens a dialog box.
Click on one of the I or J constant Index button to activate the desired surface family. The "I"
and "J" appellation do not necessarily correspond to the IGG™ index:
l if the surface is constant in I, the first index corresponds to J and the second to K.
l if the surface is constant in J, the first index corresponds to K and the second to I.
l if the surface is constant in K, the first index corresponds to I and the second to J.
3. Click on the Value string input and enter a number included in the limits.
4. Click on the First and Last string inputs and enter the number of the first and last grid node to
consider in the plot curve.
5. Click the Apply button to perform the action. The result is immediately mapped in the
Cartesian plot view, while the trace of the section appears on the active surfaces.
6. Click the Close button to close the dialog box.

FIGURE 4.25
Grid line definition dialog box for vector line plot

The default style for the line and markers may be modified by using the Node Line Curve Type
Editor ( Preferences/Node line curve type... ). Edit, Save & Restore Defaults for further
information. If the default color is different from black or white, the curve color is changed from
curve to curve as well as the line and marker styles.

159 CFView™ 16.1 User Guide


This option is only available for structured meshes.

4.2.7 Update Cartesian Plot

A Cartesian plot view is made of several parts that can be selected and updated separately. The
curves, the axis and the axis labels are the elements that may be selected. The various ways to
update these elements are described in the following sections.

A. Duplicate Axis

When right-clicking in the Cartesian plot view, the Toggle Top X axis / Toggle Right Y axis
menu allows the user to duplicate respectively the X axis at the top and to add a new Y axis at the
right. This allows different quantities to be plotted in the same Cartesian plot (Global Plot View
in the Representation/Cartesian Plot menu) with different ranges as presented in FIGURE 4.26.

FIGURE 4.26
Control number of axis

In addition, after left- clicking on one of the curves and right- clicking, the menu Add to
Left/Right Y Axis controls to which Y axis the selected curve will belong.

B. Change Axis Variable & Range

Each axis of the Cartesian plot is attached to a variable. The available variables are:

160 CFView™ 16.1 User Guide


l the quantity values,
l the arc length or its normalized value along the curve,
l the x, y or z coordinates,
l the radius or the azimuthal angle (with respect to the z axis) and
l the span or stream position for turbomachinery analysis.
In order to modify the variable related to an axis or to modify the range minimum or maximum
value, click with the left mouse button on the axis, red markers are appearing. Then, press the
right mouse button, a pop up menu is raised.

1. In the sub menu Function of, select the desired item to change the variable which is attached
to the axis.
2. Select Fit Range in order to set the minimum and maximum range values to those of the
represented curves. Note that if no element is selected in the Cartesian plot view, the popup
menu raised by pressing the right mouse button, contains the item Fit Range that performs the
same operation on both the ordinate and the abscissa axes.
3. Select Set Range... to enter a new range. There are two possible ways of doing this:
l enter the minimum and the maximum value in the string entry below the graphical area or
l press on the axis desired minimum value, drag and release on the axis desired maximum
value to provide the minimum and maximum values. During the interactive operation a red
bar appears along the axis.
4. Select Set Logarithmic in order to display the data in logarithmic scale. When an axis is
already in logarithmic scale, select the Set Linear item to come back to a linear display.
5. Select Set Reverse in order to display the data in decreasing values. When an axis is reversed,
select Unset Reverse to come back to the normal display.
6. If no element is selected in the Cartesian plot view, the popup menu raised by pressing the
right mouse button, contains the item Fit Axis that fits axis in the Cartesian plot view when
needed.
The viewing buttons are also providing shortcuts for some of the frequently used operations:
These buttons are selecting the quantity for the abscissa axis

This buttons translates the curve representations.

161 CFView™ 16.1 User Guide


This button performs the zoom in or out in both the abscissa and
ordinate ranges.
This button performs the zoom on a rectangular region.

This button performs a range fitting in both directions.

This button performs a range fitting and a small zoom out, in


both directions.

The axes ranges are always updated automatically to reflect the range modifications.

C. Manage Legend in Cartesian Plot

A legend can be added in the Cartesian plot view with the menu Add to legend appearing when
right-clicking after selecting a curve in the Cartesian view.

FIGURE 4.27
Add legend to Cartesian plot

When the legend is appearing in the view, it can be viewed or hidden with the Toggle Legend
menu when right-clicking in the Cartesian view. In addition after left-clicking on the legend, right-
click to access the popup menu that control the font (Larger/Smaller Font) and the text type
(Text type).

162 CFView™ 16.1 User Guide


FIGURE 4.28
Control legend of the Cartesian plot

D. Update Curve Type

To modify the line and marker style of the curves:


1. Select the first curve to be modified, then pressing the <Ctrl> key, select the other curves. The
curves may be selected in the Cartesian plot view or in the 2 or 3 dimensional view in which
they are represented.
2. Press the right mouse button, a popup menu appears.

163 CFView™ 16.1 User Guide


Curve Type

The Curve Type... item opens the Curve Type Editor dialog box that allows the user to modify
the line and marker attributes (see Curve, Line & Marker Type Editors for a detailed explanation
of the parameters for line and markers).
Note that the selected curves set can still be modified after the dialog box is opened. The line and
markers style is applied to the curves that are selected at the moment the Apply button is pressed.

Set Thicker/Thinner

The Set Thicker/Set Thinner items increases or reduces the thickness of the line.

Copy/Paste/Merge Curves

The Copy/Paste items allows the comparisons between computed results by selecting Copy in a
first Cartesian plot and then Paste in a second Cartesian plot.
When plotting a curve on multiple successive surfaces, the resulting plot will contain several
curves (one per surface), while the user is frequently interested into viewing these curves as a
single one. The Merge item appears when multiple curves are selected in the Cartesian plot. It
merges all the selected curves in an automatic way.

Rename Curves

The menu Rename, as shown in FIGURE 4.29, gives the possibility to rename the selected curve
by entering the name in the New Name area and pressing the Apply button.

FIGURE 4.29
Rename dialog box

Delete Curves

The Delete item deletes the selected curves.

164 CFView™ 16.1 User Guide


Note that when the curves are deleted in a Cartesian plot, the representations of the curve in the
original 2D/3D view is also deleted. But, when a curve is deleted in a 2D/3D view, it is not
removed from the Cartesian plot view.

Curve Type to Whole Section

The Curve Type to whole section item controls the type of all the curves created at the same
time as the selected curve. For example, when creating a plot along a section generating several
curves in the Cartesian view, all curves can be adapted at the same time just after selecting one of
them.

FIGURE 4.30
Illustration of "Curve Type to whole section"

Limited Section

The Limited Section item allows the user to restrict the plot between the two selected points
instead of, by default, a complete line on whole domain passing through the two selected points.

165 CFView™ 16.1 User Guide


FIGURE 4.31
Illustration of "Limited Section" Curve Type

Fit Curve Range

The Fit Curve Range item scales the axis according to the range of the selected curve. This
option is useful when the Cartesian plot includes curves heavily out of range.

FIGURE 4.32
Illustration of "Fit Curve Range"

Reverse

The Reverse item reverses the orientation of the selected curve.

Regression/Interpolation/Extrapolation Curve

The Regression Curve, Interpolation Curve and Extrapolation Curve items allow the user to
create a regression, an interpolation or an extrapolation curve respectively.
The Regression Curve item creates a regression curve after defining the type of regression
(Regression Type) and pressing the Apply button. In addition the formula is appearing in the
dialog box and can be saved in a file after selecting the Save button.

166 CFView™ 16.1 User Guide


FIGURE 4.33
Regression curve dialog box

The Interpolation Curve item creates a cubic spline interpolation curve after defining the
number of points (Num of Points) and pressing the Apply button. For curves that are already
smooth, the interpolation curve is almost superimposed on the original selected curve. If the curve
is not smooth, it creates a smooth curve by fitting cubic splines to the points of the original curve.

FIGURE 4.34
Interpolation curve dialog box

167 CFView™ 16.1 User Guide


The Extrapolation Curve item creates an extrapolation curve by extrapolating either to the left or
to the right side the original selected regression curve (Towards Left / Towards Right option).
When respectively the option Towards Left or Towards Right is selected, the Left Extent or
Right Extent abscissa and the Number of Points at which the value of extrapolation curve will
be plotted are specified as inputs.

FIGURE 4.35
Extrapolation curve dialog box

Discrete Fourier Transform

The Discrete Fourier Transform item plots the Fourier transformation (amplitude of the scalar
quantity vs frequency) of the plotted scalar quantity function of time.

168 CFView™ 16.1 User Guide


FIGURE 4.36
Illustration of "Discrete Fourier Transform"

Add to Legend

The Add to legend item adds a legend in the Cartesian plot if not existing and adds the selected
curve name to the legend. More details available in Manage Legend in Cartesian Plot to manage
the legend.

Add to Right Y Axis

The Add to Left/Right Y Axis item controls to which Y axis the selected curve will belong.

Toggle Orientation Arrow

The Toggle Orientation Arrow item plots the orientation on the curve representation in the
original 2D/3D view of the selected curve in the Cartesian plot. An arrow will appear on the
curve representation in the 2D/3D view.

View/Edit Coordinates

The View / Edit Coordinates item allows the user to edit the curve points coordinates. The
coordinates can be modified in the table and visualized in the Cartesian plot view by pressing the
Apply button.

169 CFView™ 16.1 User Guide


FIGURE 4.37
View/Edit curve dialog box

Get Y Value

The Get Y Value item retrieves the ordinate value by entering the corresponding abscissa value
in the area and pressing the Apply button.

FIGURE 4.38
Get Y value dialog box

Export to File

The Export to File item saves selected curves. More details available in Export Plot Curve(s) in
File.

170 CFView™ 16.1 User Guide


E. Change Axis Ticks & Labels

When right-clicking in the Cartesian plot view, the Toggle Ticks Orientation menu allows the
user to select one of the two different ticks orientations. The ticks have their centers aligned with
axes or the ticks are inwards.

FIGURE 4.39
Toggle ticks orientation

Ticks & Numbers

A specific dialog box exists for user to update the ticks and the numbers style. In order to open
this dialog box, select the axis, then, in the popup menu which is raised by pressing the right
mouse button, select the item Ticks & Numbers...

FIGURE 4.40
Axis ticks and labels definition dialog box

The dialog box contains several parts:

171 CFView™ 16.1 User Guide


l The numbers orientation buttons: allow the user to choose the text orientation between
horizontal, vertical or at 45 degrees.
l The numbers text type part allows the user to choose the font name, size and color for the axis
numbers.
l The Minor/Major Ticks entries allow the number of graduations displayed on the axis to be
defined. Note that CFView™ is rounding automatically the graduations interval in order to
display values with as few significant numbers as possible.
l The Numbers distance entry enlarges or shrinks the spacing between the axis and the
graduation numbers.

Axis Label

In order to modify the axis label, it should be selected by clicking on it with the left mouse button.
Red markers are displayed around it to indicate the selected element.
When the axis label is selected, a popup menu is raised by pressing the right mouse button.

This menu contains 4 elements:


l Select Larger FontSize or Smaller FontSize to enlarge or shrink the label text.
l Select Edit Text... in order to edit interactively the text. During its edition, the text is displayed
horizontally for a better readability. The following functions are available during the edition:
l The text is inserted at the cursor position. Initially, this cursor is positioned on the first
character.
l The left and right arrow key to move the insertion cursor.
l The <Backspace> key suppresses the character on the left side of the insertion cursor.

172 CFView™ 16.1 User Guide


l Select Font & Position... in order to open a dialog box in which the label font and position
can be modified.

FIGURE 4.41
Axis Label Editor

l The Font Type frame allows the user to choose the font type, size and color (see Text Type
Editor for further details on text fonts). The default font type can be modified in the menu
Preferences / Axis Text type.
l The Position frame allows the user to choose the position (either at the axis origin, at mid-
range or an the axis end) as well as the distance between the numbers and the label text.

F. Add Grid Lines in Cartesian Plot

If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right
mouse button contains the items Show H Grid Lines and Show V Grid Lines. When selected,
grid lines are represented at each major axis graduation.

173 CFView™ 16.1 User Guide


When graduation lines are represented, these items are replaced by Hide H Grid Lines or Hide V
Grid Lines which are used to remove the grid lines from the Cartesian plot. Furthermore, the
popup menu contains the items H Grid Lines Type... or V Grid Lines Type.... By selecting one
of these items, a Grid Lines Type dialog box is opened in which the grid line type, color and
thickness may be modified (see Line Type Editor for a detailed description of the dialog box and
of the line type parameters).

G. Resize Cartesian Plot

If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right
mouse button contains the item Resize Curve Area. When this item is selected, a red rectangle is
drawn with markers in the corners and in the middle of the sides and a specific message is
displayed in the message bar.
To resize the curve area:
l Move the cursor on the marker to move. When close to the marker, the cursor is changed to
the resizing cursor symbol.
l Press, drag and release with the left mouse button to resize the curve area.
To move the curve area, without modifying its size:
l Move the cursor inside the curve area. The cursor is changed to the move cursor symbol.
l Press, drag and release with the left mouse button to move the curve area.
When the curve area is moved or resized, the axes are automatically redrawn on its sides.
To leave the resizing mode, click with the left mouse button or press the right mouse button.

H. Insert New Curve

If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right
mouse button contains the item Insert New Curve. It adds a new curve in the view by defining a
formula (By Formula) or by loading a data file (By Data).

174 CFView™ 16.1 User Guide


FIGURE 4.42
Insert new curve dialog box

When By Formula is selected, the lower and upper limits of the abscissa and the number of
points can be controlled. Then the name and the equation of the curve is imposed by the user in
respectively the Name and Definition section. Finally the Apply button is pressed to create the
curve.

The equation should always be written in terms of x (abscissa) and no other independent variable can
be used for writing the equation.

When By Data is selected, a data file is selected after pressing the Import button. The data file
should have a format similar to the validation curve data file: the data should be listed in either 4
columns (x, y, z, data) or 2 columns (x, data). After importing the data, the coordinates will be
displayed and a name will have to be entered for the new curve. Finally the Apply button is
pressed to create the curve.

I. Show Curves List

If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right
mouse button contains the item Show Curves List. It opens a dialog box containing a list of all
the curves that can be visualized in the view. By activating or deactivating the check box at the
right of the curve name, the corresponding curve will be respectively visible or not in the view
after pressing the Apply button.

175 CFView™ 16.1 User Guide


FIGURE 4.43
Curves list dialog box

J. Cartesian Plot Axis Editor Dialog Box

The Plot Axis Editor dialog box is opened by selecting the item Axis Editor... in the Update/Plot
menu. This 5 pages dialog box, see FIGURE 4.44 , provides a centralized access to all the
parameters that can be modified in the Cartesian plot axis:

FIGURE 4.44
Plot Axis Editor

176 CFView™ 16.1 User Guide


l the first page (Scale) provides access to the axis quantity and range selection.
l the second page (Axis Labels) provides access to the axis labels text and text type.
l the third and fourth pages (Major Units - Minor Units) provides access to the grid line types.
l the fifth page (Ticks Labels) provides access to the graduation numbers text type.

K. Update/Plot Menu

The Update/Plot menu contains some frequently used items for Cartesian plots. These are the
following:
l To fit all the curves in the plot choose Original.
l To display quantity distributions as a function of the X direction, choose Function of X.
l To display quantity distributions as a function of the Y direction, choose Function of Y.
l To display quantity distributions as a function of the Z direction, choose Function of Z.
l To display quantity distributions as a function of the Arc length direction, choose Arc length.
l To display quantity distributions as a function of the normalized arc length, choose
Normalized arc length.
l To suppress the last curve inserted in the Cartesian plot, select Curve Undo

4.2.8 Export Plot Curve(s) in File

CFView™ can export all the curves from a Cartesian plot or selected curves.
To save all the curves data in an ASCII file, select Curve Output... from the Update/Plot menu.
To save only selected curves, first select them interactively (use <Ctrl> + left mouse button to
select multiple curves), then press the right mouse button and select Export to File in the popup
menu.
A file chooser is opened to specify the file directory and name. The data are saved as an ASCII
file which contains one section per curve. A section in the file has the following format

177 CFView™ 16.1 User Guide


l a header line which contains:
l the number of geometrical coordinates: 3,
l followed by the number of quantities: 1,
l followed the number of curve points,
l followed by the names of the quantities surrounded by '|' characters,
l the content lines where each line contains
l the X, Y and Z coordinates of one point (or Z and R coordinates and a "0" in case the
Cartesian plot has been created from the meridional averaged view)
l followed by the quantity values.
Example:
3 1 85 |Vx|
6.344958e-002 5.638292e-002 0.000000e+000 0.000000e+000
6.345011e-002 5.638186e-002 0.000000e+000 -7.162985e-006
...

In addition of the default file containing the quantity function of X, Y and Z, a new file will be
automatically generated containing the ordinate function of the abscissa used in Cartesian plot
("usernameOrdinateFctOfAbscissa.dat")

A file containing a single section in this format can be directly loaded as a validation data (see Import
Validation Data and Represent Validation Data ). Note that files that are containing several curves
must be split before being loaded as validation data.

4.3 REPRESENT VALIDATION DATA

The validation data functionality allows the user to make a plot of a validation data set and to
compare it to the computational data. Refer to Import Validation Data for further details on how to
import validation data. To represent validation data in a Cartesian plot:

178 CFView™ 16.1 User Guide


1. Load validation data from the File/Load Validation Data... menu.

The format of the validation data file is presented in Import Validation Data .

2. Choose Validation Data from the Quantity menu. A submenu appears:

It contains all the validation quantities loaded in the project.


3. Select a validation quantity: another submenu appears. It contains one or more data curve
names of the selected validation quantity. Choose one of them.
4. If the selected quantity also exists as a field quantity (i.e. is listed in the Quantity/Field
Data/Basic Quantities menu), a confirm dialog box is popped up with a question
"Comparison?". Click the Yes button to load the respective computation data from the field
quantity list to be compared with the validation data. The No button is used to load the
experimental data only.

Automatically, a new view is opened that contains the plot or, if the plot view is existing, the
curve is added to the plot view related to that quantity. The line and markers default style for the
validation data curve may be modified by using the Default Validation Data Curve Type Editor
(Preferences/Validation curve type...).
The line and markers default styles for the interpolated data curve may be modified using the
Default Comparison Curve Type Editor (Preferences/Comparison curve type...).

179 CFView™ 16.1 User Guide


4.4 REPRESENT PLOT DATA

This functionality allows the user to make a Cartesian plot with plot data coming as part of a
project data set, such as those created when surface average data outputs are selected in the
FINE™ GUI (Surface Averaged Variables page). To do so:
1. Choose Plot Data from the Quantity pull down menu. A submenu appears: it contains all the
plot data present in the project.

2. Select a plot data curve with the mouse. Another submenu appears. It contains one or more
quantities defined for the selected plot data curve. Choose one of them to end the selection
procedure. Automatically, a new view is opened that contains the plot.
The line and markers default style may be modified by using the Default Plot Data Curve Type
Editor ( Preferences/Plot data curve type... ). Edit, Save & Restore Defaults for further
information.

FIGURE 4.45
Example of plot data from a NACA airfoil computation.

The plot data on the right side of FIGURE 4.45, is the convergence curve of the computed drag.
On the left side, a color contour of the vertical velocity shows the velocity distribution.

180 CFView™ 16.1 User Guide


4.5 VISUALIZE VECTOR DATA

The Representations subpanel and Representation menu are dynamic. The items which appear,
after the selection of a scalar quantity are described in Visualize Scalar Data. If a vector quantity is
selected, different items appear. They are used to display vectors at given positions on the active
surfaces and to compute particle traces starting at given positions.

4.5.1 Arrow Representation

Local Vector

To obtain just one vector drawn locally on an active surface, choose Local Vector from the
Representation menu or select the button in the Representations/Vectors subpanel. The
selection of the point where to compute and draw the local vector is either done by typing the
point coordinates into the string input box or, interactively by selecting it by clicking with the left
mouse button on the active surface in the graphical area.
The keyboard shortcut for Local Vector is <v>.

Vector on Grid Nodes

This command allows the user to represent the active vector quantity as an arrow at a given mesh
nodes of the active surfaces. These nodes are specified by a start index, an end index and a step
for the two surface indexing directions. Setting both, the I and the J step to 1 will plot a vector at
every vertex between the start and the end indices. To do so:

1. Choose Vector on Grid Nodes... from the Representation menu or select the button in
the Representations/Vectors subpanel. A dialog box appears.

The "I" and "J" appellation do not necessarily correspond to the IGG™ index:

181 CFView™ 16.1 User Guide


l if the surface is constant in I, the first index corresponds to J and the second to K.
l if the surface is constant in J, the first index corresponds to K and the second to I.
l if the surface is constant in K, the first index corresponds to I and the second to J.
2. Click on the I - Min box and enter the I value or use the small up and down arrow buttons to
set the starting node. Do the same for I - Max which is the I value of the ending node. If
necessary, change the default I - Step number.
3. Set the J value of the starting node in the J - Min box. Do the same for J - Max which is the J
value of the ending node. If necessary, change the default J - Step number.
4. Click the Apply button to represent the vector field.
5. Click the Close button to discard the dialog box.
The keyboard shortcut for Vector on Grid Nodes is <c>.

Thresholded Vector on Grid Nodes

This functionality allows the user to discard parts of the vector field which present no interest, by
introducing a minimum and maximum threshold values for the vector magnitude. All the surface
regions in which the vector magnitude is outside the given limits are discarded.
To add a thresholded vector representation,

l select the Thresholded item in the Representation menu or click on the button in the
Representations/Vectors subpanel.
l Provide the threshold range in one of the following ways:
l with the mouse: move the mouse into the colormap and click at a level which represents the
first limit. Drag the mouse along the colormap up to a suitable value (a line appears
between the selected point and the cursor). Release the mouse button to fix this second
limit.
l with keyboard input: click in the string input box and enter 2 values separated by a blank.
They are forming a single range, the first one must be smaller than the second one.
The vector arrows having an amplitude lying between the limits are represented at the active
surfaces vertices.
The keyboard shortcut for Thresholded vector arrows is <t>.

Vectors along Section

To obtain the vector field quantity representation along an arbitrary section on the active surfaces,
choose Section from the Representation menu or click on the button in the
Representations/Vectors subpanel.

182 CFView™ 16.1 User Guide


The selection of the line section is done interactively by pressing, dragging and releasing the left
mouse button. The section line is actually defining a plane perpendicular to the screen. The
section along which the vectors are represented is the intersection of that plane with all the active
surfaces.
The keyboard shortcut for vectors along a Section is <d>.

Vectors along Grid Line

This command displays the vector arrows along constant index surface lines. To do so:

FIGURE 4.46
Vectors along Grid Lines

1. Choose Along Grid Line... from the Representation menu or click on the button in the
Representations/Vectors subpanel. The above dialog box appears.
The "I" and "J" appellation do not necessarily correspond to the IGG™ index:
l if the surface is constant in I, the first index corresponds to J and the second to K.
l if the surface is constant in J, the first index corresponds to K and the second to I.
l if the surface is constant in K, the first index corresponds to I and the second to J.
2. Select the constant index: click on the desired Index button and set its value in the Value entry.
3. In the NodeRange frame, set the value of the first and last node to consider along the line.
4. Click the Apply button to see the vectors along the grid line.
5. Click the Close button to discard the dialog box.

This command is related to structured meshes only.

183 CFView™ 16.1 User Guide


4.5.2 Update Vector Representation

Change Representation Scale

By default, CFView™ computes a scaling factor for the representation of vectors based on the
average vector field amplitude. To change that factor:

l click on the button to enlarge the vectors or on the button to scale down the vector
representations in the subpanel Representations/Vectors or
l use the Vector Type Editor dialog box through the Representation/Vector Type... menu as
described in Vector Type Dialog Box.

Change Color & Line Type

The vector arrow representation can be colored according to the vector amplitude or drawn in a
fixed color. The default coloring mode can be modified in the Vector Type Editor dialog box.
The coloring mode of the represented vectors as well as the line type used for the arrows may be
modified in the following way:
l Select the first vector or vector group to be modified by clicking on it with the left mouse
button. Select the other vector or vector groups by pressing the <Ctrl> key and clicking on
them. Highlighting markers are drawn on all the selected vectors.
l Press the right mouse button, a popup menu appears.

l Select Line Type... to open a Line Type Editor allowing the modification of the line type used
for the vector arrows (see Line Type Editor for a detailed explanation of the line type
parameters).
l Select Color Lock to change the coloring mode into single color.
l Select Color by Amplitude to color the vectors according to their amplitude.

Vector Type Dialog Box

The representation type of the vector field as well as the representation scale and the shape of the
vector arrow head can be modified in the Vector Type Editor dialog box. To do so:

184 CFView™ 16.1 User Guide


1. Choose Representation/Vector Type.... The dialog box appears.
2. Select the representation type:
l Full Vector for standard representation of vectors,
l Normal Component to represent the projection of the vectors on the surfaces local
normals,
l Tangent Component to represent the projection of the vectors on the surfaces local
tangent planes,
l Normal Difference for a representation of the locally normal component of the difference
between the mean vector and the local vector. The mean vector is computed as the average
vector on the surface, averaging being weighted by the area of the cells that are containing
the vertices,
l Tangent Difference for a representation of the locally tangent component of the difference
between the mean and the local vector. The mean vector is computed as the surface average
vector, in the same way as for the Normal Difference.
3. Select the arrow shape:
l select the Length of the arrow head relatively to the vector length,
l select the Width of the arrow head relatively to the vector length,
l select whether the arrow head should be filled or not.
4. Select the scaling factor. The Scaling factor is defined as a ratio between 2 numbers.
l double or half the numerator or the denominator by pressing on the up and down arrow
buttons.
l set the factor to a value of 1 by pressing on 1/1 button.
5. Select Color Uniform to have vectors drawn in a single color or Color Contour to have
vectors colored according to their amplitude.
6. Click the Apply button to redraw the vectors with the selected parameters without closing the
dialog box.
7. Click the Reset button to reset the changes and go back to the original values.
8. Click on Close to discard the dialog box.

The representation type and color mode parameters are applicable for the next vectors to be
created, while the scale and arrow shape are applied to all represented vectors.

The keyboard shortcut for Vector Type is <s>.

185 CFView™ 16.1 User Guide


Delete Vector Representations

CFView™ provides different methods to erase represented vectors:


l By interactive selection:
l select a first set of vectors by clicking on any of the vectors.
l Select others vectors to be deleted by pressing the <Ctrl> key while clicking on them.
l Press the right mouse button to raise a popup menu.
l Select the Delete item in the popup menu.
l By selecting Update/Delete/Vectors: all vector representations of the active quantity on active
surfaces are deleted.
l By selecting Update/Delete/All: all representations (not only the vectors) on all surfaces are
deleted.

4.5.3 Vector Lines

To generate vector lines by integration of the active vector quantity field, choose Vector line from
the Representation menu. A submenu appears which contains different commands. The
Representations/Vector Lines subpanel contains also shortcut buttons for these functionalities.
Vector lines may be obtained from a specified point, from a section or along a grid line. The
default computation and representation parameters can be changed by using the Vector Lines
Parameters dialog box.

Local Vector Line

To generate local vector lines:

1. Choose Local from the Representation/Vector line menu or click on the button in the
Representations/Vector Lines subpanel.
2. Select the starting point. This can be done in different ways:
l with the mouse: select with the left mouse button a point on an active surface.
l with the keyboard: the message "Vector line starting point:" appears in the string input area.
Click on the string input box and enter the coordinates (the coordinates must be separated
with a blank) of the starting point. The actual start point is the projection of the provided
point on the closest active surface.

186 CFView™ 16.1 User Guide


The vector line starts from this point and extends to the first non- connecting boundary
encountered or until the maximum number of points per vector line is exceeded (see Vector Lines
Parameters).
The keyboard shortcut for Local vector line is <j>.

Vector Lines from Section

To generate a set of vector lines from a section:

1. Choose Section from the Representation/Vector line menu or click on the button in the
Representations/Vector Lines subpanel.
2. Select a section defined by two points: move the mouse in the graphical area and click the left
mouse button to select the first point of the section line. A red line is attached to the cursor.
Move the cursor in the desired direction and click the left mouse button to define the second
point of the line.
The two points are actually defining a plane perpendicular to the screen. The section along
which the vector lines starting points are set is the intersection of that plane with the active
surfaces. The starting points are equally distributed between the two points.
A default number of 5 vector lines are generated from this section and extend to the first boundary
encountered.

When choosing Section, a message "Number of Points:" appears on the left of the string input area.
To modify the default number of starting point in the section, click on the string input box and enter
a number larger than 2.

The keyboard shortcut for vector lines from Section is <Shift> + <j>.

Vector Lines from Grid Line

To generate vector lines from the points contained in a grid line:

1. Choose From Grid Line... from the Representation/Vector line menu or click on the
button in the Representations/Vector Lines subpanel. A dialog box appears as shown in
FIGURE 4.47.

187 CFView™ 16.1 User Guide


FIGURE 4.47
Vector Lines along Grid Line

The "I" and "J" appellation do not necessarily correspond to the IGG™ index:
l if the surface is constant in I, the first index corresponds to J and the second to K.
l if the surface is constant in J, the first index corresponds to K and the second to I.
l if the surface is constant in K, the first index corresponds to I and the second to J.
2. Select the constant index. Click on the desired Index button.
3. Set the value of this constant index in the Value box.
4. Select the nodes from which the lines are generated. To do this, enter a node range:
l Enter in the Firstbox a number included between 1 and the maximum of the unselected
index.
l Enter in the Last box a number included between 1 and the maximum of the unselected
index. This number shall be different from the First Node number.
5. Click the Apply button to start the vector line computation and display.
6. Click the Close button to close the dialog box.
The keyboard shortcut for vector lines From Grid Line is <Ctrl> + <j>.

4.5.4 Vector Lines Parameters

The parameters of the vector lines like the color, the direction, the curve type, the number of
points or the cell average can be changed in the following way.

1. Choose Parameters... from the Representation/Vector line menu or click on the button
in the Representations/Vector Lines subpanel. A dialog box appears, as shown in FIGURE
4.48.

188 CFView™ 16.1 User Guide


2. To modify the integration direction: click on the pull down menu and choose between three
options:
l forward, to set up a downstream integration,
l backward, to set up an upstream integration or
l both, to set up a full-stream integration.
3. To modify the computation mode: click on the pull menu and choose between two options:
l volume, to define vector line(s) in the 3D space or
l surface, to constrain the vector line on the surface from which it is started
4. To modify the maximum number of points per vector line: click on the Max points per line
box and enter the desired number of points or use the increment-decrement buttons (little up-
down arrows).
5. To modify the maximum number of points calculated inside each cell (this number avoids
continuous calculations when the vector line goes in a spiral inside a cell): click on the Max
points per cell box and enter the desired number of points or use the increment-decrement
buttons (little up-down arrows). This parameter is used only for surface streamlines on mesh
surfaces.
6. To modify the average number of points inside each cell (this average defines the number of
points calculated inside a cell): click on the Average points per cell box and enter the desired
point average or use the increment-decrement buttons (little up-down arrows). This parameter
is used only for surface streamlines on mesh surfaces.
7. Click the Apply button to apply the modifications.
8. Click the Reset button to discard the modifications and go back to the initial parameters.
9. Click the Close button to close the dialog box.
To modify the Line Type or the Marker Type click on the corresponding thumbnail that allows
the modification of the default line and marker types.

The selected parameters are applicable for the next vector line(s) to be created.

The keyboard shortcut for vector line Parameters is <q>.

189 CFView™ 16.1 User Guide


FIGURE 4.48
Vector Lines Parameters

190 CFView™ 16.1 User Guide


4.5.5 Stream Ribbons & Tubes

FIGURE 4.49
Ribbon and Tube type

General Parameters

The Variable options allow the user to choose if the ribbon and the tube have their size and twist
varying along the streamline.
When the size is set to Variable, the size of the ribbon/tube is proportional to the divergence of
the flow.
When the twist is set to Variable, the twist of the ribbon/tube is proportional to the vorticity of the
flow.
The parameter r0 is the size of the ribbon/tube at the beginning of the streamline. The parameter is
not a physical size, but is relative to the geometry extent of the project.
The computation of the twist and of the size is based on the interpolation of the curl and of the
divergence of the velocity field. These quantities are computed automatically the first time they
are needed and stored for latter use, when they are not present in the project.
The Scale parameters are two scaling factors that can be used to show the change of size and/or
twist in a better way. In that case, the ribbon size and twist are not related anymore to a physical
quantity. These parameters can be useful for illustration purposes, to emphasize the flow
divergence and rotational properties.

191 CFView™ 16.1 User Guide


The parameter Tube vertices is only used for tube generation: it defines the number of vertices of
the polygonal cross section of the tube.

Initial Direction

The normal at each point of the curve is computed automatically. However, the choice of the first
normal direction is left to the user, and has to be set by the Initial direction parameter. All the
directions are allowed, and you do not have to chose explicitly one of the coordinate axis, but for
the user's facility 3 shortcut X, Y and Z buttons are available for users to align the normal with one
of the axis coordinate.

It is better to use the same initial direction for all the ribbons of a given picture.

Advanced Parameters

Coincident Point Removal

The algorithms used to generate ribbons and tube geometry fail when the streamline curve has
coincident points. The "coincident point removal" option removes all the points that are too close
to each other: all the points that are closer than the Min. Distance parameter are collapsed.
When the creation of a ribbon or tube fails, the problem can often be solved by the "coincident
point removal" algorithm, and increasing the Min. Distance parameter.

Even if it is not its primary goal, the "coincident point removal" can be used to reduce the number of
points of a streamline, in order to reduce the ribbon geometric complexity.

Laplacian Filter

The "laplacian filter" algorithm smooths the streamlines and the stream tubes. The filter is a
sliding window average filter. The Pass count parameter represents the number of time the filter
is applied. The Kernel size parameter is the size of the filter's kernel (i.e. the number of points that
are taken into account in the average computation).

192 CFView™ 16.1 User Guide


When filtering is on, the position of the curve points, the normals of the curve, the size and the twist
angle are filtered.

Twist Subdivision

In case of high vorticity flow, the quality of the ribbons can be low when the ribbon's geometric
density is not sufficient in comparison with the twist of the ribbon. The "twist subdivision"
algorithm refines locally the stream ribbon geometry. The general principle is to add new points to
the curve, until two successive normals never present a relative angle greater than the Minimum
angle parameter threshold. New points are added to the curve when the angle between two
successive point is too high. The Max. point parameter is the maximum number of points that
will be inserted every time a refinement is necessary.

Limitations

Generation Failure

The streams ribbon/tubes generation algorithm will fail when:


the initial stream curve contains coincident points
the local normal at the point P(i) of the curve is parallel to the local segment P(i-1)- P(i)
In these cases, a streamline will be used instead of a stream ribbon/tube.
Solution: in most of the cases, the "coincident point removal" algorithm solves these issues.
When the procedure fails, these errors are detected while computing the normals, with the
corresponding warning messages "warning: Curve contains coincident points. Can not compute
normals " and " warning: normal and previous_ segment are coincident. Can not compute
normals ". If they are detected during the ribbon/tube generation itself, the message will be
"Ribbon stream generation error: ribbon not created because of streamline data degeneracies"

Twist Angle Refinement

If the local twist angle is higher than Min angle parameter, the algorithm will add new points to
the stream ribbon/tube. However, if the number of points to add is higher than the Max Points
parameter, only this maximum number of points will be added, with the message: "Ribbon stream
generation warning: twist is too high...try reducing the twist scaling factor"

Local Computation of Divergence and of Curl

As explained before, the vorticity and the cross divergence computation are based on the

193 CFView™ 16.1 User Guide


interpolation of the divergence and of the curl of the velocity field. These quantities must be
computed and stored for all the domains, even if they are only used locally by the streamline. An
amelioration could be to compute the divergence and the curl quantities only at the curve points
where they are required.

4.5.6 Update Vector Line Representation

Update Color

The vector lines may be drawn in a single color or colored according to the local amplitude of the
vector. To modify the coloring mode:
l Select the group of vector lines by clicking on any of its vector lines. Multiple selection may be
obtained by pressing the <Ctrl> key while clicking on another group of vector lines. The
selected vector lines are highlighted by markers.
l Press the right mouse button to raise a popup menu.

In this menu:
l select Uniform color to have vector lines represented in a single color or
l select Velocity color to have vector lines colored according to the local amplitude.
l select Export to File to export the selected streamline to a file. The format of the exported
file is as follows.
For each selected streamline:
1. the first line is the name of the streamline,
2. the second line is the coordinate system ("XYZ" for Cartesian, "RTHZ" for cylindrical or
"STM" for meridional),
3. the third line is the number of points,
4. for each point there is one line with the x, y and z coordinates.
For example:
Streamline 2 from domain3.Kmax row_1_flux_1_Main_Blade_upStream_inlet

194 CFView™ 16.1 User Guide


XYZ
63
0.264599 -0.0186495 -0.03
0.264599 -0.018613 -0.026752
......
l Select Parameters... to edit the type of curve used for the vector line representation. Note that
the line color parameter only has an effect if Uniform Color was selected before. See Curve,
Line & Marker Type Editors for a detailed description of these parameters.
l Select Delete to suppress the representations from the screen.
l Select Cartesian Plot to create a Cartesian plot of the velocity magnitude along the streamline.

Update Curve Type

In the popup menu associated to a vector line selection (see Update Vector Line Representation),
select the Curve Type... item to open a Curve Type Editor dialog box. This dialog box allows the
user to modify the line and marker parameters as described in Curve, Line & Marker Type
Editors. Note that the color attribute is not used when the vector lines are colored according to the
local vector amplitude (Velocity color).

Delete Vector Lines

CFView™ provides different methods to erase represented vectors:


l By interactive selection: when a set of vector lines are selected (see above), the associated
popup menu contains the Delete item. Select it to delete the selected vector lines.
l By selecting Update/Delete/Vector Lines: all vector lines representation of the active quantity
that were started from one of the active surfaces are deleted.
l By selecting Update/Delete/All: all representations (not only the vector lines) on all surfaces
are deleted.

195 CFView™ 16.1 User Guide


4.6 COLORMAP & REPRESENTATIONS RANGE

4.6.1 Insert Colormap

The colormap is a color scale of the active quantity (for vector quantities, the magnitude of the
quantity is displayed). It is posted automatically when a colored representation (isolines, color
contours, vectors) is added. If posted, the colormap is also updated to the new quantity when the
active quantity is changed.
Choose Colormap from the Representation menu to display it in the current view. This
command acts as a toggle, select it again to remove the map from the current view.
The keyboard shortcut for Colormap is <Ctrl> + <r>.

4.6.2 Control Representations Range

This functionality allows the user to control the represented range of the active quantity. This
means that all colored representations of the quantity will be affected by a range selection. The
regions of the color contours with values falling outside the selected range will not be represented.
The isolines and vector having values falling outside the selected range will not be visible.

The quantity range is a global setting. It affects all the views related to the project that is edited.

Range Set

To change the limits of the color-map range, choose Representation/Scalar Range/Range Set
or Representation/Vector Range/Range Set or select the shortcut button in the toolbar.
This option is also available when the colormap is selected (the colormap is selected by clicking
on it with the left mouse button), in the pop-up menu raised by pressing the right mouse button,
select the Set Range item.

196 CFView™ 16.1 User Guide


Then insert the new limits in one of the following ways:
l Move the mouse to the string input area and enter the range of the color map. The two limits
must be separated by a blank.
l Move the mouse on the colormap and click at a level which represents the first limit. Drag the
mouse in the color map to a suitable value and release to fix the second limit.
A zoom to the selected range is performed.

Range Default

To set the range of the color ramp to its default value, choose Representation/Scalar
Range/Range Default or Representation/Vector Range/Range Default, or press the shortcut
button on the toolbar.

Range Active Surfaces

To set the range of the colormap to the quantity range on the active surfaces, choose
Representation/Scalar Range/Range Active Surfaces or Representation/Vector
Range/Range Active Surfaces or press the shortcut button on the toolbar.

4.6.3 Update Colormap Representation

Smooth & Strip Maps

By default, the colormap is represented with a strip and a smooth map. The colormap can also be
represented with only a smooth or a strip map.
To change the represented mapping, select the colormap by clicking on it with the left mouse
button, highlighting markers are displayed.

197 CFView™ 16.1 User Guide


In the above popup menu raised by pressing the right mouse button:
l Select Smooth Only to have only a smooth colormap represented.
l Select Strip Only to have only a strip colormap represented.
l Select Smooth and Strip to have both smooth and strip map represented.
Depending on the current representation, two of these three items are present.

Reverse Colors

When right-clicking on the colormap, Select Reverse Colors in the popup menu will switch the
top and bottom colors.

Change Colormap Position & Size

By default, the colormap is represented at the extreme right of the view. CFView™ provides two
different ways of changing the location of the colormap. The default location of the colormap can
be modified in the menu Preferences / Colormap type.

To perform a location change:


l Select the colormap by clicking on it with the left mouse button, highlighting markers are
appearing.
l In the above popup menu raised by pressing the right mouse button: select the item Move or
Resize to start an interactive move or resize operation
To resize the colormap:

198 CFView™ 16.1 User Guide


l move the cursor on one of the corner markers, the cursor is changed into a resizing symbol.
l press, drag and release the marker to the desired position.
To move the colormap:
l move the cursor inside the colormap, the cursor is changed into a moving symbol.
l press, drag and release the move the colormap to the desired position.
To leave the move or resize mode:
click with the left or the right mouse button or press the <Esc> key
Select the item Define Location to reposition the colormap:
l select the location of the colormap (right, left, top or bottom) by clicking at the edge of the
view where colormap needs to be placed. When the colormap moves, the name of the selected
quantity, the orientation of the number and the position of the NUMECA logo change as well.

Update Axis Graduations & Label

Ticks & Numbers

FIGURE 4.50
Axis ticks and labels definition dialog box

A specific dialog box exists for the user to update the ticks and the numbers style. In order to open
this dialog box, select the colormap, then, in the popup menu which is raised by pressing the right
mouse button, select the item Ticks & Numbers.... The default number type and format can be
modified in the menu Preferences / Colormap type.
The dialog box contains several parts:

199 CFView™ 16.1 User Guide


l The numbers orientation buttons: allow the text orientation between horizontal, vertical or at
45 degrees.
l The numbers text type part allows the user to choose the font name, size and color for the axis
numbers.
l The Ticks entry allows the user to choose the number of graduations displayed on the axis.
Note that CFView™ is rounding automatically the graduations interval in order to display
values with as few significant numbers as possible. As an example, in order to decrease the
number of graduations, it may be necessary to decrease that number by several units: starting
from a default value of 10 ticks, if the value is set to 9, no change will occur. If the value is set
to 5, the number of ticks will be decreased in such a way that only one graduation over two is
kept.
l The Numbers distance entry enlarges or shrinks the spacing between the axis and the
graduation numbers.
l The Double Format allows the user to change the Number format to exponential and set the
precision of the number.

Colormap Label

In order to modify the axis label (legend), it should be selected by clicking on it with the left
mouse button. Red markers are displayed around it to indicate the selected element.
When selected, an insertion cursor is activated and the colormap label text may be modified in the
following way:
l The text is inserted at the cursor position. Initially, this cursor is positioned on the first
character.
l The left and right arrow key to move the insertion cursor.
l The <Backspace> keysuppresses the character on the left side of the insertion cursor.
When the axis label is selected, a popup menu is raised by pressing the right mouse button.
This menu contains the following elements:
l Select Larger font or Smaller font to enlarge or shrink the label text.
l Select Text Type... in order to open a Text Type Editor dialog box in which the label font can
be modified (see Text Type Editor for a detailed description of the text type attributes).
The default label type can be modified in the menu Preferences / Colormap type.

Colors Control

The menu Colors Control opens a dialog box to set color type and the number of stripes.

200 CFView™ 16.1 User Guide


The coloring of the representations may be done using a Color (from blue to red), a Grayscale
mapping (from black to white), a B&W (cycling several times from black to white), a Matlab
Style or a User defined style. By default, the colored mapping is used. This color selection can
also use the menu bar:
l To select a grayscale mapping, select Update/Colormap/Reset Grayscale.
l To select a black and white mapping, select Update/Colormap/Reset B&W.
l To restore a standard color mapping, select Update/Colormap/Reset Color.

l To select a Matlab style, select one of the colormaps under Update/Colormap/Matlab Style.
Nine colormaps have been added in Matlab Style. The name of the new colormaps are "jet",
"cool", "hot", "summer", "winter", "spring", "bone", "copper", "pink". The colors are
inspired from Matlab.

201 CFView™ 16.1 User Guide


FIGURE 4.51
Available Matlab style

l The option User defined allows the user to set customized colors. When it is selected, the
frame Colors Editor is activated. The user can change the bottom or top colors by clicking on
the small rectangles below the colormap, then choosing a color and clicking on the button
Update Colormap to update the colormap. The Apply button updates the colour format in
graphical area.
The user can also change intermediate colors in the colormap. To do this, the user must right-
click on a color in the colormap. A small rectangle appears below that color. The user can
select this rectangle (by left- clicking on it) to define the color of this rectangle. The
intermediate rectangles can be removed by right- clicking on it. There can be at most 4
intermediate rectangles.
The color mapping is shared among all the representation of a quantity in all the views. When
changing the color mapping, the colormap and all the colored representations are modified
accordingly.
The Number of stripes is used to change the number of stripes in the colormap. The number of
stripes cannot be modified if the Matlab Style is selected.
The default color type and the default number of stripes can be modified in the menu Preferences
/ Colormap type.

202 CFView™ 16.1 User Guide


4.7 REPRESENT PARTICLE TRACES DATA

This functionality allows the user to represent particle traces data computed by the Lagrangian
module of FINE™ / Turbo. These particle traces are always related to INLET boundaries. To
represent particle traces:
l Activate the INLET surfaces from which the particle traces were started. The
Quantity/Particle Traces menu is enabled only if particle traces are attached to one of the
active surfaces.
l Select All Traces in the Quantity/Particle Traces menu to add the representations of all the
particle traces data related to the currently selected INLET boundaries.
l Select Traces... in the Quantity/Particle Traces menu to open a grid nodes chooser dialog
box which restricts the representation to a given range of nodes.

Update Particle Traces Representations

To update the type of line used to represent the particle traces, select them with the left mouse
button. The particle traces attached to a same inlet surface are forming a group that is selected
when any of its particle traces is selected.
Press the right mouse button, a popup menu appears. Select the Curve Type... item to open a
Curve Type Editor dialog box (see Curve, Line & Marker Type Editors for a detailed description
of this dialog box).

Delete Particle Traces

The popup menu associated to a particle traces group contains a Delete item. Select this item to
remove the representation of the particle traces group.

4.8 DECORATION TEXTS

Insert Text

Texts may be added in the active view in the following way:

203 CFView™ 16.1 User Guide


1. Choose Update/Insert Text menu or click on the button in the main tool bar.
2. Click in the active view at the position where the text should appear.
3. Input the text. Multiple text lines can be inserted by pressing the <Enter> key.
The default text font type, size and color may be changed using the Default Decoration Text Type
Editor, invoked from Preferences/Decoration Text type... (Edit, Save & Restore Defaults, for
further information on default settings and Text Type Editor for a detailed description of the text
type attributes).
The keyboard shortcut for Update/Insert Text is <Ctrl> + <t>.

Update Texts

The text can be edited using the mouse:


l Use the left button to select text for editing. The selected text appears with a box shaped frame.
l Use the left or the middle mouse button to drag the selected text in the view. Press to initiate
action and move the mouse to drag the text. Release to freeze the position of the text.
l Press the right button to raise a popup menu.

The pop up menu contains the following items:


l Select Larger font or Smaller font to increase or decrease the text size.
l Select Show frame or Hide frame to add or remove an opaque rectangular frame around the
text. The frame size is automatically set in order to fit the text extent.
l Select Text Type... to open the Text Type Editor dialog box. See Update Representations for
more details about how to use the various text controllers.

Delete Texts

CFView™ provides two methods to delete texts:


l with the mouse: select the text to be deleted with the left mouse button, a frame and
highlighting markers appear. Press the right mouse button to raise a popup menu and select the
Delete item.
l from the Update/Delete sub menu:

204 CFView™ 16.1 User Guide


l choose Text All to remove all the text from the active view.
l choose Text Last to remove the last inserted text in the active view.

4.9 UPDATE REPRESENTATIONS

The data representations can be updated by selecting them individually or by groups as described
in Update Texts . Indeed, when representations are selected, a popup menu containing the
updating functionalities is accessible by pressing the right mouse button.
CFView™ provides also, in the Update menu, a set of items which allow the user to modify the
last created representation without selecting it.
For example, the line width of isolines can be modified immediately after their insertion using the
Line Type Editor started from the Update menu. However, if another representation is made, a
Gouraud shading for example, the isolines may not be modified without being interactively
selected.
The update commands are outlined below.

Undo

For some of the representations type, several representations can be inserted on the same surface.
This is the case for local values, isolines, vectors, vector lines and plot curves. For these
representation types, choose Undo from the Update menu to remove the last inserted
representation. Each time this command is invoked, the latest representation from the group is
deleted. This command can be repeated until no object is left for that representation type.
The keyboard shortcut for Update/Undo is <u>.

Delete

It is possible to delete all or a specific representation type in the active view. To do so:
1. Choose Delete from the Update menu. A submenu appears.
2. Select a delete operation:
l choose All to remove at once all the data representations from all the active and inactive
surfaces in the active view.
The keyboard shortcut for Update/Delete/All is <Ctrl>+<d>.
l choose Text All to remove all the text from the active view.
l choose Text Last to remove the last inserted text in the active view.

205 CFView™ 16.1 User Guide


l choose one of the other items to remove the associated data representations type from the
active surface(s) in the active view.

Representations cannot be removed from the active surface(s), with the Update/Delete menu, if the
corresponding quantity is not selected.

Representation Type Editors

Most of the modifications of representations attributes are done through dialog boxes. All the
dialog boxes in CFView™ use the same terminology and have a coherent behavior and aspect.
All the dialog boxes are made up of small controllers that perform editing. Some of these
controllers, such as the one allowing the selection of color, are included in several dialog boxes.
All dialog boxes have also a consistent button naming policy:
l Apply performs the editing.
l Reset discards the changes brought to the editing parameters and restores back the values they
had at the moment the dialog box was opened.
l Close discards the dialog box.

Text Type Editor

For editing a decoration text, axis numbers and axis label, text type editors are used.
These are a combination of the following controllers:
l A font controller allows the change of font type and size.
l A color controller allows the change of the text color.
l A line spacing controller allows the change of the spacing between the lines.
l An alignment controller allows the change of the text alignment.
l An anchor alignment controller allows the change of the text position relatively to its anchor
point.
l An anchor point controller allows the change of the text anchor position.

206 CFView™ 16.1 User Guide


FIGURE 4.52
Text type definition dialog box

Several dialog boxes are made out of the same controls, the most common controllers are
described in the rest of this section. More specific controllers are described later in the text.

Color Controller

The color controller allows the user to change various colors in the system. To change the color
either select one of the 18 predefined ones or invoke a standard color editor by clicking on the
color editor button (Ed.).

207 CFView™ 16.1 User Guide


LINUX Standard Color Editor

Windows Standard Color Editor

The color editor allows the user to select a color by specifying its definition in the RGB color
model. The RGB color model is a hardware oriented color model: Red, Green and Blue are the 3
additive components used in a color monitor to define a color).
On Linux platforms, use the RGB sliders or the entry fields to modify the color in RGB color
model space. On Windows platforms, select a color in the predefined area or in the colormap or
specify its RGB or its HSV values (Hue, Saturation, Value color model). Once a satisfying color
is obtained, click on OK to set the color in the controller and to close the dialog box. Click Cancel
to quit the dialog box without validating the choice.

Font Type Controller

The font controller allows the user to change the font type and size.

208 CFView™ 16.1 User Guide


FIGURE 4.53
Font controller

The font type can be selected by clicking on the button on the right side of the entry showing the
currently selected font (arial in FIGURE 4.53) and its size by specifying an integer value.
Starting from version 3.8-22 of CFView™, two TrueType™ fonts have been introduced: Arial™
and Times™ (both are trademarks of Agfa Monotype Ltd). These fonts are based on the
TrueType technology and are rendered exactly in the same way on the screen and in bitmapped
pictures (PNG, JPEG, TIFF, PPM, PBM, PGM, NTSC). The Arial™ font is selected as the
system default font.

Curve, Line & Marker Type Editors

The Curve Type Editor dialog box is composed of a Line Type Editor and a Marker Type Editor.
The same layout and the same parameters are used throughout CFView™ to update the
representation parameters for the line and the markers. As an example, the line type editor is also
inserted as a frame in the Plot Axis Editor to edit the axis line type.

Line Type Editor

209 CFView™ 16.1 User Guide


FIGURE 4.54
Line Type Editor

The Line Type Editor allows the user to modify the parameters that are controlling the appearance
of lines in the graphical area. In FIGURE 4.54, it is represented as the first page of the Curve
Type Editor.
The following parameters are controlling the line appearance:
l the line Pattern (solid, dashed, dotted, etc...)
l the line End cap.

l the line Join.

l the visibility (Visible).


l the color.
l the Thickness (1 is standard, 2 is twice as big as 1, etc...).

Marker Type Editor

The Marker Type Editor allows the user to modify the parameters that are controlling the
appearance of markers in the graphical area. In FIGURE 4.55, it is represented as the second page
of the Curve Type Editor

210 CFView™ 16.1 User Guide


FIGURE 4.55
Marker Type Editor

The following parameters are controlling the markers appearance:


l the marker Symbol (Box, Circle, etc...),
l whether the marker shape should be Filled or not,
l whether the marker shape should be Lighted or not,
l the visibility (Visible),
l the color of the marker,
l the Size of the marker.

Numbers Format Editor

This controller allows the change of number formats. The following parameters shown in
FIGURE 4.56 can be modified:
l Exponent: the precision field is with the number of significant digits only if the "auto" or
"always" is selected. If "never" is selected, then the precision field is the total number of digits.
l +/- sign: whether or not the sign (+/-) should be displayed in front of the number.

211 CFView™ 16.1 User Guide


FIGURE 4.56
Numbers Format Editor

l Precision: it can be increased, or decreased. The number displayed in the spinner shows an
example the current format. To adjust the number of significant digits, click on the up or down
arrow of the spinner.

4.10 EDIT, SAVE & RESTORE DEFAULTS

What Are Defaults ?

Defaults are a convenient way of predefining attributes in the system according to the user
preferences. In the current release of CFView™, 12 default attributes can be set:
l The default view background type attributes.
l The default text attributes.
l The default axis text attributes.
l The default colormap attributes.
l The default grid line attributes.
l The default surface boundaries line attributes.
l The default section curve attributes.
l The default node line attributes.
l The default plot data curve attributes.
l The default validation curve type attributes.
l The default comparison curve type attributes.
l The default local value attributes.
l The default Plot3D file type.
l The default range colors type.
l The default derived quantity epsilon.
l The default number of undo.
l The default turbo settings for STM view creation.
l The default NLH settings for spectral solution.
l The default projects comparison tolerance.

212 CFView™ 16.1 User Guide


l The default limits of the loaded IGG™ curve used to create a cutting surface.
l The default lightening on contour representation. Set to on by default for marine applications
otherwise set to off
l The default hiding of blanked cells significant for projects applying the overset grids.
All the attributes are editable through the dialog boxes which are opened by selecting the
corresponding item in the Preferences menu.

Load Defaults from File

Choose Preferences/Load Defaults.... A file chooser appears in which the defaults file should be
selected.

At start- up the system tries to load the personal defaults file. This file should be located in the
subdirectory .numeca of the user's home directory and should be named .cfview.def.

Save Defaults to a File

Choose Preferences/Save Defaults.... A file chooser appears, it prompts for the name to give to
the file. A valid CFView™ defaults file have the extension '.def

At the end of the CFView™ session, the system checks if changes were brought to the defaults
configuration. If changes occurred, the system will ask whether these changes should be saved or not.

Other User Preferences

A couple of preference parameters are not saved in the default files. These are detailed in the
following sections.

Reverse Video

To swap the display background from white to black, choose Reverse Video from the
Preferences pull down menu. This acts as a toggle: selecting a second time restores the initial
background color.
This parameter can be set by the command line argument - reversevideo or by the
REVERSEVIDEO environment variable.

213 CFView™ 16.1 User Guide


The keyboard shortcut for Reverse Video is <w>.

AutoGrid

The AutoGrid item from the Preferences menu enables or disables an invisible grid on which
the views corners are attracted when performing a move or a resize operation. It is turned on by
default.

Face Displacement

The Face Displacement() item from the Preferences menu allows the user to modify the default
value of the face displacement parameter. Valid range is 0 - 1. This parameter is used for
improved rendering of the color contour (or shading) simultaneously with grid or iso-surfaces
lines. The graphic display of the faces is moved slightly backwards to allow a proper rendering of
the lines.
The default value is 0.1. But this value can be set by the command line argument -
facedisplacement or by the FACEDISPLACEMENT environment variable.

4.11 SURFACE INTEGRALS

CFView™ provides various types of integrals which can be computed over the active surfaces.
The available types of integrals depend on the quantity type.

Surface Integrals of Selected Geometry

The surface integral functionality is contained in the Geometry/Surfaces menu. The following
integrals are available:
l Area : select this item in the Geometry/Surfaces menu to compute the sum of the

areas of all the active surfaces.


l Projected Area : select this item in the Geometry/Surfaces menu to

compute the sum of the areas of the projected active surfaces. When selecting the option, the
projection plane normal has to be specified. The angle β is the angle between the normal of the
active surface and the normal of the plane on which the surface is projected.

214 CFView™ 16.1 User Guide


When parts of surfaces are projected at the same place on the plane, each one contributes to the result
that is therefore greater or equal to the surface of the shade of all active surfaces on the plane. I.e. if
the surface is closed and is the boundary of a convex domain (no line that join two points within the
domain cross the boundary surface) the projected surface area is two times the surface area of the
shade. This is typically the case for a plane wing.

Surface Integrals of Scalars

The surface integral functionality is contained in the Representation/Surface Integral menu and
in the Representations/Integrals subpanel. The following integrals are available:
l Surface Area : select this item in the Representation/Surface Integral menu to

compute the sum of the areas of all the active surfaces.


l Scalar Integral : select this item in the Representation/Surface Integral menu or

click on the button in the Representations/Integrals subpanel to compute this integral on


all the active surfaces.
l Scalar Average : select this item in the Representation/Surface Integral menu or

click on the button in the Representations/Integrals subpanel to compute the Scalar


Integral divided by the Surface Area.
l Vector Integral : select this item in the Representation/Surface Integral menu or

click on the button in the Representations/Integrals subpanel to compute this integral on


all the active surfaces. The direction of the integrated vector are given by the positive normal to
the surface element, and its module is equal to the local value of the scalar active quantity. As
an example, this integral can be used to compute the force exerted on a solid object by the
pressure on its surface.
l Vector Average : select this item in the Representation/Surface Integral menu or

click on the button in the Representations/Integrals subpanel to compute the Vector


Integral divided by the Surface Area

215 CFView™ 16.1 User Guide


l Weighted Integral : select the button in the Representations/ Integrals

subpanel to compute this integral. The weighting factor can be selected in the drop-down
menu below the integral buttons. By default for FINE™/Turbo solution, the available
weighting factors are Density*Vxyz, Density*Wxyz, Vxyz, Wxyz and 1. However, any valid
vector equation can be entered as weighting factor.
The integration result is written in the information output area, on the lower right corner of the
graphics area.

When applying weighted integral with weighting factor set to Density*Vxyz or Density*Wxyz on
surface with strong backflow, the result can be far from the min/max range of the variable to be
weighted. To have a result in the min/max range, the weighting factor might be adapted to
Density*abs(Vxyz) or Density*abs(Wxyz) or the user can define his own weighting function..

Surface Integrals of Vectors

The surface integral functionality is contained in the Representation/Surface Integral menu and
in the Representations/Integrals subpanel. The following integrals are available:
l Surface Area : select this item in the Representation/Surface Integral menu to

compute the sum of the areas of all the active surfaces.


l Flux : select this item in the Representation/Surface Integral menu or click on

the button in the Representations/Integrals subpanel to compute the flux of the vector
quantity through the active surfaces.
l Weighted Flux : select this item in the Representation/Surface Integral menu

to compute a flux integral weighted by a scalar field. The weighting scalar ( ) is selected by
clicking on a scalar field name in the Weighted Flux sub-menu.
The integral is performed on the active surfaces.

When computing flux on multiple IJK surfaces, the sign of the flux is depending of the local
surface orientation.

216 CFView™ 16.1 User Guide


FIGURE 4.57
Flux through K cst surfaces where combined flux sign has to be corrected.

l Massflow : activate a surface from the Surfaces subpanel in the Quick Access

Pad and then click the button in the Integrals page of Representation subpanel to
compute the mass flow through the active surface. The integration result with the unit is
displayed in the information output area.

l Vector Integral : select this item by clicking on the button in the


Representations/Integrals subpanel to compute this integral on all the active surfaces and
provides the x,y,z components of the resulting vector. As an example, this integral can be used
to compute the total force and vector torque components on a blade.

4.12 VOLUME INTEGRALS

The volume integral of a scalar quantity is computed by summing over each cell of the entire
domain (all the blocks) the product of the quantity interpolated at the center of the cell by the
volume of the cell. The volume integral of a vector quantity is computed component by
component. As for the volume average of a quantity, it is obtained by having the volume integral
divided by the volume of the entire domain. The volume of the whole mesh can be computed
through Geometry/Volume. The integration result is written in the information output area on the
lower right corner of the graphics area.

217 CFView™ 16.1 User Guide


It is not possible to compute the volume separately for different domains in one project.

Volume Integrals of Scalars

The volume integral functionality is contained in the Representations/Integrals subpanel. The


following integrals are available for scalars:

l Volume Integral : select the button in the Representations/Integrals subpanel


to compute this integral on the active scalar quantity.

l Volume Average : select the button in the Representations/Integrals subpanel

to compute the Volume Integral divided by the Volume.

The domain of integration cannot be specified by the user.

Volume Integrals of Vectors

The volume integral functionality is contained in the Representations/Integrals subpanel. The


following integrals are available for vectors:

l Volume Integral : select the button in the Representations/Integrals subpanel


to compute this integral on the active vector quantity.

l Volume Average : select the button in the Representations/Integrals subpanel

to compute the Volume Integral divided by the Volume.

The domain of integration cannot be specified by the user.

4.13 CURVE INTEGRALS

To perform an integral along a curve, select Representation/Curve Integral. The integration is


done in the following way:

218 CFView™ 16.1 User Guide


l The request message "Input equation or press and drag to select section" appears in the
message area and the name of the active quantity appears in the string input area.
l The integration may be of any valid mathematical expression (Create Derived Quantity for the
details on supported equations). By default, CFView™ is proposing to integrate the active
quantity. This expression can be replaced in the string entry. If the expression is changed, it is
validated by pressing the <Enter> key. If the expression is a scalar one, a standard scalar
integration along a line is performed. If it is vectorial, the amplitude of the component normal
the integration line is integrated.
l If the default expression is used, press with the left mouse button on the start point, then drag
and release on the end point.
l If the expression is validated by pressing <Enter>, then CFView™ proposes to press and drag
to draw the section or to enter the position of its start and end points.
l The curve integral is computed along the intersection between the plane defined by the start
point, the end point and the viewing direction (the plane that contains the start and end points
and that is parallel to the viewing direction) and the active surfaces.
l The actual start and end points for the integration are the intersection between the active
surface and the ray passing at the user specified point and parallel to the viewing direction. If
there is no intersection, the integral is computed from / to the boundary intersection.
l The integration result is written in the string input area.
The integral is performed on the active surfaces from the start point to the end point. As sketched
in FIGURE 4.58, the integration is not made on the parts of the section that fall before the start
point or after the end point. If both points are on the surface (sketched on the left), the integral is
limited between A and B. If A falls outside of the active surface (sketched at the centre), the
integral is performed between the boundary intersection and B. And if both A and B fall outside
of the surface (sketched on the right), the integral is computed over the whole section.

FIGURE 4.58
Illustration of integration from A to B.

219 CFView™ 16.1 User Guide


4.14 EXPORT QUANTITIES DISTRIBUTION

"dat" Format

To export the value of the active quantity on the active surfaces, select Export Active Surfaces...
from the Geometry menu. A file chooser is opened to select the file in which the data is written.
The created file has the following format:
l For each surface:
l the first line contains the name of the surface
l the second line contains 3 numbers: the number of geometrical coordinates (3), the number
of exported quantities (1) and the number of grid points
l the following lines contain the geometrical coordinates of a point followed by the value of
the active quantity on this grid point
l if several surfaces are exported in a same file, they are separated by 2 empty lines.
Example:
Block_1.Kmin Mirror
3 1 9425 |Vxyz_X| |Vxyz_Y| |Vxyz_Z|
6.500100e-002 6.000000e-002 0.000000e+000 -1.457787e-006 -5.816685e-006 0.000000e+000
...
1.200000e-001 6.000000e-002 0.000000e+000 7.074288e-002 -3.901238e-002 0.000000e+000
Block_2.Kmin Mirror
3 1 4225 |Vxyz_X| |Vxyz_Y| |Vxyz_Z|
1.200000e-001 0.000000e+000 0.000000e+000 1.168020e-001 7.446105e-004 0.000000e+000
...
2.900000e-001 1.200000e-001 0.000000e+000 1.159577e-001 9.697273e-004 0.000000e+000

"cgns" Format

To export the value of the selected quantities on the active surfaces in CGNS format, select
Export CGNS Active Surfaces... from the Geometry menu. The dialog box shown in FIGURE
4.59 appears.

220 CFView™ 16.1 User Guide


FIGURE 4.59
CGNS Surface Saver dialog box

All the quantities in the project and computed by CFView™ are available for selection. By
default, only the ones that have been loaded or computed are pre-selected. The user can add or
remove any quantities to the selection. The user can also set the CGNS Base name.
When clicking on the button Apply, a file chooser is opened to select the file in which the data are
written. If the project is unsteady, _t# is added before the .cgns extension, where # is the number
of the time step. When animating, a new CGNS file is generated for each time step.
When the computation is a harmonic computation, the harmonic data will be saved in the CGNS
file. For each surface, there is a base "HarmonicData" which contains:
l The list of the names of the harmonics in the group to which the surface belongs
("NamesFreqs")
l The list of frequencies ("Frequencies")
l The list of interblade phase angles ("InterbladePhaseAngle")
l The list of spatial modes ("SpatialMode")
l The rotation speed of the row to which the surface belongs ("RotationSpeed")
By default, the repetition settings will be written in the CGNS file (base "RepetitionData"). If the
repetition settings can be found when opening a CGNS surface file, CFView™ will use these
settings as the default repetition settings. If the repetition settings cannot be found when opening a
CGNS surface file, no repetition will be proposed. In this case, the user can enter the repetition
type and parameters through the menu Geometry / Repetition Settings.

221 CFView™ 16.1 User Guide


The Save Scene option allows the user to save and retrieve the active scene into CFView™.
Once the option is checked, the following features will be saved in the CGNS file:
l Camera position;
l Surface materials (color, grid, transparency, etc);
l Solid rendering (gouraud, flat, etc);
l Color contours;
l Quantities' names, units and ranges;
l Vectors;
l Colormap properties (colors, ticks, title size, etc);
l Repetitions;
l Texts;
l Time label;
l Local values and vectors.
The features saved in the CGNS surface file can be retrieved once it is opened in CFView™.

All representations that are not explicitly mentioned in the list above will not be saved in the CGNS
surface file and therefore will not be retrieved upon loading. For instances, streamlines, iso-lines, axis,
Cartesian plots, fluid characteristics (derived quantities), etc.

The non conformal cells (with hanging nodes) are saved as conformal cells in the CGNS surface file.
The edges joining the hanging nodes to cells corners are added.

No license is required to open these CGNS surface data into CFView™ once they are saved.

Acoustic Radiating Surface

For harmonic computations in CFView™, the user can export an acoustic radiating surface to a
.cgns file. This can be done by selecting Acoustic Radiating Surface... from the Geometry
menu. The Acoustic Radiating Surface menu allows the user to:

222 CFView™ 16.1 User Guide


l Define a cylinder in the meridional view.
l Generate the mesh on the cylinder.
l Compute harmonic data in the fixed reference frame on the cylindrical mesh.
l Save the resulting CFD surface project into a surface cgns file that can be read by
FINE™/Acoustics and used to compute the noise radiation to the far-field microphones.

If more than 20 harmonics are present in the solution, a warning message "Computation with more
than 20 harmonics currently not supported for NLH post-processing" will be shown. In this case, the
Geometry/Acoustic Radiating Surface and Representation/NLH menus are grayed out.

The Acoustic Radiating Surface dialog box is shown as follows. When opening the Acoustic
Radiating Surface dialog box, a preview of the surface is shown in the 3D View. If the
corresponding meridional view is also opened, the surface limits are shown in the 2D view.

The Acoustic Radiating Surface should enclose all solid boundaries, like nacelle, rotor/stator blades
and non-uniform mean flow where non-linearity is remarkable.

The entries available in the dialog box are:


Geometry inputs:

223 CFView™ 16.1 User Guide


l Radius: the external radius of the cylinder.
l Z min: the value of z at which the cylinder starts.
l Z max: the value of z at which the cylinder ends.
l R ( Z min ) : the minimum radius value at Z min
l R ( Z max ) : the minimum radius value at Z max
l The check button Triangulate Cylinder Bases allows to generate triangulated surfaces on
cylinder bases, avoiding singularities at null radius and avoiding the generation of excessive
number of small cells while the radius decreases.
l The check button Generate 360 degrees allows to generate the surface mesh on the full 360
degree instead of one periodicity.
l Relative Tol %: controls the minimum gap size at Rotor/Stator interfaces. This parameter
allows to control the distance between the end of a patch belonging to a group and the
beginning of the patch belonging to the group of the other side of the RS interface. The gap is
proportional to the z expand of the test case: delta_z=zMax-zMin. The user input is finally
used with the following relation: gap=delta_ z*Relative Tol*default tolerance factor. The
default tolerance factor is currently set to 1e-4.
Frequencies inputs:
l Max Frequency: The maximum frequency kept in the output file.
l Max Fourier Coef: The change of reference frame is based on a spatial Fourier transform. This
entry allows to control the number of Fourier coefficients.
Outputs inputs:
l The check button Write Module and Phase adds the Module and the Phase to the
corresponding Real and Imaginary parts in the output file.
l The check button Open Result makes CFView™ to open the resulting surface cgns output
once generated. This is useful in the design stage while the output intends to be opened by
FINE™/Acoustics.
Number of points
The number of points can be controlled in the following directions Axial, Azimuthal, Radial at Z
min and Radial at Z max. Actually, most often, the user may control only the cell size according
to the maximum frequency value. When activating the check button From Cell Size, the user
only controls the cell size and the number of points in different directions that are computed
accordingly the corresponding entries.

By default, option From Cell Size provides a surface with good resolution .

224 CFView™ 16.1 User Guide


When clicking on the Save button, a file chooser is opened with a default file that is beside the
run file but a postfix "_ars" added to the project name. Only cgns extension is allowed.

4.15 OUTPUT GENERATION

To generate output from CFView™, select Print... from the File menu. The following dialog box
then appears.
On the left side, a frame allows the selection of the output file format (see file format description
in Output Format Description). On the right side, the user can choose between a print of the
Active View or of all views present in the graphical area (Graphics Window).
If a title is to be inserted on the top of the picture, the Banner button must be selected and the title
should be typed in the string entry. The date may be inserted in the banner by selecting the Date
in Banner option. The type and size of the title can also be set. If the Size is set to 0 (default), the
font does not have a fixed size but the size is computed during printing as a ratio of the banner
windows height.

FIGURE 4.60
Hardcopy Output Set-Up

225 CFView™ 16.1 User Guide


The Options frame allows the user to select various options which depend on the selected file
format. The options are described in Output Format Description.

Output Format Description

By default, two output formats are proposed:

PNG

PNG is a compressed bitmapped colored format that is recommended in most cases. This format
reduces greatly the created picture file size without any degradation and it is supported by nearly
all the word processors and image handling tools.
In the Options frame, the size of the picture may be specified in percent of the screen display (by
selecting the scaling option) or by setting directly the number of pixels in width and height
(option size).
The first way of specifying the size is more intuitive. The default size is 100%, meaning that the
created picture is of the same size as the screen display.
Please note that the text rendering may suffer some degradation if arbitrary size values are used.
Recommended values are multiple of 100%, in such a way that the text size in pixels remains an
integer.

PostScript

PostScript is a page description format used for hard copy prints and is only available on Linux.
Pixelised (bitmapped) option is supported. This format is widely accepted by printer devices.
The PostScript format may be useful if the created picture is sent directly to a PostScript printer.
Furthermore, in the Options frame, the resolution is specified in dots per inch (dpi). The size and
positioning of the created picture is controlled by a specific dialog box, the Page Layout Editor,
which is opened by pressing the Page Layout button (see PostScript Page Layout Editor)

Other Formats

If the button Others... is selected, a more extensive list of file formats is proposed. These formats
should be used only when format compatibility problems are encountered. The proposed formats
are:
l EPS is the encapsulated PostScript bitmapped format. It is similar to PostScript except that it is
independent of any page size definition. This format is only available on Linux.
l PBM is a black and white bitmap format (all non white pixels become black).
l PGM is a grayscale (256 levels of gray) bitmap format.

226 CFView™ 16.1 User Guide


l PPM is a color (16 million colors) bitmap format.
l TIFF is the standard TIFF RGB full color format (16 million colors)
l JPEG is a compressed colored format.
For the 5 last formats, the size may be specified in the same way as for the PNG file format (see
Output Format Description)

PostScript Page Layout Editor

To control the page layout of the PostScript output, choose the Page Layout button in the Option
frame, the dialog box shown in FIGURE 4.61 appears:
l Use the Paper Size controller to set the page size used for the output.
l Use the orientation controller to select Portrait or Landscape orientation.
l Use the reduction factor control to select the reduction factor to apply to the picture. The
reduction factors are defined as the ratio between the graphical displays on the screen and on
the paper sheet. The button Max. Size computes automatically reduction factors for a maximum
size.
If the page layout is not customized before a PostScript output, a default set of parameters is used:
A4 page size, orientation best fitting the picture aspect ratio and reduction factors equals to their
maximum value).

FIGURE 4.61
Page Layout Editor

227 CFView™ 16.1 User Guide


CHAPTER 5.

TURBOMACHINERY SPECIFIC FEATURES

This chapter provides a detailed description of the functionalities specific to turbomachinery


applications. It is divided in 5 sections:
l visualization in blade to blade coordinates,
l computing a meridional view by azimuthal averaging,
l the TurboMachinery mode.
l the NLH post-processing.
l the TurboWizard module.

In this section
5.1 Visualization in Blade to Blade Coordinates 229
5.2 Compute Meridional View by Azimuthal Averaging 233
5.3 TurboMachinery Mode 239
5.4 NLH Post-processing 243
5.5 TurboWizard Module 258

228 CFView™ 16.1 User Guide


5.1 VISUALIZATION IN BLADE TO BLADE
COORDINATES

The blade to blade functionality described here allows to visualize a computation solution in the
blade to blade coordinates system as well as to define usual constant span and constant stream
position cuts. It is covering a wide range of project types (not limited to AutoGrid5™ topologies)
such as multi-stage turbomachinery simulations. This functionality relies on the declaration of the
hub and shroud curves and allows to create cutting planes at constant span or stream position in
any view.

5.1.1 Hub & Shroud Definition

In order to enable the computation of span and stream positions, the hub and shroud curves must
be known by CFView™.
Starting from v8.4 of AutoGrid5™, the hub and shroud curves are saved in the CGNS file
created by AutoGrid5™ and starting from v8.6, they are also copied in the CGNS file of
FINE™/Turbo flow solver. By default when loading a FINE™/Turbo solution within
CFView™, the hub and shroud curves definition will be read first in the CGNS file of the solver,
then in the CGNS file of AutoGrid5™.
In case these two steps are not successful, it is strongly advised to open and save the mesh file in a
recent version of AutoGrid5™ or to define the hub and shroud curves in a ASCII dat file.

In case you want to compute the span and stream positions for only one row, please use the Partial
Loader (see Partial Loader).

If necessary, the hub and shroud curves definition may be modified. The menu Geometry/Load
hub and shroud curves... offers the possibility to load the hub and shroud curves definition to
allow the computation of STM views (Window/Open Blade to Blade or File/Turbomachinery)
and blade-to-blade cuts (Quick Access Pad/Surfaces/Blade to blade) in a structured or an
unstructured project.
The file used to define the hub and shroud curves can be either:
l a CGNS file generated by AutoGrid5™ (starting v8.4.),
l an ASCII dat file format with the format provided in FIGURE 5.1.

229 CFView™ 16.1 User Guide


FIGURE 5.1
Define hub and shroud curves in ASCII dat file

When loading the hub and shroud definition from a CGNS file, if the geomTurbo file is not available,
no conversion factor is provided for the cases where flow solver and AutoGrid5™ do not use the
same geometry units. In this case, the script command SetAG5Conversion(float) has to be executed
to introduce a conversion factor.

When the project is including a non- axisymmetric hub or shroud, CFView™ can cope with few
points below the hub and above the shroud but if there are too many, it will consider the block as part
of a meridional effect. The workaround consists in importing an axisymmetric curve such as all the
points are included between the hub and the shroud curves.

230 CFView™ 16.1 User Guide


5.1.2 Open Blade to Blade View

A blade to blade view is a normal view where all the representations are drawn in the coordinate
space formed by the span position (S), the azimuthal position (T for Theta) and the stream
position (M). By default, the geometry is represented with the M coordinate axis horizontal and
the T coordinate axis vertical.
The Preferences/Turbo Settings... menu offers the possibility to control the B2B view creation
before loading the solution file within CFView™. By default, in the B2B view the M (curvilinear
stream coordinate) is defined as in AutoGrid5™ (more details in TurboMachinery Mode).
To open such a view, select Open Blade to Blade from the Window menu. CFView™ prompts
for an interactive definition of the view size and position. Once the position and size are provided,
CFView™ computes if necessary the blade to blade coordinates for the geometry to represent.
A blade to blade view is a standard three-dimensional view in which all the representations of
scalar fields described in Flow Quantities Visualization are available. For vector quantities, only
the vector arrow representations are available, the vector line representation is not supported.
In blade to blade views, cutting planes at specific span height may be obtained from the Create
Cutting Plane dialog box or from the Blade to blade Surface dialog box described in
Visualization of Blade to Blade Surfaces.

The AutoGrid5™ zr effects are not allowed in the STM view.

5.1.3 Visualization of Blade to Blade Surfaces

Surfaces at constant span or stream position can be defined in any 3D view. It is not necessary to
open a blade to blade view, blade to blade surfaces can be created and visualized directly in a
Cartesian or a cylindrical view based on the settings imposed in the Preferences/Turbo
Settings... menu before loading the solution file.
The creation of the blade to blade surfaces is performed using the Blade to blade surface dialog
box (Geometry / Blade to Blade Surface... or the item in Quick Access
Pad).
The keyboard shortcut for Geometry/Blade to Blade Surface ... is <Ctrl>+<b>.

231 CFView™ 16.1 User Guide


FIGURE 5.2
Blade to Blade Surface creation

On the left side, the constant span or constant stream position is selected (e.g. S = 0.5 at mid-
span). By default, the span is defined as in AutoGrid5™ and the stream is defined as the hub
equals the shroud (more details in TurboMachinery Mode). The middle frame allows to sweep in
the geometry with a user defined increment. On the right side, the kind of representation can be
selected:
l Quantity: representation of the active quantity color contour or vector field. This option is
only available if a quantity is selected at the time the dialog box is opened.
l Geometry: representation of the cut surfaces grid.
l Polygon: representation of the cut as a flat polygon. This representation is very fast but is
limited to the views in STM coordinates.
The layout of the push buttons is similar to the one of the cutting plane creation dialog box:
l Press the Apply button in order to get a graphical representation of the surface corresponding to
the selected span or stream position.
l Press the Save button to save the surface which corresponds to the selected span or stream
position. The surface becomes part of the surfaces that can be selected later with the surface
selection functionality (Select Surfaces).
l Press the Reset button in order to reset the parameters to their default value (a blade to blade
surface at mid-span).
l Press the Close button in order to discard the dialog box.
FIGURE 5.3 illustrates the use of the blade to blade feature. Cutting planes at a specified distance
between the hub and the shroud can be visualized in several coordinate spaces.

232 CFView™ 16.1 User Guide


FIGURE 5.3
Blade to Blade view of a Radial Compressor

On the left side of FIGURE 5.3 the mid-span cut is shown in red in the original XYZ coordinate
space. On the lower right side, the static pressure distribution on the same surface is shown in the
STM coordinate space. On the upper right, a zoom to the blade leading edge is shown.

5.2 COMPUTE MERIDIONAL VIEW BY


AZIMUTHAL AVERAGING

In projects showing symmetry around the Z axis, the azimuthal (or pitch) average of scalar and
vector quantities are calculated by weighted integration in theta direction, along R-Z constant
lines.

For unstructured project, a periodicity must be defined even if the row has been meshed over 360
degrees (periodicity of 1 in rotation) and the turbomachinery output must be select. If both conditions
are not met, the menu won't be available.

The integration paths originate at the nodes of a bi-dimensional mesh: the meridional mesh. This
meridional mesh is a set of subsurfaces selected in the volumetric mesh: the meridional patches. In
order to have a complete meridional view, the cumulated areas of the Z-R projections of these
patches must cover up the area of the Z-R projection of the volumetric mesh.

233 CFView™ 16.1 User Guide


A set of default patches for the meridional mesh is available in CFView™. However, it is still
possible to define a different set of surfaces.
For blade passages meshed with a H topology, the patches are usually taken halfway between the
theta limits of the domain. For blade passages meshed with an O, O4H or similar topology, the
patches are usually taken as one of the periodic boundaries.
The weighted integration is performed in all the domains, in order to get an average over all the
meshed blade passages. The choice is given between two weighting modes:
l RhoV mode (mass flow averaging): the weight coefficient takes the value Density*Vm where
the meridional velocity component is:

l None mode: area averaging takes place


By default, the RhoV mode is selected.

5.2.1 Meridional Average Input Definition

The meridional average input may be defined interactively in a specific dialog box accessed
through Geometry/Set Meridional Average Input... menu. This is necessary only if the defaults
patches are not satisfying, or when working with project computed with a FINE™/Turbo version
lower than 6. A list of quantities has been added to the dialog box for averaging. By default, all
quantities that are not harmonic are selected.

For unstructured project, a periodicity must be defined even if the row has been meshed over 360
degrees (periodicity of 1 in rotation) and the turbomachinery output must be select. If both conditions
are not met, the menu won't be available.

A. Structured Project

Depending on the number of blocks, the dialog box is different. If the mesh contains more than
one domain, it may happen that more than one surface has to be selected, each of them in their
distinct domains.

234 CFView™ 16.1 User Guide


FIGURE 5.4
Meridional average input definition dialog box of structured project for multiple domains

To add a patch to the meridional mesh:


l Select the domain from which it is extracted by clicking on the domain number in the
Domains list.
l Select the patch family by activating the I,JorK option and by setting the index value in the
Value entry. The surface is represented in blue in the currently active view.
l If necessary, select a subrange in the two surface indexing directions using the four entries in
the lower left corner of the Select frame. The representation in the active view is updated
accordingly.
l Press the add button to insert the surface in the Surfaces list.
To remove a patch from the Surfaces list or to verify the selected patches:
l Select a patch in the Surfaces list.
l Press the right mouse button, a popup menu appears:
l Select Show WireFrame in order to visualize the selected surface in the active view.
l Select Remove to remove the surface from the Surfaces list.

235 CFView™ 16.1 User Guide


To select the weighting mode:
l select None for no weighting coefficient or
l select RhoV for a weighting coefficient having the value Density*Meridional Velocity
Component.
If the mesh contains only one domain, the layout of the dialog box is simplified as in FIGURE
5.5:

FIGURE 5.5
Meridional average input definition for single domain

The dialog box contains only the selection frame and the buttons to choose the weighting factors.
Once the meridional patches are selected,
l Press the Ok button to validate the choice and quit the dialog box,
l Press the Reset button to come back to the initial choice or
l Press the Close button to discard the dialog without applying the meridional patches selection.

If the RhoV mode of weighting is selected, first ensure that a vector field Vxyz or Wxyz is present.
If the scalar field Densityis not present, its value is assumed to be uniformly 1.

If the Density field is not present, such a field can be generated by making use of the derived
quantities functionality.

236 CFView™ 16.1 User Guide


B. Unstructured Project

For unstructured cases, the user is allowed to choose the meridional surfaces from the dialog box
shown in FIGURE 5.6. The surface is highlighted once it is selected in the Surfaces list. By
clicking on the arrow button, the selected surfaces can be added into the Meridional Surfaces
list. CFView™ will compute the meridional view by using the meridional surfaces given by the
user.

FIGURE 5.6
Meridional average input definition dialog box of unstructured project for multiple domains

In case of an axisymmetric configuration, it is recommended to use the periodic surfaces when


available to save time and also because the meridional mesh generated automatically by CFView™
will almost always be worse than the mesh of the periodic surfaces (especially if they come from an
AutoGrid5™ mesh converted in HEXPRESS™).

237 CFView™ 16.1 User Guide


If there is no surface chosen in the list, the meridional surface will be created by CFView™. This
process involves two steps:
l The envelope of the project in the meridional view is computed.
l Then the meridional mesh can be obtained by projecting the 3D mesh points in the meridional
view and then performing Delaunay triangulation for cases meshed at 360 degrees. For cases
that are not meshed at 360 degrees and are axisymmetric, it is possible to obtain a better mesh
by projecting the points of the periodic surfaces in the meridional plane.

In the creation of the meridional surface, the holes may not be detected if their boundaries are not
axisymmetric.

The mesh produced by the Delaunay triangulation may sometimes contain big cells. When the
geometry is not axisymmetric and if the test case is huge, the meridional mesh can have too many
points at some places.

The computation may be time consuming for huge cases if no meridional surface is provided by the
user.

5.2.2 Compute & Open Meridional View

The computation of the azimuthal averaging is started by selecting Compute & Open Pitch
Average from the Window menu.
A message "Computing pitch average" is displayed and a progress meter shows the computation
progression.
Once the computation is completed, a bi-dimensional project whose geometrical support is the R-
Z projection of the meridional mesh is opened. It contains the fields which are the pitch average
values of the fields selected in the Define Meridional Average Input dialog box (by default all the
fields of the tri-dimensional project).
This project can be handled as any project: several views of the same data can be opened. It is
also possible to open different meridional average computations which are based on a different
meridional patches set or on a different weighting factor.

238 CFView™ 16.1 User Guide


5.3 TURBOMACHINERY MODE

The turbomachinery mode is a unifying mode for turbomachinery analysis. It combines the
display of a meridional view with the display of blade to blade surfaces and of blade surfaces in
order to facilitate the creation of standard views used in turbomachinery analysis.

TurboMachinery Settings

The menu Preferences/Turbo Settings... offers the possibility to control the STM and B2B
views creation before loading the solution file within CFView™.
By default two approaches are used:
l In the TM view, an "AutoGrid5 Definition" approach is used to create a B2B view equals to
the B2B view in AutoGrid5™: dM = ds/R where "ds" is the distance between two
consecutive flow path points and "R" the radius. When the hub contains points at R=0 (bulb
configuration), the definition is replaced by dM=ds/(R+R Shift) which leads to B2B surfaces
slightly different from AutoGrid5™ B2B view since this part of the geometry (bulb) is not
available in AutoGrid5™ B2B view.
l In the SM view, an "Hub Equal Shroud" approach is used to allow constant m cuts:
dm=ds*mFactor where "dm" is normalized to ensure the same m at outlet for each flow path.
In addition "mFactor" is applied to enlarge the view in the m direction and is currently
imposed as the maximum R on the hub.

When using macros, the command DefaultTurboMDefinition controls the approaches used in TM
and SM views. It is advised to execute the command before loading a .run file into CFView™. In
addition backward compatibility is ensured when using macros.

Two additional parameters are also available in the dialog box:


l R Shift is used for the definition of M (dM=ds/(R+RShift)) only in "AutoGrid5 Definition"
approach. R shift has to be adapted:
l when the configuration is presenting a bulb area (R=0) and depending of the length of the
bulb area,
l when the configuration is presenting AutoGrid5™ flow paths highly different from span
constant paths (especially for configuration presenting high discontinuity on hub or shroud).
l N Span Interval is used for the spanwise discretization in "AutoGrid5 Definition" and "Hub
Equal Shroud" approaches. It is the number of spanwise constant flow paths computed by
CFView™ between hub and shroud minus 1. For configuration where hub and shroud are

239 CFView™ 16.1 User Guide


straight, this number can be reduced to 1, but in configuration with high discontinuity on hub
or shroud, this number must be increased.

Start TurboMachinery Mode

The turbomachinery mode can be activated in various ways:


l select TurboMachinery in the File menu, before or after opening a project,
l start CFView™ with the command line argument -turbomode or
l define an environment variable TURBOMACHINERY with a value ON.
When a project is opened and the mode is active, or when the mode is activated on an already
opened project, a dialog box is raised.

FIGURE 5.7
Start TurboMachinery Mode

l Hub & Shroud section: Select the Load hub and shroud button to open a file browser that
allows to load a CGNS or an ASCII dat file to define hub and shroud curves (see Hub &
Shroud Definition). This allows to modify if necessary the definition of the hub and of the
shroud that will be used to create blade to blade representations in the turbomachinery mode.
l Meridional Average section:
l Load Flow Solver Pitch Averageto open automatically the FINE™/Turbo output file.
l Compute Pitch Averageto compute a new meridional average output from FINE™/Turbo
3D outputs by defining the meridional patches thanks to the Edit CFView Meridional
Patches button that open the DefineMeridional Patches dialog box. This allows to check
and, if necessary, to modify the meridional mesh used to compute and represent the pitch
averaged data.
l Select the Ok button to proceed or
l select the Cancel button to open the project in the standard mode.

240 CFView™ 16.1 User Guide


TurboMachinery Mode Description

When this mode is enabled, a set of four standard views is displayed automatically as shown in
FIGURE 5.8. These are:
l a meridional view obtained by pitchwise averaging. If Load Flow Solver Pitch Average is
activated, the view is the results already computed by the flow solver. If Compute Pitch
Averageis activated, the solution is computed using the meridional patches list. In this view,
only the averaged domains are active by default. The blade surfaces are also inserted (their
boundaries are visible), but they are not active by default.
l a 3D view in Cartesian coordinates,
l a blade to blade view showing the blade passages at mid- span (using the "AutoGrid5
Definition" approach) and
l a meridional view in turbomachinery coordinates (using the "Hub Equal Shroud" approach)
showing the blade surfaces. In this view, the blade surfaces are selected by default. The hub
and shroud surfaces are also inserted (their boundaries are visible), but they are not active by
default.
In the surfaces list, specific groups for the hub, shroud and blades are defined. These groups are
facilitating the identification and selection of these surfaces.

FIGURE 5.8
Four standard views in TurboMachinery Mode

241 CFView™ 16.1 User Guide


For an unstructured mesh that has a repetition type "rotation" and a periodicity equals to 1, by default
CFView™ will cut its mesh automatically along the half-plane theta = 0, so that the STM or RTZ
views can be generated (after loading the hub and shroud curves). The value of theta (in radian) can
be changed by the macro command SetTheta0(float) which must be executed before loading the
project. The cut is made along the cells' border and therefore the boundary can be irregular, see
FIGURE 5.9.

FIGURE 5.9
STM (blade-to-blade) view of Francis Turbine with SetTheta0(10)

When a scalar quantity is selected, two additional buttons are available in the
Representations/Plot & Values subpanel:

l The Blade Section button creates the plot at constant span height (i.e. the blade loading plots):
l select this button to start creating such plots. The meridional view in turbomachinery
coordinates (S-M view) is automatically selected.
l select the scalar quantity if not yet selected in the view (i.e. Static Pressure).
l click at the desired span height or provide its value in the string keyboard entry.
l the curve is inserted in a Cartesian plot as a function of the streamwise position.

242 CFView™ 16.1 User Guide


l The Span distribution button creates the plot showing the span profile:
l select this button to start creating such plots. The pitchwise average view is automatically
selected.
l select the scalar quantity if not yet selected in the view.
l press, drag and release with the left mouse button to specify the profile location or provide
the values in the string keyboard entry.
l the curve is inserted in a Cartesian plot as a function of the normalized arc length.

Quit TurboMachinery Mode

To quit the turbomachinery mode, select TurboMachinery in the File menu. All the
turbomachinery specific views are deleted.

Once the turbomachinery mode has been started on a project, it is not possible to modify the hub and
shroud definition. In order to modify this definition, it is necessary to reopen the project.

5.4 NLH POST-PROCESSING

CFView™ provides the user the ability to postprocess harmonic simulations: either reconstruct
the whole flow field in time/space or reconstruct the flow at a local point and perform a spectral
analysis.

5.4.1 Reconstruction of Flow in Time/Space

The harmonic solution can be reconstructed in time or in space by CFView™/Harmo2Time. This


feature can be accessed by selecting Open Project Selection… from the File menu or from the
Open Project Selection ( ) button in the CFView™ toolbar.
The keyboard shortcut for Open Project Selection… is <p>.
The data file can be selected from the pop-up file chooser window. Selection of the data file leads
to the Partial Loader dialog box. Depending on the type of the harmonic project, the dialog box
is different.
Harmo2Time can also be launched in batch mode by using the following commands with
arguments:

243 CFView™ 16.1 User Guide


l -h2t_gui
on LINUX:
cfview<version> -h2t_gui project-path/project-name.run -print
on Windows:
Installation path\bin64\cfviewx86_ 64.exe - h2t_ gui project- path\project- name.run - print
(64bits OS)
l This argument opens the Partial Loader dialog box for the user to set and save the options
of the reconstruction. This argument must be followed by the name of the run file of the
harmonic computation. E.g. cfview -h2t_gui /full_path/harmo_computation.run. When this
command is executed, the Partial Loader dialog box appears and it is possible to select the
blocks, multigrid level, etc. This is the same as if the project is loaded from the File/Open
Project Selection menu. Upon clicking the Save button, a dialog box asking for the name
of the unsteady run file appears. When a valid name is entered, a file with extension .h2t
with the same harmonic run file name is saved. E.g. /full_path/harmo_computation.h2t. The
.h2t file will also be saved when the Launch button is clicked.
l -h2t
on LINUX:
cfview<version> -h2t project-path/project-name.h2t -print
on Windows:
Installation path\bin64\cfviewx86_64.exe -h2t project-path\project-name.h2t -print (64bits
OS)
l This argument must be followed by the name of a .h2t file. The reconstruction is performed
with the parameters given in the .h2t file. The .h2t file can be edited by hand and it can
contain comments (after the # symbol).
During the reconstruction, some additional files will be created by CFView™/Harmo2Time:
l .mf Files
When the IUNSMF expert parameter is set to 1 in the FINE™/Turbo GUI before the
computation, Harmo2Time will create the .mf files exactly like those created by
FINE™/Turbo solver when ADECMP expert parameter is set to 0. There will be one .mf file
for each time step and they are named computation_name_unst_ti.mf for a reconstruction in
time or computation_name_clock_posi.mf for a reconstruction in space.

The .mf files are not created if some blocks have been unselected by the user.

244 CFView™ 16.1 User Guide


For rank-2 projects, the .mf files are only created if the solution is reconstructed in time.

There are other limitations as in FINE™/Turbo solver. They are described in the FINE™/Turbo
manual section 8-4.3.2.

l Plot3d Files
When the plot3d output is activated in the Output/Computed Variables page of the
FINE™/Turbo GUI, Harmo2Time will create the plot3d files during the reconstruction. The
files can be saved either in ASCII or binary format.
There is one .g file (geometry) and one .q file (quantities) for each time step. The format of
these files is the same as the one from FINE™/Turbo solver. The quantities saved in the plot3d
files are the density, energy and momentum. The plot3d files created by CFView™ must be
opened with the "unformatted" option, as for the files created by the solver.
For unstructured projects, the solution is saved in .cfview files for each time step or clocking
position whereas for structured projects .cgns format is used. It should be noted that the
reconstruction of the flow for unstructured projects can only be performed on the whole domain.
It is not possible to select individual blocks or the grid level. Besides, it is not possible to
reconstruct the solution at the control points. The creation of .mf and plot3d files is also not
available for unstructured projects.

For unstructured projects, the reconstruction of the flow in time by CFView™ is only compatible
with HEXPRESS™/Hybrid mesh saved in .hex format and not compatible when saved in .sph format.

Note that for FINE™/Open project, the reconstruction in time and space is possible only with the
native FINE™/Open output format (*.cfview).

A. Reconstruction in Time

When a basic harmonic computation or a clocking/ multi-rank harmonic computation with fixed
clocking is selected, the Partial Loader dialog box appears as shown below.

245 CFView™ 16.1 User Guide


FIGURE 5.10
Partial Loader dialog box for a basic harmonic project

The button Reconstruct the flow in time gives the user the ability to reconstruct the harmonic
solution in time on the selected blocks and grid level. After selecting the concerned blocks and the
grid level and activating Reconstruct the flow in time, the parameters will be available for the
unsteady solution reconstruction.
l First the user should select the harmonics that will be used for reconstruction. Upon clicking
on the Harmonics Selection button, the Harmonics Selection dialog box with the list of all
harmonics by group appears. See below. By default, all the harmonics are selected.

246 CFView™ 16.1 User Guide


FIGURE 5.11
Harmonics Selection for reconstruction of a basic harmonic project

When performing the time reconstruction of a harmonic computation, all the harmonics available in
FINE™ GUI are not available in the list of harmonics in CFView™. Indeed, the clocking harmonics
are automatically added to the time harmonics with the same frequency so only the time harmonics
are available.

l In the Time reconstruction settings frame, the Total number of time steps should be
defined. For the time length, the use may define the Full time length as a multiple of the
period that corresponds to the minimum frequency of all the harmonics, or as a physical time
length in [s]. When one of the two values is modified, the other one is automatically adapted.
After defining the Total number of time steps and Full time length, the time step will be
shown in the frame. By default, all the time steps will be reconstructed in time. The user may
also reconstruct part of the time steps by selecting the option Reconstruct only time steps and
specifying the range of the time steps.
l In the frame Space reconstruction settings:
l The Number of repeated blade channels is used to specify the number of repeated blade
channels in the reconstructed solution. For example, if the Number of repeated blade
channels is 1, two channels will be represented in the reconstructed solution. The option
Max can be activated to set the Number of repeated blade channels to its maximum
value (Maximum Periodicity - 1).

247 CFView™ 16.1 User Guide


l The Displacement of the channels is used to specify a rotation of the blade channel as a
multiple of the pitch of the blade channel. The Displacement of the channels must be an
integer number.
Note, the specified settings in the frame Space reconstruction settings are applied to the
selected groups. The groups correspond to the rows of the turbomachine and may not be
numbered in the natural order. When the user clicks on a group in the list, the name of the
group will be selected. And the related blocks of the group will also be highlighted in the
block list in the left upper frame. Keeping <Ctrl> pressed allows to select multiple groups at
the same time.
l The radio button Represent perturbation only outputs the perturbation of the quantities only
and not the unsteady flow (time averaged value + the perturbation).
l The radio button Represent next blade channel after a rotation of one pitch displays the
following rotating blade channel in the reconstruction after displacement over more than one
pitch instead of the same blade channel(s) represented on the whole period of reconstruction.
l The Control Points is used to define control points where the flow will be reconstructed
locally. Upon clicking on the Control Points button, the Control Points Input dialog box as
shown below appears. A file named computation_name_unst_info_ctrlpts.dat containing the
number and the coordinates of each control points is saved by CFView™ after the
reconstruction.

FIGURE 5.12
Control Points Input dialog box

For each control point defined, there is a file saved by CFView™ named computation_name_
unst_P#.dat where # is the index of the control points. This file contains the values of the
quantities for each time step or clocking position. The quantities include:

248 CFView™ 16.1 User Guide


l time,
l density,
l relative velocity,
l static pressure,
l static temperature,
l eddy viscosity (for turbulence models only),
l wall distance (for turbulence models only),
l turbulent kinetic energy k (for SST turbulence model if it is present in the CGNS file),
l dissipation rate ω (for SST turbulence model if it is present in the CGNS file).
The values of I, J and K of the control points are limited to NI, NJ and NK of the selected grid
level.

If a block is unselected in the Partial Loader dialog box, the control points in that block are
discarded.

The maximum number of control points is 200.

The reconstruction at control points is not possible for unstructured projects.

When clicking on Apply, a file chooser allows the user to specify the name of the output files (by
default set with the extension "*_unst.run"). When clicking on Save (on Windows) or Ok (on
Linux), the unsteady solution files (by default "*_ unst.run" and "*_ unst_ t#.cgns" or "unst_
t#.cfview" respectively if FINE™/Turbo or FINE™/Open with OpenLabs™ solution) will be
created.

B. Reconstruction in Space

When a clocking/multi-rank harmonic computation with variable clocking is selected, the Partial
Loader dialog box appears as shown below

249 CFView™ 16.1 User Guide


FIGURE 5.13
Partial Loader dialog box for a clocking harmonic project with variable clocking

Selecting the Reconstruct the flow button, the user can choose reconstructing the harmonic
solution in time or in space (clocking) on the selected blocks and grid level. Reconstructing the
flow in space (clocking) will reconstruct time-mean flow for different clocking positions of the
selected row that is indicated by the option Variable clocking , as explained below. After
selecting the concerned blocks and the grid level and activating Reconstruct the flow in space,
new inputs/parameters are available for reconstruction in space (in addition to the reconstruction
in time):
l Harmonic selection:
l When the computation is a clocking harmonic computation, the user can select the
harmonics that will be used to reconstruct the time- mean flow at different clocking
positions.
l When the computation is a multi-rank harmonic computation, the user can select if the
Time mean flow and/or the Time harmonics will be reconstructed. By default, the Time
mean flow is selected. The time mean flow will be reconstructed at each clocking position.
If selecting Time harmonics, the selected time harmonics will be outputted to file together
with the time mean flow, so that the user can check the time harmonics at each clocking
position. For the time harmonics, the user can select All or User defined. When User
defined is selected, the Settings button is enabled. Upon clicking the button, a pop-up
window appears allowing the selection of the time harmonics for each row.

250 CFView™ 16.1 User Guide


l The Number of clocking positions is used to define the clocking positions where the time
mean flow will be reconstructed.
l In the frame Space reconstruction settings:
l The Displacement of the channels is used to specify a rotation of the blade channel as a
multiple of the pitch of the blade channel. The Displacement of the channels can be a real
number.
l The Variable clocking can be activated for one group only or one inlet distortion.
l One more input is available only if an inlet distortion is applied in the project. It allows to
impose the pitch Tangential displacement of the inlet distortion and to activate the option
Variable clocking.
l The radio button Represent perturbation only outputs the perturbation of the quantities only
and not the space averaged value with the perturbation.
When clicking on Apply, a file chooser allows the user to specify the name of the output files (by
default set with the extension "*_clockrowi.run"). When clicking on Save (on Windows) or Ok
(on LINUX), the time-mean flow will be reconstructed for each clocking position of the group or
inlet distortion (with option Variable clocking active) and solution files ("*_clockrowi.run" and
"*_clockrowi_posi.cgns") will be created.

5.4.2 Local Reconstruction and Spectral Analysis

The reconstruction of harmonic computations is quite time consuming and requires a large disk
space to save the unsteady solution. CFView™ provides several functions, allowing the user to
get the local time evolution or the local spectrum of the selected quantity without the need of
reconstructing the whole computation in time.

251 CFView™ 16.1 User Guide


All the functions are available under the menu Representation / NLH. After opening a harmonic
project and select a quantity in the QAP Quantities, the menu Representation / NLH becomes
accessible.

When performing a local reconstruction, the harmonics data must be in the cgns file.

The spectral analysis is not possible for unstructured projects.

A. Harmonics Selection

The menu Representation / NLH / Harmonics selection allows the user to select the harmonics
that will be used for all the NLH post-processing under the menu Representation / NLH /.

FIGURE 5.14
Harmonics selection for local reconstruction

By default, all the harmonics are active. The user can select a group and deselect some of the
harmonics by clicking in the check-box in the list of the harmonics.

252 CFView™ 16.1 User Guide


B. Local Time Evolution

The menu Representation / NLH / Local Time Evolution allows the user to make a Cartesian
plot of the time evolution of the selected quantity at a point.
When the menu Local Time Evolution is selected, a dialog box appears:

FIGURE 5.15
Local time evolution

The user can enter the coordinates of a point and choose whether this point is fixed in space or
attached to the mesh. The point is interactively shown in the 3D view. The user can translate the
point in the x, y or z direction by pressing the X, Y or Z button and moving the mouse to the left or
to the right. The point may not be in the computation domain, it can be in one of the repetition.
Then the Number of time steps and Time interval should be specified. When the user clicks on
the button Apply, the time reconstruction is performed only at the selected point and over the
given number of time steps and time interval. By default, the number of time steps is 10 and the
time interval is the maximal period of all harmonics (corresponding to the lowest frequency). The
Cartesian plot then appears.

253 CFView™ 16.1 User Guide


Currently, the reconstruction is only made in time and thus the clocking harmonics are not taken into
account. So, for a clocking simulation, the reconstructed solution by Local time evolution will be
different from the reconstructed solution by the Partial Loader.

The local time evolution is not available for derived quantities.

C. Local Spectrum

The menu Representation / NLH / Local Spectrum allows the user to get the spectrum of the
selected quantity at a point.
When the menu Local Spectrum is selected, a dialog box appears:

FIGURE 5.16
Local spectrum

254 CFView™ 16.1 User Guide


The user can enter the coordinates of a point and choose whether this point is fixed in space or
attached to the mesh. The point is interactively shown in the 3D view. The user can translate the
point in the x, y or z direction by pressing the X, Y or Z button and moving the mouse to the left or
to the right. The point may not be in the computation domain, it can be in one of the repetition.
When the user clicks on the button Apply, the amplitude spectrum of the active quantity appears.
When the point is attached to the mesh, the frequencies are just plotted. When the point is
detached from the mesh, a spectral analysis is performed. So, the circular arc from that point
cannot cross a solid surface. The value of Kmax used in the spectral analysis can be set by the
macro SetKMaxNLH().

The real and imaginary components of harmonics have to be selected for output before the
computation in order to plot local spectrum of a point in CFView™.

The Local Spectrum is not compatible with rank-2 harmonic computation.

D. Frame of reference change of the spectral solution

Selecting the menu Representation / NLH / Circular Arc will draw a circular arc between two
periodics, either by interactively clicking in the 3D view or by typing x, y and z values in the
input entry. If drawing a circular arc by interactively clicking in the 3D view, the periodic surfaces
must be selected. The circular arc contains all intersections of the circle with the intersected cell
surfaces and is colored by the active quantity. Note the circular arc cannot cross solid surfaces.
The change of reference frame is based on Fourier series whose number of terms is controlled by
the K parameter (see below). The circular arc is the trajectory of the observer in the frame of
reference of the computation.

255 CFView™ 16.1 User Guide


FIGURE 5.17
Right-click menu on the circular arc

When clicking-right on the circular arc, a pop up shown in FIGURE 5.17 appears:
l The Delete menu allows to delete the circular arc.
l The Update Quantity menu allows to update the quantity once the active quantity has
changed.
l The Cartesian Plot menu allows to get a Cartesian Plot of the selected quantity.
l The Spectral Analysis menu is available only if one single arc is selected and its real and
imaginary components of harmonics are available as well as the corresponding averaged
stationary field. The menu opens a dialog box that allows to specify the following parameters:
l Theta: defines the location of the observer on the circular arc.
l K: defines the number of terms in Fourier series.
l Rotation Speed: defines the rotation speed of the observer. The unit is RPM.

256 CFView™ 16.1 User Guide


When clicking on the button Ok, the spectrum, which is observed in the reference frame defined
by the Rotation Speed, will be plotted. In the spectrum graph, the ordinate has been set under
logarithm form:
l If the active quantity U is the pressure, the decibel (dB) scale is used:

where:

l If the active quantity U is a velocity, the decibel (dB) scale is

where

257 CFView™ 16.1 User Guide


l If the active quantity U is the density, the decibel (dB) scale is

where

and c=340 [m/s].


l In other cases, where no reference threshold is known, the value is given by:

and therefore leads to negative values as soon as |U|<1.


The reference values pref, νref and ρref can be modified in the menu Preferences / NLH Settings.
By default, a RMS normalization is done (the reference values are multiplied by √2). In the
preferences, the user can also choose to use a linear scale rather than a logarithmic scale. The
default value of Kmax can also be modified in the preferences.

5.5 TURBOWIZARD MODULE

The TurboWizard module enables an automatic post- processing of FINE™/Turbo or


FINE™/Open turbomachinery solution through the use of two tools:
l the averaging of variables on meridional (RTHZ) stations;
l the sampling of variables on blades at specific span heights.
The module TurboWizard can be reached in the Macros tab when loading a FINE™/Turbo or
FINE™/Open turbomachinery solution.

FIGURE 5.18
TurboWizard plugin

258 CFView™ 16.1 User Guide


The user can still open his own module on top of the pre-loaded TurboWizard module if needed. The
module will appear in the list as well.

The TurboWizard module is available for steady, harmonic and for a time step of an unsteady
solution.

The TurboWizard module is not available in batch mode.

The TurboWizard module does not allow:


l comparison of averages on stations leading to performance coefficients.
l comparison between turbomachinery solutions.

The TurboWizard module is a 4 steps wizard described subsequently further:


l step 1: the configuration file definition;
l step 2: the inputs definition for the post-processing tool dedicated to meridional (RTHZ)
station averages;
l step 3: the inputs definition for the post-processing tool dedicated to the blade profiles;
l step 4: the display of the post-processing output pictures.

259 CFView™ 16.1 User Guide


"TurboWizard Module" (p. 258)

5.5.1 TurboWizard Step 1 : Configuration File

The first step of the TurboWizard module is the configuration file ".in" definition: an existing file
can be loaded or a new one can be created. When creating a new configuration file (i.e.
"turbo.in"), a folder "TurboWizard_turbo" is created including the configuration file and two
empty subfolders "datafiles" and "picturefiles" that will contain the output data and PNG picture
files of the post-processing tool(s).

FIGURE 5.19
TurboWizard step 1

The configuration file ".in" is a template file containing all the inputs of the TurboWizard module:
l the absolute path of the CFView Turbomachinery solution (".run" file);
l the type of the project ("structured" or "unstructured");
l the stations used for averaging with specified averaging type;
l the variables to average on meridional (RTHZ) stations with specified weighting factor;
l the absolute path of the hub & shroud definition file (only for "unstructured" project);
l the span heights;
l the name of the blades;
l the variables to sample on blades.
All modifications applied in the TurboWizard module are automatically recorded in the
configuration file.

260 CFView™ 16.1 User Guide


The Cancel button stops the TurboWizard module without saving.
The Next button allows to go to the second step of the TurboWizard module. The button is not
active when no configuration file is selected.

The documentation is also available when moving the mouse on the info icon ( ) on the top right
of the dialog box.

"TurboWizard Step 2 : Meridional Station Averages Post-Processing Tool " (p. 261)
"TurboWizard Step 1 : Configuration File" (p. 260)

5.5.2 TurboWizard Step 2 : Meridional Station Averages


Post-Processing Tool

The second step of the TurboWizard module is used to define the inputs for the post-processing
tool dedicated to meridional (RTHZ) station averages:
l the meridional stations to use for averaging;
l the quantities to average on meridional (RTHZ) stations with specified weighting factor.

FIGURE 5.20
TurboWizard step 2

The Stations entry ( ) allows to select available stations. Only meridional stations (RTHZ)
should be selected. For each station two types of averaging can be selected:

261 CFView™ 16.1 User Guide


l for a surfacic average on the whole station: output one value per station;

l for a profile of azimuthal averages along the spanwise direction of the station: output a
profile from hub to shroud per station.

FIGURE 5.21
TurboWizard step 2: stations selection

The Quantities entry ( ) allows to select available quantities to be averaged on the meridional
stations.

All scalar quantities from the Quantities subpanel in the Quick Access Pad are available except the
Wall Distance , Y+, Cf, Residuals and Harmonics quantities.
Moreover, if not available in the Quantities subpanel in the Quick Access Pad , the following
derivable quantities are also available: Vr , Vt, Vz , Wt, Static enthalpy, Entropy, Absolute Total
Pressure/Temperature/Enthalpy , Absolute/Relative/Isentropic Mach Number (only
available for non-incompressible solution).

For each quantity two types of averaging can be selected:


l Area for an area-averaging using no weighting factor;
l Mass for a mass-averaging using a RhoV weighting factor.

262 CFView™ 16.1 User Guide


FIGURE 5.22
TurboWizard step 2: quantities selection

The TurboWizard module is not creating stations or quantities and only checks their availability in the
project before loading the wizard. If no stations are detected, a warning "No stations were found in
the project. Skip this step or create cutting planes prior to launch the TurboWizard" will raise and the
Quantities entry is not accessible. The stations and quantities should be created before launching the
module.

For profiles from hub to shroud of azimuthal averages:

263 CFView™ 16.1 User Guide


l the stations should be restricted to the channel and cut it only once,
l the azimuthal shape of the station is not preserved. The TurboWizard module considers the min
and max values of Z and R, and creates a profile along a straight line.

Span=0% (100%) does not always correspond to the hub (shroud) of the channel but to the minimum
(maximum) extrema in (R,Z).

The mass flow through the selected stations is also computed.

The Cancel button stops the TurboWizard module without saving.


The Back button allows to go back to the first step of the TurboWizard module.
The Skip button allows to skip the post-processing tool dedicated to meridional (RTHZ) station
averages and to go to the third step of the TurboWizard module.
The Next button allows to go to the third step of the TurboWizard module. The button is not
active until both Stations and Variables have been defined.

The documentation is also available when moving the mouse on the info icon ( ) on the top right
of the dialog boxes.

"TurboWizard Step 3 : Blade Profiles Post-Processing Tool" (p. 264)


"TurboWizard Step 2 : Meridional Station Averages Post-Processing Tool " (p. 261)

5.5.3 TurboWizard Step 3 : Blade Profiles Post-Processing


Tool

The third step of the TurboWizard module is used to define the inputs for the post-processing tool
dedicated to the blade profiles:
l the hub and shroud definition (only for "unstructured" project);
l the span heights;
l the blade surfaces;

264 CFView™ 16.1 User Guide


l the quantities to sample on the selected blade at the specified span heights.

FIGURE 5.23
TurboWizard step 3

When "unstructured" project, the Hub & Shroud File Selection entry allows to specify the hub
and shroud definition file in order to compute the STM coordinates (More details on the file
format in "Hub & Shroud Definition" (p. 229)).

The Span heights (%) entry allows to impose the number with the buttons and the location
in % of the span heights where the blade profiles will be computed.

The Blades entry ( ) allows to select available blades (or group of solid patches) on which the
profiles will be computed.

265 CFView™ 16.1 User Guide


FIGURE 5.24
TurboWizard step 3: blades selection

The Quantities entry ( ) allows to select available quantities to be sampled on the blades. The
list of quantity is independent from the quantity list selected for station averaging.

All scalar quantities from the Quantities subpanel in the Quick Access Pad are available except the
Turbulent Viscosity (Mut/Mu) , Cf , Absolute/Relative Mach Number , Total , Residuals and
Harmonics quantities.
Moreover, if not available in the Quantities subpanel in the Quick Access Pad , the following
derivable quantities are also available: Vt , Wt , Static enthalpy , Entropy , Isentropic Mach
Number (only available for non-incompressible solution).

FIGURE 5.25
TurboWizard step 3: quantities selection

The TurboWizard module is not creating quantities and only checks their availability in the project
before loading the wizard. The quantities should be created before launching the module.

266 CFView™ 16.1 User Guide


The Cancel button stops the TurboWizard module without saving.
The Back button allows to go back to the second step of the TurboWizard module.
The Skip button allows to skip the post-processing tool dedicated to the blade profiles, to start the
post-processing tool dedicated to meridional (RTHZ) station averages only and to go to the fourth
step of the TurboWizard module. The module will also generate the output data and PNG picture
files of the meridional station averages post-processing tool in two subfolders at the location of the
configuration file.
The Start button allows to start both post-processing tools or the blade profiles post-processing
tool only (if Skip in the second step of the TurboWizard module), and to go to the fourth step of
the TurboWizard module. The module will also generate the output data and PNG picture files of
the post-processing tool(s) in two subfolders at the location of the configuration file.

The documentation is also available when moving the mouse on the info icon ( ) on the top right
of the dialog boxes.

"TurboWizard Step 4 : Display Post-Processing Output Pictures" (p. 267)


"TurboWizard Step 3 : Blade Profiles Post-Processing Tool" (p. 264)

5.5.4 TurboWizard Step 4 : Display Post-Processing Output


Pictures

The fourth step of the TurboWizard module is used to display the output pictures by selecting the
options in the dropdown menus. These pictures are also available in the subfolder "picturefiles" at
the location of the configuration file. If one post-processing is skipped, only the dropdown menu
of the performed one will be displayed:
l station averages outputs;
l blade profiles outputs.

267 CFView™ 16.1 User Guide


FIGURE 5.26
TurboWizard step 4

The Station averages outputs section allows to select the station average picture to display.
l The first dropdown menu includes all the stations used for averaging in step 2. The option
"all" in the menu enables to visualize all available stations in the same graph.
l The second dropdown menu includes all the available averaged quantities selected in step 2.
The Blade profiles outputs section allows to select the blade profile picture to display.
l The first dropdown menu includes all the span heights selected in step 3 where the blade
profiles has been computed . The option "all" in the menu enables to visualize all available
span heights in the same graph.
l The second dropdown menu includes all the blades (or group of solid patches) selected in step
3 on which the profiles has been computed. The option "all" in the menu enables to visualize
all available blades in the same graph.
l The third dropdown menu includes all the available quantities selected in step 3 sampled on
the blades.
The Show button in each section allows to display the picture of the selection. Several pictures
can be shown independently in separate windows.
For station averages, to each station corresponds maximum two colors related to the different
weighting factors "area average" and/or "mass-average".

268 CFView™ 16.1 User Guide


l The vertical discontinuous line, labeled as "average" in the legend, represents the surfacic
average scalar value on the station.
l The continuous line, labeled as "profile" in the legend, represents the profile from span=0%
(extremum at min(R,Z)) to span=100% (extremum at max(R,Z)) of the curvilinear azimuthal
averages on the station.

FIGURE 5.27
Station averages output pictures

For blade profiles, a specific color corresponds to each combination of blade and span height.
Each continuous line represents the profile from leading edge (chord=0%) to trailing edge
(chord=100%) of the selected quantity sampled at the specific span height along both pressure and
suction sides. Blade names and span heights are labeled in the legend.

269 CFView™ 16.1 User Guide


FIGURE 5.28
Blade profiles output pictures

The Back button allows to go back to the third step of the TurboWizard module.
The Close button allows to quit the TurboWizard module.

The documentation is also available when moving the mouse on the info icon ( ) on the top right
of the dialog box.

270 CFView™ 16.1 User Guide


CHAPTER 6.

MARINE SPECIFIC FEATURES

This chapter provides a description of features and default settings specific to marine applications. It is
divided in the following sections:

In this section
6.1 Overset grids visualization 272
6.2 Visualize Catway catenary lines 273
6.3 Macros 277

271 CFView™ 16.1 User Guide


6.1 OVERSET GRIDS VISUALIZATION

The Hide blanked cells option provided in the Preferences menu controls whether or not the
blanking will be applied to the graphical representations of the computation results applying the
Overset grid management approach (Overset Grid Management). By default, it is active.

FIGURE 6.1
Cell blanking control in the Preferences menu

When running the simulation applying the overset grids, a new file '.blanking' will be created by
the flow solver of FINE™/Marine and read by CFView™. Cells with the "blanked" status will
be discarded from all the representations. For instance, if one of the External boundaries of the
Background domain is selected in the Quantities menu to represent Blanking, cells with 0 value
will not be represented as it is illustrated below. This is due to the overlap of cubes Overset
domains with the Background domain and the activation/ deactivation procedure applied by the
solver.

272 CFView™ 16.1 User Guide


FIGURE 6.2
Example of Blanking representation for the domain boundary

General "Flow Quantities Visualization" (p. 110) workflow will not differ due to the specifics of
blanking, although it may affect representations in a way that:
l discontinuities at boundaries with Cartesian plots, isolines, color countour, etc. can be
observed at the domain extremities,
l zones where the blanking is 0 in every domain can be visualized as "holes" in the
representations.

6.2 VISUALIZE CATWAY CATENARY LINES

The Lines (Catway) option provided in the Quantities menu allows the user to visualize
catenary lines previously defined in the FINE™/Marine interface (Catenary approach). The Lines
(Catway) option becomes available when CFView™ detects a _output_catway.json file in the
computation folder. The same menu is also available when right-clicking on a Catway catenary
line.

273 CFView™ 16.1 User Guide


FIGURE 6.3
The available options under the Lines (Catway) menu.

Limitations:
l A computation needs to have finished correctly (i.e. no divergence or crash) for CFView™
to be able to display the Catway catenary lines.
l Restarted computations will not contain the time data of the line tension and node positions
prior to the restart.
l Catway catenary lines cannot be mirrored using the Repetition option.
l Applying a traveling shot is not compatible with displaying Catway catenary lines.
l The cables can only be represented in a Cartesian coordinate system.

When opening a project containing Catway catenary lines in CFView™, the lines will be
automatically displayed and the tension along the line will be plotted with the default colormap.
For reconstructed intermediate probes, the line position and tension are automatically read for the
corresponding time step. The lines can be hidden and displayed by clicking the Show/Hide Lines
option in the menu.

274 CFView™ 16.1 User Guide


FIGURE 6.4
A project containing Catway catenary line definitions plots tension on lines by default.

If the lines should be displayed with a uniform color instead, the display can be toggled by
clicking Toggle Color.

FIGURE 6.5
Toggling the line color no longer displays the tension on the line.

The color and line type properties can be changed by clicking the Edit line type... option.

275 CFView™ 16.1 User Guide


FIGURE 6.6
Editing line type options for the Catway catenary line.

The visibility of lines can be improved by displaying them as tubes, which is done by clicking the
Toggle Line/Tube option.

FIGURE 6.7
Respresenting Catway catenary lines as tubes.

The scaling of the tube diameter can be accessed by clicking the Edit Tube Diameter... option.
CFView™ is not able to read the specified diameter from the Catway output file. Therefore, the
displayed diameter of the line is scaled using the maximum domain size in a single direction (i.e.
by default: equal to 1/300 th of the maximum domain extent). The diameter of the tube as such
does not represent the true diameter of the line at "scale" 1.

276 CFView™ 16.1 User Guide


FIGURE 6.8
Changing the tube diameter scaling.

As only a single color map can be displayed at the same time, it is not possible to display a
quantity on a patch and the tension on the catenary lines at the same time. The Show Cable
Tension option can be used to display the tension on a line and change the color map after having
plotted a quantity on a patch.

6.3 MACROS

The specific "Marine" module can be reached by loading CFView™ from the FINE™/Marine
package. This module is shown in the Macros tab containing plugins dedicated to marine
applications (FIGURE 6.9) and they are described subsequently further.
In addition, when loading a project or using the partial loader, a ".cfv" file is requested by default
and a ".cgns" surface file as second choice in the partial loader. Finally the lighting on the contour
representation is set to on by default in the preferences.

FIGURE 6.9
Macros menu for Marine module

277 CFView™ 16.1 User Guide


The user can still open his own module on top of the pre- loaded marine module if needed. The
module will appear in the list as well.

6.3.1 Group Patches by Type

This plugin groups the patches of the same type together from the Surfaces list. It actually
concerns SOL (solid), EXT (external), MIR (mirror) and FNMB.
In case of a multidomain and multibody project as shown in FIGURE 6.10, this plugin will group
patches by type and domain automatically. The result of the grouping after executing the macro is
shown in FIGURE 6.11.

FIGURE 6.10
A multidomain and multibody project shown in HEXPRESS™

278 CFView™ 16.1 User Guide


FIGURE 6.11
Group patches by type and domain

6.3.2 Compute Wetted Area

This plugin computes the wetted area of the solid bodies and displays the result in a text box. It
actually makes a scalar integral of the mass fraction field on all solid patches. The mass fraction
will then be displayed on these solid patches and the result of the integral will be printed into the
information bar at the bottom and in the middle of the graphics area.

To delete the text box message, select the text box and remove it by right- clicking and selecting
Delete .

279 CFView™ 16.1 User Guide


FIGURE 6.12
Wetted area computation

6.3.3 Plot Wave Elevation along X

The plugin plots the wave elevation along the X-axis for half body simulation. It actually checks
the coordinates of the free surface borders and keeps only the Z-coordinates of the minimum
absolute Y values along X-axis. Hence, these values are then loaded as a Cartesian plot.

FIGURE 6.13
Cartesian plot of the wave elevation

Plot wave elevation is not available for 2D, mono-fluid projects as well as results from probes and
multi-domain projects.

In case of a full body simulation, the wave elevation will only be represented on the boat (body).
To add the wave elevation on the free surface before/after the body, the menu
Representation/Cartesian Plot/Along Section should be used and the section should be
performed in the XY plane along mid-boat.

280 CFView™ 16.1 User Guide


6.3.4 Display computation info

This plugin allows the user to display body forces, motions, number of cells or actuator disk
values in the CFView™ graphical interface.

FIGURE 6.14
Display computation info plugin graphical interface.

The physical time of results and the selected values will be displayed in a text box at the chosen
position. The plugin can be used for unsteady simulation animations. The information displayed
will be updated at each computation time step.
Information available for display:
l Time: displayed by default.
l Efforts: forces and moments. If the configuration is half body, the displayed efforts correspond
to half body.
l Motions: for all degrees of freedom that are not fixed.
l Number of cells: only in computations with Adaptive Grid Refinement.

281 CFView™ 16.1 User Guide


l Actuator disk: only in computations with an Actuator Disk. Thrust, Torque available if
Activate tangential force is active.

The plugin is prepared to deal with single-body simulations. If the project contains several
bodies, the information will be displayed for the body with ID=1 and it is not possible to
change body.

6.3.5 Forces by Section

This macro computes the distribution of forces and moments on a body or sub-body, providing
controls for the number of cuts, its direction and selection of data type to be reported. More details
about implementation and how to use it in batch mode can be found in forces_ by_ section
description of the FINE™/Marine User manual.

282 CFView™ 16.1 User Guide


FIGURE 6.15
Macro interface: single body

Forces_by_section will automatically detect the bodies and sub-bodies defined in the project.
The user can choose in which body or sub-body the cuts should be performed.

FIGURE 6.16
Macro interface: multiple bodies and sub-bodies

283 CFView™ 16.1 User Guide


Selection lists Select a body and Select a sub-body will be provided for the multiple body and
sub-body projects. The Update sub-bodies list ->button can be used to update the list of sub-
bodies when a body is selected.

FIGURE 6.17
Macro interface: multiple bodies with several sub-bodies

The cuts can be performed in Cartesian or Cylindrical coordinates. For cylindrical coordinates
the reference axis needs to be defined with its vector components in X, Y and Z direction.

284 CFView™ 16.1 User Guide


FIGURE 6.18
Definition of cuts in Cylindrical coordinates with the reference axis in X direction.

Force and moment computation

The outputs will be stored in the directory: /project_ name/computation_ name/forces_ by_
section_outputs.
The output file names will be: 'forces_by_section_NcutsD_bodyName_subBodyName.dat'and
'moments_by_section_NcutsD_bodyName_subBodyName.dat'
l N being the number of cuts,
l D the direction: X, Y, Z for Cartesian plots or A, R, T for Cylindrical cuts.
l bodyName the name of the selected body
l subBodyName the name of the selected sub-body (if forces_by_section is launched on a sub-
body).
The Output files will have the following content structure:

285 CFView™ 16.1 User Guide


Pictures having the same file name organization, but including the _Fi info (selected Data to
plot), will be stored in the output directory.

FIGURE 6.19
Representation of Fx: single "cube" body for 10 cuts

FIGURE 6.20
Fx radial distribution in a propeller with 10 cuts.

286 CFView™ 16.1 User Guide


If several forces or moments are selected, a choice between One plot per variable or One plot
for all variable will be provided in order to represent the variables in the same plot or not:

FIGURE 6.21
Several forces (FxP, FxV, Fx) on one plot

It is not possible to plot forces and moments on a common plot as they have different units.

Please note, that the Number of cuts cannot be bigger than the number of cells on one patch.

Advanced parameters

Some additional inputs can be defined:


l Set range for cuts define the starting and ending coordinates for the cuts. If the range is
outside the body the Forces and Moments will be set to zero. This option allows the user to
have the same range and plot together values in bodies and sub-bodies that have different
locations.

287 CFView™ 16.1 User Guide


l Traveling shot sets the output coordinate system with following options based on different
choices of degrees of freedom (Tx, Ty, Tz, Rx, Ry, Rz):
o Ship: (1,1,1,1,1,1)
o Carriage: (1,1,1,0,0,1)
o Earth: (1,1,1,0,0,0)
l Reference or Primary frames are available for the output coordinate system (see Reference
Frame).
l Coordinates of the Reference point for moments , in meters, for the computation of
moments.

FIGURE 6.22
Advanced inputs

The following data files are required for the tool: "current_part_number.dat" (in case of a parallel
computation), "wall_surface_grid.bin" (in case of a parallel computation, see Wall Surface Grid for
more information), the file "wall_data.bin" or "wall_data.cpr" (found in the bxxx partition folders in
case of parallel computation, see Output Data for more information) and the computation ".sim" file.

The reference point is read in the .sim file by the macro. The default value is the Center of Gravity
of the body defined in FINE™/Marine or the Reference point if this is a simulation without any
solved motion. This value could still be modified before launching the force an moment computation.

288 CFView™ 16.1 User Guide


6.3.6 Represent Water Line

The plugin represents the water line on all solid patches. It consists in plotting an isoline of the
mass fraction set to 0.5 on the solid patches.

It is not possible to represent the water line for mono-fluid projects and surface probes.

FIGURE 6.23
Water line representation

6.3.7 Camera rotation for animation

The aim of this plugin is to create an animation where the camera rotates around the body
showing the CFD result from 360 degrees.
The camera follows an elliptical trajectory around the body at a given height. The ellipse is
defined by the Rotation center, the ellipse radii, which are function of the Reference length, and
the Camera height defined by the user.
The images created by the plug-in are saved in a folder named "Camera_rotation_day-month-
year_hour-minute-second" inside the computation directory. The creation of the animation from
the pictures is left to the user.
This plugin is intended for single time-step solutions. It cannot be used to animate several time
steps from an unsteady simulation.

289 CFView™ 16.1 User Guide


FIGURE 6.24
Camera rotation graphical interface

User inputs:
l Reference length: default value is the reference length used in the computation setup.
l Camera height: default value is 10% of the reference length
l Rotation center: default value is the Center of Gravity (CoG) or reference point used in the
setup.
Advanced user inputs:
l Camera resolution: resolution of the images saved, default is 1920x1080
l Number of pictures per rotation: it cannot exceed 999

6.3.8 Streamlines to Upright Position

This plugin exports the selected streamlines to two different files: "streamlines_final_position.dat"
and " streamlines_ upright_ position.dat". The first one contains the streamlines in their final
position, as represented on the screen; the second one transforms the coordinates of the selected
streamlines to the initial position of the boat, which means as if it was the beginning of the
simulation. The latest file can be imported into a majority of CAD software.

This plugin is not available for multibody studies.

290 CFView™ 16.1 User Guide


6.3.9 Represent Free Surface

The plugin represents the free surface elevation in the domain. It actually computes the iso-surface
of the mass fraction for a value of 0.5 and represent it with isolines.

It is not available for 2D and mono-fluid projects as well as results from probes.

Clicking on Undo in Edit menu (or shortcut <u>) removes the isolines.

FIGURE 6.25
Free surface representation

6.3.10 Relative wave height

This plugin represents the free surface elevation in the domain and colors it relatively to its initial
position. The plugin actually reads the .sim file and retrieves the Interface position (z) given by
the user in the Initial solution menu of the GUI. On the example below, the free surface was
initially located at 9 meters, the color frame has been computed according to this initial value and
is now centered around 0.

291 CFView™ 16.1 User Guide


FIGURE 6.26
Relative wave height computation

It actually computes the iso- surface of the mass fraction for a value of 0.5 and represents it with
isolines.

If no information about the initial free surface elevation is found in the .sim file, the user will be
asked to manually give this information to the tool:

292 CFView™ 16.1 User Guide


FIGURE 6.27
Initial elevation pop-up

It is not available for 2D and mono-fluid projects as well as results from probes.

Clicking on Undo in Edit menu (or shortcut <u>) removes the isolines.

6.3.11 Wake Flow Tool

This plugin launches the "wake_flow" and the "position" functionalities that were previously
available in batch mode. For a complete description of these batch tools, see the FINE™/Marine
user manual in the section Position and Wake flow. The aim of this plugin is to represent the
computational results (radial, tangential and azimuthal velocities) in a circular cut, typically in a
propeller wake. It can be used in any project, with or without actuator disks defined.
The results will be interpolated in a new radial mesh defined in the "Advanced" tab. This plugin
uses non-uniform mesh to add more points in desired locations. It writes the quantities distribution
in a text file named "wake_ flow.txt" in the computation folder and opens three views in
CFView™ with the velocity distributions.
When the project contains one or several actuator disks, the parameters of the actuator disk are
shown by default, as shown in FIGURE 6.28. The user can then modify them as desired.

l When applied to a configuration with half domain, it is assumed that the y-mirror plane is y=0.
l Make sure the disk used for the wake flow analysis does not intersect the geometry. If the disk
intersects the geometry, the interpolation algorithm will be much slower.

The project (*.cfv) has to be opened in CFView™ and must contain a .sim file in order to launch the
wake flow tool. If the .sim file is not found, the plugin will stop with an error message "SIM file is
not present in the computation path. Open FINE™/Marine results containing an existing SIM file."

293 CFView™ 16.1 User Guide


The default for the Advancing velocity is not the same as the default used when launching the tool
in batch.

FIGURE 6.28
Wake flow tool

Parameters that present in the Wake_flow tool window will perform the following settings:

294 CFView™ 16.1 User Guide


l Actuator disk parameters:
l Counterclockwise positive: if unchecked, the positive sense is clockwise.
l Origin at 6 o'clock: if unchecked, the origin is at 12 o'clock.
l Diameter: diameter of the actuator disk
l Center coordinates: X, Y and Z coordinates of the actuator disk center. It will be the center
of the wake flow plane.
l Normal vector: X, Y and Z components of the normal vector (pointed toward the wake) of
the wake flow plane.

The actuator disk parameters should be filled in based on the initial position of the vessel, i.e. as
defined in the FINE™/Marine GUI.

l Wake flow plane parameters


l Distance to the propeller: distance between the center of the actuator disk and the wake
flow plane.
l Inner radius: inner radius of the wake flow plane.
l Outer radius: outer radius of the wake flow plane.
l Reference values
l Advancing velocity: advancing velocity of the ship (used to for the relative velocity).
When the "Advanced >>>" button is selected, extra parameters are available:
l Number of points in radial direction
l Number of points in tangential direction
These two parameters define the cylindrical mesh that will be used to interpolate and represent the
results. Their default values correspond to the minimum mesh size recommended in
HEXPRESS™ for an actuator disk.
l Mesh concentration:
l Homogeneous: no concentration points
l Around one point:
P: location of the mesh concentration (o'clock)
Symmetry
Mesh stretching factor

295 CFView™ 16.1 User Guide


l Around two points:
P1: location of the first mesh concentration (o'clock)
P2: location of the second mesh concentration (o'clock)
Mesh stretching factor

Example 1: Mesh concentration around one point when P is 3 o'clock with different stretching
factors:

Example 2: Mesh concentration around two points with stretching factor 0.1:

296 CFView™ 16.1 User Guide


l Search region:
The search region for the interpolation algorithm needs to be limited for multi-domain cases
without an actuator disk. The thickness of this search reason should be defined here, which is
typically in the order of the length of a local grid cell. If the search region is not limited, the
algorithm will spent excessive time trying to interpolate the local velocity fields to the new
cylindrical mesh created by the tool.

In case the project contains several actuator disks, a selection part of the window will have the
choice for the ID of the actuator disk to post-process. The Apply button allows the user to get the
default values corresponding to the actuator disk chosen.

In case of default parameters were left, the CFView™ window will have the following view as
shown in FIGURE 6.29 after clicking the Go button.
l How to reopen the results once the wake flow tool has run:
1. In CFView™ choose: File > Open Plot3D Project ...
2. Select Geometry file: wake_flow.g
The Function File and Function Name File will be auto-completed with the wake_flow.f and
wake_flow.name files.

297 CFView™ 16.1 User Guide


FIGURE 6.29
Different views in CFView™ after executing the wake flow tool

6.3.12 Represent towing tank lines

This plugin allows the user to draw multiple lines on a hull considering its final position.
The lines can be drawn either in the vertical or horizontal direction. May the user want to draw
the lines in both directions, then first the user has to draw the lines in one direction and then in the
other one regardless the order.
For both directions, there are two ways to define the distance between lines:
l Position list: the user defines a list of relative positions with as many entries as lines have to be
drawn;
l Interval: lines are drawn equally spaced by the specified value. Thus, the total number of lines
depends on the Drawing length DL.

If the Drawing length DL exceeds the distance between the Starting point Ps and the extreme of
the body in coherence with the drawing direction, only the lines within the range of the of the body
will be drawn.

298 CFView™ 16.1 User Guide


Limitations:
l Only for 3D projects;
l Only one body is allowed;
l The longitudinal axis of the hull is assumed to be in the X-direction.

A. Vertical lines

The next figure illustrates the interface of the plugin when the option Vertical lines is chosen.

FIGURE 6.30
Represent towing tank lines plugin interface for vertical lines: List Drawing method.

299 CFView™ 16.1 User Guide


FIGURE 6.31
Represent towing tank lines plugin interface for vertical lines: Interval Drawing method.

There exists two drawing directions, towards Positive X-coordinate or Negative X-coordinate:
l Starting point Ps (X): is the x-coordinate of the point from which the lines will be drawn;
l Drawing length DL: represents the length on which the lines will be displayed.

B. Horizontal lines

Next two figures illustrates the interface of the plugin when the option Horizontal lines is chosen.

300 CFView™ 16.1 User Guide


FIGURE 6.32
Represent towing tank lines plugin interface for horizontal lines: List Drawing method.

FIGURE 6.33
Represent towing tank lines plugin interface for horizontal lines: Interval Drawing method.

301 CFView™ 16.1 User Guide


There exists only one drawing direction: from the bottom of the hull to its deck:
l Starting point Ps (Z): is the z-coordinate of the point from which the lines will be drawn;
l Drawing length DL: represents the height on which the lines will be displayed.

6.3.13 Customized planes

This plugin aims at creating automatically one or several planes with user-defined sizes, shapes
and positions in the domain. This plugin is only available through CFView™ interface dedicated
to marine applications. When launching the Customized_ planes macro, the following menu
appears:

302 CFView™ 16.1 User Guide


FIGURE 6.34
Plugin menu

Definition of the main plane

By default, one plane will be created. Its characteristics should be set manually:
l the center of the plane, defined in the global CFView™ frame.
l the normal of the plane.
l the size of the plane.
l the shape of the customized plane should be selected from among the following patterns:
o Square
o Hexagon
o Octagon
o Decagon
o Circle

303 CFView™ 16.1 User Guide


FIGURE 6.35
Available shapes

After pressing the Apply button, the Surfaces menu should be updated by clicking once in the
CFView™ interface.

Distribution mode

By activating the Distribution mode, the main plane can be duplicated several times along an
axis. This distribution is defined by:
l the total number of planes (including the main plane).
l the total distance of the distribution.
l the direction of propagation. If no direction is input, the propagation will be performed along
the normal of the main plane.

FIGURE 6.36
Distribution menu

By default the propagation is uniform. Once the Geometric distribution option has been
activated, the distribution ratio can be set to create a clustered propagation of the planes using a
geometric progression.

304 CFView™ 16.1 User Guide


FIGURE 6.37
Distribution ratio definition

The Remove all and Remove last buttons can be used for clearing the interface. The surface tree
will be updated accordingly.

305 CFView™ 16.1 User Guide


CHAPTER 7.

ANIMATIONS & UNSTEADY DATA


ANALYSIS

This chapter provides a description of animation capabilities in CFView™. The animation capabilities
are divided into two main areas: animations of steady state data sets and animations of unsteady data
sets.
The first section describes the animations that can be performed on steady state data sets. These are:
l the animation of vector lines,
l the animation by mesh surfaces sweeping and
l the animation by cutting planes sweeping.
The second section describes how to create animations from unsteady data sets and how to record such
animations in video files.

In this section
7.1 Animations in Steady State Data Sets 307
7.2 Animation of Unsteady Data Sets 315

306 CFView™ 16.1 User Guide


7.1 ANIMATIONS IN STEADY STATE DATA
SETS

CFView™ allows to represent pseudo particles moving along streamlines as well as scrolling
structured surfaces and cutting planes.

7.1.1 Animation of Vector Lines

The animation of vector lines applies to all the vector lines which have been computed from the
currently active vector quantity (see Vector Lines for a description of how to create vector lines).

To start the animation of the vector lines, select the button in the Streamline animation dialog
box from the Geometry/Animations/StreamLine Animation... menu. The animation consists of
markers or arrows moving along the streamlines with a velocity proportional to the local velocity
amplitude.

FIGURE 7.1
Streamline Animation

The max frame/sec control allows to limit the number of animation steps by second. During the
animation, a different value may be entered into the string area and validated by pressing the
Apply button.

To end or pause the animation, select respectively the button or from the dialog box.
The animation markers are respectively erased or frozen on the vector lines.

To start recording the animation, select the button . Once the animation parameters are set, or
if the animation parameters have to be modified during the animation:

307 CFView™ 16.1 User Guide


l SelectApply to validate any modification of the content of the dialog box. This affects the
animation in real time.
l Select Reset to cancel all modifications and the dialog box finds back its original status.
l Select Close to cancel the animation. The dialog box is closed and the animation markers are
erased from the vector lines.

Markers

The markers density is controlled by the marker Emission rate control in the dialog box.
The marker type used for the animation is the one which is associated to the vector lines. The
actual marker type of a vector line may be:
l the default marker type for the vector lines. This marker type may be modified in the Curve
Type Editor dialog box opened by selecting Curve Type... in the popup menu of the vector
line (see Vector Lines Parameters) or
l the marker type applied to an individual vector line or to a group of vector lines. Refer to
Stream Ribbons & Tubes for a description of how to modify the curve type attributes of vector
lines.
The animated markers are always visible, independent of the visibility (Visible) of the vector lines
markers.

308 CFView™ 16.1 User Guide


Arrows

FIGURE 7.2
Vector Line Parameters

The interface for drawing arrows on streamlines is shown in FIGURE 7.2. This can be accessed
in two ways:
l If a scalar quantity is active, select Representation --> Steamlines --> Parameters and if a
vector quantity is active, select Representation --> Vector line --> Parameters.
l Right-click on a streamline or a vector line and select Parameters.
In Vector Lines Parameters dialog box, entries allow to control the visibility, size and density of
arrows. The three widgets perform following functions:

309 CFView™ 16.1 User Guide


l Visible: by default this is set to off for backward compatibility issues. To make arrows visible
on streamlines instead of markers, first set Visible to on and secondly press Apply.
After this whenever a new streamline is created, arrows will be drawn on it by default.
Arrows are made visible only when streamlines are drawn with line representation. In case of
tube or ribbon representation no arrows are drawn.
l Size of Arrows: arrows are drawn in the form of two-dimensional filled equilateral triangles as
shown in FIGURE 7.3.

FIGURE 7.3
Arrow size

Size of arrow is a relative variable and its default value is 1. When this value is decreased a
relatively smaller equilateral triangle is drawn such that the front vertex of the triangle remains
unmoved. The two vertices in the aft position are made closer to the front vertex as well as to
the streamline. These two aft vertices are always drawn such that the equilateral triangle
remains normal to the camera view every time.
l Density of Arrows: this variable controls the number of arrows per unit length. The default
value is such that approximately 20 arrows will be drawn on any streamline that encompasses
the length of the bounding box/sphere of the whole domain. This model is based on an already
existing model that is currently used for the default density of markers in streamline animation.
All the arrows are equidistant as shown in FIGURE 7.4.

310 CFView™ 16.1 User Guide


FIGURE 7.4
Arrow density

When the streamlines are drawn with the non-uniform color, the color of the arrows will also
vary depending on their location as shown in FIGURE 7.5. In case of uniform color, all
arrows are drawn with the same color.

FIGURE 7.5
Arrow color

7.1.2 Animation by Mesh Surfaces Scrolling

This functionality allows to sweep automatically across a family of mesh surfaces. The sweeping
animation is controlled from the Structured Surfaces Scrolling dialog box
To access this dialog box, select Surface IJK Scrolling... from the Geometry/Animations menu.

311 CFView™ 16.1 User Guide


FIGURE 7.6
Structured Surface dialog box for animation

The dialog box contains several parts:


l the Index area with the three radio buttons I J K allowing to select the scrolling index,
l the Domains list appears if the mesh contains several domains. It allows to select the domains
in which the animation is performed,
l The Animation Control area contains the following animation control buttons:

l starts/stops the animation recording.


l sets the animation in decreasing index, double speed.
l sets the animation in decreasing index, normal speed.
l sets the animation in increasing index, normal speed.
l sets the animation in increasing index, double speed.
l pauses the animation, leaving the last represented surface.
l stops the animation, no represented surfaces is left.
l when the animation is paused, this button steps back to the previous surface.
l when the animation is paused, this button steps to the next surface.
Furthermore, two string editors provide additional control on the speed of the scrolling:
l The Step control allows to choose the value of the scrolling index increment between two
animation steps.
l The max frame/sec control allows to limit the number of animation steps by second.
l The buttons Geometry and Quantity appear only if a quantity is selected.
l The surfaces are represented by their grid wireframe if the option Geometry is selected.
l The surfaces are represented by a color contour if the option Quantity is selected.

312 CFView™ 16.1 User Guide


Once the animation parameters are set, or if the animation parameters have to be modified during
the animation:
l Select Apply to validate any modification of the content of the dialog box. This affects the
animation in real time.
l Select Reset to cancel all modifications and the dialog box finds back its original status.
l Select Close to cancel the animation. The dialog box is closed.

7.1.3 Animation by Cutting Planes Scrolling

To access the dialog box allowing to launch the animated scrolling of Cutting Planes, select
Cutting Plane Scrolling... from the Geometry/Animations menu.

FIGURE 7.7
Cutting plane scrolling dialog box for animation

The dialog box contains several parts:


l The Normal area allows to control the cutting plane orientation:
l The X, Y and Z string editors allow to input the X, Y and Z components of the cutting
plane normal.

l The three buttons allow the choice of the direction of the cutting plane normal
which will be oriented respectively along the X, Y or Z axis.

l The three buttons allow to rotate the cutting plane around X,Y and Z axes.
Activating one of them with the left mouse button, and dragging the mouse to the left will rotate
the cutting plane clockwise, and to the right, counterclockwise.
l The Animation Control area allows to control the animation as described in Animation by
Mesh Surfaces Scrolling. The Step string editor allows to input the distance between two
consecutive cutting planes.

313 CFView™ 16.1 User Guide


l The Geometry and Quantity buttons allow the user, when a quantity is selected, to choose
between a grid wireframe representation (the Geometry option) or a color contour
representation (the Quantity option).
l The Apply button validates new parameters during the animation.
l The Reset button restores the initial values of the animation parameters.
l The Close button stops the animations and discards the dialog box.

7.1.4 Recording a Steady Animation

Steady animation includes streamlines, cutting planes and structured surfaces animations. The
example given below only describes the case for streamlines animation. Everything described
below can be applied for cutting planes and structured surfaces animations. The interface for
streamlines animation recorder is shown in FIGURE 7.8.

FIGURE 7.8
Record steady animations

In order to record streamline animation:

314 CFView™ 16.1 User Guide


1. Click on Record button to activate it (FIGURE 7.1).
2. Animation Output Set Up dialog box (FIGURE 7.8) will pop up. This dialog box is same as
the one used for unsteady recording except for one change – Delete Image Files is active by
default. Make necessary changes. Press Ok.
3. Save Animation in GIF Format dialog box will pop up. Enter the name for the animated GIF
file. Press Ok.
4. Animate required frames using Play button (FIGURE 7.1). For each frame an image will be
saved.
5. Click on Record button to deactivate it (FIGURE 7.1 ). All the images saved during the
interval when the Record button was active are combined in the form of an animated GIF file
with the name specified by the user.
If in step 3, user specifies the name of the animated GIF file to be "animated.gif", the PNG
images in step 4 are created with names derived from "animated.gif" by appending "_
steadycfvtmp" to it (e.g animated_steadycfvtmp_t01.png, animated_steadycfvtmp_02.png, etc).

When the Record button is active and the Play button pressed, an image is saved for each frame. It
may happen that the user gets busy with some other work and does not deactivate the Record button
after sometime. In that case the hard disk will get filled with images. This may even lead to a system
crash. To avoid such a scenario following approach has been undertaken. For any steady animation, it
is repeated after a certain number of frames. Suppose that the streamlines animation gets repeated
after every 10 frames. In that case, only the images for first 10 frames will be saved and although the
animation goes on indefinitely till the user presses Stop button, no image will be saved for any frame
starting from frame 11.

7.2 ANIMATION OF UNSTEADY DATA SETS

CFView™ introduces the ability to animate representations of unsteady data sets in time and in
space (harmonic with clocking).
l With FINE™/Turbo data sets, when loading the ".run" file, CFView™ detects automatically
that a computation project has been run as an unsteady one and prompts for the range of time
steps (or clocking positions) to be used.

315 CFView™ 16.1 User Guide


l Select All Time Steps to perform an analysis on all the available time steps.
l Select Initial and set the initial and final time steps to the desired value for an analysis of a
predefined range.
l Press Ok to start the project opening.
l Press Cancel to exit.
If the Partial Loader is used, the interval between consecutive time steps can also be selected,
see Partial Loader.
l With FINE™/Open with OpenLabs™ data sets created defining a ".snap" file (more details in
the FINE™/Open User Guide), the ".run" file should be loaded into the Partial Loader (the
time step interval and range of time step is defined by the content of the .snap file), see Partial
Loader. That will automatically load the related "*_t#_a#.cfv" files (and associated output
files).
l With FINE™/Marine data sets, the "_t000001.cfv" or the "_t000001.cgns" file, respectively
for volumic or surfacic probes, should be loaded into the Partial Loader.
When the project is loaded, the first time step (or clocking position) is loaded and a set of
animation control buttons is added to the general toolbar.
This button brings the animation back to the first time step:

This button moves the current time step to the previous one (or the last one if the current time step
is the first one). The same representations are drawn in the views, but with the data from the
previous time step.

This button moves the current time step to the next one. The same representations are drawn in
the views, but with the data from the next time step:

This button starts the animation of the current representation. The same representations are drawn
in the views, for each time step successively:

This button stops a running animation:

316 CFView™ 16.1 User Guide


This button enables or disables the automatic restart at the first time step, when the animation has
reached the last time step. If the feature is turned on, the first time step is considered as the one
following the last time step. If the feature is turned off, the animation stops when it reaches the last
time step:

This button frees the RAM usage at each time step when post-processing unsteady data sets. By
default it is activated. See Projects Comparison for a more detailed description:

This button enables or disables the animation recording. It acts as a toggle: when the recording is
turned off, the button background is gray (this is the default) and when the recording is turned on,
the button background is yellow:

This buttons saves a time-averaging solution for the selected time steps.

This entry allows the user to input a time step. The same representations are drawn in the views,
but with the data from the selected time step. The maximum number of time steps is equal to the
number of time steps loaded. The first time step is always 1. For example, if there are 10 time
steps available in a project and the user loads the time steps 3 to 8 with an interval of 2, the GUI
will show 1 / 3 when the project is opened and the 3 loaded time steps correspond to the time
steps 3, 5 and 7 of the full unsteady project.
When working with an unsteady (in time or in space) data set (including the pitchwise averaged
view), the time (space) value may be added in the graphical view by selecting Time Label or
Clocking Position in the Quantity menu. The time label or clocking position appears as a text
"t=----" or "Position #" that can be selected interactively for changing its position or its text type.
To create an animation, proceed as follows:
l Create the representations on the initial time steps.

l Start the animation either step by step ( ) or continuously ( ).

l Stop ( ) the animation or let it go to its end.


CFView™ automatically records a macro of the current representation and applies it to the next
time step. Initially, a minimum amount of data is loaded in the computer memory. The data
needed to create representations at further time steps is progressively loaded into the computer's
memory. To prevent a rapid saturation of the available resources, the most memory consuming
data is not kept permanently.

317 CFView™ 16.1 User Guide


For a typical animation, the first loop through the whole set of time steps requires data loading.
After the first loop, all the needed data has been loaded and the animation speed is increased
significantly.

7.2.1 Recording an unsteady animation

For unsteady cases, the button (Start/Stop Animation Recording) allows to record an
unsteady animation.
By default the state of this button is off. When clicking on the button for the first time, the state is
changed to on and an Animation Output Set Up dialog box (FIGURE 7.9) pops up asking for
the parameters for creating the animation. This dialog box contains all the parameters that are
needed for creation of PNG images. The top part of the dialog box is very similar to the Print
Output Set Up dialog box that is invoked from File/Print... menu. The lower part of the dialog
box contains options specific to the animation. The Other Options area allows to specify the
delay between two frames (in 1/100th of a second) and the number of loops in the animation (0
corresponds to a never ending loop). It is also possible to choose to Delete Image Files after an
animated GIF has been created from them. After setting the parameters, click on the Ok button to
pop up a file selection dialog box (Save Animation in GIF Format) that allows to specify the
name for the animated GIF file.

FIGURE 7.9
Animation output set up

318 CFView™ 16.1 User Guide


When an animation has to be created:

1. Click on Start/Stop Animation Recording to activate it.


2. The Animation Output Set Up dialog box (FIGURE 7.8) will pop up. After setting the
parameters, press Ok.
3. The Save Animation in GIF Format dialog box will pop up. Enter the name for the animated
GIF file. Press Ok.

4. Animate required frames using the Play button . For each frame an image will be saved.
5. Click on Start/Stop Animation Recording button to deactivate it. All the images saved
during the interval when the Start/Stop Animation Recording button was active are
combined in the form of an animated GIF file with the name specified by the user.
If in step 3, user specifies the name of the animated GIF file to be "animated.gif", the PNG
images in step 4 are created with names derived from "animated.gif" by appending "_
steadycfvtmp" to it (e.g animated_steadycfvtmp_t01.png, animated_steadycfvtmp_02.png, etc).

7.2.2 Export Time-Averaging Steady Results

When an unsteady project is loaded, the user has the possibility to create a steady project by
averaging the quantities in time. The time steps used for the computation of the average are the
time steps chosen by the user when opening the unsteady project.

To save the time averaging results, just click on the button , then the popup window shown in
FIGURE 7.10 will appear:

319 CFView™ 16.1 User Guide


FIGURE 7.10
Quantity Choice dialog box

The user can choose the quantities among all quantities that are available for the unsteady project,
including derived thermodynamics quantities (e.g. rothalpy), derived mechanics quantities (force
and torque), gradient, divergence or curl of other quantities and user defined quantities.
When clicking on Apply, a file chooser allows the user to specify the name of the output files (by
default set with the extension *_tav.run). When clicking on Save (on Windows) or Ok (on
Linux), the time averaging steady solution files (by default *_tav.run and *_tav.cgns) will be
created.

The time-averaging steady results can only be computed for structured (FINE™/Turbo) projects.

7.2.3 Cartesian Plot Function of Time/ Clocking Position

After loading an unsteady solution with the partial selection loader ( File/Open Project
Selection... menu), Cartesian plots of static quantities can be plotted with the menu
Representation/Cartesian Plot/Scalar vs Time or Scalar vs Clocking Position.

320 CFView™ 16.1 User Guide


The menu opens a dialog box which allows the user to define the extraction point in Cartesian
coordinates. By activating Attach to Mesh option, the point will have the same rotation speed as
the block/ group it belongs to. To plot the selected scalar quantity at the extraction point with time
evolving or clocking position, hit the Apply button follows by the play button ( ).

FIGURE 7.11
Cartesian plot function of time

321 CFView™ 16.1 User Guide


CHAPTER 8.

MACRO LANGUAGE

This chapter describes the macro language of CFView™ and the available instruction set. The macro
script is a very powerful feature that automates CFView™.
'Macros scripts' are programs that are written using a macro language. They can be produced either by
recording the actions performed during a visualization session or from scratch using a normal text
editor. Macro scripts can be recorded, saved, loaded and executed in CFView™, using the items in the
File / Macro menu ( Use Macro Scripts) or executed in batch.

In this section
8.1 Python Language 323
8.2 Python Language Overview 323
8.3 Macro Script Examples 330
8.4 Python CFView™ Module 333
8.5 CFView™ Command Description 334
8.6 Utilities for Handling Curves 415

322 CFView™ 16.1 User Guide


8.1 PYTHON LANGUAGE

The core of the macro language of CFView™ is called Python. It is a very compact, extensible,
elegant and extremely powerful interpreted object-oriented language. The description of Python is
provided in a special manual (the "Python Tutorial" is available on the Python web site
http://www.python.org). In order to get a good introduction to Python read Chapter 3, Chapter 4
and Chapter 5 of the Python User Manual.
Python has been extended with commands that allow to perform visualization operations. These
commands are described in Python Language Overview. Each command is presented in terms of:
l arguments,
l return value,
l associated menu item,
l actual operation performed,
l exceptions (errors) it will raise.
As an example, see the command string FileOpenProject(string filename):
l This command takes 1 argument of type string (strings in Python are single or doubled
quoted).
l The argument should be the complete name of the CFView™ project file to load.
l The command returns the name of the view that is created during the command execution.
l Its associated menu item is File/Open Project: the command performs the same operation as
the selection of this menu item.
l The actual operation performed is to open the project in a new view (the view appears in full
screen mode).
l If the project cannot be loaded the command will raise an IOError exception. By default, this
error message will be indicated in a dialog box that pops up. If CFView™ was started in batch
mode, the error message is written in the shell terminal from which CFView™ was launched.
To load the project '/usr/people/me/case.cfv' type: FileOpenProject('/usr/people/me/case.cfv')

8.2 PYTHON LANGUAGE OVERVIEW

This section provides a brief overview of the basic features of the Python language. Interested
readers are recommended to consult the tutorial documents or the systematic description of the
language available on the Python web site (http://www.python.org).

323 CFView™ 16.1 User Guide


Python is a real programming language, offering support for structured and object- oriented
programming together with a very high level of error checking and a lot of native features such as
lists, arrays, predefined mathematical functions and constants,...
Scripts are evaluated line by line. However, line evaluation continues on the next line if the
character '\' is the last character of the line.

The character "\" in a string will lead to tab character when combined with "t" ("\t") and to carriage
return when combined with "n" ("\n"). Instead of writing "\", "\\" has to be used.

Adding Commented Lines

The '#' character specifies that the rest of the line is a comment and will be skipped while the
macro is executed.

Support for Mathematical Operations

l the operators +, -, * and / are defined,


l parenthesis can be used and nested to any level,
l functions abs(x), int(x), floor(x), ceil(x) and sqrt(x) for square root are available,
l trigonometric functions sin(x), cos(x), tan(x), acos(x), asin(x), atan(x) are available, atan2(y,x)
returns atan(y/x),
l logarithmic functions log(x) for neperian logarithm, log10(x) for base 10 logarithm, exp(x),
sinh(x), cosh(x), tanh(x), asinh(x), acosh(x) are available,
l x to the power y is obtained by the function 'pow(x,y)',
l boolean values are returned by the operators > (larger than), < (less than), <= (less or equal
than), >= (larger or equal than), == (equal to), != (different from), and, or
l the constants pi and e are predefined.

The mathematical operations supported in the Python language are different from those available for
the definition of derived quantities (see Create Derived Quantity for a description of mathematical
operations supported in derived quantities definition)

String Handling

Strings are handled in the following way:

324 CFView™ 16.1 User Guide


l they are enclosed in single <'> or double <"> quotes,
l concatenation is obtained with the operator + (e.g. 'cut'+'plane' gives 'cutplane'),
l duplication is obtained by the multiplication by an integer, the operator * (e.g. 'enter'*2 gives
'enterenter'),
l access to the ith element is obtained by the suffix '[i]' and access to a substring is obtained by
the suffix [i:j] for a substring starting from the ith character up to the jth one (e.g. if s contains
'cut', s[0] is 'c' and s[1:2] is 'ut')
l numerical values contained in variables can be inserted in a string by enclosing the variable
name with reverse quotes (') or by using a formatting specification:
s = 'The Value of x is' +'x'
s = 'The Value of x is %3d' %(x)
The formatting symbols are interpreted as follows (see Macro Script Examples for examples):
l %d formats in an integral value (rounded if necessary),
l %nd (where n is an integer) in an integral value having a length of exactly n characters (space
characters are inserted on the left if necessary),
l %n.mf (where n and m are integers and n>m) formats into a floating point value having at
most n characters length and a fractional part of m characters exactly,
l %n.me(where n and m are integers and n>m) formats into a scientific representation having at
most n characters length and a fractional part of m characters exactly.
Stripping of the leading or trailing white spaces is obtained by the function strip ( strip(' cut plane
') gives 'cut plane').

Lists Handling

A list is an ordered set of items.


l A list is defined by enclosing the comma separated items by square brackets. A list may be
empty.
my_list = [a,b]
empty_list = []
Note that a list definition can be extended over several lines without the '\' terminating
character.
l An item is accessed by adding the suffix [i] to the list name (ex: my_list[1]). Note that list
indices start at 0.
l Lists can be nested to any level (e.g. [[a,b],[c,d,e]] is a list made of 2 lists).

325 CFView™ 16.1 User Guide


l Appending is obtained by the operator + (ex: my_list + my_list2) or by the function append
(ex:my_list.append([c, d])).
l Multiplication (appending oneself n times) is obtained by the multiplication operator (ex: my_
list*3).
l The functions insert(index, value) inserts value at position index, the elements at upper position
are shifted.
l The function index(value) returns the index of the first item whose value is value.
l The function remove(value) removes the first item whose value is value.
l The functions sort(), reverse() and len() are, respectively, sorting, reversing the elements and
returning the number of elements in the list.

Program Flow Control: Conditional & Loop Statements

In Python, different kinds of flow control statements are available: the conditional if, elif
statements, and the for and while loop statements.
These instructions start by a specific control line terminated by colon. The body part (that is, the
set of statements depending on the control statement) is defined by the indented lines that are
following the control line. The indentation can be marked by a < TAB > or by white space
characters. The end of the loop body is marked by the first line which is not indented. Nested
statements are obtained by heading lines with successive levels of indentation.
l if statement:
if x < 0 :
print 'x is negative'
elif x==0 :
print 'x is null'
else :
print 'x is positive'
elif and else clauses may be omitted. A value of 1 is equivalent to true and a value of 0 is
equivalent to false
l loop statements: the for loop iterates on the elements of a list and the while loop iterates as long
as the condition is met. A break statement may be inserted to step out of the loop. In the
following examples the statement, "for x in a[:]:" means: for each element of the list a.
for x in a[:]:
for x in range(0,10) :
while x>0 :

326 CFView™ 16.1 User Guide


where the range function returns a list of integers starting from the first argument value to the
second argument value with a step indicated by the third argument if existing (default value is
1).

When creating manually a macro including a loop for example on grid points, each time "ProbeIJK"
or "QntFieldScalar" is called, a line is added to the character string that is used for generating the file
when saving the macro. Consequently, this string becomes huge, uses a lot of memory and its
management a lot of CPU. The best practice is to record a macro "loop.py" including the loop only
and to use the MacroExecute command calling the macro "loop.py" in a second macro. The
MacroExecute suspends the record of the operation and is thus not adding any line.

Function Definition

Function definition starts with the standard header


def function_name (arg1, arg2, arg3 = default_value, ...) :
where def is a reserved keyword. The arguments can be of any type (it is a user responsibility to
provide meaningful ones) and last arguments may have a default value (as arg3 in the above
example).
Each line of the function's body is indented with a <TAB> character. The function definition ends
with the first line which is not indented by a <TAB> character.
All arguments are passed by value. When arguments are passed by value to a function, even if the
values of the arguments are modified inside the function, the values of the arguments, seen from
the main program or the calling function, are not modified by the execution of the function.
A returned value may be specified using the 'return' statement followed by the name of the
variable or by a value. In any case, a value is returned and not a reference on a local variable or
object. The type of the returned value is a list, this means that appending a new element in the
returned list is obtained by the statement 'return.append(x)'.
Global scope variables can be accessed if they are declared as such by a statement 'global' (e.g.
'global x' specifies that the x variable is a global variable for the current function). The global
variable lifetime is not limited to the present scope.

File Handling

Files can be opened for reading and writing. A file is associated to a variable, that is initialized at
its opening:
f = open(fileName, mode, bufferSize)
where fileName is the full file name including its path and f is a variable that is used to handle the
file operation. The parameter mode is a character string whose value may be:

327 CFView™ 16.1 User Guide


l 'r' or 'rb': file opened for reading,
l 'w' or 'wb': file opened for writing, creates it if not existing or the previous content is discarded,
l 'a' or 'ab': file opened for appending, creates if not existing or writes at the end of the file.
The 'b' character is used only on Windows systems to indicate that the file is in binary mode, on a
Linux system, it is neglected. The parameter bufferSize is the integer value of the size of the
buffer. The system default size is chosen if the value is negative. The file is opened in the
unbuffered mode if the value is 0, a value of 1 specifies a line-buffered mode.
On the Windows platforms, file names may be specified with the \ or the / separator. Note that to
include a \ character in a string, it must be prefixed by a \. So a file name may be
'C:\\my documents\\my script.py'
or
'C:/my documents/my script.py'
The following functions can be used to handle the file content:
l f.close(): close file,
l f.flush(): flush file's internal buffer,
l f.read(n): read at most n bytes from the file and return them as a string. if n is omitted, read up
to the end of the file,
l f.readline(): read one entire line,
l f.readlines():read until the end of the file and return a list of lines,
l f.seek(offset, whence=0): set file's position, if whence =0 or is omitted, offset is the absolute
position, if whence=1 offset is relative to the current position and if whence = 2, offset is
relative to the file end,
l f.tell(): returns file current position,
l f.write(string) write string to file (f.write(string+'\n') is writing the string content on a line).

Execute Python Script from another Python Script

The command execfile starts the execution of a Python script from another Python script. E.g:
execfile("macro1.py")
This command starts the execution of the script file named macro1.py.
In order to use a macro with arguments, an intermediate script like the following needs to be used:
CFViewBackward(811)
import sys
sys.argv = ["arg1", "arg2"]
execfile("Y:/users/tmp/test_script.py")

328 CFView™ 16.1 User Guide


where test_script.py is the macro that the user wants to execute and "arg1" and "arg2" are the
arguments needed for it to run.

Create & Use Modules (Library of Functions)

The Python language provides the concept of module for grouping a set of functions in a same
file. The module name is the name of the file containing the functions.
The functions can be made available into a script in a similar way as the large set of utility
functions provided with CFView™. If a set of functions is defined in a file called MyModule.py,
and the file is located in the directory /people/myself/cfview_scripts, they can be made available in
another script through the following instructions:
sys.path.append('/people/myself/cfview_scripts')
this declares to the system that some Python files are available in that directory. Then, two
different ways can be used to import the functions:
from MyModule import *
or
import MyModule
The first one sets all the functions defined in MyModule directly available, while the second form
makes them available with the MyModule. prefix (e.g. if a function f is defined in MyModule, it is
invoked by the command MyModule.f()).
The standard Python modules may be imported with both of the above mentioned forms. The
directory declaration is not necessary.
It is also possible to load a macro using the following macro command:
MacroModuleLoad(string FileName)

The standard CFView™ macro commands are part of the module CFView , when they are used in
another module, they have to be imported (from CFView™ import *).

Limitation: it is not allowed to load 2 modules with the same name.

329 CFView™ 16.1 User Guide


8.3 MACRO SCRIPT EXAMPLES

Compute Surface Integrals

This section explains how to use the macro to compute various types of integrals.
1. In CFView™ load the project provided with the CFView™ test case distribution from Open
toolbar button.
2. Select Record (File/Macro) to turn on the macro recorder by selecting.
3. Select the desired surface on which the integrals should be computed from the Surfaces
subpanel by pressing the right mouse button and selecting the Select item in the popup menu.
Also you may create a new surface using Geometry menu options (Create Surfaces for
detailed information about surface creation).
4. Select the required field quantity to be integrated from Quantities subpanel (say 'Density').
At this point, all the operations regarding the surface creation and selection as well as the
quantity selection are recorded internally in CFView™.
5. Select Save… from File/Macro menu to save the macro script, this raises a file chooser.
l Enter or select the file name in the file chooser.
l Press OK to validate the entry.
6. Using a text editor, open the saved file ('.py').
7. Add the commands for surface integral computation and the display of the results of the
calculations in the active view (See Commands for Computing Integrals on Surfaces for a
description of each command):
a=GmtArea()
#(area of the surface)
i=SclIntegral()
#(scalar surface integral of 'Density')
wi=SclWeightedIntegral('Static Pressure')
#("Static Pressure"-weighted surface integral)
pf=SclForce()
#(vector surface integral of 'density')
pt=SclTorque(x,y,x)
#(vectorial surface integral of 'Density' , taken as a

330 CFView™ 16.1 User Guide


torque with respect to the point having coordinate x,y,z)
pta=SclTorqueAmplitude(x,y,z, i,j,k)
#(scalar product of the same integral as SclTorque with the unit vector i,j,k)
QntFieldVector('Vxyz')
f=VectorFlux()
#(flux of 'Velocity' through the active surfaces)
wf=VectorWeightedFlux('Density')
#('Density'-weighted flux of 'Velocity' through the active surfaces)
InsertText(0.1,0.9,0.0,"Area . . . . . . . . . . . : %11.4e"%(a))
InsertText(0.1,0.8,0.0,"Integral density . . . . . : %11.4e"%(i))
InsertText(0.1,0.7,0.0,"Integral pressure x density : %11.4e"%(wi))
InsertText(0.1,0.6,0.0,'Flux velocity . . . . . . : %11.4e'%(f))
InsertText(0.1,0.5,0.0,'Mass flow . . . . . . . . : %11.4e'%(wf))
InsertText(0.1,0.4,0.0,'Torque around (0,0,1) . . : %11.4e'%(pta))
InsertText(0.1,0.3,0.0,"Force . . . . . . . . . . : %9.2e %9.2e %9.2e"%(pf[0], pf[1], pf[2]))
InsertText(0.1,0.2,0.0,'Torque . . . . . . . . . . : %9.2e %9.2e %9.2e'%(pt[0], pt[1], pt[2]))
See String Handling for a detailed explanation of string formatting used in the Insert-Text
commands.
8. Open a new view of the same geometry:
l Select Open Cartesian from Window menu.
l Press, drag and release the left mouse button to specify the view limits.
l Select Full from View menu in order to have a full sized view.
l Select Execute... from File / Macro to open a file chooser.
l Select the file containing the modified recorded script as described above.
l Select OK, it displays all the results on the graphics area.

Export Field Values to a File

The following example shows how to export field values at some locations into an text file. The
coordinates of the points where the field values are to be extracted are read from a file and the
result is written in another file.
CFViewBackward(89)
#(file opening)
fi=open('/disk1/macros/listIn.dat','r',0)

331 CFView™ 16.1 User Guide


fo=open('/disk1/macros/listOut.dat','w',0)
#(write header line)
fo.write('Node# x_cord y_cord z_cord fieldValue\n')-
#(select quantity - if the following line is commented, the active quantity is used)
#QntFieldScalar('Static Pressure')
#(import the type module for later use)
from types import *
#(skip the first line, read the file lines and extract the quantity value.)
s=fi.readlines()
for i in range(1,len(s)-1) :
#(scan line)
lineList=[]
for x in splitfields(s[i]) :
if (x!='') : lineList.append(atof(x))
#(write number and point coordinates)
fo.write("%i %e %e %e"%(lineList[0], lineList[1], lineList[2], lineList[3]))
#(compute value)
q=ProbeXYZ(lineList[1], lineList[2], lineList[3])
#(write value - if the quantity is vectorial then q is a tuple (ordered list of elements))
if (type(q) == tupple) :
for j in range(0,len(q)) : fo.write(' %e'%(q[j]))
else :
fo.write(' %e'%(q))
#(write end of line)
fo.write('\n')
#(close files)
fi.close()
fo.close()

332 CFView™ 16.1 User Guide


8.4 PYTHON CFVIEW™ MODULE

All the CFView™ commands can be accessed from the python shell using python CFView™
modules. Using this module, CFView™ macro execution and debugging can be done in python
shell. Though the Python CFView™ module can be loaded from any python debugger, it has
only been tested with the debugger provided with the standard Python distribution, i.e. pdb. This
functionality is available on Windows 64 bit and Linux 64 bit environment.

Testing is done with IDLE python editor. IDLE is default python editor which comes with Python 2.x
distribution.

Using Python CFView™ Module on Linux

The user can launch Python CFView™ module using the following command:
cfview_version -pdb <macro.py> (optional) <-trace_pdb> (optional)
The "- pdb" argument tells numeca_ start_ version to launch Python and to load Python
CFView™ module instead of the CFView™ executable.
In order to start CFView™ with the "-pdb" argument, the following commands are required:
CFView_args = ['-driver', 'x11', '-interactivegui']
InitCFView(*CFView_args)
If an optional CFView™ macro "macro.py" is provided in command line argument, this will
execute the macro from the Python shell. The user has to provide complete path of the CFView™
macro. The optional command line argument "-trace_pdb" executes the CFView™ macro in
Python debugger mode. In Python debugger mode the macro is executed in steps. For information
on using the Python debugger, please read pdb module in Python documentation on web.
When specific modules (i.e. wxpython) cannot be imported in the integrated CFView™ Python
interpreter, CFView™ can now be launched in interactive mode with the argument "-
interactivegui" from a standard Python interpreter supporting these specific modules.
Only modules compiled with the same Python version (v2.7.12) than the one provided in the
package and the one with which the CFView™ Python module is compiled can be used. For
example, user cannot load a module compiled with v2.6 or v3.0 with a Python interpreter v2.7.

Using Python CFView™ Module on Windows

In order to use Python CFView™ module under Windows the user has to define environmental

333 CFView™ 16.1 User Guide


variables before launching Python, this can be done for example with following batch file:
set NUMECA_DIR=C:/NUMECA_SOFTWARE/fine_some_version
set Path=C:/NUMECA_SOFTWARE/fine_some_version/bin64
set PY_DIR=path to python executable
set DEBUG_MACRO=macro_to_debug.py
set PDB_SET_TRACE=TRUE
%PY_DIR%/python.exe %PY_DIR%/Lib/idlelib/idle.py -c "execfile('%NUMECA_DIR%/_
python/_CFView/load_cfview.py')"
The DEBUG_MACRO and PDB_SET_TRACE lines are optional. On the execution of the
batch file, Python Idle prompt is open. Use command "debug_cfview()" in IDLE Python shell
for executing the macro. The argument "set PDB_SET_TRACE=TRUE" executes the macro
in debugger mode.
When specific modules (i.e. wxpython) cannot be imported in the integrated CFView™ Python
interpreter, CFView™ can now be launched in interactive mode with the argument "-
interactivegui" from a standard Python interpreter supporting these specific modules. This can be
done for example with following batch file:
set NUMECA_DIR=C:/NUMECA_SOFTWARE/fine_some_version
%NUMECA_DIR%/python64/python.exe %NUMECA_DIR%/_python/_CFView/load_
cfview.py -interactivegui
Only modules compiled with the same Python version (v2.7.12) than the one provided in the
package and the one with which the CFView™ Python module is compiled can be used. For
example, user cannot load a module compiled with v2.6 or v3.0 with a Python interpreter v2.7.

8.5 CFVIEW™ COMMAND DESCRIPTION

All macros created with CFView™ v8.7 contain as a first line CFViewBackward(84). This line
should not be removed. If such line is not present, the macro can only be executed if the
CFVIEW_BACKWARD variable has been set to 74, as described below.

Starting CFView™ v8, to execute a macro created with an earlier version CFView™ has to be started
by using the -backward argument when starting CFView™ (e.g. cfview -niversion 8.x -backward
74 ) or by setting the environment variable CFVIEW_ BACKWARD to 74 before launching
CFView™. By default, the CFVIEW_BACKWARD variable is set to 810.

334 CFView™ 16.1 User Guide


Starting CFView™ v8.9, macros are containing as a first line CFViewBackward(89) to ensure
backward compatibility for creation of STM views.
Starting CFView™ v8.10, macros are containing as a first line CFViewBackward(810) to ensure
backward compatibility for harmonic reconstruction.

The number of macro arguments is limited to 255. For macros with more than 255 arguments, the
syntax should be changed from CommandName (argumentList) to apply (CommandName,
argumentList).

Add # coding=utf-8 as a first line in the macro to allow French accents in the macro.

8.5.1 Commands Related to Default Settings

l FaceDisplacement(float f)
l Associated menu item: Preferences/Face Displacement.
l Operation (Face Displacement): sets the face displacement value.
l DefaultsLoad(string filename)
l Associated menu item: Preferences/Load Defaults....
l Operation (Load Defaults from File): opens filename and loads its content as a new set of
default parameters.
l Exceptions: Raises IOError if the project cannot be loaded.
l DefaultDecorationTextType(TextType texttype, int lineAlign, int lineSpacing)
l Associated menu item: Preferences/Decoration Text type...
l Operation (What Are Defaults ?): sets the default type for text insertion. The parameter
lineAlign may have a value of 0 (centering), 1 (left justification) or 2 (right justification).
The parameter lineSpacing may have a value of 0 (normal spacing), 1 (spacing 50% larger)
or 2 (double spacing), Description of Argument List for Some Standard Features for the
textType argument description.
l DefaultColormapType(ColormapType t)
l Associated menu item: Preferences/Colormap type...
l Operation: sets the default type for colormap text, location and color.
l DefaultAxisTextType(TextType t)

335 CFView™ 16.1 User Guide


l Associated menu item: Preferences/Axis Text type...
l Operation: sets the default type for axis text. See Description of Argument List for Some
Standard Features for the textType argument description.
l DefaultGridLineType(LineType line)
l Associated menu item: Preferences/Grid line type...
l Operation (What Are Defaults ?): sets default type for the wire frame of mesh surfaces,
Description of Argument List for Some Standard Features for the lineType argument
description.
l DefaultBoundaryCurveType(CurveType curve)
l Associated menu item: Preferences/Boundary curve type...
l Operation (What Are Defaults ?): sets default type for the boundaries of mesh surfaces,
Description of Argument List for Some Standard Features for the curveType argument
description.
l DefaultSectionCurveType(CurveType curve)
l Associated menu item: Preferences/Section curve type...
l Operation (What Are Defaults ?): sets default type for curves associated to Cartesian plots
on sections, Description of Argument List for Some Standard Features for the curveType
argument description.
l DefaultNodeLineCurveType(CurveType curve)
l Associated menu item: Preferences/Node line curve type...
l Operation (What Are Defaults ?): sets default type for curves associated to Cartesian plots
along grid lines, Description of Argument List for Some Standard Features for the
curveType argument description.
l DefaultPlotDataCurveType(CurveType curve)
l Associated menu item: Preferences/Plot data curve type...
l Operation (What Are Defaults ?): sets default type for plot data curves, Description of
Argument List for Some Standard Features for the curveType argument description.
l DefaultValidationCurveType(CurveType curve)
l Associated menu item: Preferences/Validation curve type...
l Operation (What Are Defaults ?): sets default type for validation data curves, Description of
Argument List for Some Standard Features for the curveType argument description.
l DefaultComparisonCurveType(CurveType curve)

336 CFView™ 16.1 User Guide


l Associated menu item: Preferences/Comparison curve type...
l Operation (What Are Defaults ?): sets default type for curves presenting mesh interpolated
values to be compared with validation data, Description of Argument List for Some
Standard Features for the curveType argument description.
l DefaultLocalValueType ( MarkerType markerType, TextType textType, DoubleFormat
doubleFormat)
l Associated menu item: Preferences/Local value type...
l Operation (What Are Defaults ?): sets type for local values, Description of Argument List
for Some Standard Features for the textType argument description and for the markerType,
textType and doubleFormat arguments descriptions.
l DefaultComparisonToleranceValue(float f)
l Associated menu item: Preferences/Derived quantity epsilon...
l Operation: sets default value for the epsilon of a derived quantity.
l DefaultRangeColorsType(int i, float h, float s, float v, float h, float s, float v, float h, float s,
float v)
l Associated menu item: Preferences/Range colors type...
l Operation (Thresholding (Flat, Smooth and Strip)): sets out of bound colors when plotting
thresholded contours. The fist argument is 1 if out of bound are used 0 otherwise (no colour
for out of bound). The next 9 arguments are hsv values for "below range", "between
ranges" and "above range" colors. The "between ranges" is used when 4 values are
provided as input for the threshold range. More info on hsv values in Description of
Argument List for Some Standard Features.
l DefaultLightOnContours(bool b)
l Associated menu item: Preferences/Light on contours
l Operation: activates or deactivates the lightening on contour representation.
l DefaultNLHSettings(int scaleType, float pRef, float rhoRef, float vRef, int rms, int kMax)
l Associated menu item: Preferences/NLH Settings...
l Operation: sets default values for NLH computations.
scaleType : 0 for linear scale, 1 for logarithmic scale. Default is 1.
pRef : reference pressure for conversion in dB. Default is 2e-04 Pa.

rhoRef : reference density for conversion in dB. Default is kg/m³ , c=340 m/s.
vRef : reference velocity for conversion in dB. Default is 5e-08 m/s.
rms : 0 for no normalization, 1 for rms normalization. Default is 1.

337 CFView™ 16.1 User Guide


kMax : defines the maximum number of terms in Fourier series. Default is 4. More
information see Frame of reference change of the spectral solution.
l SetCFViewNumOfOmpThreads(int numOfThreads)
l Operation: sets the number of openmp threads to the maximum available if
numOfThreads is less than or equal to 0.
l GetCFViewNumOfOmpThreads() returns the number of openmp threads as integer number.
l HideBlankedCells(bool) activates or deactivates cells representation for the overlapping grids.

8.5.2 Picture Output Generation

l PageLayout ( int paperType, float pageHeight, float pageWidth, int orientation, float
reductionHeight, float reductionWidth, int reductionLink)
l Associated item: File / Print... /Print Set Up Editor/Page Layout Editor.
l Operation (PostScript Page Layout Editor): sets the parameters describing the page layout
for a PostScript output. PaperType may be 0 (A4), 1 (A3), 2 (B5), 3 (B4), 4 (US 8.5 x 11),
5 (US 8.5 x 14), 6 (US 11x 17), 7 (US 4 x 5), 8 (slide 24 x 36 mm), 9 (other). Page height
and width are given in cm. Orientation may be 0 (automatic choice), 1 (landscape) or 2
(portrait). Reduction factors are in natural units and if reduction link is 1, reduction in width
is not taken into account.
l SetPrintBannerFont(string fontName, int size)
l Associated item: File / Print... /Banner Type and Size.
l Operation (Output Generation): sets the type and size of the Banner text before printing.
The valid font names are Arial, Times, Roman, Sansserif, TypeWriter, Stroked, NewField,
Enfield, Brooktondale and Kuma.
l Print ( int graphicsFormat, int viewMode, int sizeMode, int bitmapped, int resolution, int
pixelWidth, int pixelHeight, int banner, string fileName, string title, int date, int frame, int
quality)
l Associated item: File / Print... / Print Set Up Editor.
l Operation (Output Generation): creates a hardcopy output.
l graphicsFormat indicates which picture file format to use: graphics format may be 0
(PostScript), 1 (EPS), 2 (PPM), 3(PGM), 4 (PBM), 5 (NTSC), 6(TIFF), 7(JPEG), 8(PNG).
l viewMode indicates if the active view is printed (viewMode =0) or if the whole graphics
area is printed (viewMode = 1).
l sizeMode indicates how the picture size is provided. The picture size is not provided in the
same way for all formats:

338 CFView™ 16.1 User Guide


l for bitmapped formats (PPM, PGM, PBM, NTSC, TIFF, JPEG and PNG): the picture size
may be specified in pixelWidth and pixelHeight (sizeMode = 1) or computed from the
screen graphical size and the parameter resolution (sizeMode = 0).
l for vectorized formats (PostScript and EPS): the parameter is not taken into account and the
picture size is always computed from the screen graphics size and the parameter resolution.
l bitmapped is used only for vectorized formats: PostScript and EPS formatted output may
be bitmapped (bitmapped =1) or not (bitmapped=0).
l resolution is used for vectorized formats and for bitmapped formats if sizeMode is set to 0:
l for bitmapped formats (PPM, PGM, PBM, NTSC, TIFF, JPEG and PNG), resolution is
the scaling factor (in percent).
l for vectorized formats (PostScript and EPS), resolution is the resolution in dot per inch
(dpi).
l pixelWidth and pixelHeight are indicating the picture size in the case of bitmapped format
and sizeMode set to 1 (otherwise the values are not used).
l banner indicates if a banner is to be added to the picture (banner =1) of not (banner =0).
l fileName is the name of the file to be created. Please note that no check is performed about
the existence of this file and a pre-existing file would be replaced.
l title is the text to be inserted in the banner if the banner parameter is set to 1 (otherwise,
the content is not used).
l date is a Boolean value indicating if the print date should be mentioned in the banner or
not. This argument may be omitted.
l frame indicates if the frame is printed (frame = 1) or no frame is printed (frame = 0).
l quality is an integer value, ranging from 0 to 3. It specified the internal size of the image
that will be computed, as well as the number of blur passes. "normal" corresponds to
quality = 0, "high" to quality = 1, "thin lines" to quality = 2, "very thin lines" to quality =
3
l PostScriptSave(string filename)
l Operation (Output Generation): saves the current display in PostScript format. Aspect ratio
and resolution depend on the actual size of the display on the screen and are automatically
computed.
l EPSSave(string filename)
l Operation ( Output Generation ): saves the current display in Encapsulated PostScript
format. Aspect ratio and resolution depend on the actual size of the display on the screen.
l PPMSave(string filename), PGMSave(string filename), PBMSave(string filename)
l Operation (Output Generation): saves the current display in PPM, PGM or PBM format.
l NTSCSave(string filename)

339 CFView™ 16.1 User Guide


l Operation: saves the current display in NTSC format. Produces 3 files with suffix '.U',
'.Y'.and '.V' that can be used to produce animations.

8.5.3 Commands Related to Project Handling

l string FileOpenProject(string filename)


l Associated menu item: File/Open Project...
l Operation (Project Management): opens filename as a CFView™ project. Returns the
name of the created view.
l Exceptions: Raises IOError if the project cannot be loaded.
l This command can be used to load unsteady projects when followed by the command
UnsteadyTimeSteps(first_time_step, last_time_step).
Example: if the user wants to create a macro for an unsteady project in which he needs
the name of the view, he can write:
FileOpenProject(filename)
first_view=UnsteadyTimeSteps(first_time_step,last_time_step)
l string FileOpenProjectSelection(string filename, string grid level, int grid level, string all or
blocklist, int nr of blocks, string range, string all or loadqnt, string quantityName)
l Associated menu item: File/Open Project Selection...
l Operation (Project Management): opens filename as a CFView™ project. Returns the
name of the created view. This macro allows the user to specify the blocks list and the
quantities to load.
l Exceptions: Raises IOError if the project cannot be loaded
l This command can be used to load unsteady projects. The unsteady keyword indicates that
a list of time steps to load will follow. The time steps refer to the file naming of
FINE™/Turbo flow solver output.
Example: 'FileOpenProjectSelection ('/server/home/user/example.run', 'gridlevel', 2, 'all',
'loadqnt', 'Static Temperature', 'Y+', 'Cf', 'unsteady', '5 25 10')' to load the interval of time
steps from the first time step 5 to the last time step 25 with interval steps of 10. This means
the following files: project_t5.cgns, project_t15.cgns and project_25.cgns.
l This command can be used to reconstruct unsteady time steps and clocking positions from
harmonic solution. The 'reconstruct_unsteady' keyword indicates that a reconstruction will
be performed. The parameters of the reconstruction follow:
l the repetitions keyword followed by the repetition per group,
l the name of the output file,

340 CFView™ 16.1 User Guide


l the harmonic_selection keyword followed by the list of selected harmonics for each group,

the harmonics keyword followed by the number of harmonics, is kept for backward
compatibility. If both harmonics and harmonic_selection keywords are present, then the
harmonic_selectionkeyword will not be considered.

l the periods keyword followed by the number of periods only if reconstruction in time,
l the pitch_displacement keyword followed by the pitch displacement per group,
l the only_perturbation keyword to plot perturbation only,
l the get_back keyword if the next blade channel must be represented after a rotation of 1
pitch,
l the time_mean keyword if the time-mean flow is reconstructed (clocking) followed by the
keyword moving_group and by the index of the moving group. If the argument 'time_
mean' is used, the number of clocking positions is specified in the string after the argument
'unsteady' instead of the time steps.
l the time_harmonics keyword if the time harmonics needs to be exported (Rank-2 with
variable clocking) followed by the index list of the harmonics for each group. When the
time-mean is not selected, the keyword 'time_harmonics' should be replaced by 'time_
harmonics_only'.
Example of reconstruction in space: 'FileOpenProjectSelection
('/server/home/user/example.run', 'gridlevel', 2, 'blocklist', 30, '1-25 31-35', 'unsteady', '1 20
1', 'reconstruct_unsteady', 'repetitions', '2 2 2 2 2 0 2', '/server/home/user/example_unst.run',
'harmonics', 2, 'pitch_displacement', '0 0 1 0 0 0 0', 'time_mean', 'moving_group', 3) to
reconstruct 20 clocking positions with variable clocking on group 3 with 2 repetitions on all
groups except group 6 and a pitch displacement only on group 3.
Example of reconstruction in time: 'FileOpenProjectSelection
('/server/home/user/example.run', 'gridlevel', 2, 'all', 'unsteady', '1 20 1', 'reconstruct_
unsteady', 'repetitions', '2 2 2 2 2 0 2', '/server/home/user/example_unst.run', 'harmonics', 2,
'periods', 5, 'pitch_displacement', '0 0 1 0 0 0 0', 'only_perturbation') to reconstruct only the
quantity perturbations on 20 time steps and on 5 periods with 2 repetitions on all groups
except group 6 and a pitch displacement only on group 3.

341 CFView™ 16.1 User Guide


l When inlet distortion, under 'pitch_displacement' the last item refers to it and if variable
clocking is applied on inlet distortion last group index should be mentioned.
Example of reconstruction in space with inlet distortion: 'FileOpenProjectSelection
('/server/home/user/example.run', 'gridlevel', 2, 'all', 'unsteady', '1 20 1', 'reconstruct_
unsteady', 'repetitions', '2 2 2 2 2 0 2', '/server/home/user/example_unst.run', 'harmonics', 2,
'pitch_displacement', '0 0 0 0 0 0 0 2', 'time_mean', 'moving_group', 8) to reconstruct 20
clocking positions with variable clocking on inlet distortion (group 8) with 2 repetitions on
all groups except group 6 and two pitch displacement only on inlet distortion (group 8).
l the ctrl_pts keyword if control points are defined for reconstruction followed by the number
of control points. For each control points, there is a string containing the block number and
the I, J and K indices.
Example: 'FileOpenProjectSelection ('/server/home/user/example.run', 'gridlevel', 2, 'all',
'loadqnt', 'Static Temperature', 'Y+', 'Cf', 'unsteady', '5 25 10', 'ctrl_pts', 3, '5 4 7 9', '5 6 9
1', '23 1 1 1')' to load the interval of time steps for the control points specified from the first
time step 5 to the last time step 25 with interval steps of 10.
l string OpenCGNSProject(string fileName, string baseName)
l No Associated menu item
l Operation: opens a CFD data set in the CGNS formatted file. fileName is the name of the
file and baseName is the name of the CGNS base to be loaded.
l Exceptions: Raises IOError if the project cannot be loaded.
l string OpenCGNSAutogrid(string fileName)
l Associated menu item: File/Open Mesh ...
l Operation: opens a structured mesh in CGNS format. Returns the name of the created view.
l string OpenUnstructuredMesh(string fileName)
l Associated menu item : File/Open Mesh ...
l Operation: opens an unstructured mesh in HEX or SPH format. Returns the name of the
created view.
l string OpenPlot3DProject ( string geometryFileName, string solutionFileName, string
functionFileName, string nameFileName)
l Associated menu item: File/Open Plot3D Project...
l Operation): opens a CFD data set in the PLOT3D format. The geometryFileName
argument is mandatory, while the three others are optional. geometryFileName is the name
of the geometry file, geometryFileName is the name of the solution file;
functionFileName and nameFileName are the name of the function and name files.
l Exceptions: Raises IOError if the project cannot be loaded.
l DefaultPlot3DFileType(int format, int bigEndian, int blanking, int multiZone, int dim)

342 CFView™ 16.1 User Guide


l Associated item: Default Plot3D type dialog box raised from the Plot3D file chooser.
l Operation: sets the parameters that are necessary to read correctly the Plot3D formatted data
sets.
format indicates the type of file formatting: 0 for ASCII, 1 for unformatted single precision,
2 for unformatted double precision, 3 for formatted single precision and 4 for formatted
double precision.
bigEndian must have a value of 1 if the data set was created on a binary big endian
computer or a value of 0 if it was created on a lower (or little) endian computer system.
blanking has a value of 1 if blanking information is included in the files, or a value of 0 if
such information is not included.
multiZone must have a value of 1 if the data set is a multi block grid, it must be set to 0
otherwise.
dim indicates the dimensionally of the data set: its value must be 2 or 3.
l string UnsteadyProjectOpen(string filename, float time [,string fileName, float time]*)
l Operation: opens an unsteady project having more than one time step. Each time step is
specified by the corresponding file name and its time value. The command opens the first
time step in a new view and returns the name of the created view.
l int NumberOfTimeSteps()
l Operation: returns the number of time steps in the current project.
l [int, int] GetProjectDimensions()
l Operation: returns Topological and Physical dimensions of the active projects.
Example:
dims=GetProjectDimensions()
print 'Topological dimension=',dims[0], 'Physical dimension=',dims[1]
l If the active project is a common 3D project, both dimensions are 3.
l If it is a CGNS surface project, Topological dimension is 2 and Physical dimension is 3.
l If it is a meridional averaging, both dimensions are 2.
l SetActiveTimeStep(int i)
l Operation: loads the specified time step starting from 0. The maximum number of time
steps is equal to the number of time steps loaded - 1. The first time step loaded is always 0.
For example, if there are 10 time steps available in a project and the user loads the time
steps 3 to 8 with an interval of 2, 3 time steps will be available corresponding to the time
steps 3, 5 and 7 of the full unsteady project. When i is set to 0, the time step 3 will be
loaded.
l SelectTimeStep(int i)

343 CFView™ 16.1 User Guide


l Operation: loads the specified loaded time step starting from 1. The maximum number of
time steps is equal to the number of time steps loaded. The first time step loaded is always
1. For example, if there are 10 time steps available in a project and the user loads the time
steps 3 to 8 with an interval of 2, 3 time steps will be available corresponding to the time
steps 3, 5 and 7 of the full unsteady project. When i is set to 1, the time step 3 will be
loaded.
l NextTimeStep()
l Operation: loads the time step following the current one. The NextTimeStep function
makes CFView™ do whatever the macro contains before this command. This can lead to a
slow down and a lot of memory. The best practice is to record a macro "macro.py" for one
time step and use the MacroExecute command in the macro for the unsteady computation.
The MacroExecute suspends the record of the operations for the NextTimeStep function.
Then, a loop of the time steps can be performed as presented in the example below.
l Example:
CFViewBackward(811)
macro='D:/macro.py'
Number_Of_Time_Steps=50
timeString='1 '+str(Number_Of_Time_Steps)+' 1'
FileOpenProjectSelection('Y:/users/results_unst.run','all','unsteady',timeString)
i=1
MacroExecute(macro)
for i in range(2,Number_Of_Time_Steps+1):
print 'i=',i
NextTimeStep()

The macro 'D:/macro.py ' must not contain opening command.

l FileLoadNextTimeStep()
l Operation: goes to next time step without executing what the macro contains before this
command.
l FileCloseProject()
l Associated item: File / Close Project....
l Operation: closes the project associated to the active view. All views related to that project
are closed too.
l Exception: raises an AttributeError if these is not active view.

344 CFView™ 16.1 User Guide


l Quit()
l Operation: quit CFView™.

8.5.4 Commands Related to Additional Views Creation

Most of the commands listed in this section are returning the name of the created view. This
feature allows to handle multiple views in a macro script. As an example, the following script
opens a first project. then a second one, and finally selects the view associated to the first project:
vp1 = FileOpenProject( ... )
#Opens a first project and stores in vp1 the name of the view associated to the project.
vp2 = FileOpenProject( ... )
#Opens another project and stores in vp2 the name of the view associated to this second
project. The active view is now vp2.
ViewActivate(vp1)
#Re-selects the view associated to the first opened project. Any further command applies now to
the first project.
l string ViewOpen(double xmin, double xmax, double ymin, double ymax)
l Associated menu item: Window/Open Cartesian.
l Operation (Multiple Views): opens a new view of the current project at position (xmin,
xmax, ymin, ymax). Returns the name of the view created. The upper right corner of the
graphics area is (1, 1) and the lower left (-1, -1).
l Exceptions: raises an Attribute Error if there is no current project.
l string ViewOpenRTZ(double xmin, double xmax, double ymin, double ymax)
l Associated menu item: Window / Open Cylindrical.
l Operation (Multiple Views): opens a new view of the current project at position (xmin,
xmax , ymin , ymax ) in the cylindrical coordinate system. Returns name of the view
created. The upper right corner of the graphics area is (1, 1) and the lower left (-1, -1).
l Exceptions: raises an Attribute Error if there is no current project.
l string ViewOpenSTM(double xmin, double xmax, double ymin, double ymax)
l Associated menu item: Window / Open Blade to Blade.
l Operation (Open Blade to Blade View ): Opens a new view of the current project at
position (xmin, xmax, ymin, ymax) in the STM coordinate system. Returns name of the
view created. The upper right corner of the graphical area is (1, 1) and the lower left (-1, -1)
l Exceptions: raises an Attribute Error if there is no current project.

345 CFView™ 16.1 User Guide


8.5.5 Commands Related to Animation Control

The following section describes the macros for unsteady animation control.
l RecordAnimation(bool b)
l Operation: executed when the user clicks on "Start/Stop Animation Recording" button.
l SetRecordAnimParam(int viewmode, int sizemode, int scaling, int xpixels, int ypixels,
bool bannermode, string bannertext, bool datemode, int delay, int loops, bool
deleteimagefilesmode, string animationfilename)
l Associated menu item: Start/Stop Animation Recording button.
l Operation: this macro sets the values of animation parameters.
l viewmode: 0 saves the active view and 1 saves the graphics window.
l sizemode: 0 means that the scaling mode will be used, 1 means that the pixels mode will be
used.
l scaling: performs a scale of the picture (maximum: 1600 and minimum: 30).
l xpixels and ypixels: define the number of pixels along X and Y directions (maximum:
5000 and minimum: 16)
l bannermode: includes a banner if it sets to 1.
l bannertext: text included in the banner if bannermode is set to 1.
l datemode: the date is included in the animation.
l delay: imposes a delay between 2 frames (in 1/100th of a second).
l loops: includes a number of loops in the animation.
l deleteimagefilesmode: deletes the intermediate pictures when saving the animation.
l animationfilename: name of the animation file.
l AnimPrint()
l Operation: this macro is similar to Print macro (Picture Output Generation). It creates PNG
image files using the information that has been set through SetRecordAnimParam macro.
l AnimationLoop(bool b)
l Operation: this macro activates the loop for the recorded animation if the Boolean is set to
1.
l FreeMemory(bool b)
l Operation: activates or deactivates the "Free Memory On/Off" button respectively.
The following section describes the macros for steady animation control. It includes all of
these: streamline, cutting plane, and structured surface animations.
l RecordSteadyAnimation(bool b)

346 CFView™ 16.1 User Guide


l Operation: its usage is similar to RecordAnimation macro used for unsteady animation.
This macro is executed when the Record button is activated (b = 1) or deactivated (b = 0).
l SteadyAnimationNextStep()
l Operation: draws the next frame for steady animation.
l SetRecordSteadyAnimParam ( int viewmode, int sizemode, int scaling, int xpixels, int
ypixels, bool bannermode, string bannertext, bool datemode, bool annotatemode, string
annotatetext, int annotatelocation, bool bordermode, int delay, int loops, bool
deleteimagefilesmode, string animationfilename)
l Operation: Its usage is similar to SetRecordAnimParam macro used for unsteady
animation. This macro sets the values of animation parameters.
l StreamLineAnimationInit()
l Operation: initializes and draws the first frame of the animation.
l StreamLineAnimationStop()
l Operation: stops the animation and clears the markers used for the animation.
l StreamLineAnimationConfigure(float emission rate)
l Operation: sets the emission rate of the streamline animation.
l CuttingPlaneScrollingInit()
l Operation: initializes and draws the first frame of the animation.
l CuttingPlaneScrollingStop()
l Operation: stops the animation and clears the markers used for the animation.
l CuttingPlaneScrollingConfigure (2, 6, normal X, normal Y, normal Z, step, type, max
frame/sec)
l Operation: sets parameters for the cutting plane scrolling. type is set to 0 for geometry and 1
for quantity.
l SurfaceIJKScrollingInit()
l Operation: initializes and draws the first frame of the animation.
l SurfaceIJKScrollingStop()
l Operation: stops the animation and clears the markers used for the animation.
l SaveAveragedSteadyProject(string filename, string name1, string name2, ......)
l Operation: saves time-averaging steady solution for the specified quantities to file. The

347 CFView™ 16.1 User Guide


8.5.6 Commands Related to Multiple Views Handling

l ViewActivate(string viewName)
l Associated Item: view selection by clicking with the left mouse button.
l Operation (Multiple Views): activates the view having name viewName.
l Exceptions: if view is not existing will raise Attribute Error.
l GraphicsViewActivate()
l Operation: if the current view is a 2D or a 3D view, the command does nothing. If the
current view is a Cartesian plot view, a new 2D or 3D view is opened, with the same
position and size as the Cartesian plot view.
l PlotViewActivate(string quantityName)
l Operation: activates the Cartesian plot view associated to the specified quantity. If the
quantity exists in the project and if there is not already a Cartesian plot view associated to it,
a new Cartesian plot view is created.
l ViewTile()
l Associated menu item: Window / Tile Views.
l Operation (Multiple Views): tiles all the views on the display.
l Exceptions: -
l ViewAlign(string viewName)
l Associated menu item: View / Align Views.
l Operation: sets the camera of the active view in the same position and orientation as the
camera in the view having the specified name.
l SynchronizeViews(string viewName)
l Associated menu item: View / Synchronize Views.
l Operation: synchronizes the selected view with the active view ("master" view).
l ShowSynchronizedViews(int b)
l Associated menu item: View / Show Synchronized Views.
l Operation: displays a label (b=1) at the bottom of each view indicating the ID of the view
as well as all the "slaves" views synchronized with it when "master" view.
l StopSynchronizedViews()
l Associated menu item: View / Stop View Synchronization.
l Operation: stops the dynamic synchronization of the whole CFView™ session.
l ViewSwap(string viewName)

348 CFView™ 16.1 User Guide


l Associated menu item: View / Swap Views.
l Operation: exchanges the limits specification between the active view and the one with the
provided name.
l ViewSuperpose(string viewName)
l Associated menu item: View / Superpose Views.
l Operation: sets the limits of the view with the provided name equal to the limits of the
active view and sets the active view transparent.
l MatchRanges(string viewName)
l Associated menu item: View / Match Ranges
l Operation: sets the colormap range for the first activated view equal to the range of second
selected view.
l ArrangeIcons()
l Associated menu item: Window / Arrange Icons.
l Operation (Multiple Views): arranges the iconized views on the display.
l Exceptions: -
l Update()
l Associated menu item: Window / Refresh.
l Operation (Multiple Views): refreshes the graphical area.
l Exceptions: -
l CFViewWarning(string text)
l Operation: displays a warning in red in the message area below the graphics area.
l Example: CFViewWarning('Macro has been executed')

8.5.7 Commands Related to Turbomachinery Mode & B2B


View

l LoadHubAndShroud(string filename)
l Associated item: Geometry / Load hub and shroud curves...
l Operation: reads in the specified filename (.cgns or .dat) the definition of the hub and
shroud curves to create STM views and blade-to-blade view.
l SetAG5Conversion(float)
l Operation: imposes a conversion factor to the AutoGrid5™ hub and shroud data for
unstructured meshes when units are different from flow solver ones.

349 CFView™ 16.1 User Guide


l SetTheta0(float theta0)
l Operation: cuts the unstructured mesh (blocks meshed on 360 degrees) along the half-plane
theta=theta0 (in radian) after loading the hub and shroud curves. This command should be
executed before loading the project.
l DefaultTurboMDefinition(int mode TM, int nrofspan, float rshift, int mode SM)
l Associated menu item: Preferences / Turbo Settings.
l Operation: defines M definition mode in TM and SM views when activating
turbomachinery mode (File/Turbomachinery). mode is set to 0 for "Backward 8.7", 1 for
"AutoGrid5 Definition" and 2 for "Hub Equal Shroud". nrofspan is the number of
spanwise constant flow paths used for the discretization. rshift is the shift used in
"AutoGrid5 Definition" mode.

It is advised to execute the command before loading a .run file into CFView™.

l SetTurboMode(), UnsetTurboMode()
l Associated menu item: File / Turbomachinery.
l Operation: enables or disables the turbomachinery mode.
l OpenTurboModeStandard3DView(int forceNew)
l Operation: opens a standard three dimensional view at its default location. If the forceNew
value is different from 0, a new view is created (and replaces the already existing one if
necessary).
l OpenTurboModeBladeToBladeView(int forceNew)
l Operation: opens a blade to blade view at its default location. If the forceNew value is
different from 0, a new view is created (and replaces the already existing one if necessary).
l OpenTurboModeBladeView(int forceNew)
l Operation: opens a blade view at its default location. If the forceNew value is different
from 0, a new view is created (and replaces the already existing one if necessary).
l OpenTurboModeMeridionalView(int forceNew, int computeAverage)
l Operation: opens a meridional view at its default location. If the forceNew value is
different from 0, a new view is created (and replaces the already existing one if necessary).
If the computeAverage value is set to 1 then the meridional average is computed instead of
loaded from the solver data.

350 CFView™ 16.1 User Guide


8.5.8 Commands Related to Meridional View Creation

l string OpenPitchAveraged(int mode, int listLength, ...., string weightOption)


l Operation: computes the pitch average based on the provided meridional mesh and opens a
new view in which the results are shown.
l SetDefaultPitchAveragePatches ( int mode, int listLength, ...., string weightOption, int
noOfScalars, int noOfVectors, listOfScalars, listOfVectors)
l Associated menu item: Geometry / Set Meridional Average Input...
l Operation: defines the default meridional mesh used by the command
OpenDefaultPitchAverageView (). If the last four parameters are not defined, all the
quantities will be averaged.
l Explanation of arguments meaning:
mode: specifies how the meridional mesh is provided in the following arguments. Three
modes are supported:
if mode = 1, the surfaces list is provided as a set of names and the listLength value is the
number of surfaces in the meridional mesh.
if mode = 2, the surfaces list is provided as a serie of 3 integral values: domain number,
index family, index value, it defines one of the subsurfaces belonging to the meridional
mesh, the list length argument is the total number of integer values defining the whole set of
subsurfaces. Thus, for example, one subsurface needs three numbers, and the list length
argument value is 3 if the meridional mesh contains only one subsurface, 6 if the meridional
mesh contains two subsurfaces, etc... (see also Commands Related to Surface Creation)
if mode = 3, the surfaces list is provided as a series of mesh surfaces described by
normalized parameters. These parameters are the domain index, the surface family index,
the normalized index value and the normalized range to be considered (see the
StructuredSurfaceSave command in Commands Related to Surface Creation for a more
detailed explanation on these parameters. In this case, the listLength value is the number of
surfaces in the meridional mesh.
weightOption: a string value specifying the applied weighting. The supported values are:
"1" means a value 1 is given to the weighting coefficient,
"Density*Vxyz" or "Density*Wxyz" means that a mass flow weighting is applied.
noOfScalars: the number of selected scalars to be averaged. (optional)
noOfVectors: the number of selected vectors to be averaged. (optional)
listOfScalars: the list of selected scalar names to be averaged. (optional)
listOfVectors: the list of selected vector names to be averaged. (optional)
l SetMeridionalAverageInput(string weightOption, int noMeridionalSurf, listOfNames, int
noOfScalars, int noOfVectors, listOfScalars, listOfVectors)

351 CFView™ 16.1 User Guide


l Associated menu item: Geometry / Set Meridional Average Input...
l Operation: sets the meridional average input for unstructured project with the parameters
given. If the last four parameters are not defined, all the quantities will be averaged.
weightOption: a string value specifying the applied weighting. "1" means a value 1 is
given to the weighting coefficient and "Density*Vxyz" or "Density*Wxyz" means that a
mass flow weighting is applied.
noMeridionalSurf: the number of meridional surfaces selected.
listOfNames: the list of names for the selected meridional surfaces.
noOfScalars: the number of selected scalars to be averaged. (optional)
noOfVectors: the number of selected vectors to be averaged. (optional)
listOfScalars: the list of selected scalar names to be averaged. (optional)
listOfVectors: the list of selected vector names to be averaged. (optional)
l string OpenDefaultPitchAveragedView()
l Associated menu item: Window / Compute & Open Pitch Average
l Operation: computes and opens a pitch average view, by using the default meridional
patches taken from the project file or specified by the command
SetDefaultPitchAveragePatches().

When the user creates a pitch averaged view, the numerotation is modified. For example, for a
multistage project including 6 blocks, the user creates a meridional view in which there is only 4
patches leading to a different resulting numerotation. The function StructuredDomainSize will
not return the same results in the 3D view and in the pitch averaged view.

8.5.9 Commands Related to Active View Only

Unless differently stated, all these commands perform no action if no view is active.
l string ViewName()
l Operation: returns the name of the currently active view.
l Exceptions: if no view is active, raises a Run Time Error.
l BackgroundType(int type, arguments)
l Associated menu item: Set Background
l Operation: sets the active view background to single color (type=0), shaded colors
(type=1), picture file (type=2) or skybox file/script (type=3).

352 CFView™ 16.1 User Guide


l Arguments:
l when single color: BackgroundType(0, h, s, v) where the 3 arguments h, s and v refer
to the HSV color.
l when shaded colors: BackgroundType (1, h1, s1, v1, h2, s2, v2) where the 6
arguments h1, s1, v1 and h2, s2, v2 refer to refer to the 2 HSV colors selected to define
the shaded background.
l when picture file: BackgroundType(2, string filenamepath, ints) where the arguments
are the full path of the picture file to be loaded and the stretching option (stretched (s=0)
or normal mode (s=1)).
l when skybox file/script: BackgroundType(3, string filenamepath) where the argument
is the full path of the skybox file or script to be loaded.
l ResetViewContent()
l Associated menu item: Window / Reset View
l Operation: resets the view to its default content. For 3D and 2D views, all solid surfaces
boundaries are shown and the camera is set in its original position. For Cartesian plot
views, the command removes all the curves.
l DeleteViewContent()
l Operation: delete all the content of the active view.
l ViewPushBack(), ViewBringToFront()
l Associated menu item: View / Push Back.
l Operation: pushes the active view behind the other ones or bring it in front of others.
l ViewClose()
l Associated menu item: Window / Close.
l Operation (Close Active View): closes the current view. After this operation no view is
active.
l Exceptions: raises an Attribute Error if there is no current view.
l Border(int b)
l Associated menu item: View / Parameters / Border.
l Operation (View/Parameters): suppresses (b=0) or activates (b=1) the view border.
l Transparent(int b)
l Associated menu item: View / Parameters / Transparent.
l Operation (View/Parameters): sets the current view in transparent mode (b=0) or in opaque
mode (b=1).
l LimitsFull()

353 CFView™ 16.1 User Guide


l Associated menu item: View / Full.
l Operation ("Change View Size/Position" (p. 56)): sets current view to full size.
l Limits(float xmin, float xmax, float ymin, float ymax)
l Associated menu item: View / Move and View / Resize.
l Operation ("Change View Size/Position" (p. 56)): sets the lower left corner of the active
view to (xmin, ymin) and its upper right corner to (xmax, ymax). The lower left corner of
the graphics area is in (-1,-1) and its upper right corner is in (1,1).
l ViewIconize()
l Associated menu item: View / Minimise.
l Operation ("Change View Size/Position" (p. 56)): iconizes the current view.
l Exceptions: raises an Attribute Error if no view is active.
l LimitsPref()
l Associated menu item: View / Preferred Size.
l Operation ("Change View Size/Position" (p. 56)): resets the current view to the size it had
before a ViewIconize command (only if the last resizing command was ViewIconize).
l UpdateUndo()
l Associated menu item: Update / Undo.
l Operation (Undo): deletes the last added representation.

8.5.10 Commands Related to Viewing Geometry of Active


View

Unless stated differently, all these commands perform no action if no view is active.
l Projection(int m)
l Associated menu items: View / Parameters / Stretched, Orthographic and Perspective
l Operation (Projection Mode): sets the projection mode in stretched (m=0), orthographic
(m=1) or perspective mode (m=2).
l Exceptions: raises Attribute Error if m is not 0, 1 or 2.
l Normal(float nx, float ny, float nz)
l Associated menu item: View / Parameters / Normal
l Operation (View Concepts): sets the camera to point in a direction parallel to the vector (nx,
ny, nz).
l UpVector(float nx, float ny, float nz)

354 CFView™ 16.1 User Guide


l Associated menu item: View / Parameters / UpVector
l Operation ("View Concepts" (p. 44)): sets the up direction parallel to the vector (nx, ny,
nz).
l FullRender(bool b)
l Associated menu item: View / Parameters / FullRender
l Operation (View/Parameters): activates the Full Render mode if b is set to 1.
l FastPreview(bool b)
l Associated menu item: View / Parameters / Fast Preview
l Operation (View/Parameters): activates the Fast Preview mode.
l ViewOriginal(bool onlyVisibleGeometry)
l Associated item: original viewing button.
l Operation (Viewing Buttons): if onlyVisibleGeometry = 0 : takes all the geometry into
account for the fit. If onlyVisibleGeometry = 1: takes only the visible geometry into
account for the fit (the "fit camera" button fits only the visible geometry).
l ViewPlaneX/Y/Z()
l Associated item: projection viewing buttons.
l Operation (Viewing Buttons): projects the current view on a X, Y, or Z plane.
l ViewRotateX/Y/Z(float a)
l Associated item: rotates viewing buttons.
l Operation (Viewing Buttons): rotates the current camera around an axis defined by the
target point and the axis X, Y, or Z. Rotation angle is given by 'a' in radian.
l ViewDolly(float a)
l Associated item: dolly viewing button.
l Operation (Viewing Buttons): rotates the view around the view axis from an angle a.
l ViewRotate(float u, float v, float -)
l Associated item: free rotation viewing button.
l Operation (Viewing Buttons): rotates the view of an angle u around the horizontal axis
perpendicular to the view axis and of an angle v around the view axis;
l ViewScroll(float u, float v, float -)
l Associated item: translation viewing button.
l Operation (Viewing Buttons): Translates the view from vector (u,v). (2,2) corresponds to a
translation from the lower right corner to the upper left corner.
l ViewZoom(float f)

355 CFView™ 16.1 User Guide


l Associated item: zoom button.
l Operation (Viewing Buttons): performs a zoom in/out operation by multiplying the camera
width and height by f. Values larger than 1 result in a zoom out operation, while values
smaller than one result in a zoom in operation.
l ViewZoomAreaIn(float xmin, float xmax, float ymin, float ymax)
l Associated item: zoom area viewing button.
l Operation (Viewing Buttons): Zooms in the view. The rectangle defined by (xmin, xmax,
ymin, ymax) becomes the whole scene after the operation. On 3D and 2D views, a zoom of
(-1, 1, -1, 1) is a full view zoom (i.e. has no effect). In Cartesian plot views, the arguments
correspond to the abscissa and ordinate axes ranges.
l ViewZoomAll()
l Associated menu item: zoom all viewing button.
l Operation (Viewing Buttons): Performs a fitting operation.
l ViewTarget(float f)
l Associated item: target viewing button.
l Operation (View Concepts): moves the camera along the line of view. The new position is
obtained by multiplying the distance between the camera and the view point by f. The
command ViewTarget () only works when the projection mode Perspective ( View /
Parameters / Perspective) is active.
l ViewPlane(float f)
l Associated item: plane viewing button.
l Operation (View Concepts): moves the camera target and the associated clipping planes
along the line of view. The new target position is obtained by multiplying the distance
between the camera and the view point by f. The clipping plane are moved by an equal
distance.
l SetCamera(float p1, float p2, float p3, float t1, float t2, float t3, float v1, float v2, float v3,
float w, float h)
l Associated menu item: dynamic viewing button.
l Operation ( Viewing Buttons ): sets the camera position and viewing parameters. The
vertical vector defines which vector should be up. It controls the angle of the view (i.e as a
lateral flexion of the head pointing a target in front of you). While the view itself is
controlled by the vector from the camera position coordinates to the target point
coordinates.
l Arguments:

356 CFView™ 16.1 User Guide


l p1, p2, p3 are the coordinates of the camera position.
l t1, t2, t3 are the coordinates of the target point.
l v1, v2, v3 are the coordinates of the vertical vector direction.
l w and h are respectively the width and height of the view.
l SetCameraWidth(float f), SetCameraHeight(float f)
l Operation: sets the camera width / height to the specified value.
l GetCamera()
l Operation: returns a list with the camera position coordinates (p1, p2, p3), the camera target
coordinates (t1, t2, t3), the camera up vector coordinates (v1, v2, v3), the camera width (w)
and the camera height (h). The first 3 parameters are vectors, the last 2 are numbers.

Example:

camera = GetCamera()
cameraPosition = camera[0]
cameraTarget = camera[1]
cameraUpVector = camera[2]
cameraWidth = camera[3]
cameraHeight = camera[4]
ViewOriginal(1)
SetCamera(cameraPosition[0],cameraPosition[1],cameraPosition[2],cameraTarget[0],
cameraTarget[1], cameraTarget[2],cameraUpVector[0],cameraUpVector
[1],cameraUpVector[2],cameraWidth, cameraHeight)

8.5.11 Commands Related to Mesh Representation

These commands are related to the active view. no action is performed if no view is active.
l PostDefaultSurfaces()
l Operation: adds the representation of the boundaries of the default surfaces. This command
is performed when a new 2D or 3D view is opened.
l GmtToggleBoundary(), GmtBoundaryVisibility(int b, [string name])

357 CFView™ 16.1 User Guide


l Associated menu item: Geometry / Boundary.
l Operation (View Surfaces): toggles or sets visibility of the boundaries of surfaces. The b
argument is interpreted as a Boolean value: if b=0, the boundary visibility is turned off,
otherwise it is turned on. If a name is provided, the visibility of the specified surface is set,
otherwise all the active surfaces boundaries visibility is set. There may be more than one
name passed as argument.
l GmtToggleBoundarySolid()
l Associated menu item: Geometry / Solid Boundary.
l Operation (View Solid Boundaries): toggles the visibility of the boundaries of the active
surfaces having a solid boundary condition.
l UpdateBoundaryLineType(LineType lineType)
l Operation: sets the line type attributes for the boundary lines of the active surfaces
( Description of Argument List for Some Standard Features for a description of the
LineType argument).
l GmtToggleGrid(), GmtGridVisibility(int b, [string name])
l Associated menu item: Geometry / Grid.
l Operation (View Grid Wireframe): toggles or sets the visibility of the grid (mesh wire
frame) of surfaces. The b argument is interpreted as a Boolean value: if b=0, the grid
visibility is turn off, otherwise it is turned on. If a name is provided, the visibility of the
specified surface is set, otherwise the visibility off all the active surfaces is set. There may
be more than one name passed as argument.
l GmtScale(float sx, float sy, float sz)
l Associated menu item: Geometry / Scale.
l Operation: sets the scale of the current view in x, y, and z directions to sx, sy and sz.
l Exceptions: Negative or zero scales will produce a ValueError.
l GmtRepetitionToggle(), GmtRepetitionSet(int b)
l Associated menu item: Geometry / Repetition on/off.
l Operation (Graphics Repetition): toggles or sets repetition on domains having at least one
active surface in the view. The argument b is interpreted as a Boolean value: if b=0, the
repetition is disabled, otherwise it is enabled.
l repetitionType GetMeshRepetitionType (), repetitionType GetDomainRepetitionType ( int
domId), repetitionType GetSurfaceRepetitionType(string name)
l Operation: returns the repetition description associated to the current project, to the
specified domain or to the specified surface. A domain is specified by its index, between 1
and the number of domains. A surface is specified by its name. The returned value is a
variable list of parameters. The first parameter in the list indicates the repetition type:
l 0: no repetition. In that case the list does not include other parameters.

358 CFView™ 16.1 User Guide


l 1: repetition by translation. The following parameters in the list are the 3 components of the
translation vector, followed by the number of repetition.
l 2: repetition by rotation. The following parameters indicate the rotation angle in degree,
then the three components of the point defining the rotation axis position and then the three
components of the rotation axis direction.
l 3: repetition by mirroring. The following parameters are the three components of the point
defining the mirror position followed by the three components of the normal to the mirror.
All components of vectors and positions are specified in Cartesian coordinates.
l SetDomainRepetitionType(int domId, repetitionType type)
l Operation (Graphics Repetition): sets the type of repetition for the specified domain (see
previous command for a description of the arguments).
l Exceptions: invalid domain index will produce a ValueError.
l RepetitionCgnsSurfaces(string surfacename, int ntype, float p_1x, float p_1y, float p_1z,
float v_1x, float v_1y, float v_1z, int nrepetition, int nperiodicity)
l Associated menu item: Geometry / Repetition Settings.
l Operation: sets the number of repetitions on surfaces that comes from the surface CGNS
file. It takes the following arguments:
the name of a surface (surfacename) or 'all'
an integer ntype indicating the type of the repetition (1: translation, 2: rotation, 3: mirror)
the 3 coordinates of a point (point)
the 3 coordinates of a vector (vector)
if translation or rotation, the number of repetitions (nrepetition)
if rotation, the number of periodicity (nperiodicity)
There can be a list of surfaces, each one followed by the above arguments.
l GmtRepetitionNumber(int n)
l Associated menu item: Geometry / Repetition Number.
l Operation (Graphics Repetition): sets the number of repetitions on domains having at least
one active surface in the view. The number of the arguments can be 1 (for all
blocks/groups) or the number of groups (one number for one group)
l Exceptions: zero number will produce a ValueError.
l AddRprCellList, RprCellList, RemoveRprCellList(float sizeFactor, int domainIndex, int
cellListSize, int cellIndex1, ..., int cellIndexn)

359 CFView™ 16.1 User Guide


l Associated menu item: Geometry/Cells
l Operation ( View Elements (Unstructured Meshes Only) ): adds or removes cells
representation; sizeFactor is the scaling factor applied to the cell representation;
cellListSize is the number of cells respectively: added to the representation, represented, or
removed from the representation, their indexes are contained in the remaining parameters:
cellindex1,...cellIndexn.
l ShowSelectedSurfacesNormal(string names)
l Associated menu item: Right-click on selected surface
l Operation: shows the normals on the surfaces defined by names
l ReverseSelectedSurfacesNormal(string name)
l Associated menu item: Right-click on selected surface
l Operation: reverses the normals on the surfaces defined by names
l RotateBlock (int blockIndex, float angle, float axis_x, float axis_y, float axis_z, float p_x,
float p_y, float p_z)
l Rotates the specified mesh together with the solutions (cutting planes, color contours,
vectors, local values, etc.).
l TranslateBlock (int blockIndex, float vector_x, float vector_y, float vector_z)
l Translates the specified mesh together with the solutions (cutting planes, color contours,
vectors, local values, etc.).

RotateBlock() and TranslateBlock() will not be applied on the streamlines and the Cartesian
plots.

It is recommended to use these commands RotateBlock() and TranslateBlock() after loading the
project and before doing any representation.

l RemoveSelectedSurfacesNormal(string name)
l Associated menu item: Right-click on selected surface
l Operation: removes the normals on the surfaces defined by names

360 CFView™ 16.1 User Guide


8.5.12 Commands to Obtain Informations on Data Set

l [int, int, int] StructuredDomainSize(int i)


l Operation: returns the number of points in the I, J and K directions for the domain i.
l Exception: if i is out of the valid range (i.e. is lower than 0, equal to 0 or larger than the
number of domains) the function returns three null values. If the value for i is not an integer,
a Syntax Error exception is raised.
l string ProjectFile()
l Operation: returns the file name with path and extension of the data set associated to the
active view.
l Exception: raises a RuntimeError if there is no active view.
l string GetProjectPath()
l Operation: returns the folder of the project opened in the active view.
l string GetProjectName()
l Operation: returns the name of the project opened in the active view.
l int SurfaceExist(string name)
l Operation: returns 1 if a surface or a group of surfaces having the provided name is existing
in the current project. Returns 0 otherwise.
l int NumberOfDomains()
l Operation: returns the number of domains of the loaded project when partial loader is used
and does not load all the available domains. For instance, to get the value, use the following
lines:
nDom = NumberOfDomains ()
print 'NumberofDomains=', nDom
l int NumberOfDomainsInRunFile()
l Operation: returns the number of domains of the active project.
l int GetIndexInRunFile(int i)
l Operation: returns the original index in the run file from the loaded domain index.
l int NumberOfPoints(string name)
l Associated item: Surfaces / Right-click on the selected surface
l Operation: returns the number of points of the active surfaces.
l int GetDomainIndexByName(string name)

361 CFView™ 16.1 User Guide


l Operation: returns the domain index for the domain called name. "0" is returned when
domain index does not exist or is not loaded.
l int GetDomainIndexBySurfaceName(string name)
l Operation: returns the domain index of the input surface name. For structured case, if the
partial loader has been used the domain index returned will be the initial block number of
the block. I.e. if only block 3 is loaded it returns 3 instead of 1.
Example:
domId=GetDomainIndexBySurfaceName('deck solid')
l int GetDomainIndexByRegex(string name)
l Operation: returns the domain index (or a list of indexes) based on regular expressions
defined by name.
l string GetDomainNameByIndex(int i)
l Operation: returns the domain name for the domain index i (starting from 1). "Domain not
found" is returned when domain name does not exist or is not loaded.
l SurfaceLimitIndices(string name)
l Operation: returns a list [i0,i1,i2,i3,i4,i5] which contains IJK information on the surface
called name. The information are:
i0: I*min of the surface = Imin if J or K constant surface & Jmin if I constant surface
i1: I*max of the surface = Imax if J or K constant surface & Jmax if I constant surface
i2: J*min of the surface = Jmin if K constant surface & Kmin if I or J constant surface
i3: J*max of the surface = Jmax if K constant surface & Kmax if I or J constant surface
i4: 0, 1, 2 respectively if I, J or K constant surface
i5: constant indice of the surface
l GetSclQntSurfaceList()
l Operation: returns the list of scalar quantity names on surface.
l GetVecQntSurfaceList()
l Operation: returns the list of vector quantity names on surface.
l GetSclQntDomainList()
l Operation: returns the list of scalar quantity names in the field.
l GetVecQntDomainList()
l Operation: returns the list of vector quantity names in the field.
l GetFluidType()
l Operation: returns the fluid type of the computation.
l ThermoTableCompute(string "TableName", float arg1, float arg2, int domainId)

362 CFView™ 16.1 User Guide


l Operation: returns the value of a thermodynamic field according to the table name, arg1,
arg2 and domainId. Arg1 and arg2 are two real numbers for the two thermodynamic field
input values. domainId is the block number of the fluid domain.
l Examples:
If the table is the 1D saturation table: Table name=PSA, arg1 is the pressure (real number),
arg2 is the option (integer) that controls the returned value and domainId is the block
number of the fluid domain:
1=D liquid; 2=D vapor; 3=H liquid; 4=H vapor; 5=S liquid; 6=S vapor; 7=E liquid; 8=E
vapor
rl=ThermoTableCompute("PSA", 1e+5, 1, 3)
rl is D liquid at 100000 Pa in the domain 3.
If the table is a 2D table:
s = ThermoTableCompute("SHP", 2.73e+6, 187000, 2)
s is the entropy for the enthalpy= 2.73e+6 and pressure = 187000 Pa in the domain 2.
Warning: The RHS table does not return D but the ratio P/D.
l float Distance(float p1_x, float p1_y, float p1_z, float p2_x, float p2_y, float p2_z)
l Associated item: Tools / Distance
l Operation: measure the distance between two points p1 and p2. It returns a list containing
the distance between the two points and the values of dx, dy and dz.

8.5.13 Commands Related to Surface Creation

l string CutPlaneSave(float p_x, float p_y, float p_z, float n_x, float n_y, float n_z, int coord,
string name)
l Associated item: Geometry / Create Cutting Plane....
l Operation (Create Cutting Plane): creates and saves the cutting plane defined by the point
(p_x, p_y, p_z) and the normal direction (n_x, n_y, n_z).
The last two parameters ( coordinateSystem and name ) can be omitted for backward
compatibility.
l p_x, p_y, p_z are the coordinates of the point defining the plane,
l n_x, n_y, n_z are the coordinates of the normal to the plane,
l coord indicates in which coordinates system p1, p2, p3, d1, d2, d3 are provided. If this
parameter is omitted, the assumed coordinates system is the one of the active view. Values of
0, 1 and 2 correspond respectively to Cartesian, cylindrical and blade to blade coordinates
system.

363 CFView™ 16.1 User Guide


l name is the root name for the created surfaces and the name of the group if a group is created.
If this parameter is omitted, a root name is generated automatically: 'CUT' followed by a
number.
If the cut is crossing several domains, the name of the group is returned. This name is identical
to the name provided as last argument or is the automatically generated root name. If only one
domain is cut, the name of the created surface is returned. If the cut specification does not cross
the grid, no value is returned.
l Exceptions: A zero direction (dx=dy=dz=0) will trigger a ValueError.
l Typical uses of this function are:
l Creation of a cut and setting the active surface to the cut only (whatever the number of cut
domains):
cutName = CutPlaneSave( ... ),
SelectFromView(cutName).
l Creation of a cut and check of its existence:
cutName = CutPlaneSave( ... )
from types import *
if (type(cutName) != StringType) : print "Cut plane do not cross the grid"
l Creation of a cylindrical cut at R=0.5 and computation of its area:
cutName = CutPlaneSave(0.5, 0., 0., 1., 0., 0., 1, 'cutAtR05')
SelectFromView(cutName)
a = GmtArea()
l Creation of a cut and exclusion of some a priori known domains from it:
cutName = CutPlaneSave(..., 'myCut')
DeleteFromProject('myCut.D5', 'myCut.D4')
Note that the last argument in the CutPlaneSave command enforces that the name of the group
is 'myCut' and that each cut surface has a name of the form 'myCut.Dn' where n is the domain
number. The DeleteFromProject command destroys the surfaces if they exist. If a surface does
not exist, the argument is ignored.

Please note that, along with the version 3.8-22 of CFView™, the automatic naming of cut planes
has changed. Macros scripts including the names created automatically in earlier versions may not
work with newer version. The macro scripts where the cut planes names are handled by means of
Python variables do not have this limitation.

364 CFView™ 16.1 User Guide


l CutSurfaceSave (float p1_x, float p1_y, float p1_z, float n1_x, float n1_y, float n1_z, int
coord1, float p2_x, float p2_y, float p2_z, float n2_x, float n2_y, float n2_z, int coord2, string
name)
l Associated item: Geometry / Split Surface...
l Operation: extracts the portions of active surfaces delimited by two planes. This macro is
based on the macro CutPlaneSave (see description above)
l string SurfaceIJKSave(2, 8, int domainIndex, int surfaceType, int surfaceValue, int Is1, int
Js1, int Is2, int Js2, int displayMode)
l Associated item: none.
l Operation (Create Mesh Surface): creates, saves and returns the name of a mesh surface for
one domain. The two first parameters should be present with their prescribed value. The
parameter 'domainIndex' specifies the domain number (first domain is 0). The parameter
'surfaceType' indicates the surface type: I (index=0), J (index=1) or K (index=2) constant.
The parameter indexValue is the index of the surface within its family. Is1, Js1, Is2 and Js2
indicate the node ranges for the surface as indicated in the table here below. The parameter
displayMode is not used. The values are in the range 0, "number of points"-1, where
"number of points" is the number of points in the respective direction.

Surface family Is1 / Is2 Js1 / Js2


I Jmin / Jmax Kmin / Kmax
J Imin / Imax Kmin / Kmax
K Imin / Imax Jmin / Jmax

The use of this function is discouraged. The command StructuredSurfaceSave is a more flexible
alternative and the recording of structured surfaces creation is using the StructuredSurfaceSave
command.

l string StructuredSurfaceSave(int domainIndex, int surfaceType, float surfaceValue, float


IFirst, float JFirst, float ILast, float JLast)
l Associated menu item: Geometry / Create IJK Surface....
l Operation: creates, saves and returns the name of a mesh surface for one domain. The
parameter 'domainIndex' specifies the domain number (first domain is 1). The parameter
'surfaceType' indicates the surface index: I (index=0), J (index=1), K (index=2).The
following parameters: surfaceValue, IFirst, JFirst, ILast, JLast, are float-valued. They are
the normalized values of the integer indices as a function of their respective ranges. The
parameter surfaceValue is the float- valued index of the surface within its family (0.
represents the lowest index value, 1. represents the highest index value).The parameters

365 CFView™ 16.1 User Guide


IFirst, JFirst, ILast and JLast, are normalized in the same way, they indicate the node ranges
for the surface.
l Example:
Creation of a surface at mid-domain for a constant I value:
StructuredSurfaceSave(1, 0, 0.5, 0, 0, 1, 1)
l LimitedCutPlaneSave(float p1, float p2, float p3, float d1, float d2, float d3)
l Operation (Surface Selection using Macro): creates and saves the cutting plane defined by
the point (p_x, p_y, p_z) and the normal direction (n_x, n_y, n_z).
l SetRevolutionSurfaceAxis (float p_x, float p_y, float p_z, float d_x, float d_y, float d_z)
l Specifies the rotation axis (Origin (p_) and the vector Direction (d_)) used to create a
surface of revolution from an IGG™ curve.
l IggCurveLoadAndCut(string fileName)
l Associated menu item: Geometry / Create Cutting Surface Along Igg Curve....
l Operation (Create Cutting Surfaces defined from IGG™ curve): loads an IGG™ curve and
creates a revolution surface into the active project.
l DeleteSurface(string name)
l Operation (Select Surfaces): removes all representations of the surface in the active view. If
the surface is a cut, a mesh surface, a blade to blade surface or an iso- surface, all
representations in other views are removed also and the surface is removed from the surface
list.
l string CutPlaneSaveFrom3Points(float p_x1, float p_y1, float p_z1, loat p_x2, float p_y2,
float p_z2, loat p_x3, float p_y3, float p_z3 )
l Associated item: Geometry / Create Cutting Plane From 3 Points
l Operation: creates a plane from three point (p_x1,p_y1,p_z1), (p_x2,p_y2,p_z2) and (p_
x3,p_y3,p_z3), and returns the name of the plane

8.5.14 Commands Related to Surface or Group Surface


Selection

Some of the functions described below are taking a variable number of arguments. If the
arguments to be passed to the command are contained in a list, the form apply(command,list) may
be used to call the command with the arguments contained in the list.
Example:
for i in range(1,10):
mySurfacesList.append(CutPlaneSave(....))

366 CFView™ 16.1 User Guide


apply(SelectFromProject, mySurfacesList)
l SurfaceRename(string oldName, string newName)
l Associated operation: surface or group renaming from the Surface Selection dialog box.
l Operation (What are Surfaces in CFView™?): change the name of the indicated surface or
group from oldName into newName.
l Exception: raises an Attribute Error if newName is missing or is already used by another
surface or group. The error is raised also if oldName does not correspond to an existing
surface or group.
l [...] GetViewSurfaceList()
l Operation: this command returns the list of all the surfaces that are represented in the active
view. Note that for the surfaces that have been introduced as part of a group, only the group
name is included in the list.
l [...] GetViewActiveSurfacesList()
l Operation: this command returns the list of surfaces that are currently selected in the active
view.
l SelectFromView(string name1, string name2, ...)
l Operation (Select Surfaces): activates the surfaces having names name1, name2, etc...
l SelectFromViewRegExp(string regexp), UnselectFromViewRegExp(string regexp)
l Operation: adds or removes the surfaces having names matching the regular expression
regexp to or from the selection (for example '*' will match all, '*solid*' will match all solids,
etc...). The "SelectFromViewRegExp" command is similar to "SelectFromProjectRegExp".
l RemoveFromView(string name1, string name2, ...)
l Operation (Select Surfaces): removes the surfaces having names name1, name2, etc from
the active view. The operation only removes the representation on the indicated surface.
The surface will still exist but is not displayed (e.g. a color contour is no longer displayed).
l RemoveFromViewRegExp(string regexp)
l Associated menu item: -
l Operation: removes the surfaces having names matching the regular expression regexp (for
example '.*' will match all, '.*solid*' will match all solids, etc...) from the active view. The
operation only removes the representation on the indicated surface. The surface will still
exist but is not displayed (e.g. a color contour is no longer displayed).
l [...] GetProjectSurfaceList()
l Operation: returns the list of all the surfaces that are existing in the project. Note that for
surfaces that are part of a group, both the group name and all its members are included in
the list.
l SelectFromProject(string name1, string name2, ...)

367 CFView™ 16.1 User Guide


l Associated menu item: Geometry / Select Surfaces....
l Operation (Select Surfaces): selects only the surfaces listed (having names name1, name2,
etc) from the project into the active view.
l SelectFromProjectRegExp(string regexp)
l Operation: adds surfaces from the project having names matching the regular expression
regexp to the selection (for example empty string ('') will match all and simply typing 'solid'
will match all solids etc...). Command equivalent to "SelectFromViewRegExp".
l SelectTypeFromProject(string type), UnselectTypeFromView(string type)
l Operation: activates or inactivates all the surfaces which have a boundary condition type
identical to the specified one (only the first 3 letters are considered, i.e. type may be sol, inl,
out, ext, mir, rot, con, cmb, nmb, per, pmb, pnm or sng).
l DeleteFromProject(string name1, string name2, ...)
l Operation (Select Surfaces): deletes the surfaces having names name1, name2, ..., from the
project (and also from the active view). DeleteFromProject removes all representations on
the indicated surfaces in all the views of the project AND deletes the surface(s) from the
project ONLY IF the surface was created during the project session. The names name1,
name2,..., can also be the name of a group of surfaces: DeleteFromProject deletes the
groups but not the surfaces inside.
l DeleteFromProjectRegExp(string regexp)
l Operation: deletes the surfaces from the project having names matching the regular
expression regexp (for example '*' will match all, '*solid*' will match all solids etc...).
DeleteFromProject removes all representations on the indicated surfaces in all the views
of the project AND deletes the surface(s) from the project ONLY IF the surface was
created during the project session.
l (e.g. a cutting plane).
l SurfaceActivate(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z)
l Associated menu item: Geometry / Activate Surface ().
l Operation (Select Surfaces): toggles the selection status of the surface intersected by the line
defined by the points (p1x,p1y,p1z) and (p2x,p2y,p2z). If more than one surface is
intersected, the closest one to the camera is selected.

The arguments of the function SurfaceActivate are (p1x,p1y,p1z,p2x,p2y,p2z). p1and p2 are two
points in Cartesian coordinates. When using the function in the meridional view, (Z,R,Theta)
coordinates are used to locate a point (p1z,p1r,p1theta,p2z,p2r,p2theta).

l ActivateSurfacesFromDomainIndex(int domId, string 'surface type')

368 CFView™ 16.1 User Guide


l Operation: selects all surfaces from domain specified by its domain ID. The second
argument is optional and it allows the selection of some type of surfaces only. The available
surface types are the same than the command SelectTypeFromProject . If second
argument is missing, all surfaces are selected.
Example:
ActivateSurfacesFromDomainIndex(3, 'sol')
l CreateSurfaceGroup(string groupName, string surfaceName, ...)
l Operation (Surfaces Groups): create a group with the specified name and containing the
surfaces provided in argument.
l SelectedSurfacesAdd(string surfaceName)
l Associated item: right-click on the selected surfaces and Add to Selection
l Operation: add the selected surfaces to the current selected surfaces list.
l SelectedSurfacesRemove(string surfaceName)
l Associated item: right-click on the selected surfaces and Remove from Selection
l Operation: remove the selected surfaces to the current selected surfaces list.
l GroupRemove(string groupName)
l Operation (Surfaces Groups): suppresses a group, leaving intact all its members.
l GroupItemMove(string surfaceName, string originalgroupName, string newgroupName)
l Operation: groups selected surface and existing group in a new group.

8.5.15 Commands Related to Surface Rendering

These commands apply to the active surfaces of the active view. No action is performed if no
view is active.
l RenderHidden(), RenderUniform(), RenderFlat(), RenderGouraud(), RenderPhong(),
RenderNone()
l Associated menu items: Render / and Render / Shading.
l Operation (View Surfaces): applies specified rendering option (either hidden line removal,
uniform shading, etc...) to all active surfaces in the active view.
l RenderToggleMarker(), RenderToggleEdge(), RenderToggleFace()
l Associated menu item: Render / Visibility.
l Operation: toggles visibility status of the grid nodes (markers), edges, or faces.
l RenderToggleMarkerLight(), RenderToggleEdgeLight(), RenderToggleFaceLight()

369 CFView™ 16.1 User Guide


l Associated menu item: Render / Light.
l Operation: toggles lighting status of the grid nodes (markers), edges or faces.
l UpdateMaterial ( Color diffuse, Color specular, float gloss, Color transmission, float
specularAmount, bool hasEnvironementMapping, string reflectionMap, float
reflectionAmount)
l Associated menu item: Update / Surface Material....
l Operation: sets the reflection properties of all active solid surfaces.
l diffuse: the color of the material in HSV format. Default is (210.857,0.25,0.54902).
l specular: the color of the specular highlight of the material. Default is white color (0,0,1).
l gloss: the extend of the specular highlight of the material. Range: [1,30]. Default is 5.
l transmission: the color used for transparent object. The r,g,b values should be the same.
default is black (0, 0, 0).
l specularAmount: the specular amount of the surface. Range [0,1]. Default is 1.0.
l hasEnvironmentMapping : 1 if the surface has environment mapping, 0 otherwise.
Default is 0 (no environment mapping)
l reflectionMap: the name of the environment map. Default is "metal-polished". The list of
available environment maps is:
metal - polished, metal - steel, metal - chrome, metal - alu, mirror - sky, mirror - mountain,
mirror - trees, mirror - hall, shading - gradient, shading - tone, shading - anisotropic.
l reflectionAmount: the amount of reflection. Range[0,1]. Default is 0.85.
l DisplayShadow(bool itDisplayShadow)
l Associated menu item: View / Parameter / Display shadow
l Operation: displays or hides the shadow under the geometry (ItDisplayShadow = 0 : hides
shadow, itDisplayShadow = 1 : shows shadow)
l UpdateLight ( float positionX, float positionY, float positionZ, float directionX, float
directionY, float directionZ, bool itIsLocalLight, float lightIntensity)
l Operation: changes the parameters of the light of the active view.
l positionX, positionY, positionZ: position of the point light in camera space. The length of
the vector position gives the relative distance r to the center of rotation. A bounding box
enclosing the scene is computed. The extent of the bounding box is b. The real distance of
the point to the center of rotation is given by the formula 1.5 * b * r.
l directionX , directionY , directionZ : normalized vector representing the direction of a
directional light
l itIsLocalLight: 0 = directional light; 1 = omni light

370 CFView™ 16.1 User Guide


l lightIntensity: represents the intensity of the light. The range is [0,1] and the default is 1.0.
Corresponds to the slide "light intensity" divided by 100.
l Additional note:
- With directional light, only the direction is taken into account (not the position).
- With omni light, only the position is taken into account (not the direction).
l SetOpacity( float opacityValue)
l Operation: sets the opacityValue to all the active surfaces and to all the active color
contours.
l opacityValue : represents the opacity of the surface. Range: [ 0,1] (0: completely
transparent, 1: completely opaque)
l DeleteSolid()
l Associated menu item: Update / Delete / Solid.
l Operation: deletes surface rendering on all active surfaces.

8.5.16 Commands Related to Quantity Selection

These commands trigger a Name Error if the quantity is unknown.


l int QntFieldExist(string name)
l Operation: the function is testing if a quantity with the specified name is existing in one or
several domains. If the quantity is existing the function returns a non null value. This macro
can not be used for solid quantities (see macro QntSurfaceExist for this purpose).
l int QntSurfaceExist(string name)
l Operation: the function is testing if a solid quantity with the specified name is existing on
one or several surfaces. If the quantity is existing the function returns a non null value.
l QntFieldScalar(string quantity), QntFieldVector(string quantity)
l Associated menu item: Quantity / Field Data.
l Operation (Select Field Quantity): selects quantity as the active quantity.
l QntFieldLoad(string quantity)
l Operation (Quantities Load on Demand): if the specified quantity is not already loaded
from file, it is loaded.
l Exception: a ValueError is produced if the name is not valid.
l QntFieldRemove(string quantity)

371 CFView™ 16.1 User Guide


l Associated item: the Quantity Status dialog box.
l Operation (Field Quantities Status Dialog Box ): if the specified quantity is a derived
quantity, it is removed. Otherwise, no operation is performed.
l Exception: a ValueError is produced if the quantity name is not valid.
l QntFieldDerived ( int mode, string name, string definition [, string definition2, string
definition3])
l Associated menu item: Quantity / Field Data / Define New Quantity...
l Operation: creates a new field quantity named 'name'. The parameter 'mode' specifies the
new quantity type: 0 for a scalar, 1 for a vector with a definition expressed as a combination
of vectorial quantities or 2 for a vector with a definition specified component by
component. If 'mode' has a value of 2, the parameters 'definition2' and 'definition3' must be
present, otherwise they can be omitted.
l QntSurfaceDerived ( int mode, string name, string definition [, string definition2, string
definition3])
l Associated menu item: Quantity / Field Data / Define New Quantity...
l Operation: creates a new surface quantity named 'name'. The parameter 'mode' specifies the
new quantity type: 0 for a scalar, 1 for a vector with a definition expressed as a combination
of vectorial quantities or 2 for a vector with a definition specified component by
component. If 'mode' has a value of 2, the parameters 'definition2' and 'definition3' must be
present, otherwise they can be omitted.
l FieldCurl(string quantity), FieldDivergence(string quantity), FieldGradient(string quantity)
l Associated menu items: Quantity / Field Data / Curl, Divergence, Gradient
l Operation: (Apply Differential Operators: Gradient, Divergence or Curl) calculates the
Curl, Divergence or Gradient of the operand field and creates a new field quantity named
respectively: Curl, Grad, Div followed by (name of the operand field).
l FieldLambda2(string quantity), FieldQInvariant(string quantity)
l Associated menu items: Quantity / Field Data / Vortex Detection / Lambda 2, Q
Invariant
l Operation: (Vortex Detection) calculates the Lambda 2 and Q Invariant of operand field
and creates a new field quantity named respectively: Lambda 2, Q Invariant followed by
(name of the operand field).
l QntSolidScalar(string quantity), QntSolidVector(string quantity)
l Associated menu item: Quantity / Solid Data
l Operation (Select Solid Quantity): selects quantity as the active quantity.
l ThermoDynDerQnt(string quantity)

372 CFView™ 16.1 User Guide


l Associated menu item: Quantity / Field Data / Computed Thermodynamics
l Operation ( Select Computed Thermodynamic Quantity ): selects quantity as the active
quantity.
l ImportQuantity(projName, qntName, newQntName)
l Associated menu item: Quantity / Field Data / Projects Comparison ...
l Operation ( Projects Comparison ): imports a quantity for comparison. The parameter
projName is the project from which the quantity will be imported, qntName is the name
of the quantity to import and newQntName is the name of the new quantity to be created
in the active project.
l CompareQuantity(projName, qntName, newQntName)
l Associated menu item: Quantity / Field Data / Projects Comparison ...
l Operation ( Projects Comparison ): compares a quantity for two opened projects. The
parameter projName is the project from which the quantity will be compared, qntName is
the name of the quantity to compare and newQntName is the name of the new quantity to
be created in the active project.
l DefaultProjectsComparisonTolerance(float tol)
l Associated menu item: Preference / Projects Comparison Tolerance
l Operation (Projects Comparison): sets the tolerance for projects comparison.
l QntPlot(string quantity)
l Associated menu item: Quantity / Plot Data
l Operation (Represent Plot Data): creates a new plot view with the plot data quantity and
makes it the active view.
l string QntValid(string quantity), string QntValidCompare(string quantity)
l Associated menu item: Quantity / Validation Data.
l Operation (Represent Validation Data): creates a new plot view with the validation data,
makes it the current view. Furthermore, QntValidCompare extracts and draws collocated
simulated data. The functions are returning the name of the view in which the data are
inserted.
l QntValidLoad(string fileName)
l Associated menu item: File / Load Validation Data...
l Operation: loads the indicated file and inserts the validation data it contains.
l QntSolidRemove(string quantity)
l Operation: unloads the quantity and place a small bitmap file (unload icon) adjacent to the
quantity in Quantities/Solid Data box in the QAP.
l QntSolidRemoveAll()

373 CFView™ 16.1 User Guide


l Operation: unloads all solid quantities in Quantities box and places an unload icon beside
each solid quantity.
l QntFieldRemove(string quantity)
l Operation: unloads the quantity and place a small bitmap file (unload icon) adjacent to the
quantity in Quantities box in the QAP.
l QntFieldRemoveAll()
l Operation: unloads all field quantities in Quantities box and places an unload icon beside
each field quantity
l ParticuleTracesAll(), ParticuleTracesOnGrid (int Imin, int Imax, int Istep, int Jmin, int
Jmax, int Jstep)
l Associated menu item: Quantity / Particle Traces
l Operation (Represent Particle Traces Data): adds the representation of the particle traces
data related to any of the active INLET boundaries. ParticuleTracesOnGrid restricts the
traces to those on a subset of cells whose index is defined by a I index between Imin and
Imax, one each Istep and a J index between Jmin and Jmax, one each Jstep.

8.5.17 Commands Related to Quantity Probing

l float / [float, float] / [float, float. float] ProbeIJK(int domId, int i, int j, int k):
Operation: this function returns the value of the active quantity at the grid point of the domain
domId and whose indices are provided (domId =1 correspond to the first domain). The
required number of indices depends on the grid type:
l for 3D structured grids i, j and k are required (values between 1 and the maximum number
of grid nodes should be provided);
l for 2D structured grids (including 2D grids issued from Turbomachinery mode, only i and j
are important. In that case, one can use whatever value for k.
For instance: ProbeIJK(1,1,0) will give the same result as ProbeIJK(1,1,1).
l for unstructured grids, only i is important.
The returned value depends on the grid dimensionality and on the type of the active
quantity. If the active quantity is a scalar, the returned type is a float. If the active quantity is
a vector, the returned type is [float, float, float] in 3D grids and [float, float] in 2D grids.
l float / [float, float] / [float, float. float] ProbeXYZ(float x, float y, float z):
Operation: this function returns the value of the active quantity at the point whose geometric
position is provided. With 2D grids, the z parameter is not used and may be omitted.

374 CFView™ 16.1 User Guide


The returned value depends on the grid dimensionality and on the type of the active quantity.
If the active quantity is a scalar, the returned type is a float. If the active quantity is a vector, the
returned type is [float, float, float] in 3D grids and [float, float] in 2D grids.
l Error: raises a ValueError if no quantity is selected or if the point falls outside of the
meshed domain.
l float / [float, float] / [float, float. float] ProbeTIJK(int domId, int i, int j, int k):
Operation: for unsteady projects with N time steps reconstructed from a project with
harmonics, this function returns an array of N+1 values of the active quantity. The first value is
the time step, the rest are the values in time of the active quantity at the grid point of the
domain domId and whose indices are provided (domId=1 correspond to the first domain).
The required number of indices depends on the grid type:
l for 3D structured grids i, j and k are required (values between 1 and the maximum number
of grid nodes should be provided);
l for 2D structured grids, i and j are required;
l The returned value depends on the grid dimensionality and on the type of the active
quantity. If the active quantity is a scalar, the returned type is a float. If the active quantity is
a vector, the returned type is [float, float, float] in 3D grids and [float, float] in 2D grids.
l QuantitySetScalarIJK(string quantity_name, int domain_nb, float value, float i, float j, float
k)
l Operation: this will set the value of scalar field with name quantity_name at cell index (i,
j, k) in domain domain_nb to value.
l QuantitySetVectorIJK(string quantity_name, int domain_nb, float val_X, float val_Y, float
val_Z, float i, float j, float k)
l Operation: this will set the value of vector field with name quantity_name at cell index (i,
j, k) in domain domain_nb to (val_X, val_Y, val_Z).
l [float, float] QuantityRangeDomain(int domId, float Imin, float Imax, float Jmin, float Jmax,
float Kmin, float Kmax)
Operation: this function returns the minimum and maximum values of the active quantity in the
specified domain range.
The domain range is specified by the arguments:
l domId is the domain number (first domain has the number 1).
l Imin and Imax specify the normalised node range in the I direction. Imin and Imax must
have a value between 0 and 1 (0 meaning the first node index and 1 meaning the last one).
These values are denormalized automatically.
l Jmin and Jmax specify the normalised range in the J direction;
l Kmin and Kmax specify the normalized range in the K direction.
If the quantity is a vector, the returned range is the range of the amplitude.

375 CFView™ 16.1 User Guide


l Example: this command can be used to obtain the quantity range at a mid-range grid
surface (mid range in the I direction)
QuantityRangeDomain(1, 0.5, 0.5, 0,1 0,1)
l float QuantityStdDevDomain(int domId, float Imin, float Imax, float Jmin, float Jmax, float
Kmin, float Kmax)
l Operation: this function returns the standard deviation of the active quantity over a domain
range. The domain range is specified as explained here above for the
QuantityRangeDomain command.
l [float, float] QuantityRangeActiveSurfaces()
l Operation: this function returns the minimum and maximum values of the active quantity on
the active surfaces. If the active quantity is a vector, the standard deviation is the standard
deviation of the vector magnitude.
l [float, float, float, float, float, float] CoordRangeActiveSurfaces()
l Operation: this function returns six real values containing xMin, yMin, zMin, xMax, yMax
and zMax. For example it creates cutting planes that cross the geometry independently of
the test case.
l float QuantityStdDevActiveSurfaces()
l Operation: this function returns the scalar average standard deviation of the active quantity
on the active surfaces. If the active quantity is a vector, the standard deviation is the
standard deviation of the vector magnitude.
l CGNSSaveSurfaces(string fileName.cgns, string Basename, string v1, string v2, ..., string
Save Scene=1)
l Associated menu item: Geometry / Export CGNS Active Surfaces...
l Operation: this function exports the values of the selected quantities on the active surfaces
into CGNS data file. The first argument is the file name, the second is the base name and
the following ones are the selected quantity names. As for the last argument, it activates the
"Save Scene" option in the CGNS Surface Saver dialog box.
l SaveActiveSurfaces(string fileName)
l Associated menu item: Geometry / Export Active Surfaces...
l Operation: this function exports the values of the active quantity on the selected surfaces.
The output is stored in the file called fileName. The first line represents the name of the
surface, the second line contains the number of coordinates (X,Y,Z), the second number is
there for backward compatibility and shows the number of columns for the quantity (1 for a
scalar and vector), then the number of points is stored and the last information is the name
of the quantity between two "|".
l AcousticRadiatingSurface(string fileName,float R,float zMin,float rAtZMin,float zMax,float
rAtZMax, bool numPointsFromCellSize, float cellSize, int nPointsAxial, int
nPointsRadialAtZMin, int nPointsRadialAtZMax, int nPointsAzimuthal, bool

376 CFView™ 16.1 User Guide


triangulateRadialSurface, bool generate360, float maxFrequency, int maxFourierCoef, bool
writeModuleAndPhase,bool openResult,float zTolerance)
l Associated menu item: Geometry / Acoustic Radiating surfaces...
l Operation: this function exports an acoustic radiating surface to a .cgns file. The output is
stored in the file called fileName . The detailed arguments definition can be found in
Acoustic Radiating Surface.

8.5.18 Commands Related to Scalar Quantity


Representations

Unless stated differently, these commands raise an Attribute Error if the selected quantity is not a
scalar.
l DeleteAll()
l Associated menu item: Update / Delete / All.
l Operation: deletes all representations of the active view.
l DeleteAllRepresentationsFromView(string name1, string name2, ...)
l Operation: deletes all representations on the indicated surfaces.
l SelectBoundaryCurves(string name)
l Associated menu item: Right-click on the curve in the active view.
l Operation: selects the curves of the geometry defined by name.
l UpdateLineType(LineType t)
l Associated menu item: Update / Line Type Editor....
l Operation: sets last representation line type to t (Description of Argument List for Some
Standard Features for argument description).
l UpdateMarkerType(MarkerType m)
l Associated menu item: Update / Marker Type Editor....
l Operation: sets last representation marker type to m (Description of Argument List for
Some Standard Features for argument description).
l UpdateCurveType(CurveType c)
l Associated menu item: Update / Curve Type Editor....
l Operation: sets last representation type and marker type to c (Description of Argument List
for Some Standard Features for argument description).
l UpdateSectionCurveType(CurveType c)

377 CFView™ 16.1 User Guide


l Operation: sets last representation type and marker type to c (Description of Argument List
for Some Standard Features for argument description) to all the curves of the Cartesian plot.
l ThickerCurveType(), ThinnerCurveType()
l Operation: increases or decreases the line width and markers size for the currently active
curves.
l UpdateCurveLineType(LineType t, String name1, String name1)
l Associated menu item: Update / Line Type Editor....
l Operation: sets selected surfaces curve type to t (Description of Argument List for Some
Standard Features for argument description). If no surface is specified, the command
applies to the whole project.

Local Values

l RprLocalValue(float px, float py, float pz, float dx, float dy, float dz, bool b, float psx, float
psy, float psz, String name)
l Associated menu item: Representation / Local Value
l Operation (Display Local Values): displays a local value (or local vector) at the intersection
between the ray defined by point (px,py,pz) and direction (dx,dy,dz) and the active
surfaces/streamlines of the active view. If a streamline is hit (b=1), the exact point on the
streamline is (psx,psy,psz) and the function returns the name of the streamline's parent
surface.
l SaveLocalValues(string fileName)
l Associated menu item: Representation / Export Local Values...
l Operation: exports all local values corresponding to the active quantity in the file fileName.
l DeleteLocalValue()
l Associated menu item: Update / Delete / Local Value.
l Operation: deletes the local values of the active quantity on the active surfaces.
l UpdateDoubleFormat(DoubleFormat f)
l Associated menu item: Update/ Numbers Format Editor...
l Operation (Numbers Format Editor): sets the number format of the active local value to f
(Description of Argument List for Some Standard Features for argument description).
l UpdateTextType(TextType t)
l Associated menu item: Update / TextType Editor...
l Operation (Text Type Editor): sets the text type of the active local values.

378 CFView™ 16.1 User Guide


Color Contours

l SclContourFlat(), SclContourSmooth(), SclContourStrip(), SclContourNone()


l Associated menu item: Representation / Color Contour.
l Operation (Color Contours section): applies specified quantity coloring option (either flat,
smooth, strip or no contour).
l SclContourTFlat(float min, float max, [float min, float max]), SclContourTSmooth(float
min, float max, [float min, float max]), SclContourTStrip(float min, float max, [float min,
float max])
l Associated menu item: Representation / Color Contour
l Operation: applies specified quantity coloring option (either flat, smooth or strip). Only the
part of the surfaces having value between min and max will be visible. It is allowed to
specify one or two ranges.
l SclContourFilled(), SclContourWireFrame(), SclContourMarkersOnly()
l Operation: sets the type of coloring for the active color contours: respectively a filled
surface, a wire frame or only the markers at grid points location.
l SclContourToggleMarker(), SclContourToggleEdge(), SclContourToggleFace()
l Associated menu item: Representation / Color Contour / Visibility On/Off
l Operation: toggles the visibility status of the grid points, edges or faces of the color contour
representations on the active surfaces.
l SclContourToggleMarkerLight (), SclContourToggleEdgeLight (),
SclContourToggleFaceLight()
l Associated menu item: Representation / Color Contour / Light On/Off.
l Operation: toggles the lighting status of the points, edges or faces of the current color
contour representations on the active surfaces.
l DeleteContour()
l Associated menu item: Update / Delete / Color Contour
l Operation: deletes the color contour representations on the active surfaces.

Isolines

l SclIsolinePoint(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z)
l Associated menu item: Representation / Isolines / Local Isoline
l Operation (Isolines): draws the isolines containing the intersection between the line defined
by the points (p1x,p1y,p1z) and (p2x,p2y,p2z) and each of the active surfaces.
l stringSclIsolineValue(float value)

379 CFView™ 16.1 User Guide


l Associated menu item: Representation / Isolines / Local Isoline
l Operation (Isolines): draws the isoline with value specified on each of the active surfaces
and returns the name of the isoline. For example, the name of the isoline is "Isoline Static
Pressure = 125000".
l SclIsolineRange(float min, float max, float inc)
l Associated menu item: Representation / Isolines / Isolines ...
l Operation (Drawing Multiple Isolines): draws a set of isolines starting from the minimum
value, min to the maximum value, max with an increment of inc.
l SclIsolineMulti(2, 4, float min, float max, float inc, int color)
l Associated menu item: Representation / Isolines / Isolines ...
l Operation (Drawing Multiple Isolines): draws a set of isolines starting from the minimum
value, min to the maximum value, max with an increment of inc. The isolines are colored
according to their value (Color =0) or not (color=1).
l SclIsolineColorLock(bool b)
l Associated menu items: Representation/ Isoline / Color Contour and Color Uniform
l Operation: sets the coloring attribute to color contour (b=0) or to color uniform (b=1).
l SetQuantityIsolineColorLock(string quantityName, bool b)
l Associated menu items: Representation/ Isoline / Color Contour and Color Uniform
l Operation: sets the coloring attribute of the isolines on the active quantity to color contour
(b=0) or to color uniform (b=1).
l SelectIsolineCurves(string isolineName, string isolineName1, ...)
l Operation: activates the isoline(s) having names isolineName, isolineName1, etc.
l ToggleIsolineValue()
l Associated menu item: right-click menu of the selected isoline
l Operation: shows or hides the isoline value.
l IsolineValueLargerFont()
l Associated menu item: right-click menu of the selected isoline
l Operation: increases the font size of the isoline value.
l IsolineValueSmallerFont()
l Associated menu item: right-click menu of the selected isoline
l Operation: decreases the font size of the isoline value.
l IsolineValueType(textType, doubleFormat)

380 CFView™ 16.1 User Guide


l Associated dialog box: Isoline Value Type Editor
l Operation: sets the formats of the isoline value. See the descriptions in Description of
Argument List for Some Standard Features for textType and doubleFormat arguments.
l IsolineValueColorLock(bool b)
l Associated menu item: right-click menu of the selected isoline
l Operation: sets the values of isolines to color contour (b=0) or to color uniform (b=1).
l IsolineLabelColorLock(bool b)
l Associated menu item: right-click menu of the selected isoline
l Operation: sets the labels of isolines to color contour (b=0) or to color uniform (b=1).
l ExportIsoline(string fileName, string isolineName, ...)
l Associated menu item: right-click menu of the selected isoline
l Operation: exports the selected isoline(s) into a .dat file where fileName is the full path of
the file in which the isoline(s) will be saved and isolineName is the name of the isoline to
save. There can be more than one isolineName.
l IsolineCartPlot()
l Associated menu item: right-click menu of the selected isoline
l Operation: creates a Cartesian plot of the active quantity for the selected isoline.
l DeleteIsoline(string isolineName, string isolineName1, ...)
l Associated menu item: right-click menu of the selected isoline(s)
l Operation: deletes the selected isoline(s) on the active surface.
Example: DeleteIsoline('Isoline Density = 1.1963' ,'Isoline Density = 1.19512')
l DeleteIsoline()
l Associated menu item: Update / Delete / Isoline
l Operation: deletes all isolines.

Iso-Surfaces

l SclIsoSurfaceValue(float value)
l Associated menu item: Representation / Iso-Surface.
l Operation (Iso-Surfaces): builds an iso-surface based on a field value and returns the iso-
surface volumes below and over the iso-surface value.
l SclIsoSurfacePoint(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z)

381 CFView™ 16.1 User Guide


l Associated menu item: Representation / Iso-Surface.
l Operation (Iso-Surfaces): builds iso-surfaces containing the intersection of the line defined
by the points (p1x,p1y,p1z) and (p2x,p2y,p2z) and the active surfaces.
l SclIsoSurfaceSave([float value])
l Associated menu item: Representation / Iso-Surface Save.
l Operation (Create Iso-surfaces): saves an iso-surface and includes it into the project and
current view surface sets. If a value is provided, the iso-surface corresponding to that value
is computed and saved, otherwise, the iso-surface currently represented is saved. The macro
also returns the name of the created iso-surface.
l Exceptions: if no scalar quantity or if no current iso-surface.
l DeleteIsoSurface()
l Associated menu item: Update / Delete / Iso-Surface.
l Operation: deletes the current iso-surface.

Plot Generation

These commands add plot curves in the plot view associated to the active quantity. If the plot
view is not existing, it is created. If no quantity is selected, an Attribute Error is raised.
l stringRprSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float
dy, float dz, [string sectionName, int coordSys])
l Associated menu item: Representation / Cartesian Plot / Along Section
l Operation (Cartesian Plot along Section): if the current quantity is a scalar, displays a plot
curve of the intersection between the plane defined by the point (p1x,p1y,p1z), the point
(p2x,p2y,p2z), the direction of the plane (dx, dy, dz) (it refers to a vector belonging to the
plane) and the active surfaces.
The sectionName argument is optional and indicates the name of the section.
The coordSys argument is optional and specifies the coordinates system in which the
position and direction are provided. If no value is provided, it is assumed that the position
and direction are provided in the same coordinates system as the active view.
The function returns the name of the Cartesian plot view in which the curve is inserted.
l stringRprSclSectionInPlot(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float
dx, float dy, float dz, string sectionName, int coordSys, string surfaceName)
l Operation (Cartesian Plot along Sectio): this command is the same as the previous one,
except that the intersection is made between the plane and the surface whose name is
provided.
l stringBladeSection(float s)

382 CFView™ 16.1 User Guide


l Operation: adds to the active quantity plot (create it if no already existing) a plot of the
active quantity at span height s. The command returns the name of the view in which the
curve is inserted.
l string SclPlotNormalizedGridLine ( int lineIndex, float lineValue, float startNode, float
endNode, [string surfName])
l Associated menu item: Representation / Cartesian Plot/ Along Grid Line...
l Operation (Cartesian Plot along a Grid Line): creates a plot curve along a grid line. The
grid line is a line along I constant if lineIndex=0 or along J constant if lineIndex=1 (where
I and J are the local grid direction on the surface). The argument lineValue is the
normalized index of the line:
lineValue=0 for the first line on the surface,
lineValue=0.5 for the line with index equals to the half of the maximum index,
lineValue=1.0 for the line with the maximum index value.
The startNode and endNode arguments are the normalized grid point indices that indicate
the range of the grid nodes to consider (startNode=0 and endNode=1 means the whole
grid line).
l stringSclPlotGridLine(2, 4, int index, int i, int min, int max)
l Associated menu item: Representation / Cartesian Plot/ Along Grid Line...
l Operation (Cartesian Plot along a Grid Line): adds to the active quantity plot view (creates
it if not existing) a plot curve along the grid line i from node number min to node number
max (index = 0 or 1 for a line along surface index I or J, respectively). The two first
parameters must be present with their prescribed values (2 and 4).The function returns the
name of the Cartesian plot view in which the curve is inserted.
l stringSclPlotBoundarySolid()
l Associated menu item: Representation / Cartesian Plot / Along Solid Boundary.
l Operation (Cartesian Plot along Solid Surface Boundaries): adds to the active quantity plot
view (creates it if not existing) a plot of the active quantity along active solid surfaces
boundaries. The function returns the name of the Cartesian plot view in which the curve is
inserted.
l stringSclPlotBoundary()
l Associated menu item: Representation / Cartesian Plot / Along Boundary.
l Operation (Cartesian Plot along Surface Boundaries): adds to the active quantity plot view
(creates it if not existing) a plot of the active quantity along active surfaces boundaries. The
function returns the name of the Cartesian plot view in which the curve is inserted.
l SelectPlotCurves(string name)
l Operation: selects the specified plot curves.
l DeletePlotCurves(string name)

383 CFView™ 16.1 User Guide


l Operation: deletes the specified plot curves.

Streamlines

A streamline represents a line created from the velocity vector but colored by the selected scalar
quantity. These commands raise an Attribute Error if the current quantity is not scalar.
l StreamLineLocal(float px, float py, float pz, float dx, float dy, float dz)
l Associated menu item: Representation / Streamline / Local
l Operation (Local Vector Line): draws streamlines starting at each intersection between an
active surface and the line defined by the points (px, py, pz) and the direction (dx, dy, dz).
l StreamLineSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx,
float dy, float dz)
l Associated menu item: Representation / Streamline / Section
l Operation ( Vector Lines from Section ): draws streamlines starting at the intersection
between the plane defined by point (p1x,p1y,p1z), point (p2x,p2y,p2z) and direction (dx,
dy, dz) and the active surfaces of the active view.
l StreamLineSectionPoints(int n)
l Associated menu item: Representation / Streamline / Section.
l Operation (Vector Lines from Section): sets the number of section points being streamline
starting points.
l StreamLineGridNodes(2, 4, int index, int i, int min, int max)
l Associated menu item: Representation / Streamline / From Grid Line...
l Operation (Vector Lines from Section): draw streamlines starting at the nodes of the grid
line i (index = 0 or 1 for a line along local I or J, respectively) from node number min to
node number max.
l StreamLineNormalizedGridLine(int index, int i, int min, int max)
l Associated menu item: Representation / Streamline / From Grid Line...
l Operation (Vector Lines from Section): draw streamlines starting at the nodes of the grid
line i (index = 0 or 1 for a line along local I or J, respectively and i is the index value in %
of max) from node number min (first in % of max) to node number max (last in % of max).
If several surfaces are selected that have not the same indices, surface name should follow
and the previous parameters are repeated for each surface.
l StreamLineType()

384 CFView™ 16.1 User Guide


l This macro is here for backward compatibility. It is only recorded from older CFView™
version, and should not be used anymore. It has been replaced by 5 new macros:
StreamLineRepresentation, StreamLineAdvancedParameters,
StreamLineComputationParameters, StreamLineCurveType,
StreamLineSurfaceType).
l StreamLineCurveType(CurveType c)
l Operation: sets the streamline curve type for the active streamline (only used when the
"Line" representation is chosen).
l CurveType: standard curve settings (see Description of Argument List for Some Standard
Features).
l StreamLineSurfaceType(SurfaceType m)
l Operation: sets the streamline surface property for the active streamlines (only used when
the "Ribbon"/"Tube" representations are chosen).
l SurfaceType: standard material settings (see Description of Argument List for Some
Standard Features).
l StreamLineRepresentation(int representationType, int colorType, string colorQuantity, float
r0, float initialDirectionX, float initialDirectionY, float initialDirectionZ, int itHasVariableSize,
int itHasVariableTwist, float twistScaleFactor, float sizeScaleFactor, int TubeVerticesCount)
l Operation: sets the streamline representation parameters for the active selected quantity
l representationType: 0 = line, 1 = ribbon, 2 = tube (mandatory). Default is 0.
l colorType: 0 = uniform, 1 = custom quantity, 2 = velocity color (mandatory). Default is 0.
l colorQuantity: name of the selected scalar quantity.
l ro: size of the tube/ribbon. Default is 1.
l initialDirectionX, initialDirectionY, initialDirectionZ: direction of the first normal of the
ribbon/tube. Default is 0,1,0.
l itHasVariableSize: 1 = variable size, 0 = uniform size. Default is 0.
l itHasVariableTwist: 1 = variable twist, 0 = uniform twist. Default is 0.
l sizeScaleFactor: multiplication factor to emphasis size changes. Real positive values are
allowed. Default is 1.
l twistScaleFactor: multiplication factor to emphasis twist changes. All values are allowed.
Default is 1.
l tubeVerticesCount: the number of vertices of the polygonal basis of a tube. All integer
value >= 3 are allowed. Default is 8.
l StreamLineAdvancedParameters ( bool itHasCoincidentPointRemoval, bool
itHasLaplacianFilter, bool itHasTwistSubdivision, float minimumDistance, int
laplacianFilterPassCount, int laplacianFilterKernelSize, float twistSubdivisionMinimumAngle,
int twistSubdivisionMaximumPoints)

385 CFView™ 16.1 User Guide


l itHasCoincidentPointRemoval: 1 = coincident point removal, 0 = no coincident point
removal. Default is 1.
l itHasLaplacianFilter: 1 = laplacian filter, 0=no laplacian filter. Default is 0.
l itHasTwistSubdivision: 1 = twist subdivision, 0 = no twist subdivision. Default is 0,
l minimumDistance: coincident point removal distance. Default is 0.01.
l laplacianFilterPassCount: number of passes of laplacian filtering. Default is 1. (only used
when itHasLaplacianFilter = 1)
l laplacianFilterKernelSize: size of the laplacian filter kernel. Default is 3. (only used when
itHasLaplacianFilter = 1)
l twistSubdivisionMinimumAngle: minimum twist angle threshold in degree. All angles
greater than twistSubdivisionMinimumAngle will be refined (only used when
itHasTwistSubdivision = 1)
l twistSubdivisionMaximumPoints: maximum number of points inserted when refining
(only used when itHasTwistSubdivision = 1)
l StreamLineComputationParameters ( int pointsLineMax, int pointsCellMax, int
pointsCellAverage, int mode, int direction, int sectionPoints, string vectorQuantity)
l Operation: sets the streamline computation parameters for the active selected quantity
l pointsLineMax: maximum number of curve points. Default = 2000.
l pointsCellMax. Maximum number of curve points in a cell. Default = 20.
l pointsCellAverage. Average number of curve points in a cell. Default = 4.
l mode: 0 = volume, 1 = surface. Default = 0
l direction: 1 = forward, -1 = backward, 0 = both. Default = 1.
l sectionPoints: number of points when creating a VecLineSection. Default = 4,
l vectorQuantity: the vector quantity used to compute the streamline
l StreamLineArrowParameters(bool visibility, float size, float density)
l Associated menu item: Representation / Streamline / Parameters...
l Operation: this macro changes the default arrow parameters for all streamlines to be drawn.
l RprLocalValueOnStreamline()
l SelectStreamLineCurves(string Names)
l Associated menu item: Mouse left-clicking in the graphics area while holding <Ctrl>.
l Operation: selects the streamlines with the corresponding names.
l UpdateStreamLineArrowParameters(bool visibility, float size, float density)
l Operation: changes the arrow parameters for all the selected streamlines. This is executed
from Parameters... dialog box when right click is performed on selected streamlines.

386 CFView™ 16.1 User Guide


l UpdateStreamLineRepresentation ( int representationType, int colorType, string
colorQuantity, float r0, float initialDirectionX, float initialDirectionY, float initialDirectionZ,
int itHasVariableSize, int itHasVariableTwist, float twistScaleFactor, float sizeScaleFactor, int
TubeVerticesCount)
l Associated menu item: Mouse right-clicking in the graphics area / Parameters...
l Operation: updates the representation parameters for the selected streamlines (see macro
StreamLineRepresentation for the complete description of the parameters, Commands
Related to Scalar Quantity Representations).
l UpdateStreamLineAdvancedParameters ( bool itHasCoincidentPointRemoval, bool
itHasLaplacianFilter, bool itHasTwistSubdivision, float minimumDistance, int
laplacianFilterPassCount, int laplacianFilterKernelSize, float twistSubdivisionMinimumAngle,
int twistSubdivisionMaximumPoints)
l Associated menu item: Mouse right-clicking in the graphics area / Parameters...
l Operation: updates the advanced parameters for the selected streamlines (see macro
StreamLineAdvancedParameters for the complete description of the parameters,
Commands Related to Scalar Quantity Representations).
l UpdateStreamLineCurveType(CurveType c)
l Operation: updates the streamline curve type for the active streamline (only used when the
"Line" representation is chosen).
l CurveType: standard curve settings (see Description of Argument List for Some Standard
Features).
l UpdateStreamLineSurfaceType(SurfaceType m)
l Operation: updates the streamline surface property for the active streamlines (only used
when the "Ribbon"/"Tube" representations are chosen).
l SurfaceType : standard material settings (see Description of Argument List for Some
Standard Features).
l GetSelectedStreamLines()
l Operation: returns a string list containing the name of the selected (highlighted) streamlines.
Example:
selectedLines=GetSelectedStreamlines()
nLines=len(selectedLines)
print 'Number of streamlines=', nLines
for i in range (0, nLines) :
print '\t', selectedLines[i]

387 CFView™ 16.1 User Guide


8.5.19 Commands Related to Vector Quantity
Representations

l DeleteAll()
l Associated menu item: Update / Delete / All.
l Operation: deletes all representations of the active view.
l DeleteAllRepresentationsFromView(string name1, string name2, ...)
l Operation: deletes all representations on the indicated surfaces.

Local Vector

l RprLocalValue(float px, float py, float pz, float dx, float dy, float dz)
l Associated menu item: Representation / Local Vector
l Operation (Display Local Values): displays a local value (or local vector) at the intersection
between the ray defined by point(px,py,pz) and direction(dx,dy,dz) and the active surfaces
of the active view.

Vectors Representations

These commands raise an Attribute Error if the current quantity is not vectorial.
l VectorAll(int Imin, int Imax, int Istep, int Jmin, int Jmax, int Jstep)
l Associated menu item: Representation / Vector On Grid Nodes.
l Operation ( Vector on Grid Nodes ): adds the quantity vectors on the active surfaces.
Vectors are drawn on nodes between Imin and Imax, one each Istep in first direction and
between Jmin and Jmax, one each Jstep in the second direction.
l VectorAllGridNodes()
l Associated menu item: Representation / Vector On Grid Nodes.
l Operation (Vector on Grid Nodes): adds the quantity vectors on the active surfaces.
l VectorNormalizedGridNodes(float iMin, float iMax, int iStep, float jMin, float jMax, int
jStep, [string surfaceName])
l Associated menu item: Representation / Vector On Grid Nodes.
l Operation (Vector on Grid Nodes): draws vectors arrows at the node specified on a surface:
iMin, iMax, jMin, jMax are specifying the subset of nodes in the I and J ranges. These are
normalized indices (with a value between 0 and 1).

388 CFView™ 16.1 User Guide


iStep and jStep are specifying the density of the vectors arrows:
1 mean on all grid nodes,
2 means on 1 over 2 grid nodes,
i means on 1 over i grid nodes.
If no surfaceName argument is provided, the active surfaces set is considered, otherwise,
only the specified surface is considered.
l VecGridLine(2, 4, int index, int i, int min, int max)
l Associated menu item: Representation / Along Grid Line...
l Operation (Vectors along Grid Line): adds the vectors along the grid line i (index =0,1 or 2
for a line along I, J or K, respectively) from node number min to node number max.
l VectorNormalizedGridLine(int type, float value, float min, float max, [string surfaceName])
l Associated menu item: Representation / Along Grid Line...
l Operation (Vectors along Grid Line ): adds the vectors along the grid line. The type
argument is 0 for a line along the surface I direction or 1 for a line along the surface J
direction. The value argument is between 0 and 1 and is the normalized index of the grid
line. The min and max parameters are the normalized indices of the first and last grid nodes
to consider along the grid line. If no surfaceName argument is provided, the active surfaces
set is considered, otherwise only the specified surface is considered.
l VecThreshold(float min, float max)
l Associated menu item: Representation / Thresholded.
l Operation (Thresholded Vector on Grid Nodes): displays the vector arrows on all the active
surfaces, but restricts the display of the vectors to those having an amplitude between min
and max.
l VectorComponentType(int type)
l Operation: sets the vector component to be represented in the next vector representations:
0 for full vector
1 the normal component
2 the tangent component
3 the normal component of the vectors from which the mean vector is subtracted (the mean
vector is computed on the surface)
4 the tangent component of the vectors from which the mean vector is subtracted.
l VectorScale(float scale)
l Operation: sets the scale at which the vectors arrows are drawn.
l VectorArrowHeadSize(float width, float height)

389 CFView™ 16.1 User Guide


l Operation: sets the size of the vectors arrows heads. The size is specified in percent of the
total arrow length. The width and height arguments must be in the interval 0 - 100.
l VectorArrowHeadType(int type)
l Operation: sets the head type of the vectors arrows. A value of 1 is used to indicate filled
arrows heads (the default) and a value of 0 for non filled heads.
l VectorType ( float denominator, float numerator, float arrowHeight, float arrowWidth, int
filledArrow, int color, int rprType)
l Associated menu item: Representation / Vector Type...
l Operation (Update Vector Representation): sets the vector representation scale factor to
numerator/denominator, arrow height and width, filled arrow heads (filledArrow =1) or
not filled arrows heads (filledArrow=0) and color according to the amplitude (color =1) or
uniform color (color =0). The parameter rprType specifies the type of vector representation:
full vectors (rprType=0), normal component (rprType=1), tangential component
(rprType=2), normal difference (rprType=3) or tangential difference (rprType=4).
l RprSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float dy,
float dz)
l Associated menu item: Representation / Section
l Operation (Vectors along Section): displays the vectors on the intersection between the
plane defined by point (p1x,p1y,p1z), point (p2x,p2y,p2z) and direction (dx, dy, dz) and
the active surfaces of the active view.
l VectorColorLock(int p)
l Associated menu items: Representation / Color Contour and Color Uniform.
l Operation: sets the coloring mode for the next vectors to be represented in uniform color
(p=1) or in a color corresponding to their amplitude (p=0).
l DeleteVectors()
l Associated menu item: Update / Delete / Vectors
l Operation: deletes the vector representations on the active surfaces
l DeleteLocalVectors([string name])
l Operation: deletes the local vectors, the vectors on section and the vectors on grid lines.
Without argument, the command deletes the currently selected vectors. With an argument,
the command deletes the vector representation having the specified name.
l DeleteGridVectors([string name])
l Operation: deletes the vectors on grid nodes. Without argument, the command deletes the
currently selected vectors. With an argument, the command deletes the vector
representation having the specified name.

390 CFView™ 16.1 User Guide


Vector Lines

These commands raise an Attribute Error if the current quantity is not vectorial.
l VecLineLocal(float px, float py, float pz, float dx, float dy, float dz)
l Associated menu item: Representation / Vector Lines / Local.
l Operation (Local Vector Line): draws vector lines starting at each intersection between an
active surface and the line defined by the points (px, py, pz) and the direction (dx, dy, dz).
l VecLineSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float
dy, float dz)
l Associated menu item: Representation / Vector line / Section.
l Operation ( Vector Lines from Section ): draws vector lines starting at the intersection
between the plane defined by point (p1x,p1y,p1z), point (p2x,p2y,p2z) and direction (dx,
dy, dz) and the active surfaces of the active view.
l VecLineSectionPoints(int n)
l Associated menu item: Representation / Vector line / Section.
l Operation (Vector Lines from Section): sets the number of section points being vector line
starting points.
l VecLineGridNodes(2, 4, int index, int i, int min, int max)
l Associated menu item: Representation / Vector line / From Grid Line...
l Operation (Vector Lines from Grid Line): draw vector lines starting at the nodes of the grid
line i (index = 0 or 1 for a line along local I or J, respectively) from node number min to
node number max.
l VecLineNormalizedGridLine(int index, float i, float min, float max)
l Associated menu item: Representation / Vector line / From Grid Line...
l Operation (Vector Lines from Grid Line): draw vector lines starting at the nodes of the grid
line i (index = 0 or 1 for a line along local I or J, respectively and i is the index value in %
of max) from node number min (first in % of max) to node number max (last in % of max).
If several surfaces are selected that have not the same indices, surface name should follow
and the previous parameters are repeated for each surface.
l DeleteVectorLines('string name')
l Associated menu item: Update / Delete / Vector Lines if no argument.
l Operation: without the argument, the command deletes all the vector lines associated to one
of the active surfaces. With an argument, the command deletes the vector lines having the
specified name.
l VecLineMaxPoints(int maxPointsPerLine, int maxPointsPerCell, int AveragePointsPerCell)

391 CFView™ 16.1 User Guide


l Associated menu item: Representation / Vector line / Parameters...
l Operation (Vector Lines Parameters): sets the maximum number of points per line, per cell,
average number of points per cell for the computation of vector lines.
l VecLineSurface(int mode)
l Associated menu item: Representation / Vector line / Parameters...
l Operation (Vector Lines Parameters): sets the mode of computation of vector lines as
volume (mode = 0) or restricted to a surface (mode=1).
l VecLineDirection(int dir)
l Associated menu item: Representation / Vector line / Parameters...
l Operation (Vector Lines Parameters): sets the direction mode for the computation of vector
lines: backward (dir = -1), in both direction (dir=0) or forward (dir=1).
l VecLineColorLock(), VecLineColorContour()
l Associated menu item: Representation / Vector line / Parameters...
l Operation (Vector Lines Parameters): sets the vector line coloring mode to uniform or to
colored according to the local vector amplitude. This applies to the last created vector line
group. By default, the coloring is uniform.
l VecLineType ( int maxPointsPerLine, int maxPointsperCell, int AveragePointsoercell, int
mode, int color, int dir, int modeOption, int sectionPoints, CurveType c)
l Associated menu item: Representation / Vector line / Parameters...
l Operation (Vector Lines Parameters): sets the parameters for vector lines computation:
maximum number of points per line, per cell, average number of points per cell, volume
(mode = 0) or restricted to a surface (mode=1), backward (dir = -1), in both direction
(dir=0) or forward (dir=1). The parameters color and modeOption are not used. The
number of vector lines on a section is set to sectionPoints and the curve type to c.
l VecLineCartPlot()
l Associated menu item: right-click on the generated streamline or vector line colored by
a scalar quantity.
l Operation: creates a Cartesian Plot for the generated streamline or vector line according the
selected scalar.
l ExportStreamLine(string finename, string streamlinename1, ......)
l Associated menu item: right-click on the generated streamline then select Export to File.
l Operation: export the specified streamlines into file.

392 CFView™ 16.1 User Guide


8.5.20 Commands Related to Time Label/Clocking Position

l SetTimeLabel(int b)
l Operation: displays (b=1) or remove (b=0) the time label/clocking position in the active
view.
l ToggleTimeLabel()
l Operation: displays if not visible or remove from the active view the time label/clocking
position.
l TimeLabelPosition(float x, float y)
l Operation: sets the position of the time label/clocking position. The x and y values are
normalized positions:
x=-1 and y=-1 is the lower left corner,
x=1 and y=1 is the upper right corner,
x=0 and y=0 is the center of the view.
l TimeLabelTextType(TextType type)
l Operation: sets the text type attributes for the time label/clocking position.
l float GetPhysicalTime()
l Operation: returns the physical time for unsteady simulation.
l float GetTimeStep()
l Operation: returns the time step for unsteady simulation

8.5.21 Commands for Computing Integrals on Surfaces

l float GmtArea()
l Associated menu items: Representation / Surface Integral / Surface Area or Geometry /
Surfaces / Area

l Operation: returns the computed area of all the active surfaces ( ).


l float ProjectedSurfaceArea(float nx, float ny, float nz)

393 CFView™ 16.1 User Guide


l Associated menu item: Geometry / Surfaces / Projected Area

l Operation: returns the projected area of all the active surfaces where β is the
angle between the normal of the active surface and the normal (nx,ny,nz) of the plane on
which the surface is projected.
l float SclIntegral()
l Associated menu item: Representation / Surface Integral / Scalar Integral
l Operation: returns the scalar surface integral of the active quantity on the active surfaces

.
l Exceptions: having either no active quantity or a vector quantity as active quantity will
trigger a Type Error.
l float SclAverage()
l Associated menu item: Representation / Surface Integral / Scalar Average
l Operation: returns the scalar average value of the current scalar quantity. It is equivalent to
the ratio of the results returned by the commands SclIntegral() and GmtArea() (see here
above for the mathematical definitions).
l [float, float, float] SclForce()
l Associated menu item: Representation / Surface Integral / Vector Integral
l Operation: returns the vectorial surface integral of the active quantity on the active surfaces

in a similar way as the force on a surface is obtained from the static pressure .
l Exceptions: Having either no active quantity or a vector quantity as active quantity will
trigger a Type Error.

The direction of the normal vector depends on the surface type:

l for cutting planes, the normal is provided as part of the cut definition;
l for structured surfaces, it depends on the surface family. The following table summarizes
the convention used.

394 CFView™ 16.1 User Guide


TABLE 8.1 Convention used for the normal vector direction

Surface I= cste J=cste K=cste


Normal vector direction I decreasing J increasing K decreasing

l [float, float, float] SclTorque(float px, float py, float pz)


l Operation: returns the vectorial surface integral of the active quantity on the active surfaces
in a similar way as the torque - with respect to the reference point (px, py, pz) - on a surface

is obtained from the static pressure (q): . Note that the normal vector
direction is taken as explained in the SclForce() command.
l Exceptions: No scalar quantity selected.
l float SclBoundaryForce()
l Operation: similar to sclForce, but active surfaces are restricted to boundaries and the local
normal to the surface is set to point outside of the domain.
l Exceptions: Having either no active quantity or a vector quantity as active quantity will
trigger a Type Error.
l [float, float, float] SclAverageForce()
l Associated menu item: Representation / Surface Integral / Vector Average
l Operation: returns the vector average of the current scalar quantity. It is equivalent to the
ratio of the results returned by the commands SclForce() and GmtArea() (see here above
for the mathematical definitions).
l [float, float, float] SclBoundaryTorque(float px, float py, float pz)
l Operation: similar to sclTorque, but the active surfaces are restricted to boundaries and the
orientation of the local normal to the surface points outside of the domain.
l Exceptions: Having either no active quantity or a vector quantity as active quantity will
trigger a Type Error. SclBoundaryTorque can only be used on boundaries of the domain
(the existing surfaces).
l float SclTorqueAmplitude(float px,float py, float pz, float dx, float dy, float dz)
l Operation: similar to sclTorque, the scalar product with the unit vector (dx, dy, dz) is
returned
l Exceptions: Having either no active quantity or a vector quantity as active quantity will
trigger a Type Error.
l float SclBoundaryTorqueAmplitude(float px,float py, float pz, float dx, float dy, float dz)

395 CFView™ 16.1 User Guide


l Operation: similar to SclBoundaryTorque, the scalar product with the unit vector (dx, dy,
dz) is returned.
l Exceptions: Having either no active quantity or a vector quantity as active quantity will
trigger a Type Error.
l float VectorFlux()
l Associated menu item: Representation / Surface Integral / Flux

l Operation: returns the flux of the active vector quantity through the active surfaces (
).
l Exceptions: having either no active quantity or a scalar quantity as active quantity will
trigger a Type Error.
l float SclWeightedIntegral(string weight)
l Associated menu item: (QAP) Representations / Integrals / Weighted Integral
l Operation: returns the computed weighted (by scalar quantity named "weight") surface
integral of the active quantity on the active surfaces.
l Exceptions: having either no active quantity or a vector quantity as active quantity will
trigger a Type Error. Having no weight will consider a zero weight and will return zero.
l float VectorWeightedFlux(string weight)
l Associated menu item: Representations / Surface Integral / Weighted Flux / Qnt
l Operation: returns the weighted (by scalar quantity named "weight") surface flux of the
active quantity on the active surfaces.
l Exceptions: having either no active quantity or a scalar quantity as active quantity will
trigger an Type Error. Having no weight will consider a zero weight and will return zero.
l float WeightedIntegral()
l Operation: computes the following ratio:
the numerator is the integral over the active surfaces of the active quantity multiplied by the
current weight equation (see SetProjectWeightEquation command below) and the
denominator is the integral over the active surfaces of the current weight equation.
l Exceptions: having either no active quantity will trigger an Type Error.
l SetProjectWeightEquation(string equation)
l Operation: sets the current weight equation used in the WeightedIntegral command.
l float VecIntegral(string fieldName)
l Associated menu item: (QAP) Representations / Integrals / Vector Integral
l Operation: integrates the active vector field fieldName on all active surfaces and prints the
three components of the resulting vector.

396 CFView™ 16.1 User Guide


l float Massflow(string name)
l Associated menu item: (QAP) Representations / Integrals / Massflow
l Operation: returns the massflow value for the selected surfaces.
l Exceptions: an error is raised if the quantities Wxyz, Vxyz or Density are not present in the
list of quantities.

8.5.22 Commands for Computing Volume Integrals

l float VolumeIntegral()
l Associated menu item: Representation / Integral subpanel.
l Operation: returns the computed volume integral of active quantity.
l float VolumeAverage()
l Associated menu item: Representation / Integral subpanel.
l Operation: returns the computed volume average of active quantity.
l float Volume()
l Associated menu item: Geometry / Volume.
l Operation: returns the computed volume of the whole mesh.

8.5.23 Commands for Computing Mechanics

l SetTorqueAxis ( float Origin.x, float Origin.y, float Origin.z, float Direction.x, float
Direction.y, float Direction.z, coordinatesystem, bool isPointTorque)
l Operation: defines the origin and the direction of the Torque axis. (Select Mechanics Data)
l coordinatesystem is set to 0 for Cartesian, 1 for cylindrical and 2 for STM.
l If isPointTorque is set to 1, the torque will be computed with respect to a point. In this
case, the resulting torque is a vector field.
l float MechanicsQntSurfaceDerived(string fieldName)
l Operation: computes mechanics quantities on all active solid surfaces. (Select Mechanics
Data)
l fieldName can be Force, Scalar Torque, Vector Torque, Normals and Normalized
Normals.

397 CFView™ 16.1 User Guide


8.5.24 Commands for Computing Integrals Along Curves

l float / [float, float, float] CurveSegmentIntegral(float p1x, float p1y, float p1z, float p2x, float
p2y, float p2z, float dx, float dy, float dz)
l Associated menu item: Representation / Curve Integral.
l Operation: first, the two intersection points between the surface and the two lines defined
by (p1, direction) and (p2,direction) are computed. If no intersection points, the integral is
computed along the curves defined by the intersection of the active surfaces and the plane
containing the points (p1x,p1y,p1z) and (p2x,p2y,p2z) and parallel to the direction (dx,
dy, dz). If the current equation (defined by the SetProjectEquation command) is a scalar,

the integral is where eq is the equation. If the current equation corresponds to a

vectorial expression, the integral is . If intersection points are found, the integral is
computed along the curves on the active surface limited by these intersection points.
l SetProjectEquation ( int mode, string name, string definition [, string definition2, string
definition3])
l Associated menu item: Representation / Curve Integral.
l Operation: defines a new equation for the integration along curves. The parameter 'mode'
specifies the new equation type: 0 for a scalar, 1 for a vector with a definition expressed as
a combination of vectorial quantities or 2 for a vector with a definition specified component
by component. If 'mode' has a value of 2, the parameters 'definiton2' and 'definition3' must
be present, otherwise they can be omitted. 5 lets CFView™ decides what type of data it is.

8.5.25 Commands Related to NLH Post Processing

l HarmoSelection(string list1, string list2, ...),


l Associated menu item: Representation / NLH / Harmonic selection.
l Operation (Harmonics Selection): selects harmonics used to NLH post processing. It takes
a number of arguments equal to the number of groups, and each argument is a string that
can be either "all", "none" or a list of numbers in the format "1-3 5 8-11" indicating that the
harmonics 1 to 3, 5 and 8 to 11 are selected.
l ScalarPlotInTime(int n, float p_1x, float p_1y, float p_1z, int ns, float internal)

398 CFView™ 16.1 User Guide


l Associated menu item: Representation / NLH / Local Time Evolution.
l Operation (Local Time Evolution): plots local time evolution. The first argument is 1 or 0
according to the fact that the point is attached to the mesh or not. The next three arguments
are the coordinates of the points. The fifth argument is the number of time steps and the
sixth argument is the time interval. The last two arguments are optional.
l LocalSpectrum(int n, float p_1x, float p_1y, float p_1z)
l Associated menu item: Representation / NLH / Local Spectrum.
l Operation (Local Spectrum): plots local spectrum. The first parameter sets that the observer
is attaching to the mesh (1) or detaching to the mesh (0). The following three arguments are
the coordinates of the observer. It returns the name of the view containing the spectrum.
l GetLocalSpectrum( float p_1x, float p_1y, float p_1z, float Rotationspeed)
l Operation: returns the local spectrum. The first three arguments are the coordinates of the
point. The fourth argument is the rotation speed. It returns a list:
the first element is the number of frequencies in the spectrum,
the second element is the list of the frequencies of the spectrum,
the third element is the list of the amplitudes (in dB values if the logarithmic scale was
chosen in the preferences, in the quantity units otherwise),
the fourth and fifth elements are the real and imaginary parts of the spectrum respectively.
l float GetRotationSpeed(int blockId)
l Operation: returns the rotation speed of the specified block. The units of the return values
are in RPM.
l float GetHarmonicFrequencies(int blockId)
l Operation: returns a list of number, the first one being the number of harmonic frequencies
and is followed by the frequency values. The units of the return values are in Hz.
l float GetSpatialModes(int blockId)
l Operation: returns a list of number, the first one being the number of spatial modes and is
followed by the mode values.
l float GetInterBladePhaseAngles(int blockId)
l Operation: returns a list of number, the first one being the number of the inter blade phase
angles and is followed by their values.
l string CircularArc(float p_1x, float p_1y, float p_1z)
l Associated menu item: Representation / NLH / Circular.
l Operation: returns the name of the circular arc created.
l DeleteCircularArc(string name1, string name2, ...)

399 CFView™ 16.1 User Guide


l Associated menu item: Delete in the menu when clicking-right on circular arc.
l Operation: deletes the specified circular arc. Its arguments are a list of circular arc names.
l UpdateCircularArcQnt(string name1, string name2, ...)
l Associated menu item: Update Quantity in the menu when clicking-right on circular arc.
l Operation: updates the quantity once the active quantity has changed. Its arguments are a
list of circular arc names.
l CircularArcCartPlot(string name1, string name2, ...)
l Associated menu item: Cartesian Plot in the menu when clicking-right on circular arc.
l Operation: get a Cartesian Plot of the selected quantity. Its arguments are a list of circular
arc names.
l SpectralAnalysis(string arcname, float theta, int Kmax, float rotationspeed)
l Associated menu item: Spectral Analysis in the menu when clicking-right on circular arc.
l Operation: performs a spectral analysis at a point on the circular arc. Its arguments are the
circular arc name followed by the theta, the Kmax and the rotation speed.

8.5.26 Commands Related to Plot Manipulation

All These commands raise an Attribute Error if no quantity is selected or if no plot view is
associated to the active quantity.
l ViewOpenGlobalPlot(viewName)
l Operation: creates a global plot view named viewName.
l ToggleGlobalPlotView()
l Operation: toggles the status of the "Global Plot View" option.
l ActivateGlobalPlotView()/DeactivateGlobalPlotView()
l Operation: respectively activates and deactivates the "Global Plot View" option.
l PlotOriginal(), FitCurves()
l Associated menu item: Update / Plot / Original.
l Operation (Update Cartesian Plot): restores the original parameters for the current plot
view.
l PlotPlaneX(), PlotPlaneY(), PlotPlaneZ(), PlotArcLen(), PlotNormalizedArcLen()

400 CFView™ 16.1 User Guide


l Associated menu items: Update / Plot / Function of X, Function of Y, Function of Z,
Function of Arc Length.
l Operation (Change Axis Variable & Range): sets the quantity distribution (i.e. horizontal
axis) a function of X, Y, Z or arc length.
l PlotOrdinateX (), PlotOrdinateY (), PlotOrdinateZ (), PlotOrdinateArcLen (),
PlotOrdinateQnt(), PlotOrdinateR(), PlotOrdinateTheta(), PlotOrdinateNormArcLen(),
PlotOrdinateS(), PlotOrdinateM().
l Operation: sets the ordinate distribution (the vertical axis) a function of X, Y, Z, the arc
length, the active quantity, the radius R with respect to the Z axis, the azimuth angle Theta
with respect to the Z axis, the normalized arc length, the spanwise position, or the
streamwise position. The last two commands have a meaning only if hub and shroud are
properly defined.
l PlotFctOfQnt (), PlotFctOfR (), PlotFctOfTheta (), PlotFctOfS (), PlotFctOfM (),
PlotFctOfM_NORM()
l Operation: sets the abscissa distribution (i.e. the horizontal axis) a function of the quantity,
the radius with respect to the Z axis, the azimuthal angle with respect to the Z axis, the span
wise position or the stream wise position. The last three commands have a meaning only if
hub and shroud are properly defined.
l ToggleTopXAxis()
l Operation: toggles the visibility of top X axis.
l ToggleRightYAxis()
l Operation: toggles the visibility of right Y axis.
l AddToRightYAxis(curveName)
l Operation: associates curve named curveName to right Y axis.
l AddToLeftYAxis(curveName)
l Operation: associates curve named curveName to left Y axis.
l ToggleLegend()
l Operation: toggles the visibility of the legend.
l SetLegendPosition(x,y,z)
l Operation: sets the position of the legend in (x,y) location, z coordinate should be set to 0.
l AddToLegend/RemoveFromLegend(curveName)
l Operation: adds/removes curve named curveName to/from legend.
l PlotCurvesMerge(string name1, string name2, ...)
l Operation: performs the merging of plot curves and returns the name of the merged curve
or a list of names if several curves created.
l SetAbscissaRange(float min, float max), SetOrdinateRange(float min, float max)

401 CFView™ 16.1 User Guide


l Operation: sets the range on the horizontal or vertical axis.
l FitAbscissa(), FitOrdinate()
l Operations: adjusts the range of the horizontal / vertical axis in such a way that the curves
are completely visible.
l ZoomInAbscissa(), ZoomOutAbscissa(), ZoomInOrdinate(), ZoomOutOrdinate()
l Operations: performs an automatic zoom in/out on the range by 10%.
l PlotZoom(float z)
l Operations: zooms in or out by a factor equals to z (zoom in for z>0 and zoom out for z<0)
l ZoomArea(float xmin, float xmax, float ymin, float ymax)
l Operations: performs a zoom operation on the axes range in such a way that the view
coordinates xmin, xmax, ymin and ymax correspond to the visible area (i.e. axis range).
l SetHReverse(), SetVReverse(), UnsetHReverse(), UnsetVReverse()
l Operations: sets the horizontal or vertical axis in decreasing scale or set in increasing scale.
l SetHLogarithmic(), SetVLogarithmic(), SetHLinear(), SetVLinear()
l Operation:sets the horizontal or vertical axis in logarithmic or linear scale.
l PlotCurveUndo()
l Associated menu item: Update / Plot / Curve Undo
l Operation: removes last added curve.
l PlotCurveType(CurveType c)
l Associated menu item: Update / Curve Type Editor...
l Operation: sets the last added curve type to c.
l PlotCurveOutput(string fileName)
l Associated menu item: Update / Plot / Curve Output...
l Operation: writes the plot curves data in ASCII format in the file with specified name.
l ActivePlotCurveOutput(string fileName, string curveName)
l Operation: writes the currently specified plot curves data in ASCII format in the file with
specified name and sets default type for curves associated to Cartesian plots.
l Associated menu item: 'Export to file'. When right-clicking on the curve in the Cartesian
plot window.
l CurveYValue(curveName,x_value)
l Operation: returns ordinate value for abscissa x_ value on the selected curve named
curveName.
l ToggleTicksOrientation()
l Operation: toggles between the two orientations of ticks.

402 CFView™ 16.1 User Guide


l NumOfHMajorTicks(int n), NumOfVMajorTicks(int n)
l Operation: sets the number of labelled graduations on the horizontal or vertical axis.
l NumOfHMinorTicks(int n), NumOfVMinorTicks(int n)
l Operation: sets the number of intermediate graduations on the horizontal or vertical axis.
l SetHTicksDistance(float d), SetVTicksDistance(float d)
l Operation: sets the margin size around the graduation numbers on the horizontal or vertical
axis.
l SetHTicksTextType(TextType type), SetVTicksTextType(TextType type)
l Operation: sets the text type for the graduation numbers on the horizontal or vertical axis.
l HAxisLabelText(string text), VAxisLabelText(string text)
l Operation: sets the horizontal or vertical axis label text.
l HAxisLabelFontType(int type, float size), VAxisLabelFontType(int type, float size)
l Operation: set the font type and size for the horizontal or vertical axis label. The following
font types are available: roman (0), sans serif (1), typewriter (2), stroked (3), system default
(4), newfield (5), enfield (6), brooktondale (7), kuma (8), arial (9) or times (10).
l HAxisLabelLargerFont (), HAxisLabelSmallerFont (), VAxisLabelLargerFont (),
VAxisLabelSmallerFont()
l Operation: increases or decreases the text size of the horizontal or vertical axis label.
l HAxisLabelFontColor(Color c), VAxisLabelFontColor(Color c)
l Operation: sets the color for the horizontal or vertical axis label.
l HAxisLabelPosition(int p), VAxisLabelPosition(int p)
l Operation: sets the position of the horizontal or vertical axis label. The following positions
are available: at the axis end (0), near the axis origin (2) or in the middle of the axis (4).
l HAxisLabelDistance(float d), VAxisLabelDistance(float d)
l Operation: sets the width of the internal margin around the horizontal or vertical axis label.
l LimitsCurveArea(float xmin, float xmax, float ymin, float ymax)
l Operation: sets the limits of the curve area within a Cartesian plot view.
l AxisFit()
l Operation: computes the curve area size in such a way that it takes a maximum space,
without having the axis number s and labels cut by the view border.
l ShowHorizontalGridLines (), ShowVerticalGridLines (), HideHorizontalGridLines (),
HideVerticalGridLines()
l Operation: sets visible or hidden the horizontal or vertical grid lines.
l HorizontalGridLinesType(LineType type), VerticalGridLinesType(LineType type)

403 CFView™ 16.1 User Guide


l Operation: sets the line type attributes for the horizontal or vertical grid lines.
l PlotType(int fitOnInsert, int logX, int varX, int logY, int varY, float minX, float maxX, float
minY, float maxY)
l Associated menu item: Update / Plot / Axis Editor...
l Operation: sets some parameters of the current Cartesian plot: automatic scaling at curve
insertion (fitOnInsert=1) or not (fitOnInsert=0), logarithmic scale in X or Y direction (logx
or logY =1) or not (logX or logY =0) and variable associated to the axis: varX or varY = 0
(X), 1 (Y), 2 (Z), 3 (arc length), 4 (active quantity), 5 (radius = ), 6 (theta =

)
l PlotHAxisLabel(float dist, int position, TextType type, string label), PlotVAxisLabel(float
dist, int position, TextType t, string label)
l Associated menu item: Update / Plot / Axis Editor...
l Operation: sets the parameters of the horizontal and vertical axis label: 'dist' is the distance
from the axis, int is the position relative to the axis (valid values and their associated

positions are ), the text type is set to type and the label text is set to label.
l PlotHAxisTicks(int ticks, int userTicks, int logScale, int smallTicks, float dist, float offset,
float min, float max), PlotVAxisTicks(int ticks, int userTicks, int logScale, int smallTicks,
float dist, float offset, float min, float max)
l Associated menu item: Update / Plot / Axis Editor...
l Operation: sets the parameters of the axis ticks: no ticks (ticks =0) or automatic ticks
(ticks=1 and userTicks=0) or user defined ticks (ticks=userTicks=1), logarithmic scale is
indicted by logScale=1 (0 otherwise), major ticks are drawn starting at 'offset', one each
'dist', 'min' and 'max' are the axis range and 'smallTicks' are inserted between two
successive major ticks.
l PlotHAxisTicksLabels ( float dist, int position, TextType t, DoubleFormat f),
PlotVAxisTicksLabels(float dist, int position, TextType t, DoubleFormat f)
l Associated menu item: Update / Plot / Axis Editor...
l Operation: sets the ticks labels parameters for the horizontal or vertical axis: dist is the
distance from the axis, position may be down / left (position =0) or up / right (position =1),
the text type is set to 't' and the double format to 'f'.
l PlotHGridLines(LineType majorLines, LineType minorLines), PlotVGridLines(LineType l,
LineType minorLines)
l Associated menu item: Update / Plot / Axis Editor...
l Operation: sets the horizontal or vertical grid major and minor lines type.
l FitCurveRange(curveName)

404 CFView™ 16.1 User Guide


l Operation: fits the horizontal and vertical axis based on the range of the curve named
curveName.
l RenameCurve(oldName,newName)
l Operation: renames curve named oldName to newName.
l EditCurve(curveName,fileName)
l Operation: removes the existing curve named curveName and create a new curve using the
coordinates from the file named fileName.
l InsertNewCurveByFormula(curveName,equation,lowerLimit,upperLimit,numOfPoints)
l Operation: creates a new curve named curveName with specified equation using
numOfPoints points between lowerLimit/upperLimit abscissa.
l InsertNewCurveFromFile(curveName,fileName)
l Operation: imports data from file named fileName and will create a new curve named
curveName.
l InterpolationCurve(curveName,numOfPoints,curveID)
l Operation: creates an interpolation curve by fitting cubic splines to the points of the curve
named curveName. Interpolation curve shows the values at numOfPoints points. These
points are uniformly distributed between lowest and highest abscissa. The interpolation
curve is named by appending curveID to curveName.
l ExtrapolationCurve(direction,curveName,extent,numOfPoints,curveID)
l Operation: creates an extrapolation of the curve named curveName towards left/right if
direction set to 0/1. The lower/upper limit of abscissa is specified by extent. Extrapolation
curve shows the values at numOfPoints points. The extrapolation curve is named by
appending curveID to curveName.
l GetViewCurveList()
l Operation: returns the list of curves names of the created Cartesian Plot.
l ShowCurves(curveName1,curveName2,...)
l Operation: makes the line and marker visible for the selected curves.
l HideCurves(curveName1,curveName2,...)
l Operation: makes the line and marker invisible for the selected curves.
l ShowCurvesLine(curveName1,curveName2,...)
l Operation: makes the line visible for the selected curves.
l HideCurvesLine(curveName1,curveName2,...)
l Operation: makes the line invisible for the selected curves.
l ShowCurvesMarker(curveName1,curveName2,...)
l Operation: makes the marker visible for the selected curves.

405 CFView™ 16.1 User Guide


l HideCurvesMarker(curveName1,curveName2,...)
l Operation: makes the marker invisible for the selected curves.
l SetPlotSectionLimited()
l Associated menu item: Right-click on the selected curves / Limited section
l Operation: restricts the plot between the two selected points instead of a complete line on
whole domain passing through the two selected points.
l SetPlotSectionUnlimited()
l Associated menu item: Right-click on the selected curves / Unlimited section
l Operation: removes the restriction applied by the macro SetPlotSectionLimited. The curve
is a complete line on whole domain passing through the two selected points (default
behavior)
l DeletePlot()
l Associated menu item: Update / Delete / Cartesian Plot.
l Operation: deletes the current plot view or the Cartesian plot view associated to the active
quantity and all associated curves.
l SclPlotVsTime(attachToMesh,domainID,cellID)
l Operation: creates Scalar vs Time or vs Clocking Position plot for specified point.
attachToMesh is set to 1 (option Attach To Mesh enabled). domainID and cellID are the
domain and cell ID respectively starting from 1 and 0.
l SclPlotVsTime(attachToMesh,x,y,z)
l Operation: creates Scalar vs Time or vs Clocking Position plot for specified point.
attachToMesh is set to 0 (option Attach To Mesh disabled).
l GetDomainAndCellIndex(x,y,z)
l Operation: returns domainID and cellID located at specified (x, y, z) location.
l GetCellIndex(domID,i,j,k)
l Operation: returns cellID for structured test cases.
l DiscreteFourierTransform(curveName)
l Operation: applies a Discrete Fourier Transform on the curve named "curveName".

8.5.27 Commands Related to Colormap & Range Selection

These commands will raise an Attribute Error if no quantity is selected.

406 CFView™ 16.1 User Guide


l RprColormap(int i)
l Associated menu item: Representation / Colormap.
l Operation (Insert Colormap): if i is different from zero, puts colormap of the active quantity
on view, else removes the colormap.
l ColormapLimits(float xmin, float xmax, float ymin, float ymax)
l Operation: sets the limits of the colormap in the view.
l ColormapSmoothOnly(), ColormapStripesOnly(), ColormapSmoothAndStripes()
l Operation (Smooth & Strip Maps): sets the kind of displayed color ramp: either only the
smooth coloring ramp, only the stripes coloring ramp or both of them.
l ColormapAxisAtLeft(), ColormapAxisAtRight()
l Operation (Change Colormap Position & Size): sets on which side of the colormap is
displayed the axis ticks numbers and label.
l UpdateColormapBW (), UpdateColormapGreyscale (), UpdateColormapColor (),
UpdateColormapJet (), UpdateColormapCool (), UpdateColormapHot (),
UpdateColormapSummer (), UpdateColormapAutumn (), UpdateColormapWinter (),
UpdateColormapSpring (), UpdateColormapBone (), UpdateColormapCopper (),
UpdateColormapPink()
l Associated menu item: Update / Colormap / Reset B&W, Reset GrayScale, Reset
Color
l Operation (Update Colormap Representation ): sets the color map to black and white,
grayscale or COLOR ramp.
l RprRangeIn(float qmin, float qmax)
l Associated menu item: Representation / Range / Colormap Set Range.
l Operation (Control Representations Range): sets the range of the active quantity to (qmin,
qmax).
l RprRangeAll()
l Associated menu item: Representation / Range / Colormap Full Range.
l Operation (Control Representations Range): sets the range of the active quantity to the
global range.
l RprRangeActiveSurfaces()
l Associated menu item: Representation / Range / Colormap Optimum Range.
l Operation (Control Representations Range): sets the range of the active quantity to its range
on the active surfaces.
l ColormapNumOfBigTicks(int n)

407 CFView™ 16.1 User Guide


l Operation (Update Colormap Representation): sets the number of graduation marks on the
axis. This number is rounded automatically in such a way that rounded values are
displayed.
l ColormapTicksNumberDistance(float d)
l Operation (Update Colormap Representation ): sets the distance between the graduated
numbers and the axis.
l ColormapTicksNumberTextType(TextType type)
l Operation (Update Colormap Representation): sets the text type attributes for the graduation
numbers (see Description of Argument List for Some Standard Features for a description of
TextType arguments).
l ColormapLabelText(string t)
l Operation (Update Colormap Representation): sets the label text of the colormap.
l ColormapLabelTextSize(int s)
l Operation (Update Colormap Representation): sets the size of the colormap label.
l ColormapLabelTextType(TextType type)
l Operation (Update Colormap Representation): sets the parameters of the colormap label
text (see "Description of Argument List for Some Standard Features" (p. 414) for a
description of the TextType argument).
l ColormapReverseColors()
l Operation (Update Colormap Representation): switches the top and bottom colors.
l ColormapDefineLocation(string edge)
l Operation (Update Colormap Representation ): sets the location where the colormap is
displayed. The argument edge is either "Right", "Left", "Top" or "Bottom". Default
location is "Right"
l ColormapNumOfStripes(int n)
l Operation (Update Colormap Representation): sets the number of color stripes.
l UpdateColormap(string type)
l Operation (Update Colormap Representation): sets the colormap type. The argument type
must be one of the following: 'BW', 'Greyscale', 'Color', 'Jet', 'Cool', 'Hot', 'Summer',
'Autumn', 'Winter', 'Spring', 'Bone', 'Copper', 'Pink' or 'User_defined'. If type = 'User_
defined', it must be followed by the hsv values of the bottom color, the top color and all the
intermediate colors, and then by the positions of the intermediate colors.
l ColormapNumbersFormat(DoubleFormat f)
l Operation ( Update Colormap Representation ): sets the number format to exponential
format.

408 CFView™ 16.1 User Guide


8.5.28 Commands Related to Marker

l InsertMarker(float px, float py, float pz)


l Operation: inserts a marker in the view at point (px, py, pz). Allows to plot a given point
for instance to see the point corresponding to a probe.
l UpdateMarkerType(MarkerType m)
l Associated menu item: Update / Marker Type Editor....
l Operation: sets last representation marker type to m (Description of Argument List for
Some Standard Features for argument description).
l DeleteMarkers()
l Operation: deletes all markers that have been added with the command InsertMarker.

8.5.29 Commands Related to Text Manipulation

l string InsertText(float px, float py, float -, string text)


l Associated menu item: Update / Insert Text.
l Operation (Insert Text): inserts decoration text at position (px, py), (-1,-1) is the lower left
corner of the active view and (1,1) is its upper right corner. Returns the reference name of
the text string.
l string InsertText2(string name, float px, float py, float -, string text)
l Associated menu item: Update / Insert Text.
l Operation (Insert Text): inserts decoration text having a specified name at position (px, py),
(-1,-1) is the lower left corner of the active view and (1,1) is its upper right corner. Returns
the reference name of the text string. The text name is used to further reference to the
decoration text for type attributes handling. The name is a unique identification key, if a text
exists already with the provided name, it is modified (instead of inserting a new text).
l SetTextFontName(string name, string fontName)
l Operation (Update Texts): sets the font of the text with the specified name. The valid font
names are Arial, Times, Roman, Sansserif, TypeWriter, Stroked, NewField, Enfield,
Brooktondale and Kuma.
l SetTextFontSize(string name, int size)
l Operation (Update Texts): sets the font size of the text with the specified name.
l SetTextColor(string name, float h, float s, float v)

409 CFView™ 16.1 User Guide


l Operation (Update Texts): sets the color of the text with the specified name. The color is
provided in its hue, saturation and value decomposition (Description of Argument List for
Some Standard Features for further reference).
l SetTextAlignement(string name, int h, int v)
l Operation ( Update Texts ): sets the horizontal and vertical alignment of the text with
specified name. The alignment is the position of the text with respect to the position point.
The h argument is interpreted as follows: h=-1 for a text placed at the right of the position
point, h=1 for a text placed at the left of the position point, h=0 for a text centered around
the point position. The v argument is interpreted as follows: v=-1 for a text below the
position point, v=1 for a text above the position point and v=0 for a text centered vertically
on the position point.
l SetTextLineAlignement(string name, int l)
l Operation (Update Texts): sets the text justification. This has only a sense for multiple lines
text. The parameter l is interpreted as follows: l=0 for centered lines, l=1 for lines aligned
on their left side and l=2 for lines aligned on their right side.
l SetTextLineSpacing(string name, int s)
l Operation (Update Texts): sets the text line spacing (used only for multi-line texts). A value
s=0 is for normal line spacing, s=1 for one and a half spacing and s=2 is for double line
spacing.
l SetTextFrameVisibility(string name, int v)
l Operation (Update Texts): sets visible (v=1) or hides (v=0) of the enclosing rectangular box
around the specified text.
l SetTextPosition(string name, float x, float y)
l Operation: sets the text position within the view: x=-1 is the left side, x=1 is the right side,
y=-1 is the bottom side and y=1 is the upper side.
l DeleteText(string name)
l Operation (Delete Texts): deletes the text having the specified name.
l DeleteTextAll(), DeleteTextLast()
l Associated menu items: Update / Delete / Text Last and Text All.
l Operation (Delete Texts): deletes all or last inserted decoration text in the active view.
The following commands are maintained for backward compatibility. However, their use is
strongly discouraged as it does not cover all the functionality.
l TextActivate(string name), TextDeActivate()
l Associated menu item: Text selection / de-selection by clicking with the left mouse button
l Operation: selects or de-selects text item with reference name given by 'name'.
l Exceptions: will raise an Name Error if the name is unknown.

410 CFView™ 16.1 User Guide


l TextModify(string text, float px, float py, float -, TextType t)
l Associated menu items: text updates through Text Editor dialog box.
l Operation (Update Texts): sets the currently selected text attributes: text is its content, (px,
py) its position (see the InsertText() command) and its text type is set to 't'.
l Exceptions: will raise an Attribute Error if no text is currently selected.

8.5.30 Commands Related to Axes Systems Representations

Orientation Axes

l ViewAxes()
l Associated menu item: Geometry / Coordinate System / Axis.
l Operation: toggles simple axis representation.
l AxisSize(float s)
l Operation: sets the size of the orientation axes if they are represented (the default value is
0.03).
l AxisPosition(float x, float y)
l Operation: sets the axis position in way independent from the represented geometry: x=-1 is
the left side, x=1 is the right side, y=-1 is the bottom side and y=1 is the upper side.
l CoordSystem1Origin(float px, float py, float pz)
l Associated menu item: Geometry / Coordinate System / Axis
l Operation: sets simple axis representation origin at point (px, py, pz) and creates it if not
existing.

Graduated Axes

l ViewAxesGlobal()
l Associated menu item: Geometry / Coordinate System / Graduated Axis.
l Operation: toggles graduated axis representation.
l SetGradAxis1Range ( float min, float max), SetGradAxis2Range ( float min, float max),
SetGradAxis3Range(float min, float max),
l Operation: set the range of the graduated axes along the first, second or third direction. The
min arguments are defining the origin of the represented coordinate system and must be
smaller than the related max value.

411 CFView™ 16.1 User Guide


l SetGradAxis1TicksSpacing ( float s), SetGradAxis2TicksSpacing ( float s),
SetGradAxis3TicksSpacing(float s)
l Operation: set the spacing between the graduation on the first, second and third axis
respectively.
l CoordSystem2Origin(float px, float py, float pz)
l Associated menu item: Geometry / Coordinate System / Graduated Axis.
l Operation: sets graduated axis representation origin at point (px, py, pz).
l Exceptions: will raise an Attribute Error if graduated axis does not exist.
l SetGradAxis1Horizontal(), SetGradAxis2Horizontal(), SetGradAxis3Horizontal()
l Operation: set the graduation numbers orientation on the axis to horizontal. The numbers
are displayed horizontally whatever the axis orientation.
l SetGradAxis1Perpendicular (), SetGradAxis2Perpendicular (),
SetGradAxis3Perpendicular()
l Operation: set the graduation numbers orientation perpendicular to the axis line.
l SetGradAxisTicksSize(float s)
l Operation: sets the size of the graduation ticks (as a percentage of the axis length). The
default value is 0.01.
l SetGradAxisNumbersSize ( int s), SetGradAxisNumbersFont ( string fontName),
SetGradAxisNumbersColor(Color c)
l Operation: set the text size, text font or text color of the graduation numbers. The valid font
names are Arial, Times, Roman, Sans- serif, TypeWriter, Stroked, NewField, Enfield,
Brooktondale and Kuma. See Description of Argument List for Some Standard Features
for the description of color arguments.
l SetGradAxis1LabelPosition ( int p), SetGradAxis2LabelPosition ( int p),
SetGradAxis3LabelPosition(int p)
l Operation: set the position of the axis label. The value of p may be 1 for placing the label at
the top end of the axis or 0 for placing the label at mid-range.
l SetGradAxisLabelsSize ( int s), SetGradAxisLabelsFont ( string fontName),
SetGradAxisLabelsColor(Color c)
l Operation: set the text size, text font or text color of the axes labels. The valid font names
are Arial, Times, Roman, Sans- serif, TypeWriter, Stroked, NewField, Enfield,
Brooktondale and Kuma. See Description of Argument List for Some Standard Features
for the description of color arguments.
l SetGradAxisLineType(LineType type)
l Operation: set the line type attributes used to draw the axes lines and the graduation ticks.
See Description of Argument List for Some Standard Features for the description of
LineType arguments.

412 CFView™ 16.1 User Guide


8.5.31 Commands Related to catenary line visualization

Unless stated differently, all these commands perform no action if no view is active. All
operations are performed for all defined Catway catenary lines in the opened project.
l ToggleCablesVisibility()
l Associated menu items: Quantity/Lines (Catway)/Show/Hide Lines.
l Operation: toggles between showing and hiding the Catway catenary line.
l ToggleColor()
l Associated menu items: Quantity/Lines (Catway)/Toggle Color.
l Operation: toggles between plotting the tension on a Catway catenary line and representing
it with a uniform color. The operation is performed both on line and tube representations.
l Exceptions: only affects visualization if Catway catenary line is shown.
l UpdateCablesLineType(Color c,int pattern,int endCap,int lineJoin,float width)
l Associated menu items: Quantity/Lines (Catway)/Edit Line Type....
l Operation: changes the Catway catenary line representation based on input. The input
parameters follow the definitions of the Line Type from the Description of argument list
for some standard features.
l Exceptions: only affects visualization if tension is not plotted on Catway catenary line and
if it is not represented as a Tube.
l FocusCableTension()
l Associated menu items: Quantity/Lines (Catway)/Show Cable Tension.
l Operation: displays the tension on the Catway catenary line. The operation is performed
both on line and tube representations.
l Exceptions: only affects visualization if Catway catenary line is shown.
l ToggleCablesRpr()
l Associated menu items: Quantity/Lines (Catway)/Toggle Line/Tube.
l Operation: toggles between representing the Catway catenary line as a line and a tube.
l Exceptions: only affects visualization if the Catway catenary line is shown.
l SetTubesDiameterScaling(float scaleValue)
l Associated menu items: Quantity/Lines (Catway)/Edit Tube Diameter....
l Operation: changes the scaling of the tube diameter to the specified scaleValue.
l Exceptions: only affects visualization if the Catway catenary line is represented as a tube.

413 CFView™ 16.1 User Guide


8.5.32 Description of Argument List for Some Standard
Features

l Color: float h, float s, float v


A color is described in the HSV (Chroma) model (Hue, Saturation, Value) by the parameter
triplet: float h, float s, float v; with 0 < h < 360, 0 < s < v and 0 < v < 1. Some examples are
black (0,0,0), white (0,0,1), red (0,1,1), yellow (60,1,1), green (120,1,1), cyan (180,1,1), blue
(240,1,1) and magenta (300,1,1).
l TextType: int fontType, int fontSize, int horzAlignement, int vertAlignement, float px, float py,
float pz, float spacing, int rotation, Color c
int fontType (value between 0 and 10): roman (0), sans serif (1), typewriter (2), stroked (3),
system default(4), newfield (5), enfield (6), brooktondale(7), kuma (8), times (9) or arial (10);
int horizontalAlignement, int verticalAlignement (value between 0 and 2): center (0), left or
upper (1) and right or lower (2);
float px, float py, float pz coordinates of the vector indicating the text path.
float spacing: specified in character height;
int rotation (value between 0 and 4): follow path (0), right (1), down (2), left (3) or up (4).
l LineType: Color c, int pattern, int endCap, int lineJoin, int visibility, float width (Line Type
Editor)
int pattern (value between 0 and 8): solid (0), simple dashed (1), dotted (2), dashes and dots
alternating (3), dashes and double dots alternating (4), dashes and triple dots alternating (5),
long dashes (6), very long dashes and short dashes alternating (7) and very long dash and
double short dashes alternating (8),
int endCap (value between 0 and 2): "butt" line end-cap (0), "square" line end-cap (1) and
"round" line end-cap (2),
int lineJoin (with value between 0 and 2): "mitre" line join (0), "bevel" line join (1), "round"
line join (2),
int visibility: with value 0 (not visible) or 1 (visible).
l MarkerType: Color c, int light, float size, int symbol, int filled, int visibility (Marker Type
Editor)
int light: with lighting (1) or without lighting (0),
int symbol (with value between 0 and 10): star (0), times (1), plus (2), dot (3), box (4), circle
(5), diamond (6), up triangle (7), down triangle (8), left triangle (9), right triangle (10).
int filled: filled symbol (1) or not (0)
l CurveType: LineType l, MarkerType m

414 CFView™ 16.1 User Guide


Curve Type description is a juxtaposition of a line type description and a marker type
description
l DoubleFormat: int sign, int exponent, int accuracy (Numbers Format Editor) int sign: number
are signed (1) or not (0),
int exponent: scientific notation is used when necessary (0), always (1) or never (2),
int accuracy: number of significant digits.

8.6 UTILITIES FOR HANDLING CURVES

A Point and a Curve class are provided to handle curves. A typical use of this feature is to create a
curve for which each point is obtained from a user defined computation and then shown as a
Cartesian plot in the CFView™ graphics window.
This section provides first a complete description of the Point and Curve classes. Then an
example is provided as an illustration.

Point Class

This class may be used for point or vector handling. It contains the following operations:
l constructor from 3 floating point values with a default value of 0.
Examples:
p = Point(1.0,1.0,1.0)
p = Point(1.0)
l mathematical operators: +, -, *, /
operations are applied component by component.
l [float, float,float] asTuple(): return point coordinate as a tuple (a list) containing 3 elements.
l float norm (Point): returns the norm of the vector.

Curve Class

This class allows to create representations and to handle curves (defined by a list of points) in a
macro script. This class allows to compute in a macro a series of values and insert them in a
Cartesian plot and also, it allows to handle in a macro curves that are existing in a CFD data set.

415 CFView™ 16.1 User Guide


Add from Curve import * at the beginning of the macro to be able to use the Curve class.

l constructor from name. If the name corresponds to an existing curve (e.g. a streamline, a
surface boundary), then its points list is taken from this curve and it is accessible only for
reading operations. If the name does not correspond to an existing curve, a new curve is
created, having zero points after the creation operation.
c = Curve('mycurve') creates a new curve.
c = Curve(VecLineLocal(pix,piy,piz, 0,0,1)) gets the streamline curve for further handling.
l char type(): returns the curve type ('c'for a curve that was already existing in the data set or 'p')
l int numOfPoints(): returns the number of points,
l float length(): returns the curve length,
l Point point(int i): returns the ith point in the curve,
l addPoint(Point p): appends the point to the curve definition (the curve should not be a curve
existing in the data set),
l Point pointAtDistance(float d): returns the Point at arc length d,
l [float, Point] closestPoint(Point p, Point v): returns the curve point closest to the Point p and
the distance which is evaluated along the v direction.
l showInPlot(string quantityName, [quantityValues]): creates a graphic representation of the
curve associated to a set of values defined on each of the curve points. The string
quantityName is used for labeling the coordinate axis. The parameter [quantityValues] is a
list of values; there must be a number of values equal to the number of curve points. The curve
defines the geometrical location of the associated values.
A plot data curve is created (having the curve name), inserted in the data set and its
representation in a Cartesian plot is raised.
l float / [float, float] / [float, float, float] computeIntegral(int type, string eqX, string eqY,
string eqZ): returns the integral along the curve of the specified mathematical expression.
Type and expression specification is identical to the derived quantities. If type is 0, the
expression should be a valid scalar definition and provided as the eqX argument; the
arguments eqY and eqZ are ignored and may be omitted. If the type equals 1, the expression
should be a valid vectorial definition provided as eqX arguments. If type is 2, the expression
should be considered as a vector provided component by component in the eqX, eqY and eqZ
arguments.

Scalar integration is the usual line integration ( ), while the vector integral is the
integral of the vector (or external) product between the integrand and the normalized vector
tangent to the curve ( ).

416 CFView™ 16.1 User Guide


CHAPTER 9.

LIST OF SHORTCUT KEYS

Here are all the keyboard shortcuts that are defined in CFView™.

Project Handling

Shift-p Open the file chooser to select a project (Project Management)


p Open the partial loader (Partial Loader)
Ctrl-q Quit CFView™ (Close Project)
' Graphical area refresh (Refresh Graphical Area Display)
w Toggle the reverse video / normal video mode (Other User Preferences)
u Undo
Ctrl-y Redo
Shift-r Repetition on/off
Ctrl-d Delete all (Delete )

Views Handling

f Maximise size (Change View Size/Position)


7 Preferred size ("Change View Size/Position" (p. 56))
. Minimise (Change View Size/Position)
m Start the interactive move / resize mode (Change View Size/Position)
r Start the interactive move / resize mode (Change View Size/Position)
Shift-n Open a new view in Cartesian coordinates (Stretched, Orthographic, Perspective )
Ctrl-n Close the active view (View & Window Menus)
/ Swap Views
= Align Views
+ Superpose Views

417 CFView™ 16.1 User Guide


- Toggle view transparency (View/Parameters)
Shift-v Toggle full rendering mode (View/Parameters)
Shift-b Toggle border line (View/Parameters)

Camera Position

o Set the camera to the original position (Original Button)


x Project along the first direction (Original Button)
y Project along the second direction (Original Button)
z Project along the third direction (Original Button)

Surface Representation

Ctrl-s Surfaces selection dialog box (From Geometry Menu)


Ctrl-a Interactive surfaces selection tool (Interactive Surface Selection)
Ctrl-z Mesh surfaces creation dialog box (Create Mesh Surface )
Shift-l Cutting plane creation dialog box (Create Cutting Plane )
Ctrl-b Blade to blade surface dialog box
g Toggle active surfaces grid representation (View Grid Wireframe )
b Toggle active surfaces boundary representation (View Surfaces Boundaries)
h Toggle hidden line surfaces representation (Hidden Lines Rendering)
Shift-f Toggle flat colored representation (Flat Shading)
Shift-s Toggle Gouraud shading representation (Gouraud Shading)
Shift-h Switch off rendering (Remove Rendering Effects)
Shift-t Surface color edition dialog box (Modify Rendering Color)

Text

Ctrl-t Starts text insertion tool (Insert Text)

418 CFView™ 16.1 User Guide


Scalar Quantities Representation

i Multiple isolines dialog box (Drawing Multiple Isolines)


j Local isolines (Isolines)
Shift-q Flat color contour (Flat)
c Smooth color contour (Smooth)
s Strip color contour (Strip)
v Local value insertion mode (Local Values)
d Cartesian plot along section (Cartesian Plot along Section)
l Cartesian plot along grid line (Cartesian Plot along a Grid Line )
Shift-i Iso-surface (Iso-Surfaces)
u Undo-suppress last representation (Undo)
Ctrl-r Toggle colormap representation (Colormap & Representations Range )

Vector Quantities Representation

j Local vector lines


Shift-j Vector lines from a section
Ctrl-j Vector lines from grid line
q Vector lines parameters dialog box (Vector lines from grid line )
c Vector field (Vector on Grid Nodes)
t Threshold vector field (Thresholded Vector on Grid Nodes)
v Local vector (Arrow Representation)
d Vectors along a section
l Vectors along a grid line
s Vector type dialog box
u Undo (remove last representation) (Undo)
Ctrl-r Toggle colormap representation (Colormap & Representations Range )

419 CFView™ 16.1 User Guide


CHAPTER 10.

INPUT FILE FORMAT

This chapter describes the file formats supported by CFView™. Two file formats are supported:
l The native file format
l The FINE™ project file
This chapter is made of three sections corresponding to these formats. For the native format, the section
is divided in 5 parts:
l Create identification file,
l Create boundary condition file,
l Create unstructured cell connectivity (for unstructured meshes only),
l Create geometry and quantity files,
l CFView™ tools (please contact your NUMECA local sales or support office before using the
provided tools).
The FINE™ file format is not described in details as this file is internal to the FINE™ package.
It is recommended to attentively read the section describing the "Native File Format" (p. 421) which
introduces the input files and outlines their different types. The remaining sections provide the way to
create these files.

White spaces should be avoided in the file name.

In this section
10.1 Native File Format 421
10.2 FINE™ File Format 437

420 CFView™ 16.1 User Guide


10.1 NATIVE FILE FORMAT

As mentioned in Getting Started chapter, there are four data types which are field data, surface
data, validation data and plot data. These data represent scalar or vector quantities at node
coordinates as well as along specific curves. The files containing these data are separated from the
files containing the node and curve coordinates.
Therefore, the CFView™ input data file system consists of a series of files. They are grouped in
various types of files:
1. Identification file
This file contains general information about the project. Especially, it includes all the file
names containing the boundary conditions and the geometry and quantity data.
l Format: ASCII
l Number: one by project.
2. Boundary condition files (for structured meshes)
These files contain information concerning the boundaries of the project such as the boundary
condition (external, solid, periodic, inlet...), the location and the connections with other
domains.
l Format: ASCII
l Number: one by domain.
3. Topology & Boundary Condition files (for unstructured meshes)
These files contain information on the topology and the boundaries of the project.
l Format: binary
l Number: one by domain
4. Geometry files
These files are used to store field data, surface data, validation data and plot data node
coordinates.
l Format: binary
l Number:
l one by domain for the field data and surface data.
l one for each validation data and plot data.
5. Quantity files
They are used to store the values of the scalars and the vectors of each data type at each nodes
and points defined in the Geometry files.

421 CFView™ 16.1 User Guide


l Format: binary
l Number:
l one by domain for each field data and surface data.
l one for each validation data and plot data.
1. Meridional support file
This file is used to provide the geometrical support for blade to blade views
l Format: binary or ASCII
l Number: one by project
2. Particle tracks file
This file is used to import externally computed particle tracks
l Format: binary or ASCII
l Number: one by project
3. ASCII validation data files
These files are used for interactive loading of validation data.
The data type concepts and the generation of the input data files are explained in the following
sections.

CFView™ accepts structured and unstructured meshes. The CFView™ input file system for
unstructured meshes is very similar to the structured meshes. There are some differences in the
Identification file (see "Create Identification File" (p. 422)) but the main difference is the existence
of the Topology & Boundary Condition file.

10.1.1 Create Identification File

The Identification file contains general information about the project. Its name is characterized by
the ".cfv" extension. It includes all the file names containing boundary conditions, geometry and
quantity data.
The identification file is an ASCII file which contains numbers and character strings. It is
composed of the following parts:
1. Project identification.
2. Mesh identification.
3. Domain(s) identification.
4. Validation data identification.

422 CFView™ 16.1 User Guide


5. Plot data identification.
These 5 parts are described below with concrete examples. A complete example of an
Identification file is given at the end of this section.

For unstructured meshes, the differences with the structured meshes lie in the Mesh and Domain
identification parts. See these parts for more details.

File names must be written with absolute paths. CFView™ check firstly this absolute path, if the
expected file is not there, CFView™ check secondly in the directory where the .cfv is located and if
the expected file is not there, CFView™ check thirdly in the directory defined by the relative path
"../_mesh". If the expected file is located in none of these three locations, CFView™ will not find it.

A. Project Identification

The project identification consists of five arbitrary character strings.


l The project name: It is given by the first character string. If no information is given, a blank
character string of arbitrary length has to be entered.
l The version number: It is represented by the second character string. If no information is given,
a blank character string of arbitrary length has to be entered.
l The solver description: It consists of the three remaining character strings. If no information is
given, a blank character string of arbitrary length has to be entered for each of them.
While working with CFView™, a specific command allows to display this project identification
into the graphic area. An example of a project identification is:
EXTERNAL FLOW - NUMECA
TEST CASE 999.111
EULER EQUATIONS
MESH SIZE 40*35*105
INLET CONDITIONS: MACH NUMBER 2.8

B. Mesh Identification

The mesh identification gives general information on the mesh geometry and specifies the
Geometry and Quantity file names for field data and surface data. It consists of 4 general
specifications, 1 field data and 1 surface data specification.

423 CFView™ 16.1 User Guide


General Specifications

These are:
1. The dimension:
l 2D
l 3D
2. The type:
l STRUCTURED
l UNSTRUCTURED
l HEXANS
3. The coordinate system:
l CARTESIAN
4. The kind of repetition:
l NONE
l TRANSLATION
l ROTATION
l MIRROR
The specifications have to be written on one character string in the above order. You can input
2D projects by specifying the dimension parameter as 2D. For example, a three dimensional
structured mesh in a Cartesian coordinate system without repetition is specified as follows:
3D STRUCTURED CARTESIAN NONE
With repetition option, it is possible to translate, rotate or mirror the complete mesh geometry
specifying:
l The translation vector, mirror plane point or rotation axis point.
l The mirror plane normal or rotation axis direction.
l The rotation angle in degrees.
For example, the translation in y direction (0,1,0) has the following input:
3D STRUCTURED CARTESIAN TRANSLATION 0. 1. 0.
For example, the rotation around the axis parallel with Z axis, passing through the point (2,2,2),
and with an angle of 90 degrees has the following input:
3D STRUCTURED CARTESIAN ROTATION 2. 2. 2. 0. 0. 1. 90
The mirror example, with the Y plane specified as mirror plane has the following input:
3D STRUCTURED CARTESIAN MIRROR 0. 0. 0. 0. 1. 0.

424 CFView™ 16.1 User Guide


The repetition of the geometry when using ROTATION type is only working with 3D projects.

Field Data Specification

The field data specification consists of field data names. Field data are scalars and/or vectors and
are defined for each domain. The only restriction is that the scalar quantities have to be entered
before the vector quantities. The input consists of the number of scalar quantities followed by the
names of these quantities. These names must be surrounded by || (e.g.: |density|). The names
cannot contain any of the following characters: |, [ or ]. The same has to be repeated for the vector
quantities.
For example, when specifying three scalars (density, entropy, and Mach number) and two vectors
(velocity and vorticity), the input is:
3
|density| |mach number| |entropy|
2
|velocity| |vorticity|

Surface Data Specification

The surface data specification consists of surface data names. They represent the quantities
confined on solid surfaces such as the heat transfer coefficient. The input consists of the number
of scalar quantities followed by the names of these quantities. These names must be surrounded
by || (e.g.: |density|). The same has to be repeated for the vector quantities. The only restriction is
that the scalar quantities have to be entered before the vector quantities.
For example, if surface data consists of one scalar (heat transfer coefficient) and one vector
quantity (the surface stress), the input is:
1
|heat transfer coefficient|
1
|surface stress|

A mesh geometry without surface data can also be considered. In this case the number of quantities
are set to zero and the lines containing the quantity names are not present.

425 CFView™ 16.1 User Guide


C. Domain(s) Identification

The domain identification specifies the number of domains, the number of points for each domain,
the Geometry file names, the Boundary Condition file names and the Quantity file names for field
data and surface data.
The first string line identifies the number of domains. For example, for a mesh with two domains,
the string input is:
2
Next input is repeated for each domain.
The second string line depends on the grid type (structured/unstructured).
l For structured meshes, it specifies:
l the repetition type. It can be any of the allowed repetition types. If not specified then the
repetition type taken for the block is the project repetition type.
l the number of nodes in the I, J and K directions. For example, for a domain of 60 nodes in
the I direction, 70 nodes in the J direction and 50 nodes in the K direction, the string input
is:
60 70 50
For 2D structured meshes, only the nodes in J directions and I have to be specified.
l For unstructured meshes, it specifies the number of nodes and the number of cells.
After this line, you have to specify:
l The Geometry file name (containing the node coordinates).
l The Boundary Condition file name.
l The Quantity file name of each field data and surface data.
The order of the quantity file names is the same as the field and surface data quantity names (refer
to section "Mesh Identification" above).
The specification of the quantity file name of the surface data includes the identification of the
domain boundaries and patches.
In the example below, surface data for the first domain are assigned to the second patch of the first
boundary and for the second domain to the first patch of the second boundary. The boundary and
patch concepts are explained in the section describing the generation of Boundary Condition file.
For this example the domain identification is as follows:
2
60 70 50
extflow.d1.g
extflow.d1.bc

426 CFView™ 16.1 User Guide


extflow.d1.s.1
extflow.d1.s.2
extflow.d1.s.3
extflow.d1.v.1
extflow.d1.v.2
1 2 extflow.d1.sd.s.1
extflow.d1.sd.v.1
40 70 50
extflow.d2.g
extflow.d2.bc
extflow.d2.s.1
extflow.d2.s.2
extflow.d2.s.3
extflow.d2.v.1
extflow.d2.v.2
2 1 extflow.d2.sd.s.1
extflow.d2.sd.v.1

An input file without surface data can also be considered. In this case the number of surface data is
set to zero and the lines containing the field quantity names and the file names are not present.

D. Validation Data Identification

The Validation Data identification identifies data from experiments or other computations which
are needed for comparison. Validation data are restricted to data on a single curve, either in 2D or
3D space. The number of such curves has to be input in one line of the identification file. For
example if a project has one validation data curve, the input line has to be:
1
After this line, you have to specify:
l The name of the curve.
l The quantity name(s).
l The Geometry file name of the curve.
l The Quantity file name(s).

427 CFView™ 16.1 User Guide


For example, if a curve named "cross-section" has two validation quantities, the static pressure,
and the temperature, the file should be as follows:
1
|cross-section|
2
|static pressure|
|temperature|
extflow.vld.g
extflow.vld.s.1
extflow.vld.s.2

An input file without validation data can also be considered. In this case the number of validation
data is set to zero and the lines containing the field quantity names and the file names are not present.

E. Plot Data Identification

The Plot Data are usually functional data the user wishes to visualize, for instance a flow solver
convergence history. Any other function of one, two or three variables given in the form of
numerical table can be handled in the same way. Plot data are restricted to data on a single curve,
either in 1D, 2D or 3D.
The number of such curves has to be input in one line of the Identification file.
After this line, you have to specify:
l The name of the curve.
l The quantity name(s).
l The Geometry file name of the curve, containing the abscissa values.
l The Quantity file name(s).
For example, a run has 250 iterations with the mean density and the maximum total energy
residuals. Before specifying the residuals names, the name of the curve must be defined. For
example, "convergence history" has two residuals (mean density and the maximum total energy).
The input is as follows:
1
|convergence history|
2
|mean density residual|

428 CFView™ 16.1 User Guide


|max total energy residual|
extflow.pld.g
extflow.pld.s.1
extflow.pld.s.2

An input file without plot data can also be considered. In this case the number of plot data is set to
zero and the lines containing the field quantity names and the file names are not present.

F. Geometry Support for Blade to Blade Views

Additionally you can specify a meridional mesh to be used for computing STM (s, theta, m)
views. This coordinate space is particularly interesting for visualisation project having a symmetry
around the Z axis. The meridional support mesh has to be a 2D mesh defined in the (z,r) space.
The m coordinate will be computed as the distance along J constant lines from the current point to
the line I=0. The s coordinate will be computed as the distance along I constant lines from the
current point to the line J=0. This corresponds to a blade to blade view in turbo-machinery
applications.
The meridional support mesh is specified by the geometry file name of the mesh. Additionally, if
the version description (2nd line of the file) contains the keyword AutoGrid-Mesh, it is assumed
that the mesh is an AutoGrid5™ mesh (i.e. all domains have the I direction as streamwise, the J
direction as spanwise and all points are on the support curves). This allows a faster computation
of the (s,t,m) coordinates.

FIGURE 10.1
Meridional support mesh

429 CFView™ 16.1 User Guide


In general, the computation of a mesh point is based on its projection in the ZR plane. The s and
m coordinates are interpolated from the neighboring support mesh points. Additionally s and m
coordinates are normalised.
The geometry file format for a support mesh with 17 nodes in the I direction and 11 in the J
directions is presented in FIGURE 10.1.

The use of this functionality is discouraged. The interactive specification of hub and shroud surfaces
is a more flexible way to create blade to blade views.

NUMECA File Format v-1.0


POINTLIST_GRID -dim 2 -n1 17 -n2 11
<NI_BEG>
ZR
....
<NI_END>
where the "..." stands for the list of the (Z,R) coordinates ordered as list of curves in the I direction

G. Example of Complete Identification File

The complete identification file of the example chosen in the above sections is given on next
page:
EXTERNAL FLOW - NUMECA
TEST CASE 999.111
EULER EQUATIONS
MESH SIZE 40*35*105
INLET CONDITIONS: MACH NUMBER 2.8
3D STRUCTURED CARTESIAN NON
3
|density| |mach number| |entropy|
2
|velocity| |vorticity|
1
|heat transfer coefficient|
1

430 CFView™ 16.1 User Guide


|surface stress|
2
60 70 50
domain1.g
domain1.bc
density.d1.s
static_pressure.d1.s
velocity.d1.v
vorticity.d1.v
30 70 50
domain2.g
domain2.bc
density.d2.s
static_pressure.d2.s
velocity.d2.v
vorticity.d2.v
0
0

Geometry and Quantity files have to be generated for each domain except for the validation and plot
data. There is no restriction on the file name and extension.

Quantity file names have to be specified in the same order as the quantity names defined in the mesh
identification part. There is no restriction on the file name and extension.

Note that the "0" at the end are indicating that no validation data or plot data are associated to the
data set.

431 CFView™ 16.1 User Guide


10.1.2 Create Boundary Condition Files

A Boundary Condition file is generated for each domain. It contains the multi-block connectivity
description, the type of the boundary condition of non- connected domain boundaries.
Furthermore, a name for the domain and for each boundary part (or path) can be provided.
The number of boundaries for each domain depends on the mesh dimension, 4 in 2D case and 6
in 3D case. CFView™ attributes the following numeration to these boundaries which has to be
respected when generating the Boundary Condition file:
1. For 2D mesh, there are 4 boundaries with the following numbering:
l Boundary 1: I=1
l Boundary 2: J=1
l Boundary 3: J=Jmax
l Boundary 4: I=Imax
2. For 3D mesh, there are 6 boundaries with the following numbering (see FIGURE 10.2)
l Boundary 1: I=1
l Boundary 2: J=1
l Boundary 3: K=1
l Boundary 4: K=Kmax
l Boundary 5: J=Jmax
l Boundary 6: I=Imax

FIGURE 10.2
3D standard notation for the boundary faces in the computational domain

To generate this file, follow the steps below. The example refers to FIGURE 10.3.

432 CFView™ 16.1 User Guide


FIGURE 10.3
Example of patches distribution on the first boundary

1. Give the name of the domain. If not provided or if the provided name is 'unknown',
CFView™ will provide a default name.
2. Give the number of nodes in the I, J and K directions. For a domain of 10 nodes in the I
direction, 20 nodes in the J direction and 10 nodes in the K direction, the string input is:
10 20 10
3. For each boundary and in the order given above (from 1 to 4 for 2D, from 1 to 6 for 3D):
l Give the number of patches on the boundary. In our example, the first boundary has 3
patches, the string input is:
3
l For each patch of the boundary, give the patch name if existing (if no name is provided,
CFView™ uses a default name), then the boundary condition and the ending and starting
node coordinates:
Boundary condition : There are 8 boundary conditions which are identified by three
letters:
matching connection: CON
non matching connection CNM or CONNM
external: EXT
inlet: INL
mirror: MIR
outlet: OUT

433 CFView™ 16.1 User Guide


matching periodic: PER
non matching periodic PNM or PERNM
singular: SNG
solid: SOL

In our example, the boundary condition is solid for the first patch, inlet for the second and
outlet for the third, the string input is:
SOL
INL
OUT
Node coordinates: For 2D cases, the coordinates correspond to the I and J indices of the
starting and ending nodes of the patch. For 3D cases, they correspond to the indices of the
lowest and the highest nodes of the patch shown in "Node coordinates for 3D cases" (p.
434) (see FIGURE 10.2):

TABLE 10.1 Node coordinates for 3D cases

For I=constant boundary J and K indices.


For J=constant boundary I and K indices.
For K=constant boundary I and J indices.

In our example, the string input is:


SOL 1 1 20 10
INL 1 10 10 20
OUT 10 10 20 20
For matching and non matching "connection" and "periodic" boundary conditions, an additional
string is needed beside the node coordinates. This string is composed of:
l 3 numbers: - the domain number. It indicates the domain which is connected to the current
domain.
- the boundary number. It indicates the boundary which is connected to the current boundary.
- the patch number. It indicates the patch which is connected to the current patch.

434 CFView™ 16.1 User Guide


FIGURE 10.4
Standard notation for the block faces and the orientation of edges in the computational domain

Additionally for matching "connection" and "periodic" boundary conditions the relative
orientation of the connected patches has to be specified:
l 1 letter:
"R" or "E" to indicate the orientation between the connected patches. FIGURE 10.4 gives the
different orientations between the connected faces. If they have the same orientation, the
corresponding letter is E, otherwise it is R. To find the orientation, do the following steps: 1/
put the connected surfaces face to face. 2/ project the local axis of both surfaces on two
rectangles as shown in FIGURE 10.4 Permute the axis of the first rectangle to put them in the
bottom left corner. 4/ permute the same number of time the axis of the second rectangle. 4/ find
the corresponding case in table of FIGURE 10.4.
l 1 number:
It indicates the relative corner position of the connected patches (see FIGURE 10.4).
FIGURE 10.5 gives an example of a two-domain application. The two domains are connected by
boundary number 1 (i=1).
The Boundary Condition file input for the first domain is:

435 CFView™ 16.1 User Guide


100 50 50
1 1 50 50
1 1 100 50
1 1 100 50 2 3 1 E 3
1 1 100 50
1 1 100 50
1 1 50 50

The Boundary Condition file input for the second domain is:
100 50 50
1 1 50 50
1 1 100 50
1 1 100 50 1 3 1 E 3
1 1 100 50
1 1 100 50
1 1 50 50

FIGURE 10.5
Example of connectivity between two domains

436 CFView™ 16.1 User Guide


10.2 FINE™ FILE FORMAT

CFView™ is able to read directly the FINE™ project files. These projects are 3D or 2D
unstructured/structured multi-block projects. The FINE™ data sets are split in a variable number
of files, however, the files that has to be selected in CFView™ are always characterized by the
".run" or the ".cfv" extension.
Please refer to the FINE™ User Manual for further information on the format of these file.

437 CFView™ 16.1 User Guide


16.1

© Cadence, all rights reserved


EN202103221802

You might also like