CFView User Guide
CFView 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
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
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.
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.
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.
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.
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.
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
On Windows
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).
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).
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
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
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.
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
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.
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
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
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.
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:
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.
This button is a shortcut for closing the current project. See Close Project, for a more detailed
description of that function.
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.
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.
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.
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.
This button starts the animation of the current representation. The same representations are drawn
in the views, for each time step successively.
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.
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:
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.
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.
FIGURE 2.2
Keyboard & Viewing Area
The viewing buttons are described in Viewing Buttons and the three other regions are outlined
below.
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
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).
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.
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.
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.
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.
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.
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).
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.
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.
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:
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™.
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.
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>.
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
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:
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.
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.
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.
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>.
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
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.
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.
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.
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.
When the loaded file is not a 32-bits PNG, a warning "Loaded file is not a 32-bits PNG" will appear.
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.
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:
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>.
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,...).
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.
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:
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>.
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>.
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>.
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
Up Vector
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
The transparent mode makes the whole project transparent in the view and thus it is no more possible
to manipulate this view.
Border
These three menu items allow to control the projection mode of the active view (see Projection
Mode).
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:
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.
To reset the view content as it was just after opening it, choose Reset View from the Window
menu.
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.
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.
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 .
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>.
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.
Tiling Views
To tile the non iconised views to the entire graphics area select Tile Viewsfrom the Windows
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.
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.
The View/Stop View Synchronization menu allows to stop the dynamic synchronization of the
whole CFView™ session (shortcut <A>).
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:
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>.
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.
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:
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.
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.
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
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.
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.
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.
Apply Templates
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™.
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.
To play the active macro, choose Play from File/Macro. The macro execution starts in the active
view.
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.
To clear (remove all operations in) the active macro, choose Clear from the File/Macro menu.
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.
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.
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.
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.
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.
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.
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
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
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
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.
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
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:
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.
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).
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.
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.
To plot (or remove) the normals on the surfaces highlighted in blue choose Show Normal (or
Remove Normal).
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
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.
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).
The surface selection can also be made by entering a string in the Filter frame. Several
possibilities are available:
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:
Surface Selection
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>.
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.
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.
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.
To delete a surface from a project, choose Delete.... All the representations associated with the
surface are removed in all the views.
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.
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.
It should be noted that when a surface has no representation, the user has to select the surface by
clicking on the boundaries.
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).
FIGURE 3.4
Macro to select area of a cutting plane
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.
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;
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
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):
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).
FIGURE 3.8
Cutting plane definition dialog box with active quantity color contour representation
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:
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.
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.
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.
Compute Iso-surface
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:
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
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.
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.
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.
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).
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.
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.
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 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.
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).
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.
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>.
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.
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>.
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.
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.
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.
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.
Select the icon to toggle the lighting on/off for all the active color contours.
Select the icon to toggle the lighting on/off for all the active grids.
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.
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.
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.
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.
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.
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
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
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.
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:
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.
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.
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).
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.
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
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.
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.
The computation of these derived quantities is based on a set of conventional names for the basic
thermodynamical fields:
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
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.
Incompressible Fluid
For incompressible fluids, the following standard thermodynamical quantities are supported:
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™:
With Preconditioning
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.
If not available,
If not available, the is first computed from the tables which takes the
and as inputs.
3.
3.
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.
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
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).
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.
If not available,
If not available, the is first computed from the tables which takes the
and as inputs.
5.
5.
If table exists, the quantity is evaluated from the table which takes the
and as inputs.
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.
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 = ,
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.
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.
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.
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.
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.
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),
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.
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.
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
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).
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
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.
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 ....
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.
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.
The interpolation has to be done if two meshes are different and this computation may take a lot of
time.
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.
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>.
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.
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.
Isoline drawing is restricted to the current range. See Control Representations Range for more
details on the quantity range.
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.
Isolines drawing is restricted to the current range. See Control Representations Range for more
details on the quantity range.
FIGURE 4.14
Right-click menu for isolines
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:
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 Export to File , Cartesian Plot and Delete options apply only to the selected isolines.
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>.
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.
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
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
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.
FIGURE 4.18
Color contour shown as markers only, mesh wireframe and filled.
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.
Local Streamline
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).
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
1. Choose from Grid Line... from the Representation/Streamline menu. A dialog box shown in
FIGURE 4.21 appears:
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.
FIGURE 4.22
Parameters for streamlines
Update Streamline
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.
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.
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
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.
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.
This option provides a convenient way of visualizing quantity distributions along arbitrary
sections of the active surfaces. To create a plot along a section:
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.
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.
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.
Each axis of the Cartesian plot is attached to a variable. The available variables are:
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
The axes ranges are always updated automatically to reflect the range modifications.
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).
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 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.
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
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.
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
FIGURE 4.35
Extrapolation curve dialog box
The Discrete Fourier Transform item plots the Fourier transformation (amplitude of the scalar
quantity vs frequency) of the plotted scalar quantity function of time.
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.
The Add to Left/Right Y Axis item controls to which Y axis the selected curve will belong.
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.
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.
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
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
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.
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.
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.
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.
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).
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.
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.
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
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
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
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.
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:
The format of the validation data file is presented in Import Validation Data .
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...).
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.
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.
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>.
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:
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>.
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.
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.
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.
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.
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:
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.
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.
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.
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>.
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.
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>.
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.
The selected parameters are applicable for the next vector line(s) to be created.
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.
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
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).
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
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"
As explained before, the vorticity and the cross divergence computation are based on the
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
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).
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>.
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.
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.
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.
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.
Reverse Colors
When right-clicking on the colormap, Select Reverse Colors in the popup menu will switch the
top and bottom colors.
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.
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:
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.
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.
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.
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.
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).
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.
Insert Text
Update Texts
Delete Texts
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.
Representations cannot be removed from the active surface(s), with the Update/Delete menu, if the
corresponding quantity is not selected.
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.
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.
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.).
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.
The font controller allows the user to change the font type and size.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
CFView™ provides various types of integrals which can be computed over the active surfaces.
The available types of integrals depend on the quantity type.
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
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.
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
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..
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
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.
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.
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.
FIGURE 4.58
Illustration of integration from A to B.
"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.
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.
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.
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:
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.
By default, option From Cell Size provides a surface with good resolution .
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
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.
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
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
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.
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.
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.
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.
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>.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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
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.
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.
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.
The .mf files are not created if some blocks have been unselected by the user.
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.
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.
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).
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:
If a block is unselected in the Partial Loader dialog box, the control points in that block are
discarded.
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
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.
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.
When performing a local reconstruction, the harmonics data must be in the cgns file.
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.
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.
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
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™.
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.
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.
where:
where
where
FIGURE 5.18
TurboWizard plugin
The TurboWizard module is available for steady, harmonic and for a time step of an unsteady
solution.
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.
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)
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:
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).
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.
Span=0% (100%) does not always correspond to the hub (shroud) of the channel but to the minimum
(maximum) extrema in (R,Z).
The documentation is also available when moving the mouse on the info icon ( ) on the top right
of the dialog boxes.
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;
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.
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.
The documentation is also available when moving the mouse on the info icon ( ) on the top right
of the dialog boxes.
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.
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".
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.
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.
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
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.
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.
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.
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.
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.
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.
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
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™
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 .
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.
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.
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.
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.
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
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.
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:
FIGURE 6.19
Representation of Fx: single "cube" body for 10 cuts
FIGURE 6.20
Fx radial distribution in a propeller with 10 cuts.
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
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.
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
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.
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
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.
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
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.
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:
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.
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."
FIGURE 6.28
Wake flow tool
Parameters that present in the Wake_flow tool window will perform the following settings:
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.
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:
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.
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.
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.
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.
FIGURE 6.33
Represent towing tank lines plugin interface for horizontal lines: Interval Drawing method.
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:
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
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.
The Remove all and Remove last buttons can be used for clearing the interface. The surface tree
will be updated accordingly.
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
CFView™ allows to represent pseudo particles moving along streamlines as well as scrolling
structured surfaces and cutting planes.
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:
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.
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:
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.
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
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.
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
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.
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
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.
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.
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 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.
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
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).
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:
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.
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.
FIGURE 7.11
Cartesian plot function of time
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
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')
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).
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.
The '#' character specifies that the rest of the line is a comment and will be skipped while the
macro is executed.
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
Lists Handling
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 :
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
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:
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")
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 *).
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
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)
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.
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.
In order to use Python CFView™ module under Windows the user has to define environmental
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.
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.
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)
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.
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:
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.
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.
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.
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)
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)
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.
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.
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.
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).
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)
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)
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])
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
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.
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.
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.
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(....))
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).
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()
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.
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)
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.
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)
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)
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)
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()
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).
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)
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
l float GmtArea()
l Associated menu items: Representation / Surface Integral / Surface Area or Geometry /
Surfaces / 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.
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.
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)
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.
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.
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.
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,
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.
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()
)
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)
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.
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.
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.
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 ( ).
Here are all the keyboard shortcuts that are defined in CFView™.
Project Handling
Views Handling
Camera Position
Surface Representation
Text
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.
In this section
10.1 Native File Format 421
10.2 FINE™ File Format 437
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.
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.
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.
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
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.
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.
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|
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.
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
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.
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).
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.
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|
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.
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
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.
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
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.
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.
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
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):
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:
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
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.