CHAPTER 1.
SYSTEM REQUIREMENTS
For proper installation and use of FINE™/Turbo and FINE™/Design3D please consult the
following sections detailing the system requirements for your operating system.
In this section
1.1 Windows
1.2 Linux
1.1 WINDOWS
1.1.1
Supported platforms and operating systems
NUMECA software is supported in 64 bits on x86_64 processors only (64 bits processors that are
compatible with Intel 8086 set of instructions).
Formally tested on
Windows 7 Professional
Windows 8.1 Professional
Windows 10 Professional
Windows HPC 2012
-
-
-
-
Also known to run ona
-
-
-
VISTA Business
VISTA Ultimate
Windows Server 2008
Windows Server 2012
a. Known from partners and/ or customers. No official support offered on these combinations.
Please also notice that the following limitations apply:
l Computations under Windows (except Windows Server) are limited to one PVM daemon
running at a time. As a consequence, access to multiple users on a given machine is not
allowed,
l Parasolid uses SSE2 instruction for high performance. If your platform is not supporting the
SSE2 instruction, the FINE™ GUI cannot be started.
Your platform of preference is not in the list?
Contact NUMECA local sales or support office. NUMECA software does however explicitly not
run on the following configurations:
l Power PC based systems,
l WINDOWS 2000 server workstations,
l WINDOWS 95, 98 or ME workstations.
1.1.2 Multiprocessors calculations
Multiprocessors calculations are allowed on shared and homogeneous distributed platforms. Non-
homogeneous configurations are not allowed.
The following limitations additionally apply:
l Multiprocessors calculations are allowed on distributed platforms in local user configurations
provided that the same account is used for all machines,
l Domain administrators are not allowed to run multiprocessors calculations.
l MPICH2 library needs Microsoft
.net Framework package before installing NUMECA
software otherwise execution of mpiexec.exe will lead to a Windows error message.
1.1.3
Hardware requirements
Next to the standard hardware (monitor, keyboard and mouse), some specific recommendations
apply in the use of NUMECA software:
l a mouse with scroll wheel is strongly recommended.
l the monitor should support 24-bit color graphics and have a 1280 x 1024 pixel resolution for
adequate visualization.
l an Ethernet card should be installed and properly configured.
l NUMECA Software does not support CXFS (Clustered XFS) and IBRIX disk file systems.
1.1.4 Memory and disk space requirements
The Random Access Memory (RAM) required to run NUMECA software depends upon several
factors, in particular including the number of grid points inserted in the grid, the physical models
selected (turbulence, adaptation,...), the introduction of non-matching boundary conditions and the
selected calculation mode (mixed or double precision).
Similarly, a minimum disk space is required on the hard disk to allow the storage of the project
files. The size of these files largely depends upon the number of grid points generated.
More product specific details:
IGG™/AutoGrid5™
The memory (RAM) required to run IGG™/AutoGrid5™ depends upon several factors, in
particular including the number of grid points inserted in the grid. The use of minimum 1 GB
RAM is strongly recommended. As a general guideline, about 0.5 to 0.7 GB RAM are generally
required to run a one million nodes project. The suggested swap space should be equivalent to at
least 3 times the RAM installed.
As a general guideline, a minimum of 50 MB is required to store the project files (geometry not
defined by Parasolid™ or CATIA v5 files) for a one million nodes project.
FINE™/Turbo
As a general guideline, a minimum 100 MB is required to store the mesh and solution file (one
file, no full non-matching connections, solution stored after one iteration) when running a one
million nodes project.
The memory (RAM) required to run FINE™/Turbo depends upon several factors, in particular
including the number of grid points inserted in the grid, the physical models selected (turbulence,
optional modules,...) and the introduction of non-matching boundary conditions. The use of
minimum 1 GB RAM is strongly recommended. As a general guideline, about 0.5 to 0.7 GB
RAM are generally required to run a one million nodes project. Furthermore, the FINE™/Turbo
solver has a memory limit of 8.59 GB per process. This is thus the maximum memory
requirement for a sequential computation. The suggested swap space should be equivalent to at
least 3 times the RAM installed.
CFView™
The use of minimum 1 GB RAM is strongly recommended. As a general guideline, about 250
MB RAM are required to visualize a one million nodes project. The suggested swap space should
be equivalent to at least 3 times the RAM installed.
No specific disk space is required on the hard disk for CFView™ except if images or data files
are saved or if the meridional average is created in CFView™ (turbomachinery application).
NTFS file system is recommended for installation and working directories under Windows.
1.1.5
Graphics requirements
NVidia graphics cards are fully supported, installed together with the latest drivers.
NUMECA software makes use of the advantages of the available Graphics Card. Some trouble
may however come up with the default driver OPENGL since it may not be supported by the user
host computer and machine display. In order to set the system compatible with a more portable
driver, typically MSW driver is used under Windows instead. Note however that the proposed
drivers are usually less efficient in terms of graphical speed than the default driver.
To change the used driver
For all products except in IGG™/ AutoGrid5™:
1. Log in as administrator.
2. Launch regedit from the Start/Run menu.
3. Go to the HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International register.
4. Go into the folder of the package for which to modify the driver, e.g.: Fine# where # is the
version number.
5. Modify the DRIVER entry to either OPENGL or MSW.
The selection will take effect at the next session.
For IGG™ see the Graphics Driver section in the IGG™ User Guide.
In AutoGrid5™ see the Graphics Driver section in the AutoGrid5™ User Guide.
1.2
LINUX
1.2.1
Supported platforms and operating systems
NUMECA software is supported in 64 bits on x86_64 processors only (64 bits processors that are
compatible with Intel 8086 set of instructions).
Formally tested on
Fedora Core 22.x, 25.x
(K)Ubuntu 14.04b, 16.04b
CentOS 7.0.1406
-
-
Also known to run ona
-
-
-
SuSe 10.1, 10.2, 11.0
Enterprise 3.x, 4.x, 5.x
-
-
Fedora Core 5.x, 7.x, 8.x, 12.x, 17.x, 18.x, 20.x
(K)Ubuntub 7.x, 8.x, 9.x, 10.x, 11.x, 12.x, 13.x
a. Known from partners and/ or customers. No official support offered on these combinations.
b. Debian based operating systems like Ubuntu, even if LSB compliant, are not recommended as a license
server as it is known to diverge occasionally from the LSB standard.
FlexLM requires LSB (Linux Standard Base) compliance. The list of Linux distributions and
applications
on
http://www.linuxfoundation.org/lsb-cert/productdir.php?by_lsb.
compliance with
available
standard
certified
LSB
the
for
is
When launching NUMECA software, if an error message appears when loading shared libraries,
contact NUMECA local sales or support office.
Your platform of preference is not in the list?
Contact NUMECA local sales or support office. NUMECA Software does however explicitly
not run on the following configurations:
l x86_64 processors running Linux SuSe 10.3,
l IBM PowerPC running Linux.
Optimal use of an Infiniband connection
The default OpenMPI version provided in the package does not support Infiniband usage. An
OpenMPI library specific to the machine(s) is required:
Use an External OpenMPI Library on Linux
1.2.2 Multiprocessors calculations
Multiprocessors calculations are allowed on shared and homogeneous distributed platforms. Non-
homogeneous configurations are not allowed.
1.2.3
Hardware requirements
Next to the standard hardware (monitor, keyboard and mouse), some specific recommendations
apply in the use of NUMECA software:
l a mouse with scroll wheel is strongly recommended.
l the monitor should support 24-bit color graphics and have a 1280 x 1024 pixel resolution for
adequate visualization.
l an Ethernet card should be installed and properly configured.
1.2.4 Memory and disk space requirements
The Random Access Memory (RAM) required to run NUMECA software depends upon several
factors, in particular including the number of grid points inserted in the grid, the physical models
selected (turbulence, adaptation,...), the introduction of non-matching boundary conditions and the
selected calculation mode (mixed or double precision).
Similarly, a minimum disk space is required on the hard disk to allow the storage of the project
files. The size of these files largely depends upon the number of grid points generated.
IGG™/AutoGrid5™
The memory (RAM) required to run IGG™/AutoGrid5™ depends upon several factors, in
particular including the number of grid points inserted in the grid. The use of minimum 1 GB
RAM is strongly recommended. As a general guideline, about 0.5 to 0.7 GB RAM are generally
required to run a one million nodes project. The suggested swap space should be equivalent to at
least 3 times the RAM installed.
As a general guideline, a minimum of 50 MB is required to store the project files (geometry not
defined by Parasolid™ or CATIA v5 files) for a one million nodes project.
FINE™/Turbo
As a general guideline, a minimum 100 MB is required to store the mesh and solution file (one
file, no full non-matching connections, solution stored after one iteration) when running a one
million nodes project.
The memory (RAM) required to run FINE™/Turbo depends upon several factors, in particular
including the number of grid points inserted in the grid, the physical models selected (turbulence,
optional modules,...) and the introduction of non-matching boundary conditions. The use of
minimum 1 GB RAM is strongly recommended. As a general guideline, about 0.5 to 0.7 GB
RAM are generally required to run a one million nodes project. Furthermore, the FINE™/Turbo
solver has a memory limit of 8.59 GB per process. This is thus the maximum memory
requirement for a sequential computation. The suggested swap space should be equivalent to at
least 3 times the RAM installed.
CFView™
The use of minimum 1 GB RAM is strongly recommended. As a general guideline, about 250
MB RAM are required to visualize a one million nodes project. The suggested swap space should
be equivalent to at least 3 times the RAM installed.
No specific disk space is required on the hard disk for CFView™ except if images or data files
are saved or if the meridional average is created in CFView™ (turbomachinery application).
1.2.5
Graphics requirements
NUMECA software makes use of the advantages of the available Graphics Card. By default, the
driver OPENGL is used.
In case a problem appears with the default driver OPENGL, the user should change to the X11 driver
under Linux. Note however that the X11 driver is usually less efficient in terms of graphical speed
than the default driver.
The drivers OPENGL and OPENGL2 may not work when using VNC or remote access by
"ssh". In case of problems, the X11 driver should be used.
To change the used driver
1. Open the file ~\.numeca\.drivers
2. Type: host_name display_name possible_drivers chosen_driver e.g. gauss.numeca.be gauss
OPENGL:X11 X11
Alternatively, the driver can be manually specified through the following commands:
l in csh or tcsh shell:
setenv NI_DRIVER X11
l in bash or korn shell:
NI_DRIVER=X11 export NI_DRIVER
The selection will take effect at the next session.
CHAPTER 2.
INSTALLATION
Prior to the installation of FINE™/Turbo and FINE™/Design3D it is important to consult first the
"System requirements" (p. 3).
In this section
2.1 Windows
2.2 Linux
13
36
2.1 WINDOWS
The user is strongly advised to consult the "Windows" (p. 4) system requirements prior to the
installation of FINE™/Turbo and FINE™/Design3D. Problems may indeed appear during the
installation and configuration phases in case the listed hardware and software requirements would
not be fully satisfied.
Please do notice that the documentation package attached to NUMECA software is not installed
during the installation procedure and can be downloaded from the Products page of the Customer
Area of www.numeca.be.
In case of trouble: .
For more information and troubleshooting:
l consult the forum in NUMECA's Customer Area with a section dedicated to installation.
l or contact NUMECA local sales or support office (for active maintenance plans only).
To help to find a solution within the shortest delays, please provide a detailed description of the
observed behavior and performed analysis.
At the end of the "Troubleshooting" (p. 33) the information to provide is listed.
2.1.1
Installation
Install FINE™/Turbo with FINE™/Design3D under Windows
1. Log in as administrator or as a user with administrator privileges on the machine. If the user
the NUMECA software installation will not be
does not have administrator privileges,
performed successfully.
2. Check and make sure that the necessary disk space is available prior to starting the installation
process.
3. Get the installation package from the Products page of the Customer Area (www.numeca.be).
4. Unzip the installation package.
5. Exit all the other active applications and launch the setup.exe executable.
6. During the installation, the user will be asked to accept the terms of the License Agreement.
7. Enter the installation directory (referred to as NUMECA_INSTALLATION_DIRECTORY)
in function of one of the following scenarios:
l If NUMECA software was not installed before on the machine, choose a directory of your
preference. Providing a directory name that does not exist will create it automatically.
l If NUMECA software was already installed before, choose the same NUMECA_
INSTALLATION_DIRECTORY to use the multiple versions and/ or products in one
multi-version environment.
It is important to notice that a common NUMECA_INSTALLATION_DIRECTORY
should be shared by all NUMECA installations (e.g. C:\numeca_software\), otherwise
the multi-version installation will not be set up adequately. This is important e.g. for the
good functioning of PVM when launching several products or versions one after the
other.
8. At the end of the installation process, instructions to obtain information required for license
generation will be prompted. To this end, the following steps must be performed:
a. Click on Yes.
b. The license information is stored in the file license.info located in NUMECA_
INSTALLATION_DIRECTORY automatically. Once it is saved, send this text file to
NUMECA local sales or support office.
Alternatives to get the license information
The information can also be recovered as the Ethernet Address by clicking on the System
Settings
directory NUMECA_
INSTALLATION_DIRECTORY\<product_name>\flexlm.
lmtools.exe
launching
located
after
the
tab
in
9. After the package is installed, the NUMECA Admin Tool is launched automatically. This is a
tool for license management and provides a graphical user interface for the management of the
license server and client machines. The tool offers a guide through the process of setting up
and configuring a license server.
Alternatives to access the NUMECA Admin Tool
installation,
After
from
Start/Programs/NUMECA software/<product_ name>/Admin Tool menu. Close the
NUMECA Admin Tool dialog box to leave the tool and to finalize the installation.
the NUMECA Admin Tool
started
also
can
be
Tasks that can be performed in the NUMECA Admin Tool
l License Management: to configure the machine as license server and/ or client.
l User Configuration: to set user MPI configuration.
l Diagnostics: to assess and fix problems with license management, graphics, Windows
registry and parallel configuration.
l Network Configuration: to clean and reinitialize PVM, to setup RSH connections to other
machines/ users.
10. When receiving the license file from NUMECA, perform the license installation and user
configuration:
l "License management" (p. 15)
l "User Configuration" (p. 25)
During an installation and license specification, the administrator must launch the software once to
properly initialize flexlm.
In case of installation problems, right-click on setup.exe, select the option Run as... and then either
run as the true Windows Administrator account, or if and only if the user account with Administrator
privileges, run as user, but remove the option to run the program with restricted access. On Windows
7 it may also be necessary to disable the User Account Control feature (UAC) at least during the
installation process and the configuration steps.
In order to run distributed memory parallel computations, NUMECA software must be installed in the
same directory on different machines.
2.1.2
License management
Introduction
Before using NUMECA software, a valid floating license is required.
What is a floating license?
With a floating license each software component is managed by an independent maximum
number of concurrent accesses (number of processes). Floating licenses are managed by a license
server which checks if process access is free. If so, when launching a software component, license
access is given to the user process or access is denied otherwise. The license can be accessed on
the same computer but also on other computers (clients) with Linux or Windows, connected
through a network to the license server. The license server can be a Linux or a Windows
machine.
l NUMECA updates the security ID of license files with each major release. License files
with old security ID cannot be used with the latest NUMECA software. Please send your
old license file to NUMECA local sales or support office for an upgrade of the license file.
l Redundant license server can be delivered allowing to manage a floating license by several
servers. For more information, contact NUMECA local sales or support office.
l Machines used as license server must have a fixed first IP address. For example, when
using VPN on Windows, VPN will become the first network interface. In this case, the
license server will not work properly.
l By default it is not possible to use a virtual machine as a license server. To install a license
server on a virtual machine, contact your account manager.
l Running Windows 64-bits, an additional Windows security patch is required to enable
CATIA v5 import with Datakit. For more details, link to the Microsoft official website.
NUMECA software must be installed on the license server. At the end of the installation, the
license information (the HostName and HostID of this computer) must be sent to NUMECA local
sales or support office in order to get a license file.
Before using NUMECA software, the license daemon should be configured on the license server.
See also: "Installation" (p. 13)
To set up the license server it is necessary to prepare the license file and launch the server either
though the NUMECA Administration Tool or in LMTools.
Access to the NUMECA Admin Tool
At the end of the installation of NUMECA software the Administration Tool is launched
automatically.
It can also be started anytime from the Start/Programs/NUMECA software/<product_
name>/Admin Tool menu.
It is required to run the Admin Tool as administrator for its proper functioning.
Prepare the license file
To install the license service:
1. Rename the license file as license.dat
2. Copy the license.dat file in the directory that all users are able to access.
3. Check that the license file has the read-execute access privileges:
l select the license file license.dat using Windows Explorer.
l while keeping the mouse on the selected file right-click and select from the appearing
menu: Properties. This will open a properties window.
l on the General page the Read-only box of the Attributes should not be selected. Unselect
this box if necessary.
l click on Apply and click on Close to close the window.
The "license.dat" file must be readable by every user.
When using a TCP port for the license server, the port number (check the free port with the
command: C:\\netsat -an) has to be added in the license file on the server/ vendor line:
1. SERVER hostname hostid and VENDOR numeca should be replaced by SERVER hostname
hostid portnumber1 and VENDOR numeca portnumber2;
2.
3.
reread the license file,
start NUMECA software and specify the license server writing portnumber@hostname . All
specified ports should be opened and free.
It is no more required to copy the license files on every client workstation if the variables NUMECA_
LICENSE_FILE defined as @license_server or port_number@license_server are added in the registry
database for each client. This allows to update the license file only on the license server.
License set-up in NUMECA Admin Tool
Start floating license service
To start the license service:
1. Select License Management.
2. On the line Activate from license file browse to the license file under the Product
(de)activation tab.
3. Click on the Activate button.
The manual start operations must be repeated each time the server machine is rebooted. Alternatively
it would be possible to define an automatic start of the license service from lmtools or using the
NUMECA Admin Tool.
Automatic start at machine boot
After the manual start of the license service, it is possible to have it automatically start at machine
boot:
1. Select License Management.
2. Under the License server tab, click on the Set Autostart button.
A Windows service called NUMECA License server is used.
Verify license service status
To verify that the license server is correctly running do the following:
1. From the NUMECA Admin Tool home page, click on License Management.
2. Select the License server tab.
3. Select the license server in the first table listing all known servers available on the machine.
4. Information regarding the available features, number of available licenses and number of used
licenses is shown in the second table.
Update of license file
When a license file is expired, contact NUMECA local sales or support office to obtain an
updated license file.
Rename this license file to license.dat and follow the instructions below.
1. Replace the active license file license.dat with the update license provided by NUMECA
(renamed as license.dat).
It is strongly suggested to make a backup of the old license file, for safety, by renaming it to
"license.old".
2. From the NUMECA Admin Tool home page, click on License Management .
3. Select the License server tab.
4. Under the Start/Stop/Reread section, make sure the license path is correct and click on the
icon
.
If the version of the Flexlm tool is upgraded or the version of the license file security ID is upgraded,
an update of the license file is not enough. The user must shutdown the running license server and
start a new license server with the latest Flexlm tool and the latest license file.
Alternative: license set-up in lmtools
Start license service
1. In Windows Explorer,
browse
to
the
directory NUMECA_ INSTALLATION_
DIRECTORY/<product_name>/flexlm and double click on lmtools.exe.
2. On the Service/License File page select Configuration using Services.
3. Select the Config Services tab.
4. Enter for Service Name any name indicating that it is related to a NUMECA license (e.g.,
numeca_license).
5. To enter the Path to the lmgrd.exe file click on Browse right next to the text box and browse
select
to NUMECA_ INSTALLATION_ DIRECTORY/<product_ name>/flexlm and
lmgrd.exe.
6. To enter the Path to the license file, click on Browse right next to the text box and browse to
the license file license.dat to select it (files of type from license files (".lic") to license files
(".dat")).
7. Enter HOME_DIRECTORY/.numeca/debug.log to access the path of debug log file. This
file is automatically created when starting the license service.
8. Click on Save Service.
9. Select Use Services and Start Server at Power Up. In this way the license service will be
automatically starting when booting under Windows.
10. To start the server now manually select the tab Start/Stop/Reread.
11. Select
the NUMECA license service under Flexlm license Services installed on this
computer.
12. Click on Start Server.
If the license service was correctly started, numeca.exe and lmgrd.exe should be visible in the list
of processes or services in Windows Task Manager. If these executables are not running verify the
debug.log file.
See also: "Troubleshooting" (p. 33)
13. If NUMECA software is used on the license server, the user should first perform a user
configuration as described in the section "User Configuration" (p. 25).
14. Launch the software a first time.
15. Click on Specify the License Server.
16. Enter the name of the license server or its IP address.
17. Click on Finish.
Update of license file
When a license file is expired, contact NUMECA local sales or support office to obtain an
updated license file.
Rename this license file to license.dat and follow the instructions below.
1. Replace the active license file license.dat with the update license provided by NUMECA
(renamed as license.dat).
It is strongly suggested to make a backup of the old license file, for safety, by renaming it to
"license.old".
2. Go to the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/flexlm.
3. Start the LMTools by double clicking on lmtools.exe
4. Select the tab Start/Stop/Reread.
5. Select the NUMECA license service in the list and click on ReRead License File.
If the version of the Flexlm tool is upgraded or the version of the license file security ID is upgraded,
an update of the license file is not enough. The user must shutdown the running license server and
start a new license server with the latest Flexlm tool and the latest license file.
Verify license service status
To verify that the license server is correctly running do the following:
1. Open the Windows Task Manager.
2. Select the Processes or Services.
3. Check that the processes numeca.exe and lmgrd.exe are running.
or:
1. In Windows Explorer
browse
to
the
directory NUMECA_ INSTALLATION_
DIRECTORY/<product_name>/flexlm and double click on lmtools.exe.
2. Select Configuration using Services.
3. Select the tab Server Status.
4. Click on Perform Status Enquiry and wait to see the server status and the available features.
Floating license on Windows client
When a floating license is installed on a license server, this license may be used by other
computers with a network connection to the license server. In this section, it is assumed that the
license server is running. On each Windows client, the user must:
1. Install NUMECA software.
2. Perform a user configuration on this machine before first use as described in the section "User
Configuration" (p. 25).
3. Launch the software a first time.
4. Click on Specify the License Server.
5. Enter the name of the license server or its IP address.
6. Click on Finish.
Optional for CFView™: ask software to wait for license
To request that CFView™ waits for an active license, define it in the "Home directory" (p. 27) in
the file .numeca/preferences.dat using the keyword LICENSE_WAIT.
Example
PRODUCT CFView
LICENSE_WAIT
END_PRODUCT
Configuration for MINAMO run modes (only for use with
FINE™/Design3D)
Floating license management for MINAMO run modes
The FINE™/Turbo & FINE™/Design3D package integrates the MINAMO run modes
developed at Cenaero, which allow the user to perform accurate design space sampling and
advanced optimization methods in FINE™/Design3D. Before using MINAMO run modes, the
user must setup the licensing.
Start the license server
In the activation procedure described below, the user is assumed to have already performed the
installation of the NUMECA software (refer to the section "Installation" (p. 13) for more details) and
started the NUMECA license server (please refer to the section "License set- up in NUMECA
Admin Tool" (p. 17) for more details).
After receiving the MINAMO license file, copy it to your disk. Note, next steps require
administrator privileges.
Start of the MINAMO license with the NUMECA Admin Tool
1. Open the NUMECA Admin Tool as described in the section "Access to the NUMECA
Admin Tool" (p. 16).
2. Select License Management.
3. In the tab Product (de)activation, active the option Activate from license file. Select the
MINAMO license file via the button at the end of the field, or enter manually the full path to
the MINAMO license file.
4. Click on Open the validate the selection, and press Activate. A message pops up, inviting the
user to stop the NUMECA license server. Click on OK to validate this step.
An error message may appear following the pop-up mentioned in the previous step, indicating that
the license server has failed to properly start. This should have no influence on the activation
procedure. Accept the message by clicking on OK.
5. Under the tab License server, select the local machine in the first table. The MINAMO
features should appear together with the NUMECA features. An additional check may be
performed following the instructions written in the section "Verify license service status" (p.
21). The executable CENAERO.exe should appear together with numeca.exe and lmgrd.exe
among the list of running processes.
6. Close the NUMECA Admin Tool.
Alternative: Start of the MINAMO license with lmtools
To perform the activation of the MINAMO license server with the lmtools, please refer to the
steps described in the section "Start license service" (p. 19), by considering the MINAMO license
instead of the NUMECA license. As service name, the user can specify for example "NUMECA
MINAMO License Server".
Configuration for FEA solver Oofelie (only for use with
FINE™/Design3D)
Floating license management of the FEA solver Oofelie
The FINE™/Turbo & FINE™/Design3D package integrates the multiphysics FEA solver
Oofelie developed at Open-Engineering S.A., which allows the user to perform multidisciplinary
optimization in FINE™/Design3D. Before using Oofelie, the user must setup the licensing.
Install the license manager FlexNet
l In
Windows
Explorer,
go
to
NUMECA_
INSTALLATION_
DIRECTORY\Fine131\oofelie\data\flexlm\, launch the license management setup program,
l Follow the steps to finish the installation (Select Server install for Setup type).
the
installing
After
C:\Program
Files\OpenEngineering\flexlm\mailme.txt file (including the information of the HostName and
to your NUMECA local sales/support office or
HostID of this computer) must be sent
info@open-engineering.com in order to get a license file.
management
program,
license
the
Start the license server
After receiving the license file, copy it to your disk. Note, next steps require administrator
privileges.
1. In Windows Explorer, browse to the directory C:\Program Files\OpenEngineering\flexlm\ and
double click on lmtools.exe.
2. On the Service/License File page select Configuration using Services.
3. Select the Config Services tab.
4. Enter for Service Name any name indicating that it is related to a oofelie license (e.g., oofelie_
license).
5. To enter the Path to the lmgrd.exe file click on Browse right next to the text box and browse
to C:\Program Files\OpenEngineering\flexlm\ and select lmgrd.exe.
6. To enter the Path to the license file, click on Browse right next to the text box and select the
received license file.
7. Enter C:\Program Files\OpenEngineering\flexlm\debug.log to access the path of debug log
file. This file is automatically created when starting the license service.
8. Click on Save Service.
9. Select Use Services and Start Server at Power Up. In this way the license service will be
automatically starting when booting under Windows.
10. To start the server now manually select the tab Start/Stop/Reread.
11. Select the oofelie license service under Flexlm license Services installed on this computer.
12. Click on Start Server.
If the license service was correctly started, openeng.exe and lmgrd.exe should be visible in the
list of processes or services in Windows Task Manager. If these executables are not running verify
the debug.log file and contact with your NUMECA local support office.
Configure on Windows clients
To configure on Windows clients,
launch again the license management setup program
"NUMECA_ INSTALLATION_ DIRECTORY\Fine131\oofelie\data\flexlm\Setup.exe". During
the installation, select Client install for Setup type then enter the server name (for example
@server where server is the name of the machine).
Student version with activation ID
In general a license certificate (text file) is provided to give access to NUMECA software.
Alternatively the NUMECA Admin Tool allows to use an activation ID to start the license server.
For example, the free student version is based on an activation ID and the instructions how to use
it are provided together with the activation ID. Use of an activation ID requires the use of Trusted
storage and installation of an anchor service. Hence this terminology can be found in the
NUMECA Admin Tool but can be safely ignored in case of a license certificate in text file
format.
Example of an Activation ID: C2a9-561f-7895-435b-acb5-3520-c166-4bcc
2.1.3
User Configuration
A. Optional user configuration
Without the optional steps in this section it is still possible to launch a simulation on one processor
on the local machine with a default location of the home directory.
Configure account to perform parallel computations
Provided that the parallel capabilities have been adequately installed and valid licenses can be
accessed,
the user will be able to perform parallel computations. Launching a parallel
computation, the system will by default request the user login and password. Before the first
launch, the user can register his/ her name and password once and for all, by doing the following
steps:
1. Open a DOS shell,
2. Type
the
command
NUMECA_
INSTALLATION_
SOFTWARE/fine131/bin64/mpiexec.exe -register<Enter>.
3. Enter the user login and password and confirm.
If the user does not register his/ her name and password before launching the parallel computation,
the FINE™ GUI will prompt the user to enter credentials (Windows login account) if needed.
Currently, it is not possible to launch the computation without the registering/ providing the user's
credentials. Thus, if no password has been defined during the registration, it will be necessary to set
the password on the machine in any case.
Domain administrators are not allowed to run parallel computations under Windows.
PVM does not support domain accounts.
Parallel computations under Windows (except Windows Server) are limited to one PVM daemon
running at a time on the machine. Consequently, access to multiple users on a given machine is not
allowed.
MPICH2 library needs Microsoft .net Framework package before installing NUMECA software.
When running parallel computations, the path to the project must be identical on both the local and
remote machines. For example, for distributed memory parallel computations, a folder must be
mounted on each machine and share the same drive name, in order to store the project directory that
will be run in parallel on multiple hosts.
Configure account to allow remote computations
It is possible to launch tasks on remote machines by using the Task Manager capabilities. To be
able to perform remote launches, NUMECA software must be installed and explicit permission
must be specified on the remote machine. To this end, the following operation must be checked
and/ or performed on the remote machine:
1. Open the Windows Control Panel window (Start/Settings/Control Panel).
2. Click on the Services icon under System and Security/Administrative tools.
3. Select from the list of services NUMECA RSH Daemon.
4. Click on Stop and leave the Services window open.
5. Edit the file rhosts.txt in the directory C:\WINDOWS on both the host and client machines.
This can be done through the FINE™/Admin Tool. Launch it from All Programs-
>NUMECA software-><product_name>->Administration Wizard and select Configure
the TaskManager in this machine.
Alternatively edit the rhosts.txt file
Edit the text file and add the following line for each host user you want to give access
permission:
hostname username:
These lines typically give right to the user username, working on the machine hostname, to
connect to the machine containing the rhosts.txt file.
6. Select the NUMECA RSH Daemon from the list of services in the Services window.
7. Click on Start. Starting this service may take approximately 5 minutes.
Use of the Task Manager under Windows with a Linux host may lead the remote copy to option to
fail. See also: "Cannot connect to other hosts" (p. 35) in the Troubleshooting section for more detail
on this problem.
In addition to that, the firewall should also allow remote computations of FINE™/Turbo. To do
so, follow the steps below:
1. Add a Port inbound and outbound rule for a TCP protocol with the number 514. The
connection should be allowed for all type of profiles.
2. Allow the following programs to bypass the firewall inbound and outbound rules: smpd,
mpiexec, euranusx86_ 64, euranusdpx86_ 64, euranus_ mpich2x86_ 64 and euranusdp_
mpich2x86_ 64 located in <NUMECA_ INSTALLATION_ DIRECTORY>\fine131\bin64;
lib\win32\pvmd3.exe, bin\rsh.exe, bin\rsh_ vista.exe and bin\win32\hoster.exe located in
<NUMECA_INSTALLATION_DIRECTORY>\pvm.
Home directory
On Windows, NUMECA software saves some data (preferences, user fluid database, ...) in the
folder %HOME%\.numeca\, or in the %HOMEDRIVE%%HOMEPATH%\.numeca\ folder in
case %HOME% is not defined. If the user wants to customize the path of the .numeca folder, the
user can redefine the system environment variable HOME.
Note:
l The variable HOME must be defined as a system environment variable.
l Defining HOME to a network disk may significantly slow down the NUMECA software
GUI.
the
runtime, NUMECA software writes
During
directory
%HOME%\.numeca\tmp. This tmp directory can be redefined by defining the environment
variable TMP_DIR.
temporary
data
the
in
B. Software launch
After configuring,
software\<product_name>\ menu.
the product can be
started from the Start\Programs\NUMECA
It is not allowed to start NUMECA software under Windows as administrator in a user domain
environment. This limitation does not apply to user login.
In case the license has not been configured adequately at this stage of the installation process, it is still
possible to launch the product by selecting a license file (server) when prompted after first launch.
The UAC (User Account Control) should be disable for running the solver in parallel otherwise it
prevents mpiexec to record the encrypted login and password in the registry database and the Task
Manager remains open forever without any evolution.
NUMECA software can be launched directly from the user desktop by copying shortcuts from
~\AllUsers\StartMenu\Programs\NUMECA software\<product_name>\ to ~\AllUsers\Desktop.
It is not suggested for one user to simultaneously open (and therefore launch tasks in) more than one
FINE™ environment.
2.1.4
Uninstallation
Before removing a product, the license service and PVM should be stopped as detailed in the
following section. As a next step the product can be removed.
Uninstall license service
In case the license service is defined based on a version of NUMECA software to uninstall, the
license service should be stopped and removed first. Of course further use of remaining
NUMECA products on the machine will require redefining the license service based on the most
recent product.
In NUMECA Admin Tool
1. Go to the NUMECA Admin Tool home page,
2. click on License Management,
3. under the Product (de)activation tab, click on the Deactivate button and Apply to confirm
and stop the running license server(s) and return all existing fulfillment from this machine.
4. The words "Success" or "Failed" are shown depending on the success or failure of the
uninstalling process, respectively.
5. Click on the Unset Autostart button under the License server tab to complete the uninstalling
process.
Or in LMTools
1. Browse
to
DIRECTORY/<product_name>/flexlm.
in Windows Explorer
the
directory NUMECA_ INSTALLATION_
2. Double click on lmtools.exe.
3. Select Configuration Using Services.
4. Click on the Start/Stop/ReRead tab.
5. Select the NUMECA license service from the list of services.
6. Click on Stop to stop the license service.
7. Click on the tab Configure Services.
8. Select the NUMECA license service through the Service Name pull down menu.
9. Click on Remove Service to remove the service.
Close PVM
FINE™ environment uses PVM. Before uninstalling FINE™, the PVM process must be closed.
This can be done as follows:
1. Start the Task Manager (Modules/Task Manager) from the FINE™ GUI and select the
Hosts definition page in the menu on the left.
2. Click on the button Shutdown. A warning message will appear stating that all hosts will be
removed from the Virtual Machine and that FINE™ GUI will be closed. Click on yes to
continue.
Uninstall the Product
Before uninstalling verify the following:
l that there are no running tasks on the machine,
l that the license service was stopped as described in the previous section ("Uninstall license
service" (p. 29)).
Depending upon the configuration, there are several possibilities:
l If the product is the only product and the only version on the computer: uninstall in mono-
version environment.
l If other products and/ or other versions are installed on the same machine, it is possible to: 
l to remove only some of these products/ versions: partly uninstall
in multi- version
environment",
l to remove all products: fully uninstall in multi-version environment".
Uninstall in mono-version environment
Proceed as follows to remove FINE™/Turbo v131 in a mono- version environment under
Windows:
1. Optional: 
a. go to NUMECA_INSTALLATION_DIRECTORY/fine131/bin64 in a dos shell and
b.
type smpd -remove so as to remove the services for MPICH2.
Please do notice that this step is optional and only applies if MPICH2 services have not yet
been removed. Otherwise, an error message indicating that the service has not been installed
will appear. Please also notice that the services can be installed back if necessary with the
command smpd -install.
c. Go to NUMECA_ INSTALLATION_ DIRECTORY/impi5/
in a dos shell and type
hydra_service -remove so as to remove the services for IntelMPI.
Please do notice that this step is optional and only applies if IntelMPI services have not yet
been removed. Otherwise, an error message indicating that the service has not been installed
will appear. Please also notice that the services can be installed back if necessary with the
command hydra_service.exe -install.
2. Go to NUMECA_INSTALLATION_DIRECTORY/pvm/bin in a dos shell and type nirshd -
remove so as to remove the services for RSH daemons.
Please notice that the services can be installed back if necessary with the command nirshd -
install.
3. Proceed with a reboot of the PC.
4. Open the Windows Control Panel (Start/Settings/Control Panel) and double click on the
icon Add/Remove Programs.
5. Select Fine131 from the list and click on Add/Remove.
Partly uninstall in multi-version environment
Proceed as follows to remove FINE™/Turbo v131 or, for example, FINE™/Turbo v9.1_# (but
not both) in a multi-version environment under Windows:
1. Open the Windows Control Panel (Start/Control Panel) and double click on the icon
Programs and Features.
2. Select Fine131 or Fine 91_# from the list and click on Uninstall.
Fully uninstall in multi-version environment
Proceed as follows to remove FINE™/Turbo v131 and FINE™/Turbo v91_# in a multi-version
environment under Windows:
1. Optional: 
a. go to NUMECA_INSTALLATION_DIRECTORY/fine131/bin64 in a dos shell and
b.
type smpd -remove so as to remove the services for MPICH2.
Please do notice that this step is optional and only applies if MPICH2 services have not yet
been removed. Otherwise, an error message indicating that the service has not been installed
will appear. Please also notice that the services can be installed back if necessary with the
command smpd -install.
c. Go to NUMECA_ INSTALLATION_ DIRECTORY/impi5/
in a dos shell and type
hydra_service -remove so as to remove the services for IntelMPI.
Please do notice that this step is optional and only applies if IntelMPI services have not yet
been removed. Otherwise, an error message indicating that the service has not been installed
will appear. Please also notice that the services can be installed back if necessary with the
command hydra_service.exe -install.
2. Go to NUMECA_INSTALLATION_DIRECTORY/pvm/bin in a dos shell and type nirshd -
remove so as to remove the services for RSH daemons.
Please notice that the services can be installed back if necessary with the command nirshd -
install.
3. Proceed with a reboot of the PC.
4. Open the Windows Control Panel (Start/Control Panel) and double click on the icon
Programs and Features.
5. Select Fine 131 from the list and click on Uninstall.
6. Repeat the above operations for FINE™/Turbo v91_#.
2.1.5
Troubleshooting
Introduction
In most cases, a straightforward and careful execution of the instructions detailed in the
installation note enables to start NUMECA software smoothly. In case it is not working as
expected this section provides information on how to handle most common situations.
Product not starting
In case FINE™/Turbo and FINE™/Design3D do not start, check the following items:
l Is NUMECA software installed with administrator privileges? If not, perform the installation
again with administrator privileges.
l Check whether 'Hide file extensions for known types' (activated by default for .dat extensions)
is disabled to enter the name of the license file with its extension license.dat.
l Is the license file valid and active to start the product ?
ll Check if the license server is up. If so, the numeca.exe process should run in the Windows
Task Manager. If not, please do the instructions for license installation.
l Some license check problems may occur if the host computer cannot find the server IP-address
corresponding to the hostname information included in the first line of the license key. To
solve this problem, replace the hostname by the IP-address of the license server. This operation
does not invalidate the license key.
l Check if the license key file is well readable by every user.
l Did the user configure his/ her working environment? If not, perform the configuration
according to the section "User Configuration" (p. 25); then log out and log in.
l Has the machine been rebooted after a change in the environment variables? If not, reboot it.
l Check if the TCP/IP protocol is installed on the machine. The protocol is mandatory to ensure
the correct function of the floating licenses.
l Are the NUMECA software components visible from the machine? If not, install them.
l Clean PMV files:
1. Close all tasks opened, including the FINE™GUI.
2. Open the Windows Task Manager and select the thumbnail Processes.
3. Check that no process pvmd3.exe is running. If so, select the process and click End
Process to stop it.
4. Delete any files called pvm*.username in the directory defined by the environment variable
PVM_TMP (usually C:\tmp).
Graphical problems and system crashes
NUMECA software makes use of the advantages of the available Graphics Card. Some trouble
may however come up with the default driver OPENGL since it may not be supported by the user
host computer and machine display. In order to set the system compatible with a more portable
driver, typically MSW driver is used under Windows instead. Note however that the proposed
drivers are usually less efficient in terms of graphical speed than the default driver.
To change the used driver
For all except IGG™/AutoGrid5™
1. Log in as administrator.
2. Launch regedit from the Start/Run menu.
3. Go to the HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International register.
4. Go into the folder of the package for which to modify the driver, e.g.: Fine# where # is the
version number.
5. Modify the DRIVER entry to either OPENGL or MSW.
The selection will take effect at the next session.
For IGG™ see the Graphics Driver section in the IGG™ User Guide.
In AutoGrid5™ see the Graphics Driver section in the AutoGrid5™ User Guide.
Screen flashes
In some circumstances, the graphical area can flash during interactive operations, depending upon
the driver selected. Setting the environment variable NI_ DOUBLEBUFFERING to ON in
HKEY_ LOCAL_ MACHINE/SOFTWARE/NUMECA International/<product_ name> register
may solve the problem. To launch the registry editor, access regedit in the Start/Run text box.
Flow solver not starting in parallel mode
The parallel account must be configured at first use. Please refer to the "User Configuration" (p.
25) section for more information.
To launch parallel computations on Windows, the solver uses the MPICH2 libraries and the smpd
process manager. The smpd service is automatically installed and started during the installation of
FINE™. If the user has already the smpd service installation before installing FINE™, there may
be a conflict between the smpd services and thus the smpd service in FINE™ may not be started.
If the user gets the error message smpd version mismatch during the parallel computation, check
if the FINE™ smpd service is started. If not, stop other smpd services and start the one installed
by FINE™ (the service name is MPICH2 Process Manager, Argonne National Lab and the
linked executable is Installation_path\fine<version>\bin64\smpd.exe).
Cannot connect to other hosts
At the first execution of task manager
Can the machine be "seen" from the remote hosts (and vice-versa)? Use the ping command to
check this item.
Is the machine name included in the computer list within the rhosts.txt file of the user? Please
notice that capital letters must be used; extra-characters like "è, ä, ë, ..." may lead to potential
problems and should better be avoided.
Task manager launched once with success
In case the user can no longer connect to other hosts while this operation has at least be successful
once, the following should be checked:
1. a. Start the Task Manager (Modules/Task Manager) from the FINE™ GUI and select the
Hosts definition page in the menu on the left.
b. Click on the button Shutdown. A warning message will appear stating that all hosts will be
removed from the Virtual Machine and that FINE™ GUI will be closed. Click on yes to
continue.
2. Close all currently open tasks (including the FINE™ GUI) and remove pvmd.* and pvml.*,
located in the directory defined by the environment variable PVM_TMP (by default C:\tmp), if
applicable. Additionally kill the PVM daemon pvmd3.exe, if applicable. The status of PVM
daemon can be observed by accessing the Windows Task Manager.
Remote copy does not work
The remote copy option can be accessed in Task Manager Tasks Definition area.
This option does not work if the user configuration file .cshrc (Linux platform) gives output to a
shell. To test whether it applies, open a DOS shell on the Windows machine and type the
command rsh machine_name echo YES <Enter> (where machine_name refers to the name of
the Linux machine). If the value returned is YES, the configuration is correct and the remote copy
option is expected to work properly. If additional lines are returned, problems are expected. If so,
further troubleshooting is needed as described in the following section.
Further troubleshooting
For more information and troubleshooting:
l consult the forum in NUMECA's Customer Area with a section dedicated to installation.
l or contact NUMECA local sales or support office (for active maintenance plans only).
To help to find a solution within the shortest delays, please provide a detailed description of the
observed behavior and performed analysis.
The following information can be helpful:
l the license key file license.dat.
l the hostname and hostid. This information can be obtained by executing into the subdirectory
NUMECA_ INSTALLATION_ DIRECTORY\<product_ name>\flexlm the lmtools.exe (for
Hostname and HostID for NUMECA as Computer/Hostname and Ethernet Address under
the System Settings tab).
l the product name and version for which installation is causing problems.
l a description of the configuration (in terms of name, Windows version, local or domain user).
l the debug.log file generated when starting the license service.
l the .out files in C:\tmp.
l the pvml.username in C:\tmp (or directory defined by the environment variable PVM_TMP).
2.2
LINUX
The user is strongly advised to consult the "Linux" (p. 7) system requirements prior to start any
installation. Troubles may indeed appear during the installation and configuration phases in case
the listed hardware and software requirements would not be fully satisfied.
Please do notice that the documentation package attached to NUMECA software is not installed
during the installation procedure and can be downloaded from the Products page of the Customer
Area of www.numeca.be.
In case of trouble: .
For more information and troubleshooting:
l consult the forum in NUMECA's Customer Area with a section dedicated to installation.
l or contact NUMECA local sales or support office (for active maintenance plans only).
To help to find a solution within the shortest delays, please provide a detailed description of the
observed behavior and performed analysis.
At the end of the "Troubleshooting" (p. 54) the information to provide is listed.
2.2.1
Installation
Install FINE™/Turbo with FINE™/Design3D under Linux
1. Log in the workstation corresponding to the selected OS. It is strongly recommended not to
install the software as "root" or using the command "sudo" because the user may have no
permission to execute the software afterward. It is strongly recommended to check the
permission of the disk and directory the user will select for the software installation.
2. Check and make sure that the necessary disk space is available prior to starting the installation
process.
For the disk space requirements, see also: the "Linux" (p. 7) system requirements.
3. Get the installation package from the Products page of the Customer Area (www.numeca.be).
4. Check that the file can be accessed with full permission and extract it by typing the command
line: tar -xvf <package_name>.tar.
Do NOT extract the tar file in the target directory NUMECA_ INSTALLATION_
DIRECTORY in which the product will be installed.
5. Go to the directory containing the files extracted from the tar archive and type the command
./install_numeca <ENTER>.
The trusted storage based licensing requires a LSB compliant platform. After license agreement, a
check is performed to verify whether the host machine is LSB compliant. It is required if the
license server is installed on the host machine.
6. During the installation, the user will be asked to accept the terms of the License Agreement.
7. Enter the installation directory (referred to as NUMECA_INSTALLATION_DIRECTORY)
in function of one of the following scenarios:
l If NUMECA software was not installed before on the machine, choose a directory of your
preference. Providing a directory name that does not exist will create it automatically.
l If NUMECA software was already installed before, choose the same NUMECA_
INSTALLATION_DIRECTORY to use the multiple versions and/ or products in one
multi-version environment.
It is important to notice that a common NUMECA_INSTALLATION_DIRECTORY
should be shared by all NUMECA installations, otherwise the multi-version installation
will not be set up adequately. This is important e.g. for the good functioning of
PVM when launching several products or versions one after the other.
In order to run distributed memory parallel computations with OpenMPI, NUMECA
products must be installed in the same directory on different machines.
the old
If the product has not been installed in the same 'NUMECA_INSTALLATION_DIRECTORY'
/NUMECA_ INSTALLATION_
'add_ version.sh'
as
DIRECTORY/COMMON/ will allow the user to link previous versions by specifying their full
path name (e.g.: /usr/numeca_software/fineautogrid131).
product. The
script
in
8. Finally, the so-called 'HostName' and 'HostID' information required to generate a license file
will be shown. This information should be sent to NUMECA local sales or support office.
Alternative to find the HostName and HostID from a shell
Type the commands:
NUMECA_INSTALLATION_DIRECTORY/<product_
name>/LINUX/install/flex64/lmutil lmhostid -hostname <Enter>
and
NUMECA_INSTALLATION_DIRECTORY/<product_
name>/LINUX/install/flex64/lmutil lmhostid <Enter>.
9. After the package is installed, the NUMECA Admin Tool is launched automatically. This is a
tool for license management and provides a graphical user interface for the management of the
license server and client machines. The tool offers a guide through the process of setting up
and configuring a license server.
Alternative to access the NUMECA Admin Tool
After installation, the NUMECA Admin Tool can also be started through the command
admin#, where # is the software version (e.g. admin131). Close the NUMECA Admin Tool
dialog box to leave the tool and to finalize the installation.
Tasks that can be performed in the NUMECA Admin Tool
l License Management: to configure the machine as license server and/ or client.
l User Configuration: to set the PATH in the .bashrc/.cshrc/.profile files.
l Network Configuration: to clean and reinitialize PVM, to setup SSH connections to other
machines/ users.
l Diagnostics: to assess and fix problems with license management and graphics.
10. When receiving the license file from NUMECA, perform the license management and user
configuration:
l "License management" (p. 39)
l "User Configuration" (p. 49)
Launch the software as described in the user guide of your product while taking into account
the points of attention as listed in the "Software launch" (p. 51) section of the Linux user
configuration.
2.2.2
License management
Introduction
Before using NUMECA software, a valid floating license is required.
What is a floating license?
With a floating license each software component is managed by an independent maximum
number of concurrent accesses (number of processes). Floating licenses are managed by a license
server which checks if process access is free. If so, when launching a software component, license
access is given to the user process or access is denied otherwise. The license can be accessed on
the same computer but also on other computers (clients) with Linux or Windows, connected
through a network to the license server. The license server can be a Linux or a Windows
machine.
Important points of attention for license servers:
l NUMECA updates the security ID of license files with each major release. License files
with old security ID cannot be used with the latest NUMECA software. Please send your
old license file to NUMECA local sales or support office for an upgrade of the license file.
l Redundant license server can be delivered allowing to manage a floating license by several
servers. For more information, contact NUMECA local sales or support office.
l Machines used as license server must have a fixed first IP address. For example, when
using VPN on Windows, VPN will become the first network interface. In this case, the
license server will not work properly.
l By default it is not possible to use a virtual machine as a license server. To install a license
server on a virtual machine, contact your account manager.
l FlexLM requires LSB (Linux Standard Base) compliant OS.
NUMECA software must be installed on the license server. At the end of the installation, the
license information (the HostName and HostID of this computer) must be sent to NUMECA local
sales or support office in order to get a license file.
Before using NUMECA software, the license daemon should be configured on the license server.
To set up the license server it is necessary to prepare the license file and launch the server either
though the NUMECA Administration Tool or in a shell.
Access to the NUMECA Admin Tool
At the end of the installation of NUMECA software the NUMECA Admin Tool is launched
automatically.
It can also be started anytime on Linux using the command: admin#, where # is the software
version.
It is recommended to run the NUMECA Admin Tool as root to fully benefit from all its possibilities.
Example
admin131
Prepare the license file
To install the license service take the following steps:
1. Rename the license file as license.dat.
2. Copy the license.dat file in the directory that all users are able to access.
3. Check that the license file has the read- execute access privileges (execute chmod 755
license.dat).
The "license.dat" file must be readable by each user.
When using a TCP port for the license server, the port number has to be added in the license file on
the server/vendor line:
1. SERVER hostname hostid and VENDOR numeca should be replaced by SERVER
hostname hostid portnumber1 and VENDOR numeca portnumber2;
2.
3.
reread the license file,
start NUMECA software and specify the license server writing portnumber@hostname . All
specified ports should be opened and free.
License set-up in NUMECA Admin Tool
Start floating license service
To start the license service:
1. Select License Management.
2. On the line Activate from license file browse to the license file under the Product
(de)activation tab.
3. Click on the Activate button.
The manual start operations must be repeated each time the server machine is rebooted. Alternatively
it would be possible to define an automatic start of the license service from lmtools or using the
NUMECA Admin Tool.
Automatic start at machine boot
After the manual start of the license service, it is possible to have it automatically start at machine
boot:
1. Select License Management.
2. Under the License server tab, click on the Set Autostart button.
When starting the license service through the NUMECA Admin Tool, it uses the cron daemon of
the user who installs the software to define the automatic start of the license at machine boot. Cron
is a daemon used to schedule various kind of tasks on Linux. This tool uses crontab text files that
specify commands/ tasks to run at certain time intervals. In the case of NUMECA Admin Tool,
the cron daemon automatically starts the license service using the license file(s) or existing server
specified in the previous license server set-up. In absence of a previous set-up, the daemon uses
the dummy address NUMECA_INSTALLATION_DIRECTORY/flexlm/any.lic as the license
server file location for the autostart.
Verify license service status
To verify that the license server is correctly running do the following:
1. From the NUMECA Admin Tool home page, click on License Management.
2. Select the License server tab.
3. Select the license server in the first table listing all known servers available on the machine.
4. Information regarding the available features, number of available licenses and number of used
licenses is shown in the second table.
Floating license on Linux client
When a floating license service is installed on a license server, this license service may be used by
other computers with a network connection to the license server. In this section, it is assumed that
the license server is running.
1. Go to the NUMECA Admin Tool home page,
2. click on License Management,
3. select the Product (de)activation tab,
4. select the Connection to a license server option.
Users willing to launch NUMECA software on a client should perform a user configuration on
this machine before first use as described in the section "User Configuration" (p. 49).
Update of license file
When a license file is expired, contact NUMECA local sales or support office to obtain an
updated license file.
Rename this license file to license.dat and follow the instructions below.
1. Replace the active license file license.dat with the update license provided by NUMECA
(renamed as license.dat).
It is strongly suggested to make a backup of the old license file, for safety, by renaming it to
"license.old".
2. From the NUMECA Admin Tool home page, click on License Management .
3. Select the License server tab.
4. Under the Start/Stop/Reread section, make sure the license path is correct and click on the
icon
.
If the version of the Flexlm tool is upgraded or the version of the license file security ID is upgraded,
an update of the license file is not enough. The user must shutdown the running license server and
start a new license server with the latest Flexlm tool and the latest license file.
Alternative license server set-up from a shell
Start of the license service
To start the license daemon manually, do the following operations:
1. Go
to
directory
the
name>/LINUX/install/flex64/
NUMECA_ INSTALLATION_ DIRECTORY/<product_
2. Execute
./lmgrd
DIRECTORY/COMMON/license.dat -l $HOME/.numeca/debug_numeca.log
command:
the
NUMECA_ INSTALLATION_
-
In these lines, 'NUMECA_INSTALLATION_DIRECTORY' should be replaced by the absolute
directory path where you have installed NUMECA software.
The manual start operations must be repeated each time the server machine is rebooted.
Automatic start at machine boot
The license daemon can be automatically started during the workstation boot process. For
example to do so on LINUX Red Hat Enterprise 5.1:
1. Login as "root"
2. Go to the /etc directory
3. Edit the inittab file
4. Add the following line at the end:
lmgr:35:wait:/NUMECA_INSTALLATION_DIRECTORY/<product_
name>/LINUX/install/flex64/lmgrd -c License_path/license.dat
In this line, 'NUMECA_INSTALLATION_DIRECTORY' should be replaced by the absolute
directory path where you have installed NUMECA software, 'License_path' should be replaced
by the absolute directory path where the license file is located.
The license server can also be started from /etc/rc#.d/. For more information contact your system
administrator or NUMECA local sales or support office.
Verify License Service Status
To verify that the license server is correctly running do the following:
1. Go to the directory:
NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/
2. Execute the command: ./lmutil lmstat -c License_path/license.dat
If the license server is up this will be shown in the shell with the words: "license server UP
(MASTER) v11.14". The vendor daemon numeca needs to be up as well as indicated with the
words: "Vendor daemon status (on license_server_machine_name): numeca: UP v11.14
If the license server or vendor daemon is not up, see: "User Configuration" (p. 49)).
3. To display the active users of a given feature, use the following command: ./lmutil lmstat -a -c
License_path/license.dat
Floating license on Linux client
When a floating license is installed on a license server, this license may be used by other
computers with a network connection to the license server. In this section, it is assumed that the
license server is running.
On a Linux client, the path of the NUMECA_ LICENSE_ FILE should be defined in the
~/.flexlmrc file:
l in csh or tcsh shell:
setenv NUMECA_LICENSE_FILE /full-path/license.dat or @servername
l in bash or korn shell:
NUMECA_LICENSE_FILE=/full-path/license.dat or @servername
export NUMECA_LICENSE_FILE
Users willing to launch NUMECA software on a client should perform a user configuration on
this machine before first use as described in section "User Configuration" (p. 49).
Update of license file
When a floating license file is expired, contact NUMECA local sales or support office to obtain
an updated license file and follow the instructions below.
1. Rename the license file to license.dat.
2. Replace the active license file with the updated provided license on license server.
It is strongly suggested to make a backup of the old license file, for safety, by renaming it to
"license.old".
3. Go to the directory
NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/
4. Execute the command:
./lmutil lmreread -c LICENSE_FULL_PATH/license.dat
If the version of the Flexlm tool is upgraded or the version of the license file format is upgraded, an
update of the license file is not sufficient. The user must shutdown the running license server and start
a new license server with the latest Flexlm tool and the latest license file.
Optional for CFView™: ask software to wait for license
To
request
that NUMECA products wait
for
an
active
license,
define
it
in
/home/user/.numeca/preferences.dat using the keyword LICENSE_WAIT.
Example
PRODUCT CFView
LICENSE_WAIT
END_PRODUCT
Configuration for MINAMO run modes (only for use with
FINE™/Design3D)
Floating license management for MINAMO run modes
The FINE™/Turbo & FINE™/Design3D package integrates the MINAMO run modes
developed at Cenaero, which allow the user to perform accurate design space sampling and
advanced optimization methods in FINE™/Design3D. Before using MINAMO run modes, the
user must setup the licensing.
Start the license server
Before starting the license servers, the license information (the HostName and HostID of the
computer) must be sent to NUMECA local support office in order to get the NUMECA and the
MINAMO license files. To obtain the HostName and HostID, open a shell and go to the license
server
INSTALLATION_ DIRECTORY/<product_
name>/LINUX/install/flex64 for NUMECA software installation. The NUMECA license
information can be obtained by typing the commands ./lmutil lmhostid -hostname <ENTER> and
./lmutil lmhostid <ENTER>.
(  NUMECA_
directory
After receiving the license files, the activation of the NUMECA and MINAMO license servers
can be achieved following one of the two procedures described below. The procedure is here
described for the simultaneous activation of both NUMECA and MINAMO licence servers.
Start of the MINAMO license with the NUMECA Admin Tool
1. Open a shell and follow the instructions written in "Access to the NUMECA Admin Tool" (p.
40) .
2. Select License Management.
3. In the tab Product (de)activation, activate the option Activate from license file. Click on the
button at the end of the field, and press the key <Ctrl> to select both the NUMECA and
MINAMO licenses. Alternatively, the full paths of the NUMECA and the MINAMO license
files can be specified manually, separated by a colon punctuation (":").
4. Click on Open to validate the selection, and press Activate . A message is displayed,
informing the user that the activation has been successfully performed. Accept the message.
5. Under the tab License server, select the local machine in the first table. The MINAMO
features should appear together with the NUMECA features.
6. Close the NUMECA Admin Tool.
Alternative license server set-up from a shell
The activation of the NUMECA and MINAMO license servers is also possible via a command
line. To this extend, follow the steps described below:
1. Go
to
directory
the
name>/LINUX/install/flex64/
NUMECA_ INSTALLATION_ DIRECTORY/<product_
2. Execute
the
command line:./lmgrd - c <FULLPATH>/<NUMECA License
file>,
<FULLPATH>/<MINAMO license file>
The manual start operations must be repeated each time the server machine is rebooted.
Configure on Linux clients
On a Linux client, the path of the CENAERO_ LICENSE_ FILE should be defined in the
~/.flexlmrc file:
l in csh or tcsh shell:
setenv CENAERO_LICENSE_FILE @servername
l in bash or korn shell:
export CENAERO_LICENSE_FILE=@servername
Configuration for FEA solver Oofelie (only for use with
FINE™/Design3D)
Floating license management of the FEA solver Oofelie
The FINE™/Turbo & FINE™/Design3D package integrates the multiphysics FEA solver
Oofelie developed at Open-Engineering S.A., which allows the user to perform multidisciplinary
optimization in FINE™/Design3D. Before using Oofelie, the user must setup the licensing.
Start the license server
Before starting the license server, the license information (the HostName and HostID of this
computer) must be sent to NUMECA local support office or info@open-engineering.com in order
to get a license file. The HostName and HostID can be obtained by typing the commands
INSTALLATION_ DIRECTORY/fine131/LINUX/oofelie/data/license/flexnet-
NUMECA_
server/lmutil
and NUMECA_ INSTALLATION_
<ENTER>
lmhostid
DIRECTORY/fine131/LINUX/oofelie/data/license/flexnet-server/lmutil lmhostid <ENTER>.
- hostname
After receiving the license file, start the license server as follows:
1. Check that the license file has the read-execute access privileges (otherwise, execute chmod
755 license_file)
2. Go
to
the
directory
NUMECA_
INSTALLATION_
DIRECTORY/fine131/LINUX/oofelie/data/license/flexnet-server/,
3. Execute the command: ./lmgrd -c license_file,
Configure on Linux clients
On a Linux client, the path of the OPENENG_ LICENSE_ FILE should be defined in the
~/.flexlmrc file:
l in csh or tcsh shell:
setenv OPENENG_LICENSE_FILE /full-path/license.dat or @servername
l in bash or korn shell:
export OPENENG_LICENSE_FILE=/full-path/license.dat or @servername
Student version with activation ID
In general a license certificate (text file) is provided to give access to NUMECA software.
Alternatively the NUMECA Admin Tool allows to use an activation ID to start the license server.
For example, the free student version is based on an activation ID and the instructions how to use
it are provided together with the activation ID. Use of an activation ID requires the use of Trusted
storage and installation of an anchor service. Hence this terminology can be found in the
NUMECA Admin Tool but can be safely ignored in case of a license certificate in text file
format.
Example of an Activation ID: C2a9-561f-7895-435b-acb5-3520-c166-4bcc
2.2.3
User Configuration
Introduction
At the end of the installation, each user willing to use NUMECA software must initially configure
his/ her working environment by running an initialization script.
Configure the user environment
1. Log in as user.
2. Go to the directory NUMECA_INSTALLATION_DIRECTORY/COMMON, and execute
the command ./configure. This operation will add a couple of lines in the user's .cshrc, .tcshrc
or .profile file (located in user's home directory) and add the NUMECA software in user's
default path.
3. Log out and log in again to apply the information in the .cshrc , .tcshrc or .profile file.
On Linux, NUMECA software saves some data (preferences, user fluid database, templates...) in the
folder $HOME\.numeca\. The variable $HOME is imposed by NUMECA software and cannot be
modified.
During the runtime, NUMECA software writes temporary data in the directory $HOME/.numeca/tmp.
This tmp directory can be redefined by defining the environment variable NI_TMP_DIR.
Optional: configure account to allow remote computations
When configuring the FINE™ environment for remote computations, it is strongly advised to
suspend all currently running tasks and shutdown the PVM daemon before starting the
configuration.:
1. Start the Task Manager (Modules/Task Manager) from the FINE™ GUI and select the
Hosts definition page in the menu on the left.
2. Click on the button Shutdown. A warning message will appear stating that all hosts will be
removed from the Virtual Machine and that FINE™ GUI will be closed. Click on yes to
continue.
RSH
FINE™ enables to launch computations on remote machines by using the Task Manager
capabilities. To be able to perform remote launches using rsh command, NUMECA software
must be installed on the remote machine and explicit permission must be specified in the dedicated
.rhosts file, located in the user's home directory. To this end, the following operation must be
checked and/ or performed:
1. Edit the .rhosts file and check information describing the list of computer and user authorized
to use the Task Manager. Example of .rhosts file:
computer1 user1 computer2 user1 computer3 user1
2. Check the permission of the .rhosts file (600 is required).
3. Check that the rsh command is active on all machines listed in the .rhosts file. This can be
done by typing the command rsh machine_name and checking that no password is requested.
If the system keeps requesting a password, please verify that the previous steps have been
correctly followed or contact your system administrator. Please note that the rsh command is
not available on HP and should better be replaced by the remsh command.
4. Check that the rlogin command allows user to login on all machines listed in the .rhosts file,
without requiring any password information. Providing these few tests are successful, the Task
Manager is ready to use.
Use of NUMECA software with other applications that would require an access to PVM can lead to
conflicts. Contact NUMECA local sales or support office for more information.
SSH
FINE™ enables to launch computations on remote machines by using the Task Manager
capabilities. To be able to perform remote launches using ssh command, NUMECA software
must be installed on the remote machine and the environment variable "NI_RSHCMD" should be
set to "ssh":
l in csh or tcsh shell:
setenv NI_RSHCMD ssh
l in bash or korn shell:
export NI_RSHCMD=ssh
and explicit permission must be specified in the dedicated ~/.ssh/authorized_keys file. To this
end, the following operations must be checked and/ or performed:
l In a shell, the command ssh-keygen -t dsa will generate in the directory ~/.ssh two files, one
private key and one public key.
l Check the permission of the private key (600 is required).
l The public key can be put on the other machine in the ~/.ssh/authorized_keys file.
The permissions on the file must be very strict:
l chmod 750 ~/
l chmod -R 700 ~/.ssh
Use of NUMECA software with other applications that would require an access to PVM can lead to
conflicts. Contact NUMECA local sales or support office for more information.
Software launch
When launching the FINE™ environment, the user should note:
l It is not allowed for one user to simultaneously open (and therefore launch tasks in) more than
one FINE™ environment with different versions.
l In a multi-version environment, it is strongly suggested to shutdown the Task Manager when
switching from version to version, in order to avoid possible conflicts due to the PVM
daemon. This warning only applies if the versions have been installed in distinct NUMECA_
INSTALLATION_DIRECTORY locations.
To launch the components:
<productname><version#> -print <Enter>
Examples
For FINE™/Turbo: fine131-print <Enter> or cfview131 <Enter> or igg131<Enter>.
For CFView™: cfview# -print with # the version of CFView™ included in your package
For IGG™/AutoGrid5: igg131 -print <Enter> or igg131 -autogrid5 -print <Enter>
For AutoBlade™: autoblade131-print <Enter>
It is important to outline that no output is displayed by default in the shell where the software is
launched. Instead the output is redirected to log files, located in the directory ~/.numeca/tmp/ and
named as startup_logfile_fine, startup_logfile_hexpress, startup_logfile_cfview.
However, outputs can still be forced for display in the shell. Add the - print command to the
command line. This will give additional information during software launch, especially during the
initial configuration of the software.
2.2.4 Uninstallation
Introduction
This section details the steps required to properly remove an installation of NUMECA software.
Depending upon the configuration, there are several possibilities:
l If the product is the only product and the only version on the computer: uninstall in mono-
version environment.
l If other products and/ or other versions are installed on the same machine, it is possible to: 
l to remove only some of these products/ versions: partly uninstall
in multi- version
environment",
l to remove all products: fully uninstall in multi-version environment".
Furthermore, the license service may be stopped if NUMECA software is not used on any
machine connected to the license server.
Uninstall license service
Points of attention:
l Instructions related to the NUMECA license service must be removed if the machine has
been configured to start automatically the license service at start up. These instructions can
be accessed in the /etc/inittab file.
l It is not possible to stop the license server without an internet connection.
l The license server cannot be started or stopped without a network connection.
In NUMECA Admin Tool
1. Go to the NUMECA Admin Tool home page,
2. click on License Management,
3. under the Product (de)activation tab, click on the Deactivate button and Apply to confirm
and stop the running license server(s) and return all existing fulfillment from this machine.
4. The words "Success" or "Failed" are shown depending on the success or failure of the
uninstalling process, respectively.
5. Click on the Unset Autostart button under the License server tab to complete the uninstalling
process.
In a shell
The license service should be stopped before uninstalling NUMECA software.
To do so, the following operations must be performed:
1. Go
to
directory
the
name>/OSname/install/flex#/
NUMECA_ INSTALLATION_ DIRECTORY/<product_
2. Execute the command: ./lmutil lmdown -c LICENSE_FULL_PATH/license.dat
Uninstall in mono-version environment
Proceed as follows to remove a product in a mono-version environment under Linux:
1. Verify that there are no running tasks on the machine.
2. Stop the license service before uninstalling NUMECA software. More details in the subsection
"Uninstall license service" (p. 52).
3. Remove the lines from "#begin NUMECA configuration" to "#end NUMECA configuration"
from the user's .cshrc, .tcshrc or .profile file.
4. Remove the directory NUMECA_INSTALLATION_DIRECTORY and its content.
Partly uninstall in multi-version environment
Proceed as follows to remove one product version in a multi-version environment under Linux:
1. Verify that there are no running tasks on the machine.
2. Stop the license service before uninstalling NUMECA software. More details in the subsection
"Uninstall license service" (p. 52) .
3. Remove the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/ and
all of its content.
Before removing the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/, check
and make sure that the license file is not inside the directory.
Fully uninstall in multi-version environment
Proceed as follows to remove all NUMECA products in a multi-version environment under
Linux:
1. Verify that there are no running tasks on the machine.
2. Stop the license service before uninstalling NUMECA software. More details in the subsection
"Uninstall license service" (p. 52).
3. Remove the lines from "#begin NUMECA configuration" to "#end NUMECA configuration"
from the user's .cshrc, .tcshrc or .profile file.
4. Remove the directory NUMECA_INSTALLATION_DIRECTORY and its content.
2.2.5
Troubleshooting
Introduction
In most cases, a straightforward and careful execution of the instructions detailed in the previous
chapters enables the user to start NUMECA software smoothly. In case of problems, this section
aims at providing guidelines on how to detect and solve possible troubleshooting.
FINE™/Turbo and FINE™/Design3D not starting
In case FINE™/Turbo and FINE™/Design3D fail to start, use the - print argument in the
command line, for example cfview131 -print to start the product.
This argument will output information in the shell (including the location of the license file) which
may be helpful to understand the problem. With this information at hand, check the following
items:
l Is the license file valid and active to start the product ?
l Check if the license server is up. On the license server, two active daemons should be present.
This can be seen using the commands ps -ealf | grep lmgrd and ps -ealf | grep numeca. If not,
follow the instructions for license installation.
l Some license check problems may occur if the host computer cannot find the server IP-address
corresponding to the hostname information included in the first line of the license key. To
solve this problem, replace the hostname by the IP-address of the license server. This operation
does not invalidate the license key.
l Check if the license key file is well readable by every user.
l Did the user configure the working environment? Before using NUMECA software, each user
must configure the working environment using the command ./configure within the
NUMECA_INSTALLATION_DIRECTORY/COMMON/ directory; then log out and log in.
l Is the graphics driver appropriate for the display ? Try to activate the X11 driver.
To change the used driver
To change the driver permanently for every next launch of the software:
1. Open the file ~\.numeca\.drivers
2. Type: host_ name display_ name possible_ drivers chosen_ driver e.g. gauss.numeca.be
gauss OPENGL:X11 X11
The selection will take effect at the next session.
Alternatively, the driver can be manually specified in a shell for that shell session only through
the following commands:
l in csh or tcsh shell:
setenv NI_DRIVER X11
l in bash or korn shell:
NI_DRIVER=X11 export NI_DRIVER
l Check if the TCP/IP protocol is installed on the machine. The protocol is mandatory to ensure
the correct function of the floating licenses.
l Are the NUMECA software components visible from the machine? If not, install them.
l Is the OS adequate? If not, copy the correct tar file and start the installation again.
l Are the Linux permissions sufficient for the user to access NUMECA software installed? Ask
your system administrator.
l Successive installation of FINE™ can possibly lead to trouble if tasks have been improperly
stopped. To purge this issue:
Close all tasks opened (including FINE™ GUI) and kill the PVM daemon related to the user
(if applicable). This operation can be performed through the kill command applied to the
corresponding process number. Process numbers can be outlined using the command ps -ef |
grep pvm. This operation must be performed on each machine the user can possibly access.
Graphical problems and system crashes
NUMECA software makes use of the advantages of Graphics Card available. Some trouble may
however come up with the default driver OPENGL since it may not be supported by the user host
computer and machine display.
In order to set the system compatible with a more portable driver, refer to the following
instructions. Note however that the proposed drivers are usually less efficient in terms of graphical
speed than the default driver.
To change the used driver
To change the driver permanently for every next launch of the software:
1. Open the file ~\.numeca\.drivers
2. Type: host_name display_name possible_drivers chosen_driver e.g. gauss.numeca.be gauss
OPENGL:X11 X11
The selection will take effect at the next session.
Alternatively, the driver can be manually specified in a shell for that shell session only through the
following commands:
l in csh or tcsh shell:
setenv NI_DRIVER X11
l in bash or korn shell:
NI_DRIVER=X11 export NI_DRIVER
GUI flashes
In some circumstances, the graphical area can flash during interactive operations, depending upon
the driver selected. This mostly happens when using the X11 driver. Setting the environment
variable NI_DOUBLEBUFFERING to ON into the user profile (.cshrc, .profile, .tcshrc,...)
may solve the problem under Linux. The variable can be manually specified through the
following commands:
l for csh or tcsh shells: setenv NI_DOUBLEBUFFERING ON
l for
bash
korn
DOUBLEBUFFERING
or
shells:
NI_ DOUBLEBUFFERING=ON
export
NI_
Display drivers not detected
NUMECA products with GUI check the available working drivers and updates automatically in
the .drivers file located in the .numeca directory of the user at first launch on a new machine/
display. This operation is only completed during the first execution, since it may take some time.
As a consequence, the upgrade of drivers on an existing machine/ display cannot be automatically
detected.
Cannot Connect to Other Hosts
At first execution of Task Manager
In case the user cannot connect to other hosts at the first execution of the Task Manager, the
following should be checked:
l Is the machine included in the computer list within the .rhosts file (when running remote
commands with rsh)? This file details the computers authorized to use the Task Manager. The
file is located in the user home directory.
Example of .rhosts file
computer1 user1 computer2 user1 computer3 user1
l Has the .rhosts adequate permission (when running remote commands with rsh)? (600 is
required)
l Is NUMECA software adequately installed on the selected remote hosts? If not, perform the
installation.
l Is the rsh command active on all machines listed in the .rhosts file? This check can be done by
typing the command line rsh machine_name echo \$PVM_ROOT <Enter>. All selected
machines must be accessed without requiring any password information and the $PVM_
ROOT variable should be displayed adequately. Please note that the rsh command is not
available on HP and should better be replaced by the remsh command.
l Is the user .cshrc, .tcshrc or .profile file fully executed when opening a new batch shell (non
interactive mode)? Ask your system administrator to check this issue.
Task Manager launched once with success
In case the user can no longer connect to other hosts while this operation has at least been
successful once, the following should be checked:
1. Start the Task Manager (Modules/Task Manager) from the FINE™ GUI and select the
Hosts definition page in the menu on the left.
2. Click on the button Shutdown. A warning message will appear stating that all hosts will be
removed from the Virtual Machine and that FINE™ GUI will be closed. Click on yes to
continue.
3. Close all tasks opened (including FINE™ GUI) and kill the PVM daemon related to the user
(if applicable). This operation can be performed through the kill command applied to the
corresponding process number. Process numbers can be outlined using the command ps -ef |
grep pvm. This operation must be performed on each machine the user can possibly access.
Further troubleshooting
For more information and troubleshooting:
l consult the forum in NUMECA's Customer Area with a section dedicated to installation.
l or contact NUMECA local sales or support office (for active maintenance plans only).
To help to find a solution within the shortest delays, please provide a detailed description of the
observed behavior and performed analysis.
The following information can be helpful:
l the license key file license.dat.
l the hostname and hostid. This information can be obtained by executing the commands lmutil
lmhostid <Enter> in the NUMECA_
lmhostid - hostname <Enter> and lmutil
INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/ directory.
l the product name and version for which installation is causing problems.
l a description of the configuration (in terms of name, platform and OS for each machine on
which NUMECA software is installed).
l the .log file generated during the installation and located in the /tmp directory on the machine
from where the script ./install_numeca has been launched .
l the "startup_logfile_*" files located in ~\.numeca\tmp.
© NUMECA International, all rights reserved
EN201808281652

WHAT'S NEW?
The following release notes detail the new features in the latest release:
New Features in v13 of FINE™/Turbo GUI and Solver
New Features in v13 of IGG™/AutoGrid5™
New Features in v13 of CFView™
The compatibility between the available models can be verified in the Compatibility Information.
NEW FEATURES IN V13
This document provides a description of the new capabilities and major improvements included in
FINE™/Turbo v13, as well as statements outlining main customer benefits and known
limitations.
The following is a detailed list of new capabilities and enhancements in FINE™/Turbo v13:
All Products:
Flexlm based security ID updated to v18
"Improve administration wizard" (p. 5)
General upgrades in package
FINE™/Turbo:
New default in the GUI
Real gas definition extended to fourth order equations
List of turbulent quantities to define the imposed turbulence at the inlet/external BC and in
the initial solution
New quantities in ".mf" file
Repetition Data in CGNS for NLH
In addition to the new features, the following is a detailed list of existing capabilities and
enhancements recently certified in FINE™/Turbo:
Fluid/Structure Interactions - Strong Coupling
Finally, the following is a detailed list of existing capabilities and enhancements included in
FINE™/Turbo but still requiring additional calibration.
List of existing BETA capabilities
Two-equations turbulence model with CPUBooster
MpCCI thermal coupling via FNMB
MpCCI thermal coupling with condensable fluids
Solver acceleration using multicore CPU paired with multiple general purpose graphical
processing units (GPGPU) (New in FINE™/Turbo v13.1)
1.1
FLEXLM BASED SECURITY ID UPDATED TO
V18
(New in FINE™/Turbo v13.1)
(All Products)
FINE™/Turbo requires FlexLM based license keys for execution. In FINE™/Turbo v13, the
security ID has been upgraded to v18, thus requiring the delivery of new license keys for
execution.
Customer Benefits
None
Known Limitations
None
1.2
IMPROVE ADMINISTRATION WIZARD
(New in FINE™/Turbo v13.1)
(All Products)
The user-friendliness of the license management and diagnostics of the administration wizard is
improved:
l License Management>Product (de)activation: Deactivate button to return all fulfillment and all
servers on the machine.
l License Management>Trusted storage: check-box to return a fulfillment and refresh button to
refresh the fulfillment status if needed.
l License Management>License server: control and display the status of the known servers and
the list of all the features deserves by the selected server.
l Diagnostics: Support request button to generate a file containing the results from the checks
performed.
Customer Benefits
More user-friendly tool to diagnose and manage licensing.
Known Limitations
None
1.3
GENERAL UPGRADES IN PACKAGE
(New in FINE™/Turbo v13.1)
(All Products)
General upgrades are made in the package:
l Use of Datakit 2017.3 (for Catia V5 file import);
l Upgrade flow solver compilers on LINUX: PGI v17.10.
Customer Benefits
l CATIA R26 support.
l Solution time can be significantly reduced.
Known Limitations
None
1.4
NEW DEFAULT IN THE GUI
(New in FINE™/Turbo v13.1)
Default value changes of several parameters:
l Merkle preconditioning;
l Full non-matching mixing plane rotor-stator;
l RBF-TFI mesh deformation algorithm for elastic deformation;
l CPUBooster is deactivated during FMG cycles when the CPUBooster is active during MG
cycles;
l EUWDIS set to 0 to do not take into account Euler walls for wall distance calculations;
l FLXRS set to 1 1 to control the mass flow at the rotor-stator interface for non-reflecting
interfaces;
l IRSPAR set to 1 for the parallel treatment of the rotor-stator interface;
l KEGRID set to 10 to no more use Baldwin-Lomax during the FMG cycles;
l MASPAO set to 2 to use local variables instead of global ones for the outlet BC with mass
flow imposed and pressure adaptation;
l RSIMGD set to 1 1 1 to improve the image mesh creation for 360 degree mesh.
l Flow solver on LINUX: "Portland IMPI (PGI 17)" instead of "Portland OMPI (PGI 6)".
Customer Benefits
Improve robustness and solution time can be significantly reduced.
Known Limitations
None
1.5
REAL GAS DEFINITION EXTENDED TO
FOURTH ORDER EQUATIONS
(New in FINE™/Turbo v13.1)
Starting from FINE™/Turbo v13.1, the real gas definition is extended to 4th order equations.
When the heat conduction, viscosity, heat capacity or gamma are specified by a formula in
function of temperature, the user can now define the formula as a 4th order polynomial (instead of
a 3rd order polynomial before).
Customer Benefits
The extended formula may better fit the real gas behavior in the given temperature range.
Known Limitations
None
1.6
LIST OF TURBULENT QUANTITIES TO
DEFINE THE IMPOSED TURBULENCE AT
THE INLET/EXTERNAL BC AND IN THE
INITIAL SOLUTION
(New in FINE™/Turbo v13.1)
Starting from FINE™/Turbo v13.1, the user can choose between different turbulent quantities to
define the imposed turbulence at the inlet/external BC and in the initial solution.
Given a 1-equation turbulence model, following turbulent quantities are available:
l Turbulent Viscosity;
l Turbulent Viscosity Ratio;
l Turbulent Intensity and Length Scale;
l Turbulent Intensity and Hydraulic Diameter;
l Modified Turbulent Viscosity (only available for the initial solution);
and given a 2-equations turbulence model:
l k and epsilon;
l Turbulent Intensity and Viscosity Ratio;
l Turbulent Intensity and Length Scale;
l Turbulent Intensity and Hydraulic Diameter;
l From Friction Velocity (only available for the initial solution).
Customer Benefits
The user is not limited anymore to the turbulent viscosity, k or epsilon to impose the turbulence.
Known Limitations
The new turbulent quantities are only compatible with constant
inlet/external boundaries.
imposed values at
the
1.7
NEW QUANTITIES IN ".MF" FILE
(New in FINE™/Turbo v13.1)
Rothalpy is now computed for turbomachinery cases. For condensable fluids, static/total enthalpy,
entropy, and dryness fraction are computed at the inlet and outlet boundaries and at each rotor-
stator interface; isentropic static/total enthalpy is computed at the outlet. Total to static isentropic
efficiency is now computed for real gases and condensable fluids with EFFDEF expert
parameter set to 2.
Customer Benefits
Additional quantities are automatically computed at the inlet and outlet boundaries and at each
rotor-stator interface.
Known Limitations
None
1.8
REPETITION DATA IN CGNS FOR NLH
(New in FINE™/Turbo v13.1)
Starting from FINE™/Turbo v13.1, for Non Linear Harmonic (NLH) computations, a new
section has been added in the CGNS file outputted by FINE™/Turbo for each domain of the
CFD simulation. This section contains the periodicity of the domain, the number of repetition
considered for the domain in CFD simulation, the axis point and the axis direction of the domain.
Customer Benefits
Eliminate the need to input the repetition data manually when importing NLH results into
FINE™/Acoustics
Known Limitations
None
1.9
FLUID/STRUCTURE INTERACTIONS -
STRONG COUPLING
The strong coupling method is based on a subcycling approach added to the initial modal
resolution algorithm. This subcycling loop is based on the repetition of the physical time step
calculation while the equilibrium between the fluid and the structure is not reached. The structure
deformation is updated between each subcycle. Once the equilibrium is reached, the next time
step is computed.
Customer Benefits
More accuracy for unsteady modal computation.
Known Limitation
No additional limitation.
© NUMECA International, all rights reserved
EN201808281649

Tutorials


Where to Find the Files Used in the Tutorials?
Each of the tutorials starts from mesh generation and uses an existing geometry. The appropriate files (and any other relevant files used in the tutorial) can be downloaded  (download HEXPRESS™/Hybrid tutorial archive) . In addition they are stored   in the tutorials archive as available for download from the Products page of the Customer Area (www.numeca.be).
Some of the project files (mesh and project, excluding solution files) can also be found in the demo cases package dedicated to ready-to-run demonstration cases and presented in the Demo Cases section. This allows to quickly generate a mesh and observe the behavior of HEXPRESS™/Hybrid, without necessarily going through all the steps of the tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry.
The sequence of actions to be executed are described through a numbered step-by-step approach.
Additional insight about some specific actions and/or features is frequently added to illustrate the tutorial further. This information is for the purpose of clarity and completeness, and should not be executed. It appears as a note with a light blue background.
Contact your NUMECA local sales or support office for any questions or information you may require. To allow NUMECA local sales or support office to help you promptly, please provide a detailed description of the observed behavior and performed analysis.

Demo Cases HEXPRESS™/Hybrid

HEXPRESS™/Hybrid is packed with a set of 5 demo cases. These are "ready-to-run" public cases which include all the necessary elements to generate a mesh. They must be understood as a complement to tutorials and therefore some basic knowledge in the management of the graphical user interface is required.
Each demo case is completed with illustrative pictures of geometry or generated mesh. The mesh files are not included in the package but can be quickly reproduced by launching in batch the CONF file provided with commands:
on Linux:

hexpresshybridopen72 myconf.conf -numproc <np> -print or,
hexpresshybrid72 myconf.conf -numproc <np> -print (HEXPRESS™ standalone)

on Windows:

c:\NUMECA_SOFTWARE\fineopen72\bin64\hexpresshybridx86_64.exe <yourpath>/myconf.conf -numproc <np> -print or,
c:\NUMECA_SOFTWARE\hexpress72\bin64\hexpresshybridx86_64.exe <yourpath>/myconf.conf -numproc <np> -print (HEXPRESS™ standalone)

The main characteristics of the demo cases are listed here below. All the demo case files can be downloaded or found in the demo case archive as available for download from the Products page of the Customer Area (www.numeca.be).


Demo Case 1: Tourism Car (Monoblock)

Demo Case 2: Tourism Car (Multiblock)

Demo Case 3: Cooled turbine (Multiblock)

Demo Case 4: Buggy (Monoblock)

Demo Case 5: Overflow pipe (Multiblock)


Demo Case 1: Tourism Car (Monoblock)
 
Introduction
This demo case provides a Nissan tourism car mesh with its geometry originated from CAD format representing a realistic industrial car.
Objective
 The objective of this demo case is to demonstrate the ability of HEXPRESS™/Hybrid to generate complicated meshes surrounding a complex automotive geometry.
Grid
The grid, composed of a single block, is entirely generated using HEXPRESS™/Hybrid with about 6M cells.
Files
Files (.spm.gz and .conf) are inputs to generate the mesh. Resulting mesh will be saved in SPB format.
Demo Case 2: Tourism Car (Multiblock)
 
Introduction
The demo case provides a 3D mesh of the Mustang tourism car with heat exchanger (radiator) modeled as porous media.
Objective
 The objective of this demo case is 
 to demonstrate the ability of HEXPRESS™/Hybrid to generate multiblock meshes surrounding complex automotive geometry.
Grid
The grid, composed of two blocks, is entirely generated using HEXPRESS™/Hybrid with about 23M cells.
Files
Files (.spb and .conf) are inputs to generate the mesh. Resulting mesh is saved in SPH format and can be directly imported into FINE™ /Open.
Demo Case 3: Cooled turbine (Multiblock)
 
Introduction
The demo case provides the multiblock mesh of a axial turbine including the cooling bleeds.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™/Hybrid to generate non-rotating turbomachinery case with cooling bleeds.
Grid
The grid, composed of two blocks, is entirely generated using HEXPRESS™/Hybrid with about 3,3M cells.
Files
Files (.spb and .conf) are inputs to generate the mesh. Resulting mesh is saved in SPB format.
Demo Case 4: Buggy (Monoblock)
 
Introduction
The demo case provides  a 3D Euler mesh of a buggy.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™/Hybrid to generate mesh surrounding a complex geometry composed by lots of small components.
Grid
The grid, composed of a single block, is entirely generated using HEXPRESS™/Hybrid with about 23M cells.
Files
Files (.flma.gz, .spm.gz and .conf) are inputs to generate the mesh. Resulting mesh is saved in SPB format.
Demo Case 5: Overflow pipe (Multiblock)
 
Introduction
The demo case provides the multiblock meshes for an overflow pipe. 
Objective
The objective of this demo case is to demonstrate the four possible ways of generating multiblock meshes with the different thin wall methods available. Four folders are provided with input files showing the different methods:

01-open-thinwall
02-closed-thinwall-markallouter
03-closed-thinwall-externalwall
04-closed-thinwall-markbystartpoint

For this geometry, the easiest way to generate a multiblock mesh is by using the THIWALLBLOCKMARKBYSTARTPOINT keyword, i.e. the last method in the list above.
Grid
The grid, composed of two blocks, is entirely generated using HEXPRESS™/Hybrid with about 1M cells.
Files
Files (.spb.gz and .conf) are inputs to generate the meshes. Resulting meshes are saved in SPB format.

TUTORIALS
Where to Find the Files Used in the Tutorials?
Each of the tutorials starts from mesh generation and uses an existing geometry. The appropriate 
files   (and   any   other   relevant   files   used   in   the   tutorial)   can   be   downloaded   (download  
HEXPRESS™/Hybrid tutorial archive) . In addition they are stored   in the tutorials archive as 
available for download from the Products page of the Customer Area (www.numeca.be).
Some of the project files (mesh and project, excluding solution files) can also be found in the 
demo cases package dedicated to ready-to-run demonstration cases and presented in the Demo 
Cases   section.   This   allows   to   quickly   generate   a   mesh   and   observe   the   behavior   of  
HEXPRESS™/Hybrid, without necessarily going through all the steps of the tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry.
The sequence of actions to be executed are described through a numbered step-by-step approach.
Additional insight about some specific actions and/or features is frequently added to illustrate the 
tutorial further. This information is for the purpose of clarity and completeness, and should not be 
executed. It appears as a note with a light blue background.
Contact   your   NUMECA   local   sales  or   support   office   for   any   questions  or   information   you   may  
require.  To   allow  NUMECA  local   sales  or   support   office  to   help   you  promptly,  please  provide  a 
detailed description of the observed behavior and performed analysis.
GETTING STARTED WITH 
HEXPRESS™/HYBRID
This  page  is  dedicated  to  showing  some  absolute  essentials  of   HEXPRESS™/Hybrid:  launching  the 
software and an introduction to interface. 
When   working   with   HEXPRESS™/Hybrid   one   will   almost   invariably   also   need   the   supporting  
software HEXPRESS™/View, HEXPRESS™/Holesearcher and HEXPRESS™/Datamapper.
HEXPRESS™/View is able to visualize geometries and meshes and serves as a tool to:
 l Create a domain around the geometry,
 l Identify   and   select   areas   that   are   candidates   for   refinement   through   the   concept   of   so- called  
"selections",
 l Perform a visual check of the mesh.
HEXPRESS™/Hybrid takes care of the actual meshing.
HEXPRESS™/Holesearcher is a tool to find and close holes in the geometry.
HEXPRESS™/Datamapper is used to post-process an existing mesh. On a given mesh, Datamapper can 
perform e.g. file conversion, partitioning, renumbering of cells and viscous layers insertion.
In addition to these, it is possible that HEXPRESS™ (which is meshing software on its own) will be 
necessary to define e.g. Full Non Matching Boundaries.
Launching HEXPRESS™/View
On Linux
 l hexpressviewopen72 -print or,
 l hexpressview72 (if HEXPRESS™  standalone)
On Windows
 l Start/All Programs/NUMECA software/FineOpen72/HexpressView or,
 l Start/All   Programs/NUMECA   software/Hexpress72/HexpressView   (if   HEXPRESS™   
standalone)
Basics of HEXPRESS™/View
Environment
The Graphical User Interface (GUI) in HEXPRESS™/View is divided into:
l The Project tree,
 l Graphics area,
 l Control panel,
 l Menu bar,
 l Icon bar.
These different "areas" will frequently be referred to in this and other tutorials.
It is possible to change the background in the graphics area to a plain white one (e.g. to make 
images). To do this activate the White Background button in the toolbar.
The cross hair can be turned on or off and the background color can be changed in the control 
panel by going to Viewer/Settings.
HEXPRESS™/View serves as the interactive environment which aims to prepare the body and 
related surfaces of a geometry before the volume meshing. It also serves as a visualization tool for 
the mesh once it has been created. A summary of the main actions (mouse actions and keyboard 
shortcuts) for visualization is detailed in the following table.
Three axes indicate the orientation of the body in the graphics area: red axis for x-, green for y-, and 
blue for z-direction.
Controls
Left-click on the geometry
Activates the object, which is then surrounded by a box. The 
box is green if the object is in its initial position and red 
otherwise.
Left-click out of an active object
Deactivates the object; the green (or red) box disappears.
Hold left-click + move
Rotates the view. The center of rotation is the cross in the 
middle of graphical area.
<a>
Rotates the view gradually.
Hold middle-click + move down or
Zooms in towards the middle of the graphical area.
Scroll wheel up.
Hold middle-click + move up or
Zooms out, away from the middle of the graphical area.
Scroll wheel down.
Hold right-click + move
Moves the view by translation.
<Ctrl> + <G> or 
Resets the front view (in XY-plane) and fits the view.
Right-click on an active object + Reset or
Go to View/Reset
Go to Rendering / Default Position or 
Right-click on an active object + Default 
Position
Resets an object to its initial position (green box 
surrounding active object).
<Shift> + hold left-click + move
Rotates the object around viewpoint.
<Shift> + hold middle-click + move 
up/down
Moves the clipping plane.
<Shift> + hold right-click + move
Drags the active object.
Launching HEXPRESS™/Hybrid
Launch HEXPRESS™/Hybrid with the "myconf.conf" file by typing a command line as shown 
below in the shell:
On Linux
 l hexpresshybridopen72 meshing.conf -numproc <np> -print or,
 l hexpresshybrid72 meshing.conf -numproc <np> -print (if HEXPRESS™  standalone)
On Windows
 l c:\NUMECA_SOFTWARE\FineOpen72\bin64\hexpresshybridx86_64.exe meshing.conf -
numproc <np> -print or,
 l c:\NUMECA_ SOFTWARE\Hexpress72\bin64\hexpresshybridx86_ 64.exe   meshing.conf   -
numproc <np> -print (if HEXPRESS™  standalone)
By default when launching HEXPRESS™/Hybrid, the mesh generation is performed automatically in 
parallel  with  the  number   of   cores  available.  In  order   to  limit  the  number   of   processors  ( np),  the 
command -numproc should be used as shown above. For a standard HEXPRESS™/Hybrid package, a 
seat  with  up  to  8  cores  access  is  provided. For  additional access  (9 cores  or  more), another license 
with added feature is required.
The   mesh   generation   can   also   be   launched   via   HEXPRESS™/View.   Read   Launch   mesh  
generation for more details. 
Launching HEXPRESS™
Launch HEXPRESS™ depending on the working environment:
For Linux systems
Access the HEXPRESS™  graphical user interface with the following command line:
hexpressopen72 -print
or (if HEXPRESS™ standalone):
hexpress7.2 -print
For WINDOWS systems
Access HEXPRESS™ graphical user interface from the start menu by going to:
/Programs/NUMECA software/FineOpen72/Hexpress
or (if HEXPRESS™ standalone):
/Programs/NUMECA software/Hexpress72/Hexpress
Launching HEXPRESS™/Holesearcher
The holesearcher is launched in parallel automatically with all the cores available without having 
restriction on the number of cores.
On Linux
 l hexpressholesearcheropen72 holesearching.conf -print or,
 l hexpressholesearcher72 holesearching.conf -print (if HEXPRESS™  standalone)
or
 l hexpresshybridopen72 meshing.conf -print or,
 l hexpresshybrid72 meshing.conf -print (if HEXPRESS™  standalone)
On Windows
 l c:\NUMECA_
SOFTWARE\FineOpen72\bin64\hexpressholesearcherx86_
64.exe
holesearching.conf -print or,
 l c:\NUMECA_
SOFTWARE\Hexpress72\bin64\hexpressholesearcherx86_
64.exe
holesearching.conf -print (if HEXPRESS™  standalone)
or
 l c:\NUMECA_SOFTWARE\FineOpen72\bin64\hexpresshybridx86_64.exe meshing.conf -
numproc <np> -print or,
 l c:\NUMECA_ SOFTWARE\Hexpress72\bin64\hexpresshybridx86_ 64.exe   meshing.conf   -
numproc <np> -print (if HEXPRESS™  standalone)
The  Holeseacher  can  be  launched  without  having  restriction  on  the  number  of  cores.  However,  the 
command -numproc <np> should be used to limit the number of cores.
Launching HEXPRESS™/Datamapper
On Linux
 l hexpressdatamapperopen72 mapper.conf -numproc <np> -print or,
 l hexpressdatamapper72 mapper.conf -numproc <np> -print (if HEXPRESS™  standalone)
On Windows
 l c:\NUMECA_
SOFTWARE\FineOpen72\bin64\hexpressdatamapperx86_
64.exe
mapper.conf -numproc <np> -print or,
 l c:\NUMECA_
SOFTWARE\Hexpress72\bin64\hexpressdatamapperx86_
64.exe
mapper.conf -numproc <np> -print (if HEXPRESS™  standalone)
HEXPRESS™/Datamapper   and  HEXPRESS™/Fileconverter   share  the  same  seat  in  the  license  file, 
therefore only one of them can be launched at a given time.
Launching HEXPRESS™/Fileconverter
On Linux
 l hexpressfileconvertopen72 original_file converted_file -print or,
 l hexpressfileconvert72 original_file converted_file -print (if HEXPRESS™  standalone)
On Windows
 l c:\NUMECA_ SOFTWARE\FineOpen72\bin64\hexpressfileconvertx86_ 64.exe   original_
file converted_file -print or,
 l c:\NUMECA_SOFTWARE\Hexpress72\bin64\hexpressfileconvertx86_64.exe original_file 
converted_file -print (if HEXPRESS™  standalone)
TUTORIAL 1. 
BYPASS
In this section
1.1 Introduction
1.2 General Work flow of the meshing process
1.3 Mesh generation
14
14
16
1.1 
INTRODUCTION
1.1.1 
Problem description
In this first tutorial a mesh will be generated with HEXPRESS™/Hybrid to simulate the flow in 
an artery bypass. Bypasses are used in the medical world to "bypass" a blockage in a vein or 
artery.
1.1.2 
Objectives
The objective of this tutorial is to show the basics of how to go from a geometry to a mesh with 
HEXPRESS™/Hybrid. It aims to:
 l Introduce the basic steps involved in going from a geometry to a mesh,
 l Show the effect of the different tessellation parameters when loading a geometry,
 l Show how to create user-defined "selections",
 l Show the importance of using "allEdgeSel" selections in HEXPRESS™/Hybrid,
 l Start the meshing operation and display the resulting mesh with HEXPRESS™/Hybrid.
1.2  GENERAL WORK FLOW OF THE MESHING 
PROCESS
Typical steps during the creation of a mesh consist of:
 l Identifying and/or creating the domain that needs to be meshed,
 l Identifying areas that are candidates for refinement,
 l Setting refinement parameters,
 l In the case that a geometry is not watertight, the holes in the geometry need to be closed,
 l Creating the mesh,
 l Checking the resulting mesh.
HEXPRESS™/View is able to visualize geometries and meshes and serves as a tool to:
l Create a domain around the geometry,
 l Identify and select areas that are candidates for refinement through the concept of so-called 
selections,
 l Perform a visual check of the mesh.
HEXPRESS™/Hybrid takes care of the actual meshing.
HEXPRESS™/Holesearcher is a tool to find and close holes in the geometry (note that it is not 
used in this tutorial). This is summarized in the following figure.
This tutorial shows how HEXPRESS™/View can be used to import and visualize the geometry 
of the bypass and explores the creation of selections. HEXPRESS™/Hybrid is used to create a 
mesh of the domain after which it will be visualized again in HEXPRESS™/View.
1.3  MESH GENERATION
1.3.1 
Loading the geometry
1.   Go   to   File/Open   to   load   the   geometry   file   "bypass_ geom.spb"   ( download   the  
HEXPRESS™/Hybrid tutorial archive) using the navigation tool in the Open dialog box.
2. The geometry is now loaded and shown in the graphics area. Make sure it is activated by left-
clicking on it in the graphics area or in the project tree. To visualize the tessellation, right-click on 
"bypass_geom" in the project tree and check the box Wire Frame.
1.3.2 
Creating selections
The geometry is  a triangulated surface model. Any combination of triangles can be combined in a 
group; this is called a "selection". As the geometry was converted from a CAD-file, therefore 
some selections are already available in such a way that all triangles are part of a selection. To 
learn more about selections please consult the documentation: Concept of Selections.
3. Go to Selections/ Selection List in the control panel. The selections that were automatically 
imported from the CAD-model are visible.
These selections may not represent interesting features and may be grouped. In theory they can be 
deleted immediately, but it is recommended to keep them until after the model is divided into new 
selections.
When   importing   a   model   created   in   CATIA   or   Parasolid™,   the   selections   available   in  
HEXPRESS™/View  will  mimic  the  model  tree  of  the  CAD-model;  when  importing  a  model  from 
another source this will not always be the case.
Triangles that are not a part of any selection will be grouped as "Orphan Selection" upon loading it 
into FINE™/Open since the solver does not allow orphan triangles.
Triangles  that   are  a  part   of   multiple  selections  will   be  grouped   as  "Overlapping   Selection"   upon  
loading it into FINE™/Open since the solver does not allow this.
In order to show how to create custom selections, step 3 to step 6 demonstrate how to create 
some selections that will be used later to identify the cells to which a certain boundary type has to 
be assigned.
When importing a mesh in HEXPRESS™/View, selections defined with a name containing keywords 
"solid", "inlet", "outlet", "exterior" and "mirror" will be automatically detected by HEXPRESS™ or 
by FINE™/Open as boundary conditions of type SOL, INL, OUT, EXT and MIR. However, it is also 
possible to define certain selections as a boundary using a CONF file by using the "BCDEFINITION" 
keyword.
4. To define the selection "mirror":
 l Go to Selections/Edit Selection,
 l Enter the name for the new selection as <mirror>,
 l Click the Create button,
 l Select the pick mode/add by angle, leave the Angle to <40> and click the Pick button,
 l Left-click on all z-constant patches on the bottom surface to pick and add them to the selection 
(6   picks,   resulting   selection   is  shown   in   green   in   the   following   figure).   A   selected   patch  
changes to a new colour: the colour of the new selection that is being created,
 l Terminate the picking by pressing <Esc> on the keyboard.
5. Visualize the selection that was created:
 l Go to Selections/ Selection List,
 l At the bottom of the list find the new selection "mirror",
 l Right-click on it and select Show selected selections,
 l Show the whole model again by pressing the Show all button in the control panel.
6. To define the selection "wall":
 l Go to Selections/Edit Selection,
 l Enter the name for the new selection as <wall>,
 l Click the Create button,
 l Select the pick mode/add by angle, leave the Angle to <40> and click the Pick button,
l Left-click  on  all  "half-tube-like"   patches  on   the  top   surface  to   pick  and  add   them  to  the 
selection (9 picks, resulting selection is shown in pink in the following figure),
 l Terminate the picking by pressing <Esc> on the keyboard.
7. Now repeat step 6 to create the selections "inlet1", "inlet2", "inlet3" and "outlet" according to 
the following figure (all are just 1 pick).
8. Visualize the new selections:
 l Go to Selections/ Selection List,
 l Use <Shift> + left-click to select the 6 new selections,
 l Right-click on this selection and select Show selected selection.
9. Delete the selections generated while importing the CAD-model:
 l Go to Selections/ Selection List,
 l Right-click on "bypass_geom" and select Delete.
10. Save the geometry as <bypass_geom_bc.spb>.
1.3.3 
Creating a mesh with HEXPRESS™/Hybrid
The   next   steps   show   how   to   generate   a   first   mesh   of   the   bypass   geometry   with  
HEXPRESS™/Hybrid.   HEXPRESS™/Hybrid   needs   a   "configuration   file"   that   contains   all  
instructions on how to mesh the domain, in this case the bypass. Later on in this (and next) tutorial
(s) these instructions are explained in detail, but now only the effect of one parameter is examined: 
BASEH.
11. Create a default CONF file that will serve as baseline for the customized CONF file:
 l Go to Algorithms/Volume,
 l Under HexpressHybridConfig click the save CONF file button,
 l Save the CONF file as <bypass_mesh01.conf>.
l Go to the working directory (the location of the CONF file),
 l Open the CONF file with any simple text editor such as Notepad, Notepad++, gedit or Kate.
 l Compare the lines in the CONF file to the lines in the left column of the following table, and if 
necessary change the corresponding lines. The right column gives a short description of the 
significance of the respective lines.
INFILENAMES
bypass_geom_bc.spb
The keyword "INFILENAMES" defines the number and the names of the input 
files that contain the geometry describing the boundaries of the meshing domain. 
If these input files are located at the same location as the ".conf"-file, only the 
filename has to be mentioned. Otherwise the relative or absolute path has to be 
mentioned.
OUTFILENAME
bypass_mesh01.spb
Defines the file name of the volume mesh which will be created. The extension 
of this file controls the generated file format. If only the file name is mentioned, 
the output file will be located at the same location as the CONF file. Otherwise 
the relative or absolute path has to be mentioned.
BASEH 0.01
Defines the maximum cell size in the mesh. Initially the domain is filled with 
cells of size "BASEH"; these cells are then further refined (divided) according to 
the refinement commands in the configuration file. However, for the sake of 
simplicity refinement commands are not considered in this tutorial.
In the following steps the effect of this parameter is examined.
Note   that  there   are   more   lines  in   the   CONF   file   than   the   ones  described   above,   containing  
additional commands and comments. Please ignore them for now, later on in this tutorial (and the 
next tutorials) these commands will be explained.
13. Launch HEXPRESS™/Hybrid with the "bypass_mesh01.conf"  file by typing a command 
line as shown below in the shell:
 l For Linux systems:
hexpresshybridopen7.2 bypass_mesh01.conf -numproc <np> -print
or (in case of HEXPRESS™ standalone):
hexpresshybrid7.2 bypass_mesh01.conf -numproc <np> -print
 l For WINDOWS systems:
c:\NUMECA_SOFTWARE\fineopen72\bin64\hexpresshybridx86_64.exe 
[yourpath]/bypass_mesh01.conf -numproc <np> -print
or (in case of HEXPRESS™ standalone):
c:\NUMECA_SOFTWARE\hexpress72\bin64\hexpresshybridx86_64.exe 
[yourpath]/bypass_mesh01.conf -numproc <np> -print
By   default   when   launching   HEXPRESS™/Hybrid,   the   mesh   generation   is   performed  
automatically   in   parallel   with   the  number   of   cores  available.  In   order   to   limit   the  number   of  
processors   ( np ),   the   command   - numproc   should   be   used   as   shown   above.   For   a   standard  
HEXPRESS™/Hybrid package, a seat with up to 8 cores access is provided. For additional access 
(9 cores or more), another license with added features is required.
It is also possible to launch mesh generation using HEXPRESS™/View:
 l l Click the 
 button in the toolbar to access the Mesh Generation Control window. 
 l Locate and select  the "bypass_mesh01.conf" file in the working directory and press Start.
14. After the mesh generation is complete, launch HEXPRESS™/Viewer again (if necessary) 
and go to File/Open  (or use the Open file button in the icon toolbar) to open the mesh: "bypass_
mesh01.spb".
15. The mesh is shown in the graphics area. Right-click in the project tree on "bypass_mesh01" 
and check the Wire Frame option. The mesh can be inspected by rotating and moving the mesh 
and by zooming.
Note that the mesh is extremely coarse. This is due to the large value of the BASEH parameter, 
which prescribes the size of the largest cells (and since no refinements were applied, all cells are 
based on this largest value). The fact that almost all cells have sizes along some or all of their 
dimensions smaller than BASEH is due to the geometry adaptation and optimization steps of the 
meshing.
16. Change the value of BASEH in the CONF file:
 l Go to the working directory (the location of the CONF file "bypass_mesh01.conf" ),
 l Open the CONF file "bypass_mesh01.conf"  with any text editor such as Notepad, gedit or 
Kate,
 l Change the value of BASEH from 0.01 to <0.002> and leave the rest of the CONF file 
unchanged.  Give another name to the output file,                              
Example CONF file 
OUTFILENAME
bypass_mesh02.spb
BASEH 0.002
 l Save the CONF file as <bypass_mesh02.conf>.
17. Launch HEXPRES™/Hybrid again by repeating step 13 but with the "bypass_mesh02.conf" 
file.
  After   the   mesh   generation   is   complete,
18.
HEXPRESS™/Viewer.
  open   "bypass_ mesh02.spb"   in  
19. The mesh is shown in the graphics area. Right-click in the project tree on "bypass_mesh02" 
and check the Wire Frame option.
FIGURE 1.1 
BASEH 0.01
FIGURE 1.2 
BASEH 0.002
Note that the cell sizes are much smaller due to changing the value of "BASEH".
20. Confirm that a cell has actually the "BASEH" size along its dimensions:
 l Go to Viewer/Settings,
 l Make sure the Cross Hair option is checked,
 l Go to Viewer/Options,
 l Set the value of BaseH to <0.002>,
 l Press <Ctrl> + <G> in order to reset the view. This is convenient because it aligns the mesh 
with the view,
 l Zoom in onto a cell on a flat surface (the flat "mirror" surface is a good candidate; the view 
should be ready to zoom into it after pressing <Ctrl> + <G>) and far away from an intersection 
of   surfaces,   where   it   can   be   expected   that   the   "geometry   adaptation"   and   subsequent
optimization have had little to no effect on the cell size,
 l After zooming in, "Level 0" becomes visible in the scales of the Cross Hair. Align the scale 
indicators of level 0 with the grid to confirm the cell size is indeed 0.002.
1.3.4 
Edge capturing
Note   that  the   mesh   obtained   from   step   16   does   not  respect  the   original  geometry   : near the intersection of surfaces, the mesh did not snap well to the 
actual borders of the geometry. This is because these borders are not recognized as such by 
HEXPRESS™/Hybrid; only surfaces bounding the domain exist in HEXPRESS™/Hybrid. This 
can be solved by recreating all surfaces with an algorithm available in HEXPRESS™/Viewer. 
Learn more about edge capturing in the documentation: Edge capturing.
21. Resolve all the edges correctly with the Edge capturing tool
l Go to File/Open and open "bypass_geom_bc.spb"  and make sure the geometry is activated,
 l Go to Selections/Edit Selection,
 l Under Create selections by angle keep the Angle to <40> and make sure the allEdges option 
is ticked,
By activating allEdges option, the allEdgeSel* will be created based on the angle defined. These 
allEdgeSel* are necessary for the capturing of the geometry.
 l Click   the  Create  button.   This  operation   will  generate  a  total  of  19   new   selections  called  
"allEdgeSel*", appearing under Selection List.
22. Save the geometry as <bypass_geom_bc_allEdges.spb>.
23. Change the CONF file to use the geometry file with the resolved edges:
 l Go to the working directory (the location of the CONF file "bypass_mesh02.conf" ),
 l Open the CONF file "bypass_mesh02.conf"  with any simple text editor such as Notepad, 
gedit or Kate,
l Change the name of the geometry input file to "bypass_geom_bc_allEdges.spb"  and give 
another name to the output file. Leave the rest of the CONF file unchanged.                
Example CONF file 
INFILENAMES
bypass_geom_bc_allEdges.spb
OUTFILENAME
bypass_mesh03.spb
 l Save the CONF file as <bypass_mesh03.conf>.
24. Launch HEXPRESS™/Hybrid to mesh the geometry with all the edges resolved by using the 
CONF file "bypass_mesh03.conf".
25.   After   the   mesh   generation   is   complete,   launch   HEXPRESS™/View   again   and   go   to  
File/Open to open the mesh generated: "bypass_mesh03.spb".
26. The mesh is shown in the graphics area. Right-click in the project tree on "bypass_mesh03" 
and   check   the   Wire   Frame   option.   Confirm  that  the   mesh   now   respects  the   borders  of  the  
original geometry much better.
FIGURE 1.3 
Without resolving all edges
FIGURE 1.4 
With resolving all edges
1.3.5 
Setting up the CONF file
As was already briefly mentioned before, HEXPRESS™/Hybrid uses a so-called "configuration 
file" that contains all instructions on how to perform the meshing operation. In step 26 a fairly 
simple   configuration   file   that  contains  instructions  to   mesh   the   bypass  is  discussed.   Detailed  
information   about  the   commands  can   be   found   in   the   documentation:  Mesh   generation   with  
CONF file.
27. Open the configuration file "bypass_mesh03.conf"  and compare it to the description below. 
Also set the boundary types on the selections that were created in step 3 to step 6:
INFILENAMES
bypass_geom_bc_
allEdges.spb
OUTFILENAME
bypass_mesh03.spb
USEBINFILEVERSION 11 Defines the version of output file when a ".spb" output file is saved. 
Version 11 is used instead of version 10.
SUPPRESSPREFIX
MARKALLOUTER
BASEH 0.002
NUMBNDLAYERS 1
#Boundary conditions 
settings
BCDEFINITION mirror 
MIR
BCDEFINITION inlet1 
INL
BCDEFINITION inlet2 
INL
BCDEFINITION inlet3 
INL
BCDEFINITION outlet 
OUT
BCDEFINITION wall SOL
END
Prefixes of selection names used for refinement and boundary conditions 
definition can be removed. For instance, "inlet1"  can be used instead of 
"bypass_geom_bc_allEdges_inlet1"  that should be used otherwise.
The keyword "MARKALLOUTER" tells HEXPRESS™/Hybrid how to 
select the cells inside the meshing domain and delete the cells outside of 
it. As a first step, HEXPRESS™/Hybrid will create a complete "block" 
of cells (with "BASEH" size) around the geometry. By using 
"MARKALLOUTER" a marking process is started by using one cell of 
the "block" from the exterior that is close to the boundary of the initial 
block, and it stops when reaching the boundary of the geometry. The 
marked cells will be removed, so only cells inside or intersecting the 
boundary are retained.
The number of equidistant layers with respect to the bounding geometry 
to be calculated within HEXPRESS™/Hybrid during mesh generation. 
By default one boundary layer is generated. It is not recommended to 
create more than 3 layers. Later on these equidistant layers can be used 
to insert viscous layers, but for this simple demonstration this is not 
considered.
With the keyword BCDEFINITION it is possible to assign a type of 
boundary condition to a certain selection. Selections that receive a 
boundary type are retained during the mesh creation and are still 
available after the mesh is created so they can be used when setting up 
the calculation in the flow solver.
The order of the keywords in the configuration file has no influence on 
the mesh generation itself except the "END" keyword, which indicates 
the end of the configuration file and must follow after all commands in 
the configuration file.
For   computation  in  FINE™/Open,  only  HEX  and  SPH  formats  can  be  used.  You  can  change  the 
output extension from SPB to HEX or SPH under OUTFILENAME. E.g. <bypass_mesh03.hex>.
Save again as <bypass_mesh03.conf>.
When the "BCDEFINITION" keyword is not used at all and no selections are defined in the CONF 
file to be transferred, HEXPRESS™/Hybrid will retain all the selections in the original geometry file 
(except for the selections created by the "allEdges" operation).
28. Launch HEXPRESS™/Hybrid with the configuration file "bypass_mesh03.conf".
29. Open HEXPRESS™/View and load the mesh "bypass_mesh03.spb" .
30. Right-click on "bypass_mesh03" in the project tree and select Wire frame.
31. Go to Selections/ Selection List to check whether the selections on which the boundary types 
were   set   are   available.   By   using   the   keyword   "BCDEFINITION"   these   selections   are   still  
available in the mesh.
32. It is interesting to have a look at the cells inside the mesh; now it is only possible to see the 
cells that are projected on the geometry. To achieve this, a new selection of cells will be made that 
cuts through the geometry. Afterwards this selection can be visualized:
 l Visualize the mesh in its original position using <Ctrl> + <G>,
 l Press the Back View button 
 in the icon bar,
 l Make sure that "bypass_mesh03" is activated by left-clicking on it in the project tree,
 l Go to Selections/ Selection List and click Show all to visualize the whole mesh,
 l Go to Selections/Edit Selection,
 l Enter <bypassCut> as the name for the selection,
 l Click Create,
 l Select the pick mode/add by polygon and click the Pick button,
 l Create a polygon by left-clicking in the graphics area as shown below. All cells located inside 
the   polygon   will   be   added   to   the   selection.   Inadequate   picks   can   be   removed   using  
<Backspace>,
l Terminate the picking with <Esc>, the new selection is now created and highlighted in a new 
colour.
33. Visualize the new selection:
 l Go to Selections/ Selection List,
 l At the bottom of the list find the new selection "bypassCut",
 l Right-click on it and select Show selected selections.
TUTORIAL 2. 
RADIATOR COOLANT DOMAIN
In this section
2.1 Introduction
2.2 Mesh Generation
38
38
2.1 
INTRODUCTION
2.1.1 
Problem description
The   inside   of  a   radiator  is  meshed,   i.e.   the   coolant  domain.   The   domain   consists  of  narrow  
channels and hollow "plates" that are part of the coolant domain as well as areas with complex 
curvature that complicate the mesh creation.
2.1.2  Objectives
The focus of this tutorial is to introduce keywords for automatic refinement near narrow geometry 
("PROXIMITYGROUP")
geometry
("LOCALCURVREFINEMENTDEFINITION").
curved
and
2.2  MESH GENERATION
2.2.1 
Prepare the geometry
1. Launch HEXPRESS™/View (How to start HEXPRESS™/View?).
2. Go to File/Open (or use the Open file button in the icon toolbar) and open the geometry file 
"coolant_core.spb.gz" .
In this tutorial only one domain (the inner part) will be meshed. The selection "solid-external" will 
not be considered in the CONF file. By deactivating this selection, the inner part can be seen as 
shown.
3. Create a default CONF file that will serve as baseline for the customized CONF file:
 l Make sure the geometry "coolant_core" is selected in the project tree,
 l Go to Algorithms/Volume,
 l Under HexpressHybridConfig click the save CONF file button,
 l Save the CONF file as <rad_coolant.conf>.
4. Open the CONF file "rad_coolant.conf" and rewrite it as presented below:
INFILENAMES
coolant_core.spb.gz
OUTFILENAME
rad_coolant_mesh.hex
USEBINFILEVERSION 11
SUPPRESSPREFIX
40
HEXPRESS™/Hybrid 7.2 Tutorials
Various formats are supported in HEXPRESS™/Hybrid. 
See Mesh export for details.
WRITESPBMESH
MARKBYSTARTPOINT
298.113 -494.583   631.56
BASEH 24
NUMBNDLAYERS 1
CHECKGEOMETRYCOMPLETE 0
EXACTSNAPPING 2 1
NEWBUFFERINSERTION 120
An additional *.spb mesh will be saved. This is useful for 
visualization in the Viewer.
"MARKALLOUTER" is proposed by default during the 
creation of CONF file. However, in this case only the 
inner part of the geometry will be meshed the 
"MARKBYSTARTPOINT" is used instead to define a 
seed point within the inner part. The seed point indicates 
the domain to be meshed and should not be close to the 
boundary.
Note that the maximum cell size defined here is very 
large. It is larger than the thickness of the baffles of the 
geometry.
The number of equidistant layers with respect to the 
bounding geometry to be calculated within 
HEXPRESS™/Hybrid during mesh generation. By 
default one boundary layer is generated. Later on these 
equidistant layers can be used to insert viscous layers, but 
for this simple demonstration this is not considered.
The geometry check and reorientation of the surface 
normal will be performed. Change the integer to 1 if thin 
walls are present in the geometry.
A more advanced keyword to capture the geometry 
features very precisely.
The effect of this keyword is shown and explained more 
elaborately in "Impeller and Volute" (p. 83), step 7.
By using the keyword "NEWBUFFERINSERTION", 
patches can be decoupled from neighboring patches with 
as criterion the specified threshold angle. The 
recommended value is 120. This is useful e.g. to avoid 
that the boundary layer propagates through connected 
patches.
LOCALREFINEMENTDEFINITION 
coolant_outlet 3 1
This gives a local refinement of the mesh around the 
selections "coolant_outlet" and "coolant_inlet".
LOCALREFINEMENTDEFINITION 
coolant_inlet 3 1
The first parameter gives the number of refinements and 
the second parameter the diffusion level (it is a measure 
of the number of layers of cells in the neighbourhood of 
the refined cells that are affected by the refinement).
BCDEFINITION coolant_outlet OUT
Boundary condition settings.
BCDEFINITION coolant_inlet INL
BCDEFINITION core_in_inner1 SOL
BCDEFINITION core_in_inner2 SOL
BCDEFINITION core_out_inner1 SOL
BCDEFINITION core_out_inner2 SOL
BCDEFINITION baffles SOL
BCDEFINITION baffles_plate SOL
END                     
5.   Already   in   Tutorial   1   the   importance   of   creating   "allEdge"selections   was   introduced.  
"allEdge"selections can be made within HEXPRESS™/View  but 
can also be created by adding the keyword "CREATESELECTIONSBYANGLE" to the CONF 
file (make sure to put it before the "END" keyword):
CREATESELECTIONSBYANGLE 
ALLEDGES SPLIT Geom_ed 20
"ALLEDGES": activates the option allEdges. If not 
activated, ordinary selections are created.
coolant_outlet
coolant_inlet
core_in*
core_out*
baffles*
"SPLIT": activates the split option.
"Geom_ed": this is a prefix to add to all the selections 
created by this operation.
"20": the threshold angle.
"5": indicates the number of selections to operate on, 
followed by the names of the selections. "*" acts as a 
wildcard.
Learn more about the keyword "CREATESELECTIONSBYANGLE" in the Graphical User 
Interface/Edit Selection tab. It is a powerful tool to create custom selections automatically based 
on a threshold angle between the different triangles of the triangulated geometry.
6. Save the CONF file as <rad_coolant.conf>.
7. Launch HEXPRESS™/Hybrid with the "rad_coolant.conf" CONF file to mesh the coolant 
domain of the radiator. 
8. After the meshing is completed, launch HEXPRESS™/View if necessary or delete the existing 
object in the view by selecting it in the project tree and using the Delete button in the icon bar 
(alternatively, <Del> on the keyboard can be used).
9. Open the mesh "rad_coolant_mesh.spb.gz".
Select the mesh "rad_coolant_mesh"  in the project tree, right-click on it and activate the option 
Wire Frame.
Due to the very large choice of "BASEH", the mesh is very coarse. The mesh has not propagated 
through the "baffles" to mesh the whole geometry because the size of the channels is too narrow 
for cells of size "BASEH" to recognize them. The mesh needs to be refined in regions where 
surfaces are close to each other.
2.2.2  Proximity refinement
To   refine   the   mesh   in   regions   where   surfaces   are   close   to   each   other,   the   keyword  
"PROXIMITYGROUP" can be used.
10. The keyword "PROXIMITYGROUP"  refines automatically the mesh when selections are 
close to one another. It needs four parameters, followed by the number of selections on which the 
keyword must be applied and the name of those selections.
Add the keyword "PROXIMITYGROUP"  to the CONF  file "rad_coolant.conf"  and save it 
again as <rad_coolant.conf>. Make sure to put the new addition before the "END" keyword.
PROXIMITYGROUP 0 
Parameter 1: minimum number of refinements;
30 1 20
Geom_ed*
Parameter 2: maximum number of refinements. To give maximum freedom 
to the mesher, set the minimum to zero and the maximum to 30 (maximum 
possible value is 32);
Parameter 3: diffusion level;
Parameter 4: type of refinement. Type "20" will only apply refinement 
between surfaces that face each other and are not connected by an edge. 
Additionally it will select the appropriate number of refinement fully 
automatically. Learn more about the different refinement options for 
PROXIMITYGROUP. They are a very powerful tool to steer the mesher 
towards the desired mesh.
Parameter 5 gives the number of selections to which the keyword must be 
applied followed by the names of the selections. "*" indicates a wildcard.
The keyword "PROXIMITYGROUP" will only refine between separate selections, i.e. the mesh 
will not be refined between two surfaces close to each other that belong to the same selection. 
This can be overcome by using "PROXIMITYGROUP" on all the "allEdge"selections  by using the prefix of the "allEdge"-selections "Geom_ed" followed by a wildcard: "*".
11.   Mesh   the   geometry   with   the   CONF   file   "rad_ coolant.conf"   with   HEXPRESS™/Hybrid   
(How to start HEXPRESS™/Hybrid (Mesher)?).
12.   After   the   meshing   is   completed,   launch   HEXPRESS™/View   if   necessary   or   delete   the  
existing object in the view by selecting it in the project tree and using the Delete button in the icon 
bar (alternatively, <Del> on the keyboard can be used).
13. Open the mesh "rad_coolant_mesh.spb.gz" in HEXPRESS™/View.
Select the mesh "rad_coolant_mesh"  in the project tree, right-click on it and activate the option 
Wire Frame.
45
HEXPRESS™/Hybrid 7.2 Tutorials
FIGURE 2.1 
Refinement at the baffles
FIGURE 2.2 
Refinement at one of the baffle end plates
The above pictures show the effect of the "PROXIMITYGROUP" keyword: the mesh has been 
appropriately refined everywhere where surfaces are close to one another using only one keyword 
for the whole mesh. This is the case for the baffles and especially the end plates of the baffles, 
where the domain is extremely narrow.
2.2.3  Curvature refinement
The picture in step 13 showing the refinement at the baffles reveals that the mesh is still too coarse 
to accurately capture the curved geometry of some baffles. The same is true for features on the 
radiator inlet and outlet on either side of the baffles .
Apply   curvature   refinement
14.
"LOCALCURVREFINEMENTDEFINITION". It is a keyword specially designed for applying 
refinement to curved surfaces.
the   mesh   by   using  
the   keyword  
to  
the   CONF  
Open  
"rad_ coolant.conf"
"LOCALCURVREFINEMENTDEFINITION"   to   it.   After   updating   the   CONF   file,   save   it 
again as <rad_coolant.conf>. Make sure to put the new additions before the END keyword.
  and   add  
the   keyword  
file  
LOCALCURVREFINEMENTDEFINITION 
core_out_inner2 0 30 1 4                         
LOCALCURVREFINEMENTDEFINITION 
core_in_inner2 0 30 1 4                         
LOCALCURVREFINEMENTDEFINITION 
baffles 0 30 1 4                         
The keyword is followed by the name of the 
selection on which is must be applied. Here, 
curvature refinement is applied to the selections 
"baffles", "core_out_inner2" and "core_in_inner2".
Parameter 1: minimum number of refinement to be 
done on the selection.
Parameter 2: maximum number of refinement 
which can be done on the selection.
Parameter 3: diffusion level. It denotes the number 
of cell layers around that should also be refined. 
(Propagation of refinement to neighboring layers).
Parameter 4: maximum number of divisions which 
can be achieved on a equivalent 90° sphere by 
applying the number of refinement in the range 
[Parameter 1, Parameter 2].
For more information about the keyword, please refer to the Mesh Generation with CONF file.
15. Launch HEXPRESS™/Hybrid with the "rad_coolant.conf" CONF file to mesh the coolant 
domain of the radiator again. 
16.   After   the   meshing   is   completed,   launch   HEXPRESS™/View   if   necessary   or   delete   the  
existing object in the view by selecting it in the project tree and using the Delete button in the icon 
bar (alternatively, <Del> on the keyboard can be used).
17. Open the mesh "rad_coolant_mesh.spb.gz"  in HEXPRESS™/View.
Select the mesh "rad_coolant_mesh" in the project tree, right-click on it and activate the Wire 
Frame option.
Inspect the mesh to verify that the curvature refinement has resolved the problems related to the 
capturing of curved features on the baffles and the inlet and outlet on the sides.
FIGURE 2.3 
Baffles before curvature refinement
FIGURE 2.4 
Baffles after curvature refinement
FIGURE 2.5 
Zoomed view of the inlet side of the radiator before curvature refinement
FIGURE 2.6 
Zoomed view of the inlet side of the radiator after curvature refinement
18. The quality and statistical report of the mesh can be found in the folder "Report_rad_coolant_
mesh" which is saved in the same folder as the output files. The HTML files "index.html"  and 
"statistics.html"  contain the information about the mesh quality and statistics.
2.2.4  Mesh Generated in HEX Format
19. The  mesh generated in *.hex format can be used in a FINE™/OPEN for computation. The 
*.hex mesh contains these files:
 l <*.bcs>: boundary conditions file,
 l <*.dom>: geometry file,
 l <*.fnmb>: FNMB connections file,
 l <*.igg>: topology file,
 l <*.hex>: grid points file.
Please note that you can also use HEXPRESS™/View and HEXPRESS™/Fileconvert to convert your 
SPB mesh into HEX/SPH format.
For HEXPRESS™/Fileconvert, it is done in batch using a specified command line. During the mesh 
conversion from SPB format to HEX/SPH format, the boundary conditions will not be transferred 
even   they   are  already   defined   in   the  SPB   mesh   through   the  CONF   file.  However,  the  boundary  
conditions can be easily edited in the <*.bcs> file or through HEXPRESS™ GUI.
TUTORIAL 3. 
COOLED TURBINE
In this section
3.1 Introduction
3.2 Mesh Generation
3.3 FNMB Computation in HEXPRESS™
54
54
72
3.1 
INTRODUCTION
3.1.1 
Problem description
This   third   tutorial   will   introduce   the   concept   of   "multiblock"   meshing   with  
HEXPRESS™/Hybrid. A mesh of the fluid domain around a turbine blade with cooling holes 
will be generated. The mesh will consist of two non-conformal "sub"-meshes: one "sub-mesh" of 
the   domain   around   the   blade   and   one   of   the   domain   inside   the   blade.   These   domains   will 
afterwards be linked with Full Non Matching Boundary conditions.
3.1.2  Objectives
The   focus   of   this   tutorial  is   on   the   demonstration   of   the   multiblock   meshing   capabilities   of  
HEXPRESS™/Hybrid; next to that some additional concepts are explored:
 l Viscous layers insertion,
 l Add local refinement near the surface of the turbine blade,
 l Full Non Matching Boundary Conditions (FNMBs) computation in HEXPRESS™,
3.2  MESH GENERATION
3.2.1 
Prepare the geometry
1. Launch HEXPRESS™/View. How?
2. Go to File/Open (or use the Open file button in the icon toolbar) and open the geometry file 
"external.stl" (download the HEXPRESS™/Hybrid tutorial archive).
3. Go to Selections/ Selection List, right-click on the selection "external" and select Delete. This 
selection is redundant as it contains all the selections listed below it.
4. Use the operations Rename and Merge on the existing selections to create selections as in the 
following figure:
 l Right-click on selection "blade_only_group_79", select Rename and rename the selection to 
<periodic2>,
Repeat this to rename the following selections:
"blade_only_group_80"
"blade_only_group_81"
"blade_only_group_82"
"blade_only_group_83"
55
HEXPRESS™/Hybrid 7.2 Tutorials
<outlet>
<inlet>
l Select  the   selections   "blade_ only_ group_ 73",   "blade_ only_ group_ 74"   and   "blade_ only_
group_77" by using <Ctrl> + Click. Right-click on this selection and select Merge. Name the 
merged selection as <shroud>,
Repeat this to merge the following selections:
"blade_only_group_75"
"blade_only_group_76"
"blade_only_group_78"
<hub>
 l Group the new set of selections in a group called <Rotor> by selecting all selections, right-
clicking on the selection and choosing Group.
5. Perform the "allEdge-selections" operation to make sure that the geometry is well captured:
 l Click on Show all under Selections/ Selection List to make sure all the selections you just 
created are activated,
 l Go to Selections/Edit Selection,
 l Under Create selections by angle, set the Angle to <40>, and make sure the allEdges and 
Split options are selected,
 l Add a prefix to the "allEdge"-selections by typing a name into the text box: <rot>,
 l Click Create,
l Go toSelections/ Selection List and verify that the "allEdge"-selections have been created 
with the prefix "rot_".
6. Save the geometry as <external.spb.gz>.
7. Open the geometry file "cooling.stl"  (in "/Tutorials/HYBRID/Tutorial_3"  from the tutorial 
package). Now, we have two geometries in the object tree. For easier manipulation in GUI, the 
geometry "external" can be hidden from the graphics area through the right-click menu.
8. Activate "cooling" geometry and repeat step 3 to delete the selection "cooling".
9. Create a merged selection of only the blade geometry, without the protuberances:
 l Go toSelections/ Selection List and make sure that no selection is highlighted as selected (e.g. 
by clicking outside the Selection List),
 l Click on Pick. This makes it possible to select existing selections in the graphics window,
 l Select all the surfaces of the blade (including the very small and slender selection at the trailing 
edge, highlighted below) to add the selection by clicking on them ,
 l Right-click on the selection and select Show selected selection to check the selection,
 l Right-click   on   the   selection   and   select  Merge   to   merge   the   selected   selections  to   a   new  
selection named "solidpart". 
The following selections should be merged as a result of this step:
<solidpart>
"simplified_group_1"
"simplified_group_12"
"simplified_group_14"
"simplified_group_22"
"simplified_group_35"
"simplified_group_85"
"simplified_group_86"
FIGURE 3.1 
Merged selection "solidpart"
FIGURE 3.2 
Location of small and slender part
10. Repeat step 9 to make the selection "fnmb" which consists of all patches that touch on the 
external domain. They are the flat ends of the protuberances, including the curved patch located at 
the end of the large protuberance on the trailing edge.
The following selections should be merged into a single "fnmb" selection:
<fnmb>
"simplified_group_11"
"simplified_group_18"
"simplified_group_25"
"simplified_group_28"
"simplified_group_31"
"simplified_group_34"
"simplified_group_38"
"simplified_group_41"
"simplified_group_44"
"simplified_group_47"
"simplified_group_50"
"simplified_group_53"
"simplified_group_56"
"simplified_group_59"
"simplified_group_62"
"simplified_group_65"
"simplified_group_68"
"simplified_group_71"
"simplified_group_74"
"simplified_group_77"
"simplified_group_80"
"simplified_group_83"
11. Select the remaining selections and merge them to a new selection called "holes".
FIGURE 3.3 
Selection "fnmb"
FIGURE 3.4 
Selection "holes"
The remaining selections should eventually be merged following this table:
"simplified_group_8"
"simplified_group_15"
"simplified_group_0"
"simplified_group_13"
all remaining selections
<outlet>
<inlet>
<holes>
12. Repeat the last action of step 4 and group the selections "solidpart", "fnmb", "outlet", "inlet" 
and "holes" in a group named <Coolant>.
13. Repeat step 5 to create the "allEdge"-selections, but now use the prefix <coolant>.
14. The small and slender patch at the TE of the cooling domain (location highlighted in figure 
above, "Location of small and slender part") will need a high level of local refinement of the mesh 
to correctly capture this small and slender part of the geometry. Therefore, it is necessary to create 
a custom selection of the geometry in the immediate neighbourhood of this patch:
 l Make sure the option Wire Frame is on by right-clicking on "cooling" in the project tree and 
selecting Wire Frame,
 l Go to Selections/Edit selection,
 l Give a new name for the selection: <ref1> and click on Create,
 l Choose add by click as Pick Mode,
 l Click on Pick and pick the triangles in the immediate neighbourhood of the area that needs to 
be refined (example shown in red in the following figure). Pay attention to also include the 
small and slender triangles;
 l Press <Esc> to terminate the picking.
15. Save the geometry as <cooling.spb.gz>.
3.2.2  Multiblock non-conformal mesh
The multiblock non-conformal mesh generation is straight forward.  The generation of each sub-
block is performed independently before saving them into one single file. For this reason, the 
structure of the CONF file is different from the one of single block mesh generation. Each block 
is   defined   by   STARTBLOCK   and   ENDBLOCK   keywords.   Then,   all   the   sub- blocks   are  
combined and saved as one file by using MULTIBLOCKOUTFILENAME keyword. More 
details can be found in MultiBlock Non-conformal Meshing.
The structure of the multiblock CONF file for this tutorial will be similar to the one that is shown 
below:
16. Create a default CONF file for each geometry:
 l Activate  "external" in the object tree;
 l Go to  Algorithms/Volume  and  under  HexpressHybridConfig  click the  save CONF  file 
button;
 l Save the CONF file as <external_domain.conf>;
 l Repeat the same step to create a CONF file for "cooling" geometry;
 l Save the file as <cooling_domain.conf>.
The idea is to use the information in each CONF file above to build a multiblock CONF file. 
17. Create the multiblock CONF file by using the information of each block saved in previous 
step and save it as "Multi_domain.conf". Compare it to the following table:
Global 
keyword
MULTIBLOCKOUTFILENAME 
multiblock.spb.gz
Mesh 
generation 
settings for 
sub-block 1
STARTBLOCK
INFILENAMES
external.spb.gz
OUTFILENAME                         
block-external.spb.gz 
USEBINFILEVERSION 11
SUPPRESSPREFIX 
MARKBYSTARTPOINT 0.0916177 
0.00234119 0.0551533                         
BASEH 0.001
NUMBNDLAYERS 1
EXACTSNAPPING 2 1
NEWBUFFERINSERTION 150 
ENDBLOCK                        
defines the output file name and format 
for the final multiblock mesh. The 
multiblock mesh will not be saved if this 
keyword is not present.
indicates the beginning of the settings 
for sub-block 1.
defines the input geometry for sub-block 
1.
defines the file name and format of sub-
block 1. If this sub-block is not needed, 
users can skip the saving of the mesh by 
commenting this line.
"MARKBYSTARTPOINT" is used to 
define a seed point within sub-block 1.
Enables better feature curves capturing 
with acute dihedral angles and minimizes 
deviation of mesh vertices from the 
geometry. For a description the 
parameters please refer to the 
documentation.
marks the end of the settings for sub-
block 1.
Mesh 
generation 
settings for 
sub-block 2
STARTBLOCK
INFILENAMES
cooling.spb.gz
OUTFILENAME                         
block-cooling.spb.gz 
USEBINFILEVERSION 11
SUPPRESSPREFIX 
MARKBYSTARTPOINT 0.083277 -
0.00265935 0.0291096                         
BASEH 0.001
NUMBNDLAYERS 1
EXACTSNAPPING 2 1
NEWBUFFERINSERTION 150 
ENDBLOCK                        
END                       
indicates the beginning of the settings 
for sub-block 2.
defines the input geometry for sub-block 
2.
defines the file name and format of sub-
block 2. If this sub-block is not needed, 
users can skip the saving of the mesh by 
commenting this line.
"MARKBYSTARTPOINT" is used to 
define a seed point within sub-block 2.
"NEWBUFFERINSERTION" decouples 
patches from neighbor patches with the 
threshold angle specified. The 
recommended value is 120, but for the 
current case a value of 150 is required to 
avoid the propagation of boundary layer 
through connected patches.
marks the end of the settings for sub-
block 2.
18. Add local refinement where this is required into the respective sub-block section (geometry of 
the blade, curved surfaces and the small and slender patch on the TE):
Mesh 
generation 
settings for 
sub-block 1
STARTBLOCK
:
LOCALCURVREFINEMENTDEFINITION 
Rotor|blade 0 30 1 8
LOCALCURVREFINEMENTDEFINITION 
Rotor|shroud 0 30 1 8
LOCALCURVREFINEMENTDEFINITION 
Rotor|hub 0 30 1 8
:
ENDBLOCK
Mesh 
generation 
settings for 
sub-block 2
STARTBLOCK
:
LOCALREFINEMENTDEFINITION Coolant|* 
3 3
LOCALREFINEMENTDEFINITION ref1 7 2
LOCALCURVREFINEMENTDEFINITION 
Coolant|fnmb 0 30 1 8
LOCALCURVREFINEMENTDEFINITION 
Coolant|solidpart 0 30 1 8
LOCALCURVREFINEMENTDEFINITION 
Coolant|holes 0 30 1 8
:
:
ENDBLOCK
This gives a local refinement of 
the mesh around the selections 
"Coolant|*" and the slender 
patch. A vertical bar indicates a 
new subgroup and a star 
indicates a wildcard. In this case 
the local refinement is applied to 
all subselections in the group 
"Coolant".
The first parameter gives the 
number of refinements and the 
second parameter the level of 
diffusion around the refined 
zone.
Keyword specially designed for 
applying refinement to curved 
surfaces.
Parameter 1 minimum number of 
refinement to be done on the 
selection.
Parameter 2: maximum number 
of refinement which can be done 
on the selection.
Parameter 3: diffusion level. It 
denotes the number of cell layers 
around that should also be 
refined. (Propagation of 
refinement to neighboring 
layers).
Parameter 4: maximum number 
of divisions which can be 
achieved on a equivalent 90° 
sphere by applying the number of 
refinement in the range 
[Parameter 1, Parameter 2].
19. Add the boundary condition definitions for each sub-block:
Please make sure that all the settings 
added for each sub-block are placed 
between "STARTBLOCK" and 
"ENDBLOCK" keywords.
Mesh 
generation 
settings for 
sub-block 1
Mesh 
generation 
settings for 
sub-block 2
STARTBLOCK
:
BCDEFINITION Rotor|periodic2 SOL
BCDEFINITION Rotor|outlet OUT
BCDEFINITION Rotor|inlet INL
BCDEFINITION Rotor|periodic1 SOL
BCDEFINITION Rotor|blade SOL
BCDEFINITION Rotor|shroud SOL
BCDEFINITION Rotor|hub SOL
:
ENDBLOCK
STARTBLOCK
:
BCDEFINITION Coolant|fnmb SOL
BCDEFINITION Coolant|solidpart SOL
BCDEFINITION Coolant|inlet INL
BCDEFINITION Coolant|outlet OUT
BCDEFINITION Coolant|holes SOL
:
ENDBLOCK
20. Launch HEXPRESS™/Hybrid with the "Multi_domain.conf" file. How?
21. After the meshing is completed, go to the folder where the mesh is stored. Verify that the 
following files are available.
"block-cooling.spb.gz"
A file that represents the mesh of the cooling block.
"block-external.spb.gz"
A file that represents the mesh of the external block.
"multiblock.spb.gz"
A file containing both blocks together. Open it to confirm that both 
blocks are available in this file.
22. In order to resolve the high gradients near the wall accurately, viscous layers can be inserted 
in the mesh.
 l Open the CONF file "Multi_domain.conf",
 l Add viscous layers settings for each sub-block with the  BNDLAYERINSERT keyword:
Rename the output file to indicate VL 
insertion for sub-block 1. Or simply 
comment this line if the mesh of sub-block 
1 is not needed. Repeat the same for sub-
block 2.
Mesh 
generation 
settings for 
sub-block 1
STARTBLOCK
:
OUTFILENAME                         
block-external-vl.spb.gz 
BNDLAYERINSERT Rotor|blade 1 5 
1.2 0 1                             
BNDLAYERINSERT Rotor|shroud 1 5 
1.2 0 1                             
BNDLAYERINSERT Rotor|hub 1 5 1.2 
0 1 
:
:
Mesh 
generation 
settings for 
sub-block 2
ENDBLOCK
STARTBLOCK
:
OUTFILENAME                         
block-cooling-vl.spb.gz 
BNDLAYERINSERT Coolant|solidpart 
1 5 1.2 0 1                             
BNDLAYERINSERT Coolant|holes 1 5 
1.2 0 1
:
ENDBLOCK                             
To insert a viscous layers with a specified 
stretching ratio.
Parameter 1: Boundary layer in which 
viscous layers will be inserted;
Parameter 2: Number of viscous layers;
Parameter 3: Stretching ratio;
Parameter 4: Apply 
"CONNECTINGEDGE" (1) or not (0).
Parameter 5: Indicates whether the viscous 
layer propagation to other selections is 
allowed (0) or if the viscous layer insertion 
must stop at the selection (1).
Learn more about viscous layer insertion in the documentation.
 l Save the file as <Multi_domain_VL.conf>.
23. Mesh the geometry again with the CONF file "Multi_domain_VL.conf" (How?). Since the 
FNMB's will be set with HEXPRESS™ it is convenient to change the multiblock output format 
to .hex which can be read by HEXPRESS™.
MULTIBLOCKOUTFILENAME multiblock-vl.hex
It  is  recommended  to  always  create  a  mesh  without  viscous  layer  insertion  to  be  able  to  check  the 
structure and quality of the mesh before continuing to insert viscous layers.
24. Check the folder where the mesh is saved. It contains the following files now:
"block-cooling-vl.spb.gz" A file representing the mesh with viscous layers of the cooling block.
"block-external-vl.spb.gz" A file representing the mesh with viscous layers of the external block.
A multiblock mesh containing both sub-blocks and can be read by 
HEXPRESS™.
"multiblock-vl.igg"
"multiblock-vl.bcs"
"multiblock-vl.dom"
"multiblock-vl.fnmb"
"multiblock-vl.hex"
"multiblock-vl.log"
25. Once the mesh is completed, check the quality report in the folder Report_multiblock-vl 
which   is   saved   in   the   same   folder   as   the   output   files.   The   HTML   files   "index.html"  and  
"statistics.html"  contain information about the mesh quality and statistics.
3.3 
FNMB COMPUTATION IN HEXPRESS™
3.3.1 
Compute the FNMBs
26. Launch HEXPRESS™. How?
27. Choose Open an existing project from the welcome window. Go to the working directory 
and select the .igg file "multiblock-vl.igg"  and click Open or OK to run it.
73
HEXPRESS™/Hybrid 7.2 Tutorials
The   mesh   containing   two   blocks  "block-cooling-vl"   and   "block-external-vl"   are   loaded   into  
HEXPRESS™. Either one of the blocks can be activated in the Active domain list in the icon 
bar.
Note   that  for   both   blocks   (or   domains   in   HEXPRESS™)   all  meshing   steps   are   marked   as  
completed in the mesh wizard.
28.   The   cooling   channels   touch   the   external   domain   at   the   ends   of   the   cylinder- shaped  
protuberances in the cooling block. Link the mesh of the cooling channels to the mesh of the 
external domain by setting Full Non Matching Boundary Conditions (FNMB's):
 l Go to Grid/Non Matching Connections,
 l Select Search Connections,
l One connection is found: "connection_1". It is the link between the meshes of the cooling 
channels and the external domain as shown by the images below,
l Select "connection 1" and click on Compute. After the FNMB is successfully computed its 
computation status is marked as Successful and the interface of the FNMB's is marked in 
yellow/red in the graphics window.
77
HEXPRESS™/Hybrid 7.2 Tutorials
l Click Close to exit the dialog window.
29. Save the mesh as <multiblock-vl.igg>. 
3.3.2  Periodic repetition of the mesh
The   mesh   represents   a   part  of   a   complete   axial  turbine   section,   that  must  be   repeated   in   a  
rotational fashion to obtain the full section. With HEXPRESS™, it is possible to set a periodic 
repetition   of  the  mesh   in   order  to   achieve  appropriate  boundary   conditions  for  the  selections 
"periodic1" and "periodic2" defined for "block-external-vl".
Since the file "multiblock-vl.igg"  (FNMB  case) is already available, adding periodicity to the 
mesh is shown for this case.
30. If "multiblock-vl.igg" is not already opened, launch HEXPRESS™. How?
31. From the Welcome to HEXPRESS dialog box choose Open an existing project and open 
the project "multiblock-vl.igg".
32. Set periodicity to the mesh:
 l Go to Grid /Periodicity,
 l In the Periodicity dialog box, select both the domains by using <Ctrl> + Click or holding the 
mouse and moving over both domains,
 l Click   on   New   to   create   a   new   periodic   definition.   A   new   periodic   definition   appears:  
"Periodicity_1". Make sure it is selected and click on Edit,
 l In the Periodicity - Edition dialog box, change the Periodicity to <21>,
 l Close the dialog boxes by clicking Ok and Close.
33. Due to the periodicity of the mesh, the boundaries "periodic1" and "periodic2" (defined in 
step 4) need to be connected with an FNMB connection manually:
l Go to Grid/Non Matching Connections,
 l Click on Add,
 l In the Non matching connections - Definition dialog box, expand the content of "block-
external-vl" by clicking on the expansion sign 
Select second side patches,
 both under Select first side patches and 
 l Under Select first side patches, select "block-external-vl|Rotor|periodic2" and under Select 
second   side   patches   select   "block- external- vl|Rotor|periodic1"   to   mark   both   patches   as  
connected (due to the periodicity). The selected patches are highlighted in the graphics area,
 l Tick the box Periodic,
 l Click Ok to define the FNMB and return to the Block connections dialog box,
l If asked to define a new connection, choose No, 
 l In the Block connections dialog box, select the newly created connection ("connection_2") 
and click on Compute,
 l Upon completion of the computation, "connection_2" is marked as Successful and the FNMB 
interface is marked in yellow/red in the graphics area.
l Close the dialog box by pressing Close,
34. Save the mesh as <multiblock-vl.igg> .
TUTORIAL 4. 
IMPELLER AND VOLUTE
In this section
4.1 Introduction
4.2 Mesh Generation - Volute
4.3 Cylindrical Mesh Generation - Impeller
4.4 FNMB and Rotor/Stator Computation
84
84
92
98
4.1 
INTRODUCTION
4.1.1 
Problem description
In this tutorial, the user will learn on how to quickly and efficiently create a mesh solving the flow 
in   a   centrifugal   compressor   (volute/impeller).   The   compressor   consists   of   a   volute   and   a  
multisplitter (main blade + splitter) impeller. A rotor/stator interface is defined between the volute 
and the rotating impeller.
4.1.2  Objectives
The objectives are to demonstrate how to mesh a volute/impeller configuration and the ability of 
HEXPRESS™/Hybrid to create cylindrical meshes. Special attention is also given to a possible 
way of inserting viscous layers to the mesh of the volute; the same approach can be applied to add 
viscous layers to the mesh of the impeller or other geometries.
4.2  MESH GENERATION - VOLUTE
4.2.1 
Prepare the geometry
1. Launch HEXPRESS™/View (How to start HEXPRESS™/View?).
2. Go to File/Open (or use the Open file button in the icon bar) and open the geometry file 
"volute.spb.gz" (download the HEXPRESS™/Hybrid tutorial archive) .
3. Create "allEdge"-selections from the existing selections. In this way characteristic edges are 
created between the existing selections. The new "allEdge"-selections coincide with the existing 
selections:
 l Activate domain if not selected by clicking on "volute"  in the project tree;
 l Go to Selections/Edit selection and press create all Edge Selections from existing model 
button. Six new selections are created.
4. Save the geometry as <volute_final.spb.gz>.
4.2.2  Create the mesh
5. Create a default configuration file by going to Algorithms/Volume and pressing the button 
save CONF file button. Save the file as <volute.conf>.
6. Open the CONF file "volute.conf"  and compare the general and refinement settings to the 
description below. Change the content where necessary (alternatively, use the available CONF 
file "volute.conf"  from the tutorial archive):
INFILENAMES
volute.spb.gz
OUTFILENAME
volute_mesh.spb.gz
USEBINFILEVERSION 11
SUPPRESSPREFIX
MARKBYSTARTPOINT 70.715 -29.7082 -27.4422
BASEH 4
NUMBNDLAYERS 1
NEWBUFFERINSERTION 120
LOCALCURVREFINEMENTDEFINITION volute_group_1 0 2 1 5
LOCALREFINEMENTDEFINITION volute_group_1 1 1
LOCALREFINEMENTDEFINITION volute_group_2 2 2
LOCALREFINEMENTDEFINITION volute_group_3 2 1
BCDEFINITION volute_group_0 OUT
BCDEFINITION volute_group_1 SOL
BCDEFINITION volute_group_2 SOL
BCDEFINITION volute_group_3 SOL
BCDEFINITION volute_group_4 SOL
BCDEFINITION volute_group_5 SOL
7. To minimize the deviation of the mesh from the geometry the keyword EXACTSNAPPING 
can be used. Additionally this keyword forces improved capturing of the characteristic edges 
(edges created with "allEdge"-selection generation) and as well as improved capturing of acute 
angles.
EXACTSNAPPING A B
 l A = 1: Improved capturing of characteristic edges
 l A = 2: Improved capturing of characteristic edges and improved capturing of acute angles.
 l A = 0: Deactivate the option.
 l B = 1: Minimize deviation of mesh from geometry.
 l B = 0: Deactivate the option.
Add the keyword EXACTSNAPPING to the CONF file:
EXACTSNAPPING 2 1
FIGURE 4.1 
Without "EXACTSNAPPING" (real geometry shown transparently)
FIGURE 4.2 
With "EXACTSNAPPING"
It is not recommended to use EXACTSNAPPING with B = 1 when the geometry is "unclean".
8. It is possible with HEXPRESS™/Hybrid to generate a mesh with only hexahedrons, supported 
by   hanging   nodes.
GENERATEFULLHEXAMESH to the CONF file:
  To   obtain   a   hexahedral
the   keyword  
  add  
  mesh,
GENERATEFULLHEXAMESH
9. Make the mesh with the CONF file "volute.conf" with HEXPRESS™/Hybrid  (How to start 
HEXPRESS™/Hybrid (Mesher)?).
4.2.3  Visualize the mesh
10. Measure the approximate thickness of the first boundary layer (the first layer of cells close to 
the geometry) that was created by inserting the keyword NUMBNDLAYERS 1 in the CONF 
file:
 l Open the mesh "volute_mesh.spb.gz" in HEXPRESS™/View,
 l Make sure the mesh of the volute is active by clicking on "volute_mesh"  in the project tree,
 l Visualize the mesh by selecting Rendering /Wire Frame (if necessary),  
 l Go to Algorithms /Volume and click on the button Click Points  in the section Measure a 
distance,
 l Left-click twice in the GUI to select appropriate two reference points as presented below to 
measure   the   first   boundary   layer   thickness   above   the   selection   "volute_ group_ 2".   The  
thickness measured is approximately 0.3 mm.
4.2.4 
Insert viscous layers
11. Add viscous layers to the mesh. In the following example the viscous layers above the solid 
wall   selection   "volute_ group_ 2"   will   be   considered.   The   dimension   of   the   geometry   is   in  
millimeter and it has to be taken into account when calculating the desired first cell size.
 l Make an estimation of the desired first cell size:
The width of the first cell close to the wall must be selected with care since the quality of the flow 
solution will often depend upon the capture of the flow phenomena inside the boundary layers which 
develop along the solid walls. Depending upon the turbulence model selected, NUMECA recommends 
to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ 
less  than   5   (low   Reynolds  number   models)   or   30- 50   (high   Reynolds  number   models).  Assuming  
thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven 
by the Blasius equation, expressed as follows for turbulent flows:
where:
 l Ywall is the distance of the nearest grid point to the wall (in meter),
 l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s),
 l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density,
 l Lref is a reference length of the test case (in meter),
 l Y1
+ is a non-dimensional value.
In the present case, Vref = 275 m/s; Lref = 0.01 m ; ν = 1.83*10-5 m²/s. To get Y1
wall, it comes Ywall is on the order of ~ 0.004 mm.
+ = 2.5 at the 
ref
ref
275 
m/s
Approximate speed of the tip of the blade. (an expected relevant speed for the larger turbulent 
eddies)
0.01 
10% of the diameter of the compressor blade domain. (an expected characteristic length scale 
for the turbulent eddies in this region)
 l The stretching ratio is fixed to 1.2.
 l With the first cell size and the stretching ratio set, the number of viscous layers to be inserted 
still has to be specified. It must be chosen in such a way that the total thickness of the inserted 
viscous layers approximates the thickness of the first layer of cells (measured in step 10). 
12. Add viscous layers to the mesh by adding the keyword INFLATEANDINSERTVL into 
the CONF file.
INFLATEANDINSERTVL volute_group_1 10 0.004 1.2
INFLATEANDINSERTVL volute_group_2 10 0.004 1.2
INFLATEANDINSERTVL volute_group_3 10 0.004 1.2
4.2.5  Generate surface mesh for Rotor/Stator computation
The   possibility   to   compute   FNMB   and   Rotor/Stator   (R/S)   connections   is   available   in  
HEXPRESS™/View. Currently only SPH  format is supported. In order to compute the R/S  
interface between the volute and the impeller in the GUI,  a surface mesh is needed.
13.   Add   GENERATESURFACE   keyword   in   the   CONF   file,   a   surface   mesh   named  
"<outputfilename>_c_surf.spb" will be generated. 
GENERATESURFACE
14. Change the output name of the mesh to "volute_VL_mesh.sph"  and save the CONF file as 
<volute_VL.conf>.
15. Generate the mesh with the CONF file "volute_VL.conf"  with HEXPRESS™/Hybrid. How?
4.3  CYLINDRICAL MESH GENERATION - 
IMPELLER
4.3.1 
Prepare the geometry
16. Launch HEXPRESS™/View.  How?
17.   Go   to   File/Open   (or  use   the   Open   button   in   the   icon   bar)  and   open   the   geometry   file  
"impeller.spb.gz"  (in   "/Tutorials/HYBRID/Tutorial_ 4"   from   the   documentation   or   tutorial  
package).
18. Create "allEdge"-selections to create characteristic edges:
l Click   on   Show   all   under   Selections/   Selection   List   to   make   sure   all   the   selections   are  
activated,
 l Go to Selections/Edit Selection,
 l Under Create selections by angle, set the Angle to <40>, and make sure the options allEdges 
and Split are selected,
 l Click on Create. 16 new selections are created.
19. The leading edge of the blades becomes very narrow towards the tip of the blade. Make a 
selection of the very narrow part of the leading edges so local refinement can be imposed only on 
this selection to reduce the final cell count:
 l Visualize the mesh in its original position using <Ctrl> + <G>,
 l Press the Top View button in the icon bar,
 l Make sure that "impeller" is activated by left-clicking on it in the project tree,
 l Go toSelections/ Selection List, select the selection "blade_leading_edge", right-click and 
select Show selected selections to visualize only this selection,
 l Go to Selections/Edit Selection,
 l Enter "blade_leading_edge_tiny" as a name for the new selection,
 l Click on Create button,
 l Select the Pick Mode as add by polygon and click the Pick button,
 l Create a polygon by left-clicking in the graphics area to select the more narrow half of both 
leading edges. All cells located inside the polygon will be added to the selection. Erroneous 
picks can be removed using <Backspace>,
l Terminate the picking with <Esc>, the new selection is now created and highlighted in a new 
colour.
20. Save the geometry as <impeller_final.spb.gz>.
4.3.2  Create the cylindrical mesh
21. The knowledge that the impeller is axisymmetric can be used to optimize the mesh of the 
impeller  by   using   the  INITIALCYLINDRICALMESH  keyword.   This  keyword   is  used   to  
generate cylindrical meshes.  For more details, please refer to INITIALCYLINDRICALMESH 
section. 
Since this geometry is not a full 360 degree geometry, only two input points defining the rotation 
axis are needed:
INITIALCYLINDRICALMESH sx sy sz ex ey 
ez
(sx, sy, sz) and (ex, ey, ez) are the points that define 
the rotation axis. Optional input is possible to limit 
the extent of the rotation and the radius. If not 
provided, the geometry will automatically dictate the 
extent of the rotation and radius (as will be the case 
in this tutorial).
Currently, the INITIALCYLINDRICALMESH 
keyword is compatible with full hexa mesh 
generation only. 
22. Open the CONF file "impeller_VL.conf"  and compare it to the description below:
Generate a surface mesh (*_c_
surf.spb) for FNMB and R/S 
interface computation in the 
Viewer.
INFILENAMES
impeller_final.spb.gz
OUTFILENAME
impeller_VL_mesh.sph
USEBINFILEVERSION 11
SUPPRESSPREFIX
MARKBYSTARTPOINT 16.0251 17.0217 -11.0024
BASEH 0.75
NUMBNDLAYERS 1
########## Surface mesh generation
GENERATESURFACE
EXACTSNAPPING 2 1
NEWBUFFERINSERTION 150
GENERATEFULLHEXAMESH
INITIALCYLINDRICALMESH 0 0 -40 0 0 -10
########## Refinement settings
LOCALREFINEMENTDEFINITION blade_tip 3 1
LOCALREFINEMENTDEFINITION blade_leading_edge 5 1
LOCALREFINEMENTDEFINITION blade_leading_edge_
tiny 7 1
########## Boundary conditions settings
BCDEFINITION shroud SOL
BCDEFINITION per_1 SOL
BCDEFINITION hub SOL
BCDEFINITION per_2 SOL
BCDEFINITION rot_stat_intf SOL
BCDEFINITION inlet INL
BCDEFINITION blade_tip SOL
BCDEFINITION blade_leading_edge SOL
BCDEFINITION blade SOL
########## VL insertion
INFLATEANDINSERTVL hub 10 0.004 1.2
INFLATEANDINSERTVL shroud 10 0.004 1.2
INFLATEANDINSERTVL blade_tip 10 0.004 1.2
INFLATEANDINSERTVL blade_leading_edge 10 0.004 1.2
INFLATEANDINSERTVL blade 10 0.004 1.2
PROXIMITYGROUP 0 30 1 20
allEdgeSel*
Refines automatically the mesh 
when selections are close to one 
another.
Parameter 1: minimum number of 
refinements;
Parameter 2: maximum number of 
refinements. To give maximum 
freedom to the Mesher, set the 
minimum to zero and the maximum 
to 30 (or 32);
Parameter 3: diffusion level;
Parameter 4: type of refinement. 
Type "20" will only apply 
refinement between surfaces that 
face each other and are not 
connected by an edge (More details 
in  Mesh Generation with CONF 
file or Tutorial 2). They are a very 
powerful tool to steer the Mesher 
towards the desired mesh.
Parameter 5: number of selections 
to which the keyword must be 
applied followed by the names of 
the selections. "*" indicates a 
wildcard.
END
The refinements are set up as follows:
 l The BASEH is set to a quite large value to minimize the total cell-count;
 l Very high refinement is necessary in the regions of blade tip and especially the blade leading 
edge. This is taken care of by using the LOCALREFINEMENTDEFINITION keyword;
 l The BASEH is set to such a large value that narrow parts in the domain will not be captured 
correctly, or not even captured at all. By using PROXIMITYGROUP on all the "allEdge"-
selections, the narrow parts will be refined automatically to an appropriate level.
Note  that  the  selections  "per_1"   and  "per_2"   are  actually  of   type  "PER"   (periodic).  This  periodic 
FNMB connection will be computed in HEXPRESS™/View.
It is good practice to create first a mesh without viscous layers to assess the quality of the mesh. This 
step has been omitted here.
23. Generate the mesh in HEXPRESS™/Hybrid with the CONF file "impeller_VL.conf".
24. Once the mesh is completed, the quality report is available in the folder "Report_impeller_
VL_mesh" which is saved in the same folder as the output files. The HTML files "index.html"  
and "statistics.html"  contain information about the mesh quality and statistics.
General statistic      
Quality statistic      
Number of hexahedrons
3445028
Num concave cells
Number of tetrahedrons
Number of prisms
Number of pyramids
Number of cells
Number of vertices
Number of patches
3445028
3811006
320676
Num twisted cells
Num negative cells
Minimal edge-length
Average edge-length
Maximal edge-length
Max equiangular skewness
Number of selections
Max adjacent volume ratio
Max expansion ratio
0.000113923
0.0630475
1.52647
0.878575
30.511
20.7829
4.4 
FNMB AND ROTOR/STATOR COMPUTATION
4.4.1 
Set the periodicity
25. Launch HEXPRESS™/View. How?
26. Load the surface mesh generated for the volute and impeller respectively into the Viewer. Go 
to   the   working   directory   and   select   the   surface   meshes   "volute_ VL_ mesh_ c_ surf.spb"   and  
"impeller_VL_mesh_c_surf.spb".
The two surface meshes "volute_VL_mesh_c_surf.spb" and "impeller_VL_mesh_c_surf.spb" are 
now loaded in the GUI and ready for FNMB and R/S interface computation.
27. Set the periodicity to the impeller mesh:
 l Go to Connections/Periodicity...,
l Click on Add to define the periodic definition. The Add/Edit Periodicity pop-up appears. By 
default the first mesh in the Project tree is selected and the periodicity type is set to Rotation.
 l Keep all default values and change the Periodicity to <6>,
 l Click OK to close the dialog box. Now the periodicity of the first mesh is defined as shown.
4.4.2  Compute the connections
28. The impeller must be linked to the volute with a rotor/stator connection. The periodic FNMB 
of  the   impeller  must  also   be   computed.   Both   these   connections   can   be   found   by   using   the  
automatic search option.
l Go to Connections/Full non-matching connection,
 l Click on Search,
 l Click Yes when asked if also rotor-stator connections must be included in the search,
 l Two connections are found. The first one is the periodic FNMB of the impeller. Another one 
is the R/S interface between the volute and the impeller.
103
HEXPRESS™/Hybrid 7.2 Tutorials
l Save the HEXPRESS™/Hybrid project (HHP) file by clicking Save HHP file ... button and 
enter a name in the file chooser. The same name will be used to save the final mesh. The HHP 
file contains all the information needed for FNMB computation.
If this step is not done before clicking Compute button, the file chooser will appear and ask for a 
file name before computing the connections defined.
 l Click   on   Compute   to   perform   the   computation   for   both   the   connections.   SEE   ALSO  
Connections Menu for more information.
 l Once the connections are computed and the mesh is saved in SPH format, the status is set to 
Computed as shown. The connections can be visualized in the graphics area by selecting 
them in the list.
TUTORIAL 5. 
COOLANT PIPES
In this section
5.1 Introduction
5.2 Mesh Generation
107
107
5.1 
INTRODUCTION
5.1.1 
Problem description
Six coolant pipes in an external domain need to be meshed. It is a part of a more complex 
geometry for a radiator. Tutorial 2 "Radiator Coolant Domain" (p. 37) (where the coolant domain 
of a radiator was modeled) showed that the mesh of such a geometry quickly leads to a very high 
cell  count.   Therefore,   the   geometry   was  simplified   for  the   purpose   of  this  tutorial.   The   heat 
exchange  problem  presented   includes  three   different  domains  with   different  properties  of  the 
material inside: an external domain (where e.g. air flows over the coolant pipes); a solid domain 
(the walls of the coolant pipes, e.g. aluminum) and the coolant domain inside the pipes.
5.1.2  Objective
This tutorial focuses on the creation of a multi-block mesh with thin-wall interfaces (i.e. the mesh 
is conformal across the interface) between the different blocks.
5.2  MESH GENERATION
5.2.1 
Prepare the geometry
1. Launch HEXPRESS™/View. How?
2. Go to File/Open (or use the Open file button in the icon toolbar) and open the geometry file 
"pipes.spb"  (download the HEXPRESS™/Hybrid tutorial archive) .
3. Create "allEdge"-selections to create characteristic edges:
 l Click   on   Show   all   under   Selections/   Selection   List   to   make   sure   all   the   selections   are  
activated,
 l Go to Selections/Edit Selection,
l Under Create selections by angle, set the Angle to <40>, and make sure the allEdges and 
Split options are selected,
 l Also select the option Use parent. This option will add prefixes to all "allEdge"-selections 
with the name of the selection from which they are derived,
 l Click Create. 42 new selections are created with prefixes based on the names of their parent 
selections.
4. Make a selection including both the "solid-tubes"- and "solid-faces"-selection:
 l Go to Selections/Edit selection,
 l Under Create selection by boolean operation, set "solid-tubes" as Selection 1 and "solid-
faces" as Selection 2,
 l Click Unite,
l Go to Selections/ Selection List. A new selection is created (down the list of all selections): 
"solid-tubes_add_solid-faces";
 l Right-click on "solid-tubes_add_solid-faces", select Rename, rename the selection to "solid" 
and press OK.
5. Save the geometry as "pipes.spb"
5.2.2  Conformal blocks
The complete domain comprises three different "material"domains:
l The external domain where air is present, bounded by "external-faces" and "solid-tubes",
 l The walls of the pipes, made of a solid material (e.g. aluminum), bounded by "solid-tubes"
(interface external-solid), "coolant-tube#"  (interfaces solid-coolant) and "solid-faces"  (at its 
ends),
 l The coolant domain, bounded by the "coolant-tube#" (interfaces solid-coolant) and "inlet" and 
"outlet" at its ends.
The need for different blocks in the mesh is obvious, since different properties must be applied to 
all the different material domains. Blocks with thin-wall definition at its interfaces will be created, 
i.e. the mesh will be conformal at the interfaces. This removes the need to apply FNMB"s at the 
interfaces.
6.   Create   a   new   CONF   file    ,   step   11 )   or   open   the   CONF   file  
"pipes.conf".
the
different
  Define
7.
keyword
blocks
"THINWALLBLOCKMARKBYSTARTPOINT"   in   the   CONF   file.   This   keyword   needs   a  
seed point in a block on either side of the thin-wall selection and the name of the selection on 
which   the   thin- wall  definition   must  be   applied.   The   mesh   will  then   propagate   through   this  
selection, but will recognize it as a thin wall and create two different blocks divided by the thin 
wall:
using
the
by
 l Specify one of the seed points in the external domain. By specifying the selection "solid-tubes" 
as a thin-wall the mesh will propagate through it up to the next geometry ("coolant-tubes#") 
but treat the selection "solid"tubes as a thin-wall, creating thus two different blocks, one of the 
external domain and one of the solid domain,
THINWALLBLOCKMARKBYSTARTPOINT solid-tubes -
8.17995 -491.697 375.74                         
solid-tubes: name of the thin-wall 
selection;
Parameter 1 to 3: coordinates of the 
seed point (x, y, z).
 l To mesh the coolant domain, add seed points for a thin-wall block in every coolant pipe and 
define the appropriate selection that must be treated as a thin-wall ("coolant-tube#"). The mesh 
will propagate through the selections "coolant-tube#" up to the selection "solid-tubes". Note 
that the mesh will also propagate into the solid domain just like when setting the seed point in 
the external domain (previous bullet). This will not generate problems, rather it ensures thin-
wall interfaces between all three domains.
THINWALLBLOCKMARKBYSTARTPOINT coolant-tube1 0.0355025 -486.182 428.411
THINWALLBLOCKMARKBYSTARTPOINT coolant-tube2 0.0355025 -485.362 456.478
THINWALLBLOCKMARKBYSTARTPOINT coolant-tube3 0.035533 -485.244 484.31
THINWALLBLOCKMARKBYSTARTPOINT coolant-tube4 0.0193543 -519.387 428.724
THINWALLBLOCKMARKBYSTARTPOINT coolant-tube5 -0.060076 -519.746 455.813
THINWALLBLOCKMARKBYSTARTPOINT coolant-tube6 -0.143511 -520.147 484.215
Eventually 13 different blocks will result from this operation:
 l One external domain,
 l Six blocks for the solid walls of the pipes,
 l Six blocks for the coolant domain inside the pipes.
thin- wall
the   keyword  
When   a  
"THINWALLBLOCKMARKBYSTARTPOINT"   is   recommended   over   the   use   of   the   keyword  
"THINWALL" because it is more robust.
  constitutes   separate   volume  
the   use   of
5.2.3  Generate the mesh
8. Compare the CONF file to the description below:
INFILENAMES                         
1                         
pipes.spb                         
OUTFILENAME                         
pipes_mesh.spb.gz                         
USEBINFILEVERSION 11                         
SUPPRESSPREFIX                         
THINWALLBLOCKMARKBYSTARTPOINT 
solid-tubes -8.17995 -491.697 375.74                         
THINWALLBLOCKMARKBYSTARTPOINT 
coolant-tube1 0.0355025 -486.182 428.411                         
THINWALLBLOCKMARKBYSTARTPOINT 
coolant-tube2 0.0355025 -485.362 456.478                         
THINWALLBLOCKMARKBYSTARTPOINT 
coolant-tube3 0.035533 -485.244 484.31                         
THINWALLBLOCKMARKBYSTARTPOINT 
coolant-tube4 0.0193543 -519.387 428.724                         
THINWALLBLOCKMARKBYSTARTPOINT 
coolant-tube5 -0.060076 -519.746 455.813                         
THINWALLBLOCKMARKBYSTARTPOINT 
coolant-tube6 -0.143511 -520.147 484.215                         
BASEH 10                         
######## Refinement settings                         
BCDEFINITION inlets INL                         
BCDEFINITION outlets OUT                         
BCDEFINITION external-faces_inlet INL                         
BCDEFINITION external-faces_outlet OUT                         
BCDEFINITION external-faces SOL                         
BCDEFINITION solid-faces SOL                         
BCDEFINITION solid-tubes SOL                         
BCDEFINITION coolant-tube* SOL                         
MARKBYSTARTPOINT -8.17995 -491.697 
375.74                         
112
HEXPRESS™/Hybrid 7.2 Tutorials
Note that although the thin-wall blocks need seed 
points for their definition, the standard keyword 
"MARKBYSTARTPOINT" to mark a seed point 
for the mesh generation is still required. This seed
EXACTSNAPPING 2 1 
EXACTMESHING                        
Improves the capturing of geometry and minimizes 
the deviation of the mesh from the geometry. 
More information can be found in "Impeller and 
Volute" (p. 83), step 7.
######## Refinement settings                         
Local refinement near the solid walls of the pipe.
LOCALREFINEMENTDEFINITION solid-
faces 5 1                         
LOCALREFINEMENTDEFINITION solid-
tubes 3 1                         
LOCALREFINEMENTDEFINITION coolant-
tube* 3 1                         
END                         
The  recommended   file  format   for   all   meshes  containing   thin- wall   features  is  ".sph".  The  ".sph"-
format can be opened and visualized by HEXPRESS/View.
In   "Radiator   Coolant   Domain"   (p.   37)   a   similar   geometry   was   meshed   with   the   help   of   the  
"PROXIMITYGROUP" refinement keyword. The thin-wall feature is not compatible with types 10, 
11 and 20 of the keyword "PROXIMITYGROUP" and therefore a workaround is necessary by the 
use   of   "LOCALREFINEMENTDEFINITION".   Another   option   is   to   use   the   keyword  
"PROXIMITYGROUP" with type 0 or 1; but these are old types and NUMECA does not suggest to 
use these types.
9. Mesh the geometry in HEXPRESS™/Hybrid with the CONF file "pipes.conf". How?
10. After the mesh is generated, launch HEXPRESS™/View (How?) and open the mesh "pipes_
mesh.spb.gz" .
11. Go to Selections/ Selection List. 13 volume selections are available ("thin_wall_block_#"). 
This
the   different
"THINWALLBLOCKMARKBYSTARTPOINT":
  created   by   using  
the   keyword  
  blocks
  are  
 l One block is the external domain ("thin_wall_block_2"),
 l Six blocks for the solid walls of the pipes ("thin_wall_block_1", "thin_wall_block_3", "thin_
wall_block_4", "thin_wall_block_6", "thin_wall_block_8"and "thin_wall_block_10"),
 l Six blocks for the coolant domain inside the pipes ("thin_wall_block_0", "thin_wall_block_
5", "thin_wall_block_7", "thin_wall_block_9", "thin_wall_block_11"and ""thin_wall_block_
12").
114
HEXPRESS™/Hybrid 7.2 Tutorials
FIGURE 5.1 
Solid walls block
FIGURE 5.2 
Coolant domain block
12. Verify that the mesh is conformal at the interfaces of the different blocks.
116
HEXPRESS™/Hybrid 7.2 Tutorials
TUTORIAL 6. 
TOURISM CAR
In this section
6.1 Introduction
6.2 Geometry preparation
118
118
6.1 
INTRODUCTION
6.1.1 
Problem description
This tutorial illustrates the mesh generation for a tourism car using HEXPRESS™/Hybrid. The 
geometry used, which originates from CAD data format, represents a realistic industrial car.
Essentially, the steps to generate a mesh with HEXPRESS™/Hybrid for this particular tourism 
car are presented as follows:   
 l Prepare the model for mesh generation within HEXPRESS™/View,
 l Create additional objects within HEXPRESS™/View for various purposes,
 l Define the type of boundary conditions,
 l Run HEXPRESS™/Hybrid with a configuration file (CONF),
 l Run HEXPRESS™/Holesearcher to close the existing holes on geometry,
 l Insert viscous layers with a configuration file (CONF),
 l Visualize the mesh in HEXPRESS™/View.
6.1.2 
Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for 
beginners to perform the basic tutorials 1 to 5.
6.2  GEOMETRY PREPARATION
1. Launch HEXPRESS™/View.  (How to start HEXPRESS™/View?).
2.   Go   to File/Open   to   load   the   geometry   file   called   "Tutorial_ 6.spb"   ( download   the  
HEXPRESS™/Hybrid tutorial archive) using the navigation tool in the Open dialog box.
6.2.1 
Create a Bounding Box
A mesh will be generated around the car model as a simulation of the flow around the car in a 
wind tunnel is assumed. Therefore, an additional body is needed (a bounding box around the car). 
This can be achieved within HEXPRESS™/View by following these steps:
3. First, left-click anywhere on the background in the graphical area to make sure that no object is 
active.
4. To create a box around the body:
l Go to Algorithms/Topology,
 l In the Select Topology panel select Hex from the drop-down menu,
 l Enter <(0, 0, 0)> as the first corner,
 l Enter <(50, 50, 50)> as the second corner,
 l Enter <4> as the division for all directions,
 l Click the Create button to generate a hexahedral block. The default name is "Hex", as is 
shown in the following figure. The view is adjusted by rotating and translating the view and 
the clipping plane.
5. By default, the newly created block is a volume block. It is worth noting that only its surfaces 
are needed for mesh generation. Thus, a surface has to be created from this volume block:
 l Activate the hexahedral block,
 l Go to Algorithms/Surface,
 l Click Generate Surface button (under 'Generating a surface').
6.   A   new   object   named   "Hex_ c_ surf"   is   created   and   added   to   the   list   on   the   left   panel.  
Information attached to the active object can be outlined in two different ways:
 l Go to Selections/Properties on the right panel or
 l Right-click somewhere on the active object and select Show Properties Panel.
7.   The   mesh   can   be   visualized   by   selecting   Rendering/Wire   Frame .   You   can   move   the  
generated surface "Hex_c_surf" by pressing <Shift> and holding right-click while moving the 
mouse. Release at the desired location to obtain the result in the following figure.
8. The object named "Hex" is no longer useful. It can be deleted by activating it in the project tree 
and clicking the Delete button in the toolbar.
9. Now, right-click the object "Hex_c_surf" and choose Default Positionto return the object to its 
original position.
10. The car body must now be properly relocated within the wind tunnel:
 l Activate "Hex_c_surf",
 l Select Selections/Modify/Scale,
 l Enter <0> <0> <0> as the origin,
 l Enter <0.4> <0.2> <2> as the scaling factor and click Do Scale,
 l Select Selections/Modify/Translate,
 l Enter <-10> <0.02> <-50> as the translation vector and click Do Translate.
11. If the view is not refreshed automatically, just click anywhere in the graphics area to refresh it. 
The modified box is shown in the following figure (left).
12. The car can be outlined by making the box transparent, as shown in the following figure 
(right):
 l Activate "Hex_c_surf",
 l Select Rendering/Transparency.
An edge that is created in HEXPRESS™/Hybrid is actually defined as a surface between several 
borders.   By   having   these   edges   ("allEdgeSel*")   created,   the   "edge   capturing"   tool   in  
HEXPRESS™/Hybrid   ensures   a   mesh   that   respects   the   original   geometry   to   be   generated.  
Therefore, the creation of these edges is essential for every geometry before mesh generation. 
More information on Edge Capturing. 
Generally, the edges can be created by using a feature angle algorithm or by using the existing 
surfaces coming from CAD or STL files.
13. For this tutorial, you can create the edges needed for edge capturing on the geometry by 
specifying a threshold angle.
 l Go to Selections/Edit Selection,
 l Keep default Angle for definition as <40>,
 l Click the Create button. This operation will generate a total of six new  selections called 
"allEdgeSel*" (with "*" being a natural number between 0 to 5) which will appear under the 
Selection List tab.
14. The computational domain has now been defined and a first volume mesh can be created once 
the boundary conditions are defined. To save the bounding box as a domain:
 l Activate "Hex_c_surf" by left-clicking it.
 l File/Save as  <Box.spb> within the same directory or click the Save as button in the toolbar.
6.2.2  Define Boundary Conditions Type
When exporting a mesh from HEXPRESS™/Hybrid, selections defined with a name containing 
keywords  "solid",   "inlet",   "outlet",   "exterior"   and   "mirror"   will  be  automatically   detected   by  
HEXPRESS™  or by FINE™/Open as boundary conditions of type "SOL", "INL", "OUT", 
"EXT" and "MIR". 
However, it is recommended to define the selections using the BCDEFINITION keyword in the 
CONF file. In this case, any selection name is welcome.
15. To define boundary conditions for the created computational domain:
 l Open the file named "Box.spb" (if necessary),
 l Go to Selections/Edit Selection,
 l Enter a name, for instance "frontBox", for the selection to be used as the inlet,
 l Click the Create button,
l Select the Pick Mode: add by angle, then click the Pick button,     
 l Select the inlet part of the domain by left-clicking it in the graphics area,
Note the orientation of the box (with the coordinate system or by checking the transparency 
option for the box so the orientation of the box wrt. the car is visible).
l Terminate the picking by pressing the <Esc> key,
 l Perform the same steps as above for the rest of the "Box" selections (outlet, ground, externals),
 l Go to File/Save as <Box_bc.spb>. The resulting computational domain is presented below.
16. To define a solid part on the car, selection "car_body" in <Tutorial_6.spb> will be used in the 
CONF file.
6.2.3  Generate First Mesh with HEXPRESS™/Hybrid 
Mesher
In   order   to   generate   a   mesh   with   HEXPRESS™/Hybrid   a   CONF   file   is   required.   This  
configuration file serves as an input file which stores all the information needed to execute a mesh 
generation in batch mode. Any text editor such as Kate, vi, WordPad, Notepad++, etc  can be 
used to edit the CONF file.
17.   A   default   configuration   file   can   be   generated   and   saved   from   HEXPRESS™/View   as  
follows:
 l Activate domain "Box_bc" and "Tutorial_6",
 l Go to Algorithms/Volume and click the save CONF file button,
l Save the CONF file as <meshing01.conf> into the same folder as the geometry files.
Please take note of the following:
 l The CONF file must be saved into the same directory as the geometry files,
 l The  command  to  start  the  mesh  generation  has  to  be  launched  from   the  shell  within  the  same 
directory.  If not,   the full path of the CONF file has to be specified. On top of that, the   full path of 
the input and output files have to be specified in the CONF  file.
Please  note  that  the  saved   CONF   file  serves  as  a  guideline  where  information   for  the  mesh  
generation needs to be added and adapted. Adapt the "meshing01.conf" file that you have to the 
information given in the following table. Alternatively, you can use the "meshing01.conf" file that 
is already present in the tutorials archive.
INFILENAMES
Box_bc.spb
Tutorial_6.spb
OUTFILENAME
Tutorial_6_mesh01.spb.gz
USEBINFILEVERSION 11
SUPPRESSPREFIX
BASEH 0.5
NUMBNDLAYERS 1
Defines  two input geometries: the car and the box. If 
these input files are   located at the same location as the 
"meshing01.conf" file, only the file  name has to be 
mentioned. Otherwise the relative or absolute path has   to 
be mentioned.
Defines  the file name of the volume mesh which will be 
created. The extension   of this file controls the generated 
file format (with the version   specified using 
"USEBINFILEVERSION").  If only the file name is 
mentioned, the output file will be located at   the same 
location as "meshing01.conf" file. Otherwise the relative 
or   absolute path has to be mentioned.
Defines the version of output file when a ".spb" output 
file is saved. Version 11 is used instead of version 10.
Prefixes  of selection names used for refinement and 
boundary conditions   definition can be removed. For 
instance, "car_body"  can be used instead   of "Tutorial_6_
bc_car_body"  that was used previously.
Defines the maximum cell size in the mesh. In the current 
case 0.5 [m] corresponds to approximately one tenth of 
the car length.
The number of equidistant layers to be calculated within 
HEXPRESS™/Hybrid during mesh generation. By 
default one boundary layer is generated. It is not 
recommended to create more than 3 layers.
MARKBYSTARTPOINT 0 7 0
LOCALREFINEMENTDEFINITION 
car_body  4 1
By default "MARKALLOUTER" is used. However, in 
this case the "MARKBYSTARTPOINT" keyword is used  
to  define a seed point within the computational domain. 
The seed point   indicates the domain to be meshed and  
should not be close to a   boundary.
This  gives a local refinement of the mesh around the car 
geometry. Here the   cell edges are always divided by a 
factor of two, meaning that 5   refinement levels (reflev) 
results in a local resolution of BASEH*0.5reflev. In this 
case it becomes 0.5*0.54 = 0.03125 [m], which is pretty 
coarse. The second parameter corresponds to the level of 
diffusion after local refinement.
END
Defines the end of the configuration file.
18.   Launch   HEXPRESS™/Hybrid   with   the   "meshing01.conf"   file    ( How   to   start  
HEXPRESS™/Hybrid (Mesher)?).
6.2.4  Visualize First Mesh within HEXPRESS™/View
19. Load the resulting mesh into HEXPRESS™/View and plot the mesh on the ground and the 
car:
 l Go to File/Open and open "Tutorial_6_mesh01.spb.gz",
 l Select Rendering/Wire Frame,
 l Activate "ground" and "car_body"  in Selections/ Selection List by using <Ctrl> + left-click,
 l Click the Show Selected Selections button or select the same option in the right-click menu,
 l By rotating, translating and zooming the mesh, the following figure is obtained.
20. The mesh properties can be accessed by right-clicking on the mesh and selecting Show  
Properties Panel from the list.
21. To check the mesh quality, go to Mesh Analysis/Report.
22. Visualize the mesh in a plane which cuts the car into two parts lengthwise. This plane will be 
called the middle plane:
 l Visualize the mesh in its original position using <Ctrl> + <G>,
 l Click Show all to visualize the whole mesh,
 l Go to Selections/Edit Selection,
 l Enter <newSelection> as a name for the subset,
 l Click Create,
 l Select the Pick Mode: add by polygon and click the Pick  button,
l Create a polygon by left-clicking in the graphics area as shown below. All cells located inside 
the   polygon   will   be   added   to   the   selection.   Inadequate   picks   can   be   removed   using  
<Backspace>.
l Terminate the picking with <Esc>, the subset is now created,
 l Visualize the "newSelection" subset in graphics area:
 l Left-click the selection in Selections/ Selection List,
 l Right-click and select Show Selected Selections. This will visualize the subset, meaning 
that   only   half   of   the   3D   mesh   created   will   be   plotted.   This   function   allows   detailed  
visualization for different parts of the volume mesh with the polygon defined. the following 
figure is achieved by zooming and rotating the active selection.
 l Close the mesh by activating it and clicking the Delete button in the toolbar.
6.2.5  Add Refinement Boxes
The   first   mesh   generation   performed   only   isotropic   refinement   as   no   information   regarding  
additional  local  refinements   was   given   in   the   CONF   file.   For   automotive   applications,   it  is  
recommended to refine the area behind the car. This can be done by adding refinement boxes in 
HEXPRESS™/View. As no geometry is available, two additional boxes will be created.
23. Create a small box behind the car: 
 l Load the car geometry: go to File/Open and open "Tutorial_6.spb",
 l Go to Algorithms/Topology,
 l Select Select Topology/Hex,
 l Enter <(0, 0, 0)> as the first corner,
 l Enter <(5, 5, 5)> as the second cornet,
 l Enter <4> as the division for all directions,
 l Click the Create button to generate the box (All active objects should be deactivated before 
the creation of new geometry).
24. Create a default mesh on the surfaces:
 l Activate the new object "Hex",
 l Go to Algorithms/Surface,
 l Click Generate Surface. A new object named "Hex_c_surf" is created,
 l Remove the object named "Hex" as it is no longer useful by using the Delete button in the 
toolbar.
25. Set up the appropriate position:
 l Activate "Hex_c_surf",
 l Select Selections/Modify/Scale,
 l Enter <0> <0> <0> as the origin,
 l Enter <0.4> <0.3> <1> as the scaling factor,
 l Click Do Scale,
 l Select Selections/Modify/Translate,
 l Enter <-1> <0> <-5> as the translation vector,
 l Click the Do Translate button.
26. File/Save as <Box1.spb>.
For the next refinement area a second box, extending from front to back, will be created at the 
rear part of the car, starting from "Box1" generated earlier.
27. The surface mesh is first coarsened as follows:
 l Activate "Box1",
 l Go to Algorithms/Surface/Coarsen the Surface,
 l Activate triangles only and respect selections options,
l Click the Coarsen Surface button; a coarser mesh of the box will appear. Repeat this step 
until no more coarsening is possible.
28. The rear part of the box will be adapted by creating a new selection which includes the rear 
part of the box:
 l Select Selections/Edit Selection,
 l Enter the name <rear> for the subset,
 l Click Create,
 l Select the Pick mode: add by angle and click the Pick button,
 l Select the rear part of the box by left-clicking it. If the color of the selected surface changes, it 
has been successfully added to the selection.
l Terminate the picking by pressing <Esc>,
 l Visualize the selection:
 l Activate the "rear" selection  in Selections/ Selection List,
 l Click Show Selected Selections.
29. Translate and scale this selection (a surface of the active object) to obtain a hexahedron that 
expands from front to rear. Note that the translation and scaling works only on the active part of 
the "Box1" geometry:
l Select Selections/Modify/Translate,
 l Enter <0> <0> <-10> as the translation vector then click Do Translate.
 l Select Selections/Modify/Scale,
 l Enter <0> <0> <0> as the origin,
 l Enter <2> <2> <1> as the scaling factor then click the Do Scale  button.
30. Save the modified box into a new file and visualize it:
 l Activate "Box1",
 l File/Save as <Box2.spb> or click the Save as icon in the toolbar,
 l Click the Show all button.
31. Modify the file "meshing01.conf"  using the added information, highlighted in blue in the 
following table, to define the additional refinement boxes. Keep the rest of the settings unchanged 
and save it as "meshing02.conf"  within the same folder (or use the "meshing02.conf"  file in 
"/Tutorials/HYBRID/Tutorial_6" from the documentation or tutorial package).
INFILENAMES
Box_bc.spb
Tutorial_6.spb
ADDINFILENAMES
Box1.spb
Box2.spb                         
OUTFILENAME
Tutorial_6_mesh02.spb.gz
These input geometries are not used for meshing, 
but only for refinement purposes.
Save the new mesh with a different output name.
LOCALREFINEMENTDEFINITION car_
body 3 3
LOCALREFINEMENTDEFINITION car_
It is suggested that the progressive refinement 
settings is used for the solid part of the car, as 
shown.
body 4 2
LOCALREFINEMENTDEFINITION car_
body 5 1
ADDLOCALREFINEMENTDEFINITION 
Box1 4 1 1
ADDLOCALREFINEMENTDEFINITION 
Box2 3 1 1
Keyword used to define the refinement settings on 
the additional geometries. The first and second 
parameter are the same as for 
"LOCALREFINEMENTDEFINITION". The last 
parameter denotes a volume refinement if the value 
is set to 1.
END
32. Now you can launch HEXPRESS™/Hybrid Mesher with the "meshing02.conf" file. 
33. Visualize the generated mesh with HEXPRESS™/View:
 l Select Rendering/Wire Frame,
 l Activate "ground" and "car_body"  in Selections/ Selection List by using <Ctrl> + left-click,
 l Click the Show Selected Selections button and refresh the view to obtain the following figure. 
The resulting mesh is still too coarse and unable to capture small details and interesting features 
on the geometry itself.
The Search string tool can be used to locate a selection within the list:
 l type the name in the Search area as shown,
 l Hit <Enter> or click the Search string 
 button to perform the search,
 l Similar as in step 22, we want to visualize the mesh in a plane which cuts the car into two 
parts lengthwise:
 l Visualize the mesh in its original position using <Ctrl> + <G>,
 l Click Show all to visualize the whole mesh,
 l Go to Selections/Edit Selection,
 l Enter <halfDomain> as a name for the subset,
 l Click Create,
 l Select the Pick Mode: add by polygon and click the Pick button;
 l Create a polygon by left-clicking in the graphics area as shown below. All cells located 
inside the polygon will be added to the selection. Inadequate picks can be removed using 
<Backspace>.
l Visualize the "halfDomain" subset in graphics area:
 l Left-click the selection in Selections/ Selection List,
 l Right-click and select Show Selected Selections. This will visualize the subset, meaning 
that   only   half   of   the   3D   mesh   created   will   be   plotted.   This   function   allows   detailed  
visualization for different parts of the volume mesh with the polygon defined. the following 
figure is achieved by zooming and rotating the active selection.
As you can see from the figure above, the car interior is now filled up with cells. This is due   to the 
fact that there are a lot of gaps and holes in the car geometry. This   did not happen on the first mesh as 
the   local   refinement   was   too    coarse.  However,  these   holes   become   a   problem   when   the   chosen  
refinement generates cells with a size smaller than the gaps or holes.
6.2.6  Create Selections for Refinement
The second mesh is still too coarse, especially in capturing small details and interesting features on 
the geometry itself. To capture these small details, "edges" have to be created as in step 13 and 
local refinements have to be applied on them. Since there are already many selections available in 
this geometry, instead of defining an appropriate refinement level for each selection, you can 
group the small features together depending on the size and apply a different refinement level for 
each   group   later   on.   Steps   34   to   39   illustrate   how   to   group   selections   within  
HEXPRESS™/View.   The  resulting   selections  however  are  already   available  in   "Tutorial_ 6_
refine.spb"  in order to allow you to work with the same selections as in this tutorial.
34. Create a new selection containing the entire car from "Tutorial_6_refine.spb": 
 l Delete the second mesh and open "Tutorial_6_refine.spb" (in "/Tutorials/HYBRID/Tutorial_
6" from the documentation or tutorial package),
 l Go to Selections/Edit Selection,
 l Click Create,
 l Select the Pick Mode: add by polygon and click Pick,
 l Define a polygon by left-clicking in the graphics area around the car; all cells located inside the 
polygon   will   be   added   to   the   selection.   Inadequate   picks   can   be   removed   by   using  
<Backspace>. (The polygon selection is similar to e.g. step 22).
35. Edit the selection, keeping only small features. In most geometries coming from CAD, the 
parts are disconnected and an angle of 180 degrees can be used:
 l Select the Pick Mode: remove by angle,
 l Enter <180> as Angle,
 l Make sure that the selection for modification is the selection of the complete car you just 
created,
 l Pick all the large surfaces, as presented in the following figure,
 l Terminate the picking with <Esc>,
 l Activate the new selection created inSelections/ Selection List,
 l Click Show Selected Selections.
Note that "Tutorial_6_refine.spb" already contains the desired selections; this step shows you how to 
achieve these selections.
36. You can find selections named "small_edges" and "tiny_edges" within the list of available 
selections. These selections have been created using the aforementioned method. Selection "tiny_
edges" is obtained by removing the larger surfaces from "small_edges". Both "small_edges" (left) 
and "tiny_edges" selections are presented below.
37. Create a new selection containing the outer part of the car: 
 l Go to Selections/Edit Selection,
 l Enter <outerpart> as name for the subset,
 l Click Create,
 l Select the Pick Mode: add by polygon and click Pick,
 l Click on the geometry that represents the outer geometry of the car until the selection contains 
the whole outer part of the   car except the rims of the wheel,
The rims of the wheel are surfaces with zero thickness and coarse triangulation. It is recommended 
not   to   create   "edges"   for   these   zero   thickness  surfaces  so   that   they   are   excluded   from   edge  
capturing. Trying to capture these surfaces may lead to divergence of the mesh generation. 
 l Terminate the picking with <Esc>,
 l Activate the newly created selection "outerpart" in Selections/ Selection List,
 l Click Show Selected Selections.
The selection "outerpart" is also already available in "Tutorial_6_refine.spb".
38. As explained in step 13, the selections shown have to be captured. 
 l Go to Selections/Edit Selection,
 l Under Create selections by angle set Angle as <50> and make sure the allEdges checkbox is 
ticked,
 l In the blank namebox enter the name for the subsets as "outer",
 l Click the Create button. A list of new selections called   "outer_allEdgeSel*" will   appear in the 
Selection List tab.
By doing this, the interesting features on the car can be captured. For instance, the "NISSAN" 
logo and the grille of the car.
Note that "Tutorial_6_refine.spb" already contains the desired allEdge selections; this step shows you 
how to achieve these selections.
39. Create a selection containing the different features for refinement purpose. You can   find 
selections named "feature_1"  and "feature_2", "feature_3"  and "feature_4"  within the list of   
available selections. These selections have been created using the method in step 35. Selection 
"feature_2" is obtained by removing   the larger surfaces from "feature_1". Selection "feature_3" is 
obtained from "feature_2" and so on. The four selections are shown below.
6.2.7  Close Gaps/Holes in Geometry 
(HEXPRESS™/Holesearcher)
The gaps and holes can be removed using the executable HEXPRESS™/Holesearcher available 
in the HEXPRESS™/Hybrid package. The HEXPRESS™/Holesearcher works in the following 
way: by default it is "cold" outside the car, the user can define one or more "warm" spots inside 
the domain. If there are holes in the geometry, they will be indicated by the isothermal surfaces, 
which can then be used to close the geometry.
40. Select a point inside the geometry:
l Clip into the geometry using <Shift> + hold middle-click + move up/ down,
 l The point in the middle of the graphical area, indicated by the cross, is located exactly at the 
visibility plane. Its coordinates are displayed in the graphics area.
41. With this information, the HEXPRESS™/Holesearcher can be started using the previously 
defined configuration file "meshing02.conf" adapted with some additional lines (alternatively, you 
can use the "meshing03.conf" file.  To run HEXPRESS™/Holesearcher for this example, at least 
24GB memory is needed. Please ensure that you have the appropriate hardware before launching.
INFILENAMES
Tutorial_6_refine.spb
OUTFILENAME
Tutorial_6_mesh03.spb.gz
MARKBYSTARTPOINT 0 0.6587 0.111799
BASEH 0.5
Use only the geometry file without the domain.
Save the new mesh with a different output name.
LOCALREFINEMENTDEFINITION car_
body 3 3
LOCALREFINEMENTDEFINITION car_
body 4 2
LOCALREFINEMENTDEFINITION car_
body 5 1
LOCALREFINEMENTDEFINITION 
outerpart 6 1
LOCALREFINEMENTDEFINITION small_
The local refinement for "feature_2", "feature_3" 
and feature_4" selections can be deactivated. They 
are not needed in this step.
edges 6 1
LOCALREFINEMENTDEFINITION tiny_
edges 7 1
LOCALREFINEMENTDEFINITION 
feature_1 7 2
#LOCALREFINEMENTDEFINITION 
feature_2 8 1
#LOCALREFINEMENTDEFINITION 
feature_3 9 1
#LOCALREFINEMENTDEFINITION 
feature_4 11 1
ADDLOCALREFINEMENTDEFINITION 
Box1 4 1 1
ADDLOCALREFINEMENTDEFINITION 
Box2 3 1 1
########## Definitions for the Holesearcher 
##########
These are the parameters which control the hole 
searching process.
HEATINGPOINT 0 0.6587 0.111799 0.25 1
LOCREFRAISE 2
PROJECTHEATINGCUT
The  coordinates of the point inside the car as found 
above, together with a  possible radius around it 
(bigger than the local mesh), are used as   input 
parameters for the "HEATINGPOINT" command.
The final value is the local temperature (always set 
to 1).
By  default the temperature outside is set to 0.0, the 
temperature inside   is set to 1.0, the number of 
isotherms is set to 19,  increasing from   .05 to .95 in 
increments of 0.05.
In this example, "LOCREFRAISE" is set to 2 
instead of 1 (default).
HEATINGCUTS .01 .11 10
END
In  the automotive industry, it is known from 
experience that the very   "cold" isotherms are of 
interest. The command HEATINGCUTS .01 .11 
10   produces 10 more isotherms going from 0.01 to 
0.11.
42. Run HEXPRESS™/Holesearcher with the "meshing03.conf" file. 
43. HEXPRESS™/Holesearcher saves the different iso-surfaces in a file named "HeatingCuts_
date_time.spb.gz" in a newly created folder.
44. Load the file into HEXPRESS™/View and visualize the iso-surface shown below for "Cuts-
by-temperature|temp0032" (in blue) together with the car (transparent). This group of iso-surfaces 
is a good candidate for closing respectively the gaps of the frontal and posterior part of the car.
 l Activate this selection;
 l Click "Show selected selection" button;
 l Click "Cut" and then paste it into the GUI;
 l Save the pasted object as "cut0032.spb".
45. With the iso-surface "cut0032.spb" created for closing the gaps and holes in the geometry, a 
new CONF file can be created. Modify the existing "meshing03.conf" to include the information 
provided in the following table and save it as "meshing04.conf" (or use the "meshing04.conf" file 
in the tutorials archive.  Then, the HEXPRESS™/Hybrid Mesher can be launched (repeat step 
32) for this airtight geometry with the new CONF file. 
Since   now   a   mesh   with   approximately   10M   cells   will  be   generated,   please   ensure   that  the  
appropriate hardware to launch the mesh generation is available.
Add the input file "cut0032.spb" for closure.
Save the new mesh with different output name.
INFILENAMES
Box_bc.spb
Tutorial_6_refine.spb
cut0032.spb
ADDINFILENAMES
Box1.spb
Box2.spb
OUTFILENAME
Tutorial_6_mesh04.spb.gz
USEBINFILEVERSION 11
SUPPRESSPREFIX
MARKBYSTARTPOINT 0 7 0
BASEH 0.5
NUMBNDLAYERS 1
This  gives a local refinement of the mesh around 
the car geometry. The refinement level is linked to 
the "BASEH" value. Here, the   cell edges are 
always divided by a factor of two, meaning that for 
a given   refinement level (reflev) the local 
resolution is defined as BASEH*0.5reflev . For 
example, a refinement level of 5 gives 0.8*0.55 = 
0.025 [m]. The second parameter corresponds to 
the level of diffusion after   local refinement.                                      Extra 
refinements are introduced on all the selections 
created for capturing special features and edges. 
LOCALREFINEMENTDEFINITION car_body 
3 3
LOCALREFINEMENTDEFINITION car_body 
4 2
LOCALREFINEMENTDEFINITION car_body 
5 1
LOCALREFINEMENTDEFINITION small_
edges 6 1
LOCALREFINEMENTDEFINITION tiny_
edges 7 1
LOCALCURVREFINEMENTDEFINITION 
t0* 5 6 1 8
LOCALREFINEMENTDEFINITION feature_
1 7 2
LOCALREFINEMENTDEFINITION feature_
2 8 1
LOCALREFINEMENTDEFINITION feature_
3 9 1
LOCALREFINEMENTDEFINITION feature_
4 11 1
ADDLOCALREFINEMENTDEFINITION 
Box1 4 1 1
ADDLOCALREFINEMENTDEFINITION 
Box2 3 1 1
VOLSELECTIONBYBOX half_mesh_x -100 -
100 -100 0 100 100
END
46. The figures below show the mesh that is generated without any cells filling the interior of the 
car (left) and a close-up of the wheel-ground intersection (right).
157
HEXPRESS™/Hybrid 7.2 Tutorials
6.2.8  Sharp Edges & Boundary Layers
After having a closer look at the front wheel, shown in the figure above (right), you will realize 
that the sharp edge between the wheel and the ground is not well captured. In order to improve 
edge capturing at these areas the option GROUNDTYRETRAFO can be added in the CONF 
file. In order to define boundary layers, the floor has to be disconnected from the wheels, inlet and 
outlet. In this case, NEWBUFFERINSERTION can be used to decouple the selections. After 
that, a number of boundary layers is imposed globally using the keyword NUMBNDLAYERS.
The parameters used for GROUNDTYRETRAFO for this tutorial are defined as followed:
 l The normal plane used for the transformation is Y <(0 1 0)>,
 l A factor of enlargement of <2> is used,
 l The total distance of space enlargement used, 2d is <0.2>,
 l The coordinate of the point on the plane where the mesh transformation is desired. (shown as 
'x').
Since   the   normal  plane   is  the   Y-plane,   only   the   Y-coordinate   is  taken    into   account  for  the  
calculation. 
The Y coordinate of point x (Py) taken from the GUI is 0.02.
The computed Y-coordinate of where the transformation should start (Y_new) is:
Y_new = Py - d
Y_new = 0.02 - (0.2/2) = -0.08
47.   Repeat   step   32   to   run   HEXPRESS™/Hybrid   Mesher   with   the   adapted   CONF   file  
"meshing05.conf"   (available   in   "/Tutorials/HYBRID/Tutorial_ 6"   from   the   documentation   or  
tutorial package).
INFILENAMES
Box_bc.spb
Tutorial_6_refine.spb
cut0032.spb
ADDINFILENAMES
Box1.spb
Box2.spb
OUTFILENAME
Tutorial_6_mesh05.spb.gz
NUMBNDLAYERS 2
Insert two boundary layers on the solid parts. 
NEWBUFFERINSERTION 
120
decouples a selection from neighbor selections with the threshold 
angle specified.
GROUNDTYRETRAFO 0 1 0 0 
nx ny nz: normal vector of the plane
-0.08 0 2.0 0.2
OPTIPARAMETER 0
px py pz: one point of the plane where the transformation should 
start
f: stretching factor of space enlargement (a minimum factor of 2 is 
suggested. If this is not sufficient, use 3)
distance: total distance of space enlargement (2d)
Improves the mesh quality for criteria like equiangular skewness, 
adjacent volume ratio and expansion ratio with re-projection of 
surface vertices without deviation.
BCDEFINITION frontBox 
INL
Defines  the boundary conditions for mesh. These are the selections 
that will appear in the Selection List after the mesh is generated.
When the output mesh is HEX or SPH   formats, the boundary 
conditions defined on the specific selection will   be transferred onto 
the volume mesh.
BCDEFINITION side1 SOL
BCDEFINITION side2 SOL
BCDEFINITION top SOL
BCDEFINITION ground SOL
BCDEFINITION outBox OUT
BCDEFINITION car_body 
SOL
BCDEFINITION closed SOL
END
48. The resulting mesh is presented in the figures below with a close-up on the edges captured 
between the ground and wheels (left) and the two boundary layers (right).
For conventional underhood geometry not all sharp edges can be resolved, since a lot of features are 
not   captured   with   the  required   accuracy.  Usually   this  is  not   problematic  because  they   are  not   of  
interest. It is important to only resolve sharp edges if the local mesh resolution is sufficiently fine. To 
do that on specific features:
 l Go to Selections/ Selection List, activate features including specific entities,
 l Go to Selections/ Edit Selection, define the Angle for definition which is used as a threshold 
angle to create sharp edges,
 l Click on create all Edge Selections, a set of selections forming additional edges are created for 
the meshing process,
 l Click the Save as icon in the toolbar or go to File/ Save as and save the object containing this 
new set of selections.
6.2.9  Viscous Layers Insertion with CONF file
Viscous layers can be inserted with a CONF file using the Grading and 1st Cell Size method 
available   in   HEXPRESS™/View.   Viscous   layers   can   be   inserted   on   selections   specified   in  
BCDEFINITION   in   the   CONF   file.   This   is   done   by   using   BNDLAYERINSERT   and  
BNDLAYERINSERTFIRSTCELLSIZE to impose the total number of layers to be inserted at a 
specified boundary layer. 
49.   Adapt  CONF   file  "meshing05.conf"   with   the  information   shown   below   and   save  it  into  
<meshing06.conf>.
BNDLAYERINSERTFIRSTCELLSIZE car_
body 1 3 0.00005 0
Parameter 1: Boundary layer in which viscous layers 
will be inserted.
BNDLAYERINSERT car_body 1 2 1.2 0
Parameter 2: Number of viscous layers.
Parameter 3: First cell size.
Parameter 4: Set to "0" always in order to respect the 
global buffer types.
Parameter 1: Boundary layer in which viscous layers 
will be inserted;
Parameter 2: Number of viscous layers;
Parameter 3: Stretching ratio;
Parameter 4: Set to "0" always in order to respect the 
global buffer types.
50.   Repeat   step   32   to   run   HEXPRESS™/Hybrid   Mesher   with   the   adapted   CONF   file  
"meshing06.conf".
51. The resulting mesh including the viscous layers is presented below, with the effect of using 
NEWBUFFERINSERTION clearly shown on the right.
52. Besides, you can also notice that the "NISSAN"  logo and the grille of the car are well 
captured.
6.2.10  Properties of Generated Meshes
the following table summarizes the number of cells for each mesh and shows an estimation of the 
RAM required to generate each mesh.
Name
Cells Hexahedra Prisms Pyramids Tetrahedra
RAM 
estimation
Tutorial_6_
mesh01
Tutorial_6_
mesh02
Tutorial_6_
mesh04
Tutorial_6_
mesh05
Tutorial_6_
mesh06
457413
358178
56251
26599
16385
300 MB
3694785
2808288
507655
232148
146694
1.8 GB
9340604
5909112
1841378
916123
673991
3.4 GB
10925056
6840395
2492505
917762
674394
4.0 GB
13856772
8475871
3788745
917762
674394
4.3 GB
6.2.11  Mesh Generation in HEX Format
53. Finally, you have a mesh with selections that are ready to be transferred into FINE™/OPEN. 
Now you can save the final mesh into HEX/SPH format which can be used in a FINE™/OPEN 
computation.
 l Create a new folder named "_mesh",
 l File/Save as <Tutorial6_meshVL.hex> into the folder created.
TUTORIAL 7. 
TOURISM CAR AND RADIATOR
In this section
7.1 Introduction
7.2 Mesh Generation
7.3 Convert the mesh with Datamapper
168
168
180
7.1 
INTRODUCTION
7.1.1 
Problem description
This   tutorial   illustrates   the   mesh   generation   of   a   complete   Mustang   tourism   car   using  
HEXPRESS™/Hybrid.   The   geometry   used,   originating   from  CAD   data   format,   represents  a  
realistic industrial car.
7.1.2  Objective
The focus of this tutorial is on the demonstration of the multiblock conformal meshing capabilities 
of HEXPRESS™/Hybrid.
7.2  MESH GENERATION
7.2.1 
Prepare the geometry
1. Launch HEXPRESS™/View. How?
2. Go to File/Open (or use the Open file button in the icon toolbar) and open the geometry file 
"Mustang01.spb" (download the HEXPRESS™/Hybrid tutorial archive) .
The selections from the original CAD geometry file are preserved after importing them. They are 
available for future operations in HEXPRESS™/View.
3. Perform the "allEdge-selections" operation to make sure that the geometry is well captured:
 l Click   on   Show   all   under   Selections/   Selection   List   to   make   sure   all   the   selections   are  
activated,
 l Go to Selections/Edit Selection,
 l Under Create selections by angle, set the Angle to <40>, and make sure the allEdges option 
is selected,
 l Click Create,
 l Go to Selections/ Selection  List and verify that 147 new  "allEdge"-selections have been 
created.
4. Save the geometry as <Mustang02.spb>.
7.2.2 
Computational domain and refinement boxes
5. Load the computational domain:
 l Go   to   File/Open   (or   use   the   Open   button   from   the   toolbar )   and   load   "outer_ box_
original.spb"  (in   "/Tutorials/HYBRID/Tutorial_ 7"   from   the   documentation   or   tutorial  
package).
The loaded computational domain contains the following predefined selections: "inlet", "outlet", 
"eulerwall1", "eulerwall2", "eulerwall3" and "eulerground".
6. Perform the "allEdge-selections" operation to make sure that the geometry of the outer box is 
well captured:
 l Make sure that the geometry "outer_box_original" is selected in the project tree,
 l Click on Show all under Selections/ Selection List to make sure all the selections you just 
created are activated,
 l Go to Selections/Edit Selection,
 l Under Create selections by angle, set the Angle to <40>, and make sure the allEdges option 
is selected,
 l To   avoid   confusion   with   the   "allEdge"- selections   of   the   car   when   meshing   with  
HEXPRESS™/View add a prefix to the "allEdge"-selections by typing a name into the text 
box: "dom_",
 l Click Create,
l Go to Selections/ Selection List and verify that 6 "allEdge"-selections have been created with 
the prefix "dom".
7. Save the geometry of the "outer_box_original" as <outer_box.spb>  and delete it from the view.
8. Load the two refinement boxes "Box1.spb" and "Box2.spb".
9. Select the geometries "Box1" and "Box2" in the project tree, right-click on the selections and 
select the Transparency option to visualize the refinement boxes.
"Box1" and "Box2" represent boxes for refinement in order to capture the effects of the wake behind 
the car correctly.
Refinement
Algorithms/Topology/Algorithms/Select Topology/Cube. See also "Tourism Car" (p. 117).
in   HEXPRESS™/View   under
also   be
created  
  boxes
can  
Assume that it is the goal to model the radiator as a porous media. Therefore it is eventually 
necessary that the mesh of the radiator can be identified as a separate block from the mesh of the 
car to apply different properties to it .
10. Visualize the domain of the radiator:
l Go to  Selections/ Selection List and select the selections:    
 l "SHELBY-cooling-radiator-walls",
 l "SHELBY-cooling-radiator",
 l Right-click on these selections and choose Show selected selection,
 l To   view   the   car   and   domain   of   the   radiator   shown   on   the   right   below,   activate   the  
Transparency option.
Note that the selection "SHELBY-cooling-radiator"  represents the interfaces between the domain 
of the radiator and the rest of the domain. In order to create conformal connections between the 
radiator and the car, the thin-wall approach should be imposed on the selections representing the 
interfaces. See next section.
7.2.3  Mesh with the conformal meshing option
In the following steps a configuration file will be set up to mesh the car with the thin-wall option. 
The thin-wall option creates surfaces inside a mesh. The "dividing"  surface is recognized by 
HEXPRESS™/Hybrid, but it is not used as a boundary of the mesh, so the mesh stays conformal 
at this internal surface.
Among the thin-wall keywords available, "THINWALLBLOCKMARKBYSTARTPOINT" is 
the best option because the regular surfaces (SHELBY-cooling-radiator-walls in this case) are 
also considered as a boundary. This keyword specifies closed thin wall block marking by a seed 
point.  Thanks to this keyword, the mesh of the radiator will be recognized as a separate volume 
block   from   the   rest   of   the   mesh   around   (and   inside)   car.   After   the   mesh   is   created   with  
HEXPRESS™/Hybrid, the mesh can be converted with HEXPRESS™/Datamapper (last section 
of  this  tutorial)  to   a   multi-block   mesh   format  that  can   be   loaded   into   FINE™/Open;  where  
different properties for both blocks can then easily be applied.
The advantage of the thin-wall approach is that the necessity for creating FNMB"s at the interface 
of the different blocks is removed.
11.   Open   the   CONF   file   "Mustang_ mesh01.conf"  and   compare   it  to   the   description   in   the  
following table.
INFILENAMES                         
2                         
Mustang02.spb                         
outer_box.spb                         
OUTFILENAME                         
Mustang_mesh01.spb                         
SUPPRESSPREFIX                         
MARKBYSTARTPOINT 8.4 0 10                         
BASEH 0.8                         
ADDINFILENAMES                         
2                         
Box1.spb                         
Box2.spb                         
THINWALLBLOCKMARKBYSTARTPOINT 
SHELBY-cooling-radiator -11.6925  -
0.000511414   0.24487 radiator                         
173
HEXPRESS™/Hybrid 7.2 Tutorials
Input geometries defined with 
"ADDINFILENAMES" are not used for meshing 
but for refinement only and ignored for mapping 
and projection
Specifies a closed thin wall block marking by a 
seed point with "radiator" being specified as the 
prefix of the volume block name. The final block
NUMBNDLAYERS 2                         
Two boundary layers are specified.
LOCALREFINEMENTDEFINITION car_all_
solid 3 3                         
LOCALREFINEMENTDEFINITION car_all_
solid 4 2                         
LOCALREFINEMENTDEFINITION car_all_
solid 5 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-body-top_solid 6 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-fascia-front_solid 6 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-cooling-shroud 6 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-wheels-front_solid 7 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-wheels-rear_solid 7 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-body_solid 6 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-underbody-wheel-wells_solid 6 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-cooling-radiator-walls 7 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-cooling-fan-walls 6 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-grille-louvers 9 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-grille-louvers-thickness 10 1                         
LOCALREFINEMENTDEFINITION 
SHELBY-cooling-radiator 7 1                         
ADDLOCALREFINEMENTDEFINITION 
Box1 4 1 1                         
ADDLOCALREFINEMENTDEFINITION 
Box2 3 1 1                         
174
HEXPRESS™/Hybrid 7.2 Tutorials
Works in the same way as local refinement except 
that it considers only the geometries defined under 
"ADDINFILENAMES". For the third parameter,
BCDEFINITION inlet INL                         
BCDEFINITION outlet OUT                         
BCDEFINITION eulerwall1 SOL                         
BCDEFINITION eulerwall2 SOL                         
BCDEFINITION eulerwall3 SOL                         
BCDEFINITION eulerground SOL                         
BCDEFINITION car_all_solid SOL                         
BCDEFINITION SHELBY-cooling-radiator-
walls SOL                         
BCDEFINITION SHELBY-cooling-radiator 
SOL                         
EXACTSNAPPING 2 1
NEWBUFFERINSERTION 140                        
END                         
Minimizes the deviation of the mesh from the 
geometry. More information can be found in 
"Impeller and Volute" (p. 83), step 7.
Decouples a selection from neighboring selections 
with an angle of 140 degree. 
12. Mesh the geometry with the CONF file "Mustang_mesh01"  with HEXPRESS™/Hybrid. 
How?
7.2.4  Mesh inspection
13. Open the mesh file "Mustang_mesh01.spb"  in HEXPRESS™/View.
14. Go to Selections/ Selection List and note the two volume selections "radiator_block" and 
"thinwall_ block".   These   were   created   by   marking   the   interfaces  between   the   domain   of  the  
radiator and the rest of the domain as "thin-wall". Close inspection at these interfaces (e.g. by 
making a cut in the area of the radiator, see step 15 for this) shows that the mesh is indeed 
conformal.
15. It is interesting to have a look at the cells inside the mesh, especially in the area of the radiator. 
To achieve this a new selection of cells will be made that cuts through the geometry. Afterwards 
this selection can be visualized:
 l Visualize the mesh in its original position using <Ctrl> + <G>,
 l Hit the Back View button in the icon bar,
 l Make sure that "Mustang_mesh01" is activated by left-clicking on it in the project tree,
 l Go to Selections/ Selection List and click Show all to visualize the whole mesh,
 l Go to Selections/Edit Selection,
 l Enter <halfCar> as a name for the selection,
 l Click Create,
 l Select the Pick Mode: add by polygon and click the Pick button,
 l Create a polygon by left-clicking in the graphics area to select half of the car. As a result of the 
higher refinement in the area of the car and especially the tyres, the outline of the car is more or 
less visible. All cells located inside the polygon will be added to the selection. Erroneous picks 
can be removed using <Backspace>,
l Terminate the picking with <Esc>, the new selection is now created and highlighted in a new 
colour.
 l Go   to   Selections/   Selection   List ,   select   the   selection   "halfCar"   and   hit   Show   selected  
selections button,
 l Remove the top part by repeating this step, but keep only the selection"halfCar" active (do not 
hit Show all); and choose remove by polygon as Pick mode. Make sure that the selection 
under Modify selection is still "halfCar". Create a polygon around the part of the selection that 
needs to be removed from the selection.
16. Inspect the mesh. A good way to do this is to select the outer geometry of the car and the 
ground:
l Go to Selections/ Selection List,
 l Select the selections "eulerground" and "car_all_Solid",
 l Hit Show selected selections,
 l Rotate and zoom to inspect the mesh.
Note that the applied refinements are sufficient to capture almost the complete geometry of  the 
car, especially on the grille. Additionally, the edge between the wheel and the ground is well 
captured too.
7.2.5  Viscous layers insertion
Add viscous layers to the mesh with the keyword "BNDLAYERINSERT".
17. Open the CONF file "Mustang_mesh01.conf"  and add viscous layers to the mesh with the 
keyword   "BNDLAYERINSERT".   Also   change   the   name   of   the   output   file   as   < Mustang_
mesh02.spb>. Save the CONF file as <Mustang_mesh02.conf>:
The viscous layers are inserted on both the boundary 
layers on the car body.
BNDLAYERINSERT eulerground 1 2 1.2 0                         
BNDLAYERINSERT car_all_solid 1 5 1.2 0                         
BNDLAYERINSERT car_all_solid 2 2 1.2 0                         
BNDLAYERINSERT SHELBY-cooling-
radiator-walls 1 5 1.2 0                         
BNDLAYERINSERT SHELBY-cooling-
radiator-walls 2 2 1.2 0                         
18.   Mesh   the   geometry   with   the   CONF   file   "Mustang_ mesh02.conf" with  
HEXPRESS™/Hybrid. How?
19. Open the mesh "Mustang_mesh02.spb" in HEXPRESS™/View.
20. Make a cut through the radiator to visualize the mesh in this area . Inspection of 
the area around the radiator shows that the mesh is still conformal.
21. A quality report of the mesh can be found in HTML format in the folder "Report_Mustang_
mesh02". The mesh quality can also be checked directly from HEXPRESS™ Viewer. Go to 
Mesh Analysis/ Report and hit the Calculate and mark selections button.
7.3  CONVERT THE MESH WITH DATAMAPPER
In order to run a computation with FINE™/Open, the mesh has to be saved with .sph format. The 
mesh "Mustang_mesh02.spb"  can be converted with HEXPRESS™/Datamapper into a multi-
block   mesh   in   .sph- format   that   can   be   read   by   FINE™/Open.   Learn   more   about  
HEXPRESS™/Datamapper in the documentation.
22. Open the configuration file for HEXPRESS™/Datamapper "Mustang_datamapper.conf"  and 
compare it to the description below.
READMESH Mustang_mesh02.spb                         
Specify the mesh that must be opened.
Specify the boundary types to make sure they 
are transferred correctly.
BCDEFINITION inlet INL                         
BCDEFINITION outlet OUT                         
BCDEFINITION eulerwall1 SOL                         
BCDEFINITION eulerwall2 SOL                         
BCDEFINITION eulerwall3 SOL                         
BCDEFINITION eulerground SOL                         
BCDEFINITION car_all_solid SOL                         
BCDEFINITION SHELBY-cooling-radiator-walls 
SOL                         
BCDEFINITION radiator_block|thinwall_
block|SHELBY-cooling-radiator SOL                         
BCDEFINITION thinwall_block|radiator_
block|SHELBY-cooling-radiator SOL                         
WRITEMESH Mustang_mesh03.sph                         
Specify the name and type of the output file.
END                         
To indicate the end of the instructions.
Contrary  to  writing  configuration  files  for   HEXPRESS™/Hybrid,  the  order   of   the  keywords  does 
matter for HEXPRESS™/Datamapper.
23. Launch HEXPRESS™/Datamapper with the configuration file "Mustang_datamapper.conf". 
How?
24. The generated mesh will be saved in SPH format, including a series of files that contain the 
mesh topology, geometry, grid points and the boundary condition types, etc:
 l <*.bcs>: boundary condition file,
 l <*.dom>: geometry file,
 l <*.fnmb>: FNMB connections file,
 l <*.fnmbh>: multiblock definition file,
 l <*.igg>: topology file,
 l <*.sph>: grid points file.
25. Open the mesh "Mustang_mesh03.sph"  in:
 l HEXPRESS™/View:  two   volume   selections  ("thinwall_ block"   and   "radiator_ block"),   the  
different surfaces indicated by "inlet", "outlet", "eulerwall1", "eulerwall2", "eulerwall3", "car_
all_ solid",   "SHELBY- cooling- radiator- walls",   and   two   thinwalls   named   "thinwall_
block|radiator_ block|SHELBY- cooling-
block|SHELBY-cooling-radiator" are available.
radiator"   and   "radiator_ block|thinwall_
 l FINE™/Open: two domains are available: "thinwall_block" and "radiator_block" (note that 
the mesh cannot be loaded since no '.hex'-file is present).
TUTORIAL 8. 
KITEBOARD
In this section
8.1 Introduction
8.2 Mesh Generation
184
184
8.1 
INTRODUCTION
8.1.1 
Problem description
Kitesurfing is a relatively young but fast growing sport. The technology for the gear is in full 
development and a lot of new ideas are being explored. One example of this is to fit fins to the 
board that lift the board out of the water, similar to the hydrofoil principle used in ship design. 
This tutorial revolves around the creation of a mesh of the external (water) domain around this 
"kitefoil" kiteboard for an assessment of the flow around it.
8.1.2  Objective
The   objective   of   this   tutorial   is   to   showcase   the   automation   meshing   capabilities   of  
HEXPRESS™/Hybrid.   In   this   tutorial   the   main   focus   is   to   show   the   strength   of  
HEXPRESS™/Hybrid by creating a mesh without a detailed assessment of the geometry.
8.2  MESH GENERATION
8.2.1  Automated mesh generation
From a geometrical point of view, refinement is necessary in two cases in order to be able to 
capture the geometry accurately:
l In curved areas the refinement needs to be higher in order for the mesh to follow the curvature 
accurately. Generally speaking, the higher the curvature, the higher the necessary refinement,
 l Where surfaces are close to each other, refinement is necessary to have a reasonable number of 
cells between the surfaces.
A good mesh to capture the flow is subject to more complex refinement requirements (e.g. when 
one wants to capture shock waves or turbulent flow), but it is still true that curved areas and 
narrow   areas   in   the   domain   will   lead   to   higher   gradients   in   the   flow   and   therefore   higher  
refinement of the mesh in these areas is appropriate.
Therefore it makes sense to base the first mesh definition on these criteria: proximity of surfaces to 
each other and curvature. HEXPRESS™/Hybrid can do this almost fully automatically using the 
keywords "PROXIMITYGROUP" and "LOCALCURVREFINEMENTDEFINITION".
4.   To   generate   the   mesh   for   this   case   we   have   created   a   configuration   file   "kiteboard_
mesh01.conf"   which is available in the  tutorial package. 
8.2.2  Prepare the geometry
1. Launch HEXPRESS™/View (How to start HEXPRESS™/View?).
2. Go to File/ Open Config... to load the "kiteboard_mesh01.conf" into the Viewer (download 
the HEXPRESS™/Hybrid tutorial archive). By doing this, the geometry file "kiteboard.spb.gz" 
and the position of  the  Startpoint used  will  be  imported  as well.  More  details on File/Open  
Config... can be found in Menu and Icon bar.
3. Visualize the geometry:
 l Activate "kiteboard" in the object tree;
 l go toSelections/ Selection List, select the selection "external_box|zmax"  and the group of 
selections "body" by using <Ctrl> + Click (a group of selections can be easily selections can 
be easily selected by selecting the group name instead of all its members separately);
 l Click Show Selected selections to only show the selected selections.
The geometry consists of the submerged part of the kiteboard. For the sake of this discussion, the 
face "zmax" can be considered to be the water surface. The kiteboard is under angle with respect 
to the normal of the water surface.
4. Visualize the "StartPoint":
 l Activate the "StartPoint" in the object tree;
 l go toSelections/ Selection List , right-click on Startpoint and select Show selection's position. 
Make the geometry transparent to see the Startpoint that is shown in red.
5. Launch HEXPRESS™/Hybrid with the CONF  file "kiteboard_mesh01.conf"  to mesh the 
geometry (How to start HEXPRESS™/Hybrid (Mesher)?).
A description of the "kiteboard_mesh01.conf"  CONF file is given below:
INFILENAMES                         
1                         
kiteboard.spb.gz                         
OUTFILENAME                         
kiteboard_mesh01.spb.gz                         
USEBINFILEVERSION 11                         
SUPPRESSPREFIX                         
MARKBYSTARTPOINT 4 0 -2                         
BASEH 0.4                         
NUMBNDLAYERS 1                         
CHECKGEOMETRYCOMPLETE 0                         
EXACTSNAPPING 2 1                         
SMARTPROJECTIONOFEDGES                         
SMARTSTARTPOINTMARKING                         
CORNERIDENTIFICATION 2                         
CREATESELECTIONSBYANGLE 
ALLEDGES SPLIT body_ed 20                         
1                         
body|*                         
CREATESELECTIONSBYANGLE 
ALLEDGES SPLIT ext_ed 40                         
1                         
external_box|*                         
PROXIMITYGROUP 0 30 1 20                         
1                         
body_ed*                         
PGPARAMETER maxsize 0.005                         
PGPARAMETER minsize 0.00001                         
General keywords.
Advanced parameters that can be added to improve 
the mesh quality. For more information, please 
refer to the documentation: hybrid keywords and 
documentation: expert parameters.
Keyword to improve the capturing of corners with  
degree of 3 and 4, as well as saddle type corners 
(the degree is related to the number of 
characteristic edges/selections ending in that 
corner). Please refer to the documentation for 
more information.
Creation of "allEdge"-selections to create 
selections with characteristic edges for the whole 
geometry.
Apply proximity refinement to the whole geometry 
of the kitefoil.
"PGPARAMETER" is a non-mandatory keyword. 
This allows the user to control cell sizes in the 
domain.
LOCALREFINEMENTDEFINITION body|* 6 
1                         
Due to the large choice of "BASEH" (on the order 
of the size of the kitefoil), the mesh is refined near 
the whole geometry of the kitefoil.
LOCALCURVREFINEMENTDEFINITION 
body_ed* 0 30 1 8
Curvature refinement to the whole geometry of the 
kitefoil.
BCDEFINITION external_box|zmax EXT
Boundary condition settings.
BCDEFINITION external_box|ymin EXT
BCDEFINITION external_box|xmin EXT
BCDEFINITION external_box|ymax EXT
BCDEFINITION external_box|zmin EXT
BCDEFINITION external_box|xmax EXT
BCDEFINITION body|extension_side1 SOL
BCDEFINITION body|extension_side2 SOL
BCDEFINITION body|extension_tail SOL
BCDEFINITION body|extension_fillet SOL
BCDEFINITION body|tail_wing_top SOL
BCDEFINITION body|tail_wing_botom SOL
BCDEFINITION body|front_wing_top SOL
BCDEFINITION body|front_wing_bottom SOL
BCDEFINITION body|fulage_connection SOL
BCDEFINITION body|tail_wing_connection 
SOL
BCDEFINITION body|front_wing_connection 
SOL
BCDEFINITION body|rader_wing_side1 SOL
BCDEFINITION body|rader_wing_side2 SOL
BCDEFINITION body|fulage_3 SOL
BCDEFINITION body|fulage_4 SOL
BCDEFINITION body|fulage_5 SOL
BCDEFINITION body|fulage_1 SOL
BCDEFINITION body|fulage_2 SOL
END
8.2.3  Additional refinement
6. After the meshing is completed, launch HEXPRESS™/View if necessary or delete the existing 
object in the view by selecting it in the project tree and using the Delete button in the icon bar 
(alternatively, <Del> on the keyboard can be used).
7. Open the mesh "kiteboard_mesh01.spb.gz".
8. Inspect the mesh:
 l Select "kiteboard_mesh01" in the project tree, right-click on it and activate the option Wire 
Frame,
 l Go to Selections/ Selection List, select the selection group "body" and click Show Selected 
selections to show only the mesh projected on the geometry,
 l Inspect the mesh closely in the area of the selections containing "extension"  (the strut) or 
"connection" (connections of wings, struts and other geometry to the "fuselage"). The areas of 
interest are highlighted in the following figure.
FIGURE 8.1 
Zoomed view of the fuselage-strut connection
FIGURE 8.2 
Zoomed view of the body extension part
9. As is visible from the figures in step 8, there are still some areas needed more refinements. 
Hence   it   is   necessary   to   define   additional   refinements   in   these   areas.   Open   the   CONF   file  
"kiteboard_ mesh01.conf"  and   add   appropriate   refinement   near   the   selections   containing  
"extension" and "connection". Afterwards save the CONF file as <kiteboard_mesh02.conf>.
LOCALCURVREFINEMENTDEFINITION *_connection 0 30 2 8                         
LOCALREFINEMENTDEFINITION *_connection 10 1                         
LOCALREFINEMENTDEFINITION *extension_* 8 1                         
10. Launch HEXPRESS™/Hybrid with the CONF file "kiteboard_mesh02.conf"  to mesh the 
geometry. 
11.   After   the   meshing   is   completed,   launch   HEXPRESS™/View   if   necessary   or   delete   the  
existing object in the view by selecting it in the project tree and using the Delete button in the icon 
bar (alternatively, <Del> on the keyboard can be used).
12. Open the mesh "kiteboard_mesh02.spb.gz" and verify that the regions previously identified as 
insufficiently refined are appropriately refined now.
FIGURE 8.3 
Zoomed view of the fuselage-strut connection
FIGURE 8.4 
Zoomed view of the front wing connection
TUTORIAL 9. 
COMBUSTION CHAMBER
In this section
9.1 Introduction
9.2 Mesh Generation
195
198
9.1 
INTRODUCTION
9.1.1 
Problem description
The geometry of the KJ-66 Micro Turbo Jet Engine is shown below. We will focus  only on the 
combustion chamber which has a periodicity of 6.
Only one periodic section of the combustion chamber will be meshed in order to reduce the 
number of cells and save computational resources. The fuel is injected from the inlet of the fuel 
injector and the combustion takes place in the center of the annular chamber.
9.1.2  Objectives
This tutorial demonstrates how  to mesh the combustion chamber using the periodic matching 
meshing tool within HEXPRESS™/Hybrid. The periodic matching connection reduces the CPU 
time by meshing only a division of the geometry. At the same time it guarantees accurate results 
of the computational models the matching faces at the interface avoid the need to perform any 
interpolation. 
The capability of the new optimization method will also be demonstrated.
9.2  MESH GENERATION
9.2.1 
Prepare the geometry
1. Launch HEXPRESS™/View.  How?
2.   Open   the   geometry   file   "combustion- chamber- sector.spb.gz"
HEXPRESS™/Hybrid tutorial archive).
( download   the  
3. Compute the start point of the geometry for mesh generation:
 l Go to Algorithms/Surface/Startpoint and click on Compute button.
All the selections (except thin walls) should be activated for start point computation. The computation 
may fail if the geometry is not conformal or contains holes. 
4. Visualize the start point:
 l Hide the "per_1" selection and rotate the geometry to get the view shown below.
l The calculated start point can be visualized in the GUI by a small blue sphere. Or to quickly 
locate it, you can make the geometry transparent with the shortcut key <t>.
l The   coordinate   of   the   start   point   can   be   copied   and   pasted   in   the   CONF   file   for  
MARKBYSTARTPOINT keyword.
5. Open the two geometries "ref-box.spb.gz" and "ref-cylinder.spb.gz"  for volume refinements. 
They are needed to capture the significant gradient in flow properties occurred close to the inlet of 
the fuel injector and in the inner part of the combustion chamber.
Refinement boxes can be created in any CAD software or in HEXPRESS™/View for basic shapes. 
The geometries can be as complex as needed depending on the configuration.
9.2.2  Automated mesh generation
6.   To   generate   the   mesh   for   this   case   we   have   created   a   configuration   file   "chamber_
mesh01.conf"   which   is   available   in   the   tutorial   package.   A   description   of   the   "chamber_
mesh01.conf"  CONF file is given below:
INFILENAMES
combustion-chamber-sector.spb.gz
OUTFILENAME
per-mesh-01.hex
USEBINFILEVERSION 11
SUPPRESSPREFIX
MARKBYSTARTPOINT -34.8732   27.006   58.35
BASEH 8
NUMBNDLAYERS 1
NEWBUFFERINSERTION 120
WRITESPBMESH
ADDINFILENAMES
ref-sector.spb.gz
ref-cylinder.spb.gz
ADDLOCALREFINEMENTDEFINITION ref-sector 4 
0 1
ADDLOCALREFINEMENTDEFINITION ref-cylinder 
7 0 1
CHECKGEOMETRYCOMPLETE 0                         
CORNERIDENTIFICATION 2 
EXACTSNAPPING 2 1
EXACTMESHING                      
General keywords.
An additional *.spb mesh will be saved. 
This is useful for visualization in the 
Viewer.
Apply volume refinements for the 
combustion chamber.
4 level of volume refinement is used for 
the ref-sector.
7 level of volume refinement is used for 
the ref-cylinder.
Keyword to correctly orient the 
geometry. A correctly oriented geometry 
is essential to getting a properly captured 
and refined mesh.
Keywords to improve the capturing of 
corners with  degree of 3 and 4, as well 
as saddle type corners (the degree is 
related to the number of characteristic 
edges/ selections ending in that corner). 
Please refer to Edge Capturing for more 
information.
CREATESELECTIONSBYANGLE ALLEDGES SPLIT 
Geom_ed 20
cc*
fuel_inlets
per*                        
PROXIMITYGROUP 0 10 1 11
Geom_ed*
AUTOLOCALREFINEMENTDEFINITION 10 1
Geom_ed*                        
LOCALCURVREFINEMENTDEFINITION Geom_ed* 
0 10 1 8                        
PERIODICCONNECTIONROTATE
1 
per_1
1 
per_2
0 0 0
0 0 1
Creation of "allEdge"-selections  with 
characteristic edges for the whole 
geometry with prefix "Geom_ed". The 
threshold angle used for this case is 20 
degrees.
A threshold angle of 20 degrees should 
be used with caution because if the 
geometry is complex and "not clean", 
there may be a lot of unnecessary  
"allEdge"-selections created through this 
small angle. A threshold angle of 40 
degrees is always recommended.
Apply proximity and automatic local 
refinement to the whole geometry of the 
combustion chamber by using wildcard 
asterisk on "allEdge"-selections created 
with prefix "Geom_ed". 
The maximum number of refinement is 
limited at 10.
Curvature refinement to the whole 
geometry of the combustion chamber. 
The maximum number of refinement is 
limited at 10.
The periodic connection is defined by 
specifying:
number of selections on the left side;
list of selections;
number of selections on the right side;
list of selections;
the axis of rotation ( 0 0 1);
rotation center (0 0 0);
with a periodicity of 6.
See also: Periodic matching mesh 
generation
Boundary condition settings:
PER should be defined for the two 
periodic faces and SOL for the rest of 
the geometry.
BCDEFINITION per_1 PER
BCDEFINITION per_2 PER
BCDEFINITION cc_fuel_wall SOL
BCDEFINITION cc_top_cover SOL
BCDEFINITION cc_top SOL
BCDEFINITION cc_inner_ring SOL
BCDEFINITION cc_outer_ring SOL
BCDEFINITION cc_outer_walls SOL
BCDEFINITION cc_shaft_walls SOL
BCDEFINITION cc_upper_wall SOL
BCDEFINITION cc_upper_rot_stat_intf2 SOL
BCDEFINITION cc_upper_rot_stat_intf3 SOL
BCDEFINITION cc_lower_wall SOL
BCDEFINITION cc_lower_wall_2 SOL
BCDEFINITION fuel_inlets SOL
BNDLAYERREDIM only_one_sector_vl 2 1.2 0 1                      
Define the viscous layers for the domain.
END
7.   Launch   HEXPRESS™/Hybrid   with   the   CONF   file   "chamber_ mesh01.conf"   to   mesh   the  
geometry. How?
9.2.3  Mesh visualization
8.   Open   the   mesh   "per- mesh- 01.spb.gz"   in   the   Viewer.   Check   that   the   periodic   matching  
connection is created:
 l select the mesh and click on Copy 
 button;
 l make sure that the mesh is not activated before clicking the Paste 
 button;
 l rotate the newly pasted mesh by 60 degrees along the Z axis;
 l change the default selection colors of the pasted mesh;
 l activate   Wire   Frame   for   both   meshes,   the   periodic   connection   generated   can   be   clearly  
observed.
9. Inspect the mesh:
 l activate the per_2 selection and right-click to select Remove from view option;
 l zoom in to see the mesh details.
10. Check the mesh quality. The total number of cells for the mesh is around 8M cells. The three 
main criteria are:
 l Maximum equiangular skewness: 0.920
 l Maximum adjacent volume ratio: 36.714
 l Maximum expansion ratio: 15.396
9.2.4  Additional optimization
11. The quality of the mesh can be further improved by adding a specific type of optimization. 
This type of optimization  improves the mesh quality, in particular, the equiangular skewness, 
adjacent volume ratio and expansion ratio. Add this keyword in the CONF file and save it as  
"chamber_mesh02.conf".
OPTIPARAMETER 0                        
or                       
OPTIPARAMETER fulloptimization                        
12.  Launch HEXPRESS™/Hybrid with the CONF file "chamber_mesh02.conf"  to mesh the 
geometry. How?
13. Check the mesh quality once again. The three main criteria are improved significantly:
 l Maximum equiangular skewness: 0.866
 l Maximum adjacent volume ratio: 15.539
 l Maximum expansion ratio: 12.334
Mesh visualization in HEXPRESS™
14. Open the mesh "per_mesh02.hex" in HEXPRESS™ and verify that the periodic matching 
connections are present.
 l Launch HEXPRESS™. How?
 l Import the "per-mesh-02.hex" mesh into the GUI. A warning pop-up asking about missing 
*.nmb file appears. 
 l Click Cancel to proceed. Since the mesh is not generated by HEXPRESS™, therefore this 
warning   should   be   ignored.   By   clicking   cancel,   the   PER   connections   generated   by  
HEXPRESS™/Hybrid will be kept.
 l Open the Boundary condition window to visualize the PER connections.
208
HEXPRESS™/Hybrid 7.2 Tutorials
© NUMECA International, all rights reserved
EN201805172214

Demo Cases HEXPRESS™

HEXPRESS™  is packed with a set of 13 demo cases. These are "ready-to-run" public cases which include all the necessary elements to generate a mesh with a limited number of clicks. They must be understood as a complement to tutorials and necessitate basic knowledge in the management of the graphical user interface.
Each demo case is completed with illustrative pictures of the resulting meshes.
The mesh files are not included in the package but can be quickly reproduced through the execution of the related templates, as follows:

open HEXPRESS™  graphical user interface;
load the desired ".igg" file;
execute the wizard for each domain;
save the mesh.

The main characteristics of the demo cases are listed here below. 
		All the demo case files can be downloaded here or found on the Products page of the Customer Area of www.numeca.be.


Demo Case 1 : 2D Turbine Blade

Demo Case 2 : Volute

Demo Case 3 : Hydraulic Turbine Draft Tube

Demo Case 4 : NACA 0012 Airfoil

Demo Case 5 : 3-Element Airfoil

Demo Case 6 : LANN Wing CT-9

Demo Case 7 : M33 Projectile

Demo Case 8 : Generic Car Body

Demo Case 9 : Automotive Manifold

Demo Case 10 : 2D Wedge

Demo Case 11 : 3D Solid Body

Demo Case 12 : Simplified Lung Bifurcation

Demo Case 13 : DTMB 5415 


Demo Case 1 : 2D Turbine Blade
 
Introduction
In order to increase the efficiency and the specific power of gas turbine engines, the turbine inlet temperature study is increasingly important. Nevertheless, material progresses are not sufficiently important to guarantee an economically acceptable life span of the components, in contact with the hot gases.
Accordingly, the flow through a turbine nozzle guide vane known as Mark II is considered here. The demo case proposes the generation of a sample 2D viscous mesh in and around a turbine blade.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate meshes both in fluid and solid domains in a unique session.
Grid
The grid, composed of two blocks, is entirely generated using HEXPRESS™  and includes about 24,000 cells (18,000 cells for the fluid and 6,000 for the blade).
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.
Demo Case 2 : Volute
 
Introduction
The demo case proposes the generation of a sample 3D viscous mesh inside a volute. A volute is used to canalize the fluid, to reduce turbulence and to reduce the fluid velocity (due to the increase of the volute section).
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate meshes in non rotating turbomachinery elements.
Grid
The grid, composed of one block, is entirely generated using HEXPRESS™  and includes about 300,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.
Demo Case 3 : Hydraulic Turbine Draft Tube
 
Introduction
The demo case proposes the generation of a sample 3D inviscid mesh inside a hydraulic turbine draft tube. A draft tube is one important part of a turbine, which is used to extract energy from water. This part is a flared passage leading vertically from a water turbine to its tail  race. A turbine draft tube is found within the piping system of a turbine.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate meshes in non rotating turbomachinery elements.
Grid
The grid, composed of one block, is entirely generated using HEXPRESS™  and includes about 600,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.
Demo Case 4 : NACA 0012 Airfoil
 
Introduction
The demo case proposes the generation of a sample 2D viscous mesh around an airfoil. The NACA airfoils are airfoil shapes for aircraft wings developed by the National Advisory Committee for Aeronautics (NACA).
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate 2D meshes around external bodies.
Grid
The grid, composed of one block, is entirely generated using HEXPRESS™  and includes about 73,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.
Demo Case 5 : 3-Element Airfoil
 
Introduction
The demo case proposes the generation of a sample viscous mesh around a 2D multiple-airfoil configuration. High-lift devices such as a typical three-element airfoil are installed on aircraft wings in order to generate an increased maximum lift coefficient of the wing during take-off and landing. An important topic in the final design of the high-lift device is the accurate prediction of the maximum lift coefficient that can be obtained with a given configuration, and the pitching moment characteristics.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate meshes for 2D configurations in external aerodynamics.
Grid
The grid, composed of one block, is entirely generated using HEXPRESS™  and includes about 38,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.
Demo Case 6 : LANN Wing CT-9
 
Introduction
The demo case proposes the generation of a sample inviscid mesh around a generic 3D wing. The LANN wing is the result of a joint effort between Lockheed, the Air Force, NASA and the Netherlands to measure unsteady pressures at transonic speeds. The wing has a semispan of 1 m, a root chord of 0.361 m, a tip chord of 0.144 m and a planform area of 0.25 m².
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate meshes for 3D configurations in external aerodynamics.
Grid
The grid, composed of one block, is entirely generated using HEXPRESS™  and includes about 690,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh. 
Demo Case 7 : M33 Projectile
 
Introduction
The demo case proposes the generation of a sample viscous mesh around a generic projectile. The M33 is a cartridge with a caliber of 0.50 which is used against personnel and unarmored targets. It can be fired from the M82/M107 series of rifles.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate meshes for configurations with multi-block projects in external aerodynamics.
Grid
The grid, composed of two blocks, is entirely generated using HEXPRESS™  and includes about 316,000 cells for the inner block and about 25,000 cells for the outer block for a total of 341,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.
Demo Case 8 : Generic Car Body
 
Introduction
The demo case proposes the generation of a sample viscous mesh around a generic car body.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate meshes for configurations in vehicle aerodynamics.
Grid
The grid, composed of one block, is entirely generated using HEXPRESS™  and includes about 29,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.
Demo Case 9 : Automotive Manifold
 
Introduction
In automotive engineering, an intake manifold or inlet manifold is the part of an engine that supplies the fuel/air mixture to the cylinders. An exhaust manifold or header collects the exhaust gases from multiple cylinders into one pipe. The word manifold refers to the folding together of multiple inputs and outputs (source Wikipedia). The geometric configuration is shown in the following figure. The demo case proposes the generation of a sample 3D viscous mesh inside an automotive manifold volute.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate meshes in complex 3D piping elements.
Grid
The grid, composed of one block, is entirely generated using HEXPRESS™  and includes about 128,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.
Demo Case 10 : 2D Wedge


Introduction
The demo case proposes the generation of a sample 2D inviscid mesh around a ramp (15 degree wedge). This geometry is a compression channel where an oblique shock wave occurs and is commonly used to validate CFD codes.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate 2D inviscid meshes.
Grid
The grid, composed of one block, is entirely generated using HEXPRESS™  and includes about 4,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.
Demo Case 11 : 3D Solid Body
 
Introduction
The demo case proposes the generation of a sample mesh inside a 3D solid body.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate meshes in complex 3D domains.
Grid
The grid, composed of one block, is entirely generated using HEXPRESS™  and includes about 217,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh. 
Demo Case 12 : Simplified Lung Bifurcation
 
Introduction
The demo case proposes the generation of a sample 3D viscous mesh inside a simplified lung bifurcation.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate viscous meshes in 3D domains.
Grid
The grid, composed of one block, is entirely generated using HEXPRESS™  and includes about 255,000 cells.
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.
Demo Case 13 : DTMB 5415 
 
Introduction
The demo case presents the mesh generation around a symmetric 3D boat named as DTMB.
Objective
The objective of this demo case is to demonstrate the ability of HEXPRESS™  to generate meshes for a 3D viscous flow around a boat.
Grid
The grid is entirely generated using HEXPRESS™  , for a total of 292,000 cells including viscous layers.  
Files
The provided files (mainly .bcs, .dom and .igg) are the required inputs to generate the mesh.

Tutorials


Where to Find the Files Used in the Tutorials?
Each of the tutorials starts from mesh generation and uses an existing geometry. The appropriate files (and any other relevant files used in the tutorial) can be downloaded:  download HEXPRESS™ tutorial archive. In addition they are available from the Products page of the Customer Area (www.numeca.be).
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry, either in a ".dom" or CAD related format.
The sequence of actions to be executed are described through a numbered step-by-step approach.
Additional insight about some specific actions and/or features is frequently added to illustrate the tutorial further. This information is for the purpose of clarity and completeness, and should not be executed. It appears as a note with a light blue background.
Contact your NUMECA local sales or support office for any questions or information you may require. To allow NUMECA local sales or support office to help you promptly, please provide a detailed description of the observed behavior and performed analysis.

TUTORIALS
Where to Find the Files Used in the Tutorials?
Each of the tutorials starts from mesh generation and uses an existing geometry. The appropriate 
files are available from the Products page of the Customer Area (www.numeca.be).
Some of the project files (mesh and project, excluding solution files) can also be found in the 
demo cases package dedicated to ready-to-run demonstration cases and presented in the Demo 
Cases   section.   This   allows   to   quickly   generate   a   mesh   and   observe   the   behavior   of  
HEXPRESS™, without necessarily going through all the steps of the tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry, either in a ".dom" 
or CAD related format.
The sequence of actions to be executed are described through a numbered step-by-step approach.
Additional insight about some specific actions and/or features is frequently added to illustrate the 
tutorial further. This information is for the purpose of clarity and completeness, and should not be 
executed. It appears as a note with a light blue background.
Contact   your   NUMECA   local   sales  or   support   office   for   any   questions  or   information   you   may  
require.  To   allow  NUMECA  local   sales  or   support   office  to   help   you  promptly,  please  provide  a 
detailed description of the observed behavior and performed analysis.
BEGINNER
The following Beginner level tutorials for HEXPRESS™ allow to familiarize with the Graphical 
User Interface and basis of the mesh generation process.
TUTORIAL 1. 
AUTOMOTIVE MANIFOLD
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
 l Spatial discretization of the flow equations,
 l Flow computation,
 l Visualization of the results.
For   this  purpose,  NUMECA  has  developed  a  Flow  INtegrated  Environment  with  which  the  flow  in 
internal  and  external  configurations  can  be  simulated.  The  unstructured  CFD package  consists  of  the 
following tools:
 l HEXPRESS™   is   an   automatic   unstructured   Hexahedral   mesh   generator   software   designed   to  
automatically generate meshes for the discretization of complex 2D and 3D geometries,
 l FINE™/Open flow solver is a state-of-the-art multi-domain unstructured code for the solution of 
the Euler and Navier-Stokes equations to compute laminar, transitional and turbulent flow,
 l CFView™ is a highly interactive flow visualization and post-processing software,
 l FINE™ Graphical User Interface is a user-friendly environment that allows the user to accomplish 
all steps, from grid generation to flow visualization.
In the present tutorial, the user will learn how to quickly and efficiently create a sample mesh running 
HEXPRESS™ inside a 3D geometry (internal configuration). The following steps will be discussed:
 l Use HEXPRESS™ user interface,
 l Import an existing domain,
 l Visualize a mesh,
 l Progress in the mesh wizard to generate the mesh,
 l Control the quality of the mesh.
1.1 
INTRODUCTION
1.1.1 
Prerequisites
This tutorial does not require any particular prerequisite.
1.1.2 
Presentation
In automotive engineering, an intake manifold or inlet manifold is the part of an engine that 
supplies the fuel/air mixture to the cylinders. An exhaust manifold or header collects the exhaust 
gases from multiple cylinders into one pipe. The word manifold refers to the folding together of 
multiple inputs and outputs (source Wikipedia). The objective is to demonstrate the ability of 
HEXPRESS™ to mesh such a geometry. The geometric configuration is shown in the following 
figure.
1.1.3 
Preparation
Start HEXPRESS™ . How?
 l For Linux systems, use the following command line:
hexpress -niversion open72 -print  (if in FINE™/Open with OpenLabs™)
or
hexpress -niversion 72 -print (if HEXPRESS™ standalone)
l For Windows systems, you can access the HEXPRESS™  graphical user interface from the 
start menu by going to:
 /Programs/NUMECA software/FineOpen72/HEXPRESS
/Programs/NUMECA software/Hexpress72/HEXPRESS (if HEXPRESS™ standalone)
HEXPRESS™ graphical user interface allows you to visualize the geometry and mesh of the 
internal or external test case in a graphics area. The access to the main menu and controls is 
provided by a menu bar and a quick access pad, and is completed with a tool/icon bar and a 
control area (including the keyboard input area).
1.2  MESH GENERATION
1.2.1 
Open Existing Domain File
The   Welcome   to   HEXPRESS   dialog   box   enables   the   user   to   open   an   ".igg"   project   file  
including the mesh and the data required to regenerate a mesh. In this tutorial, these data will be 
progressively defined and therefore it starts from a domain file ".dom". It should be noticed that 
the   dialog   box   also   enables   to   load   geometrical   files   (Parasolid,   CATIA   v5,   STL),   import  
HEXPRESS™/Hybrid, ANSYS or CGNS meshes, as well as execute Python script.
1. Select Import computational domain <.dom> in the Welcome to HEXPRESS dialog box.
2. Locate and select "automotive_manifold.dom" in the dialog box (download HEXPRESS™ 
tutorial archive) and click on Open or Ok.
1.2.2 
Visualization
Use the viewing buttons at the bottom of the interface to display the geometry as preferred. In the 
View subpanel from the Quick Access Pad, it is possible to:
 l Left-click on the Mesh icon (
) to hide/show mesh (toggle),
 l Left-click on the Solid icon (
) to hide/show faces (toggle),
 l Right-click on the Face icon (
) or left-click on the Face viewer icon (
) to open the 
Face Viewer window.
Face   selection   can   be   done   interactively   in   the   graphics  area   or  thanks  to   the   Face   Viewer  
window.
1.2.3 
Set Boundary Conditions
3. Go to the Grid/Boundary Conditions... menu or click on the Boundary Conditions icon (
) in the Tool bar and set the boundary conditions using the Set face type button:
 l set "manifold_group_#" for 0, 3 and 4 as inlet ("INL"),
 l set "manifold_group_2" as outlet ("OUT"),
 l set "manifold_group_1" as solid ("SOL").
1.2.4  Mesh Wizard: Initial Mesh
5.   Left- click   the   check   box   for   Initial   mesh   in   Mesh   wizard   to   activate   this   step.   The  
corresponding step becomes accessible for the user.
6. Left-click on Initial Mesh and the Initial mesh parameters dialog box appears.
7. In Set the number of divisions along cartesian axis section, enter the following divisions:
 l <11> <Enter> for X axis
 l <6> <Enter> for Y axis
 l <4> <Enter> for Z axis
8. Click on Go to create the Initial Mesh with 264 cells.
9. By default the mesh is not loaded. To visualize the mesh, hit the Mesh button in the View 
subpanel.
1.2.5  Mesh Wizard: Adaptation Step
This   mesh   generation   step   is   probably   the   most   important   in   terms   of   user   interaction   in  
HEXPRESS™.  Indeed,  the   parameters  selected   in   this  action   directly   dictate   the   computed   mesh  
obtained with HEXPRESS™. This adaptation step consists of two successive actions: the refinement 
and the trimming.
During the first step, HEXPRESS™ adapts the initial mesh such that the cell sizes satisfy geometry-
dependent  criteria.  With  the  second  step,  it  removes  the  cells  intersecting  the  geometry  or   located 
outside the computational domain.
10. Left-click the check box for Adapt to geometry. The corresponding step becomes accessible 
for the user.
11. Left-click on  Adapt to geometry to open the Refinement and trimming parameters dialog 
box.
12. Under the Global tab, set the Maximum number of refinements to <3>.
In this action, cells are successively subdivided such that specific geometrical criteria are satisfied.
In   order   to   limit   the   number   of   cells   created   during   refinement,   HEXPRESS™   subdivides   cells  
anisotropically as often as possible. A cell can thus be subdivided in 2, 4 or 8 cells.
The adaptation process successively bisects the cells flagged for refinement. The sizes of the initial mesh 
cells are therefore divided by a factor 2N after N successive refinements. This may result in an exponential 
growth of the  total number of cells in the  mesh. To bound the  number of cells, the  user should set the  
maximum number of refinements to a reasonable limit. The maximum number of refinements should be 
large enough so that the geometry is well captured, but a too large number will result in a big total number of 
cells.
Several global expert parameters are available when clicking on Advanced >>> button to finely tune the 
mesh   adaptation   process.   Since   HEXPRESS™   is   optimized   for   these   defaults,   any   modification   may  
therefore alter the success of the meshing process. More details are available in the User Guide.
13. Left-click on the Surface refinement tab.
The adaptation process is defined by three classes of criteria: curve, surface and volume criteria. The 
surface  criterion  considers  cells  which  are  intersecting  surfaces  as  candidates  for  refinement.  Three 
criteria are implemented and are respectively based on:
 l a proximity between surfaces (Distance),
 l a surface curvature measurement (Curvature),
 l a specification of cell target sizes on the surfaces (Target cell sizes).
The  volume  criterion  (found  in  the Box refinement tab)  considers  cells  which  are  intersecting  or 
located inside a three-dimensional volume as candidates for refinement if their cell size is larger than 
some user prescribed target size.
14. Left-click on "manifold_group_1" in the list of patches.
15. Left-click on Active to access the refinement parameters.
16. Set the Max nb of refinements to <3>.
17. Select the Curvature and Target cell sizes criteria and keep the default values (<0.0>) for X, 
Y and Z axis.
The Max nb of refinements per surface ultimately controls the refinement of cells intersecting that 
surface  (if   it  is  presenting  a  value  lower   than  the  Maximum number  of refinements  from   the 
Global  tab).  This  parameter   supersedes  any   other   selected   adaptation   criteria.  Fine  tuning   of   this 
parameter is useful when it may be difficult to determine the appropriate Target cell size, or if the 
Distance and Curvature criteria yield a prohibitive number of cells. The default value (10000) is 
an   arbitrary   large   number   such   that   the   criteria   are   controlled   by   the   Maximum   number   of  
refinements from the Global tab.
The aim of the Distance criterion is to allow enough refinements of the cells in order to fill any gaps 
between very close surfaces with a sufficient amount of cells.
The   aim   of   the   Curvature   criterion   is  to   automatically   compute   a   target   cell   size   suitable   for  
resolving curved surfaces. Smaller cells are expected where the geometry has high curvature.
The  aim   of   the  Target  cell  sizes   criterion   is  to   enforce  a  user- defined   target   cell   size  for   each  
geometrical   surface.   The   size   of   a   cell   intersecting   a   geometrical   surface   are   compared   to   the  
prescribed user target and the cell is refined until its actual size is lower than the target.
18. Click on Go to launch the adaptation (refinement/ trimming) step.
1.2.6  Mesh Wizard: Snapping/Optimization Steps
19. Left-click the check box for Snap to geometry. The corresponding step becomes accessible 
for the user.
20. Left-click on Snap to geometry and the Snapping parameters dialog box appears.
21. Ensure that Enable snapping is turned on (default) and hit the Ok button to close the dialog 
box.
The  aim  of  this  fully  automated  mesh  step  is  to  project  the  staircase  mesh  obtained  after  the  mesh 
adaptation onto the surface to obtain a good quality, body-conforming mesh. In addition to a simple 
projection   onto   the   geometry,   this   action   involves   sophisticated   algorithms   to   recover   lower-
dimensional geometric features such as corners and curves in the mesh. These algorithms guarantee 
that, when the mesh is projected onto the surface geometry, a mesh vertex is attached to each corner
of the geometry and that a path of mesh edges is attached to the curve.
Layers of additional cells (buffer insertion) are introduced into the mesh to create a body-conforming 
mesh. Finally, a mesh smoothing is performed which moves points on the surface and in the volume.
The mesh obtained after the snapping step may contain poor quality cells which are usually located 
close to corners and curves. Some of these cells are concave or may even present a negative volume. 
HEXPRESS™   provides   specific   algorithms   to   convert   concave   cells   to   convex   ones   by   slightly  
displacing their vertices.
22. Left-click the check box for Optimize to activate the step. The corresponding step becomes 
accessible for the user.
23. Left-click on Optimize and the Optimization parameters dialog box appears.
24. Ensure that Enable optimization is turned on (default) and hit the Ok button.
25. Hit the Start button in Mesh Wizard to snap and optimize the mesh.
26. Left-click on the Mesh quality icon (
) in the Tool bar to check the mesh quality.
An important check of the mesh quality is to detect the presence of negative cells, i.e. cells with a 
negative volume. Negative cells are not allowed in the final mesh to be used for the computation. 
Concave   or   twisted   cells   are   less   likely   to   present  robustness   or   stability   issues   for   solvers,  
however they should also be prohibited.
When  negative,  concave  or  twisted  cells  are  detected,  they  should  be  usually  removed  by  changing 
mesh adaptation settings or advanced settings of snapping/optimization.
27. Check the mesh quality by using the Criterion drop-down list for the following criteria:
 l Negative cells,
 l Concave cells,
 l Twisted cells.
Furthermore, the cell orthogonality, aspect ratio and expansion ratio can be controlled. There are 
presented through histograms. Each bar represents the number of cells whose criterion value is 
included   in   the  bar  interval.   By   left-clicking   on   one  of  the  bars,   the  corresponding   cells  are 
displayed in the graphics area. Cells are displayed in a color varying depending on the value of 
the quality criterion. The Show markers check button activates the display of circle markers for 
each vertex of the displayed cells, which facilitates the localization of the selected cells.
28. After checking the mesh quality, click on Close.
1.2.7  Mesh Wizard: Viscous Layers Insertion Step
29. Left-click the check box for Viscous layers. The corresponding step becomes accessible for 
the user.
30.   Left-click   on   Viscous   layers   and   the   Viscous   layers   insertion   parameters   dialog   box  
appear.
31. Under the Global tab, keep Fixed first layer thickness Method --> Inflate viscous layers --
> Floating number of layers active. Do not change the range, it will be adapted automatically.
32. Click on the Surface tab.
33. Left-click on "manifold_group_1" and click on Active to access the parameters.
34. Left-click on the Compute button. This button opens a pop up window  to compute the 
necessary first layer thickness.
The width of the first cell close to the wall must be selected with care since the quality of the flow solution 
will often depend upon the capture of the flow phenomena inside the boundary layers which develop along 
the   solid  walls.   Depending  upon  the   turbulence   model  selected,   NUMECA   recommends   to  locate   the  
nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 
(low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be 
modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the 
Blasius equation, expressed as follows for turbulent flows:
where:
 l Ywall is the distance of the nearest grid point to the wall (in meter),
 l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s),
 l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density,
 l Lref is a reference length of the test case (in meter),
 l Y1
+ is a non-dimensional value.
In the present case, Vref = 50 m/s ; Lref = 0.04 m ; ν = 1.716e-05 m²/s. To get Y1
it comes Ywall = 8.11678e-6 m.
35. Set the inputs accordingly as shown below  and click on Apply to validate the first layer 
thickness.
+ = 1 at the wall, 
36. Keep 1.2 for the stretching ratio.
37.   Click   on   the   Apply   button   to   use   the   advised   value   of   viscous   layers   (set   to   24).  
HEXPRESS™ gives an indication about the appropriate number of viscous layers to insert. This 
number is computed based on the current mesh after optimization (this indication is not available 
if the optimization step is not performed yet). This value will be the minimum to activate the 
inflation method.
40. Repeat step 26 to step 28 to check the mesh quality after the viscous layers insertion.
1.2.8 
Save Mesh
41. Go to Project/Save as... or click on the Save icon (
) in the Tool bar.
42. Under the "_mesh" folder (if FINE™/Open project), enter the name of the mesh project as 
<automotive_manifold.igg> and hit the Ok or Save button to save the mesh files.
The mesh folder contains the mesh topology, geometry, grid points and the boundary condition 
types among other. The files are listed below:
 l .bcs: boundary conditions files,
 l .dom: geometry files,
 l .igg: topology file,
 l .hex: grid points files,
 l .rep: report file,
 l .dist: distance file (prefix is domain name),
 l .fnmb: FNMB connections,
 l .qualityReport: quality report file.
In addition a subdirectory named "cache" contains the resulting mesh files after each step of the 
mesh generation (for example "_snap.hex" as resulting mesh after snapping process). It allows for 
deleting some steps and coming back to a previous one without generating the necessary steps 
again.
TUTORIAL 2. 
TURBINE MARK II
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
 l Spatial discretization of the flow equations,
 l Flow computation,
 l Visualization of the results.
For   this  purpose,  NUMECA  has  developed  a  Flow  INtegrated  Environment  with  which  the  flow  in 
internal and external configurations can be simulated.
The unstructured CFD package consists of the following tools:
 l HEXPRESS™   is   an   automatic   unstructured   Hexahedral   mesh   generator   software   designed   to  
automatically generate meshes for the discretization of complex 2D and 3D geometries,
 l FINE™/Open flow solver is a state-of-the-art multi-domain unstructured code for the solution of 
the Euler and Navier-Stokes equations to compute laminar, transitional and turbulent flow,
 l CFView™ is a highly interactive flow visualization and post-processing software,
 l FINE™ Graphical User Interface is a user-friendly environment that allows the user to accomplish 
all steps, from grid generation to flow visualization.
In this present tutorial, the user will learn how to quickly and efficiently create a sample mesh of  a 2D 
internal application running  HEXPRESS™.
The following steps will be discussed:
 l Use HEXPRESS™ user interface,
 l Import an existing domain,
 l Visualize a mesh,
 l Progress in the mesh wizard to generate the mesh,
 l Control the quality of the mesh.
2.1 
INTRODUCTION
2.1.1 
Prerequisites
This tutorial does not require any particular prerequisite.
2.1.2 
Presentation
In order to increase the efficiency and the specific power of gas turbine engines, the turbine inlet 
temperature study is increasingly important. Nevertheless, material progresses are not sufficiently 
important to guarantee an economically acceptable life span of the components, in contact with 
the hot gases. Accordingly, the flow through turbine nozzle guide vane known as Mark II is here 
considered. The objective is to demonstrate the ability of FINE™/Open to predict aerodynamic 
effects and conjugate heat transfer phenomena occurring in a 2D high-pressure turbine blade.
2.1.3 
Preparation
Start HEXPRESS™ . How?
 l For Linux systems, use the following command line:
hexpress -niversion open72 -print  (if in FINE™/Open with OpenLabs™)
or
hexpress -niversion 72 -print (if HEXPRESS™ standalone)
 l For Windows systems, you can access the HEXPRESS™  graphical user interface from the 
start menu by going to:
 /Programs/NUMECA software/FineOpen72/HEXPRESS
/Programs/NUMECA software/Hexpress72/HEXPRESS (if HEXPRESS™ standalone)
HEXPRESS™ graphical user interface allows you to visualize the geometry and mesh of the 
internal or external test case in a graphics area. The access to the main menu and controls is 
provided by a menu bar and a quick access pad, and is completed with a tool/icon bar and a 
control area (including the keyboard input area).
2.2  MESH GENERATION
2.2.1  Open Existing Domain File
The   Welcome   to   HEXPRESS   dialog   box   enables   the   user   to   open   an   ".igg"   project   file  
including the mesh and the data required to regenerate a mesh. In this tutorial, these data will be 
progressively defined. That is why the tutorial starts from a domain file ".dom". It should be 
noticed that the dialog box also enables to load geometrical files (Parasolid, CATIA v5, STL), 
import HEXPRESS™/Hybrid, ANSYS or CGNS meshes, as well as execute Python script.
1. Select Import computational domain <.dom> in the Welcome to HEXPRESS dialog box.
2. Locate and select "turbine_MarkII.dom" in the dialog box  (download HEXPRESS™ tutorial 
archive) and click on Open or Ok.
2.2.2  Visualization
Use the viewing buttons at the bottom of the interface to display the geometry as preferred. In the 
View subpanel from the Quick Access Pad, it is possible to:
 l Left-click on the Mesh icon (
) to hide/show mesh (toggle),
 l Left-click on the Solid icon (
) to hide/show faces (toggle),
 l Right-click on the Face icon (
) or left-click on the Face viewer icon (
) to open the 
Face Viewer window.
Face   selection   can   be   done   interactively   in   the   graphics  area   or  thanks  to   the   Face   Viewer  
window.
2.2.3 
Set Boundary Conditions
3. Left-click on the 2D button to change the grid generation mode in the Tool bar and hit Yes in 
the pop-up window to confirm.
The three-dimensional mesh generation mode is the default configuration. A two-dimensional domain 
is still three-dimensional, however it is then bounded in the Z-direction by two planes, parallel to the 
2D mesh generation plane separated by an arbitrary distance. HEXPRESS™ will only generate one 
cell in the Z-direction. A valid two-dimensional mesh project is obtained if the following conditions 
are met:
 l The axes of the two-dimensional domain are assumed to be X and Y.
 l The Z-axis is assumed orthogonal to the 2D plane of interest.
 l The two planes orthogonal to the Z-axis are flagged as mirror surfaces (MIR).
The  two- dimensional  grid  generation  mode  in  the  Icon  bar   must  be  selected  before  executing  any 
action on the mesh wizard. All specific mesh action parameters related to the Z-axis are disabled in 
this  mode.  Therefore,  changing  the  mesh  generation  mode  during  the  mesh  generation  may  lead  to 
unpredictable behavior of the mesh generator.
4. Go to the Grid/Boundary Conditions... menu or click on the Boundary Conditions icon (
) in the Tool bar and set the boundary conditions using the Set face type button:
 l "fluid_group_1" as outlet ("OUT");
 l "fluid_group_3" as inlet ("INL");
 l "fluid_group_4" and "fluid_group_5" as mirror ("MIR");
 l "blade_group_0" and "blade_group_1" as mirror ("MIR").
5. Close the dialog box.
2.2.4  Mesh Wizard Fluid Block: Initial Mesh
6. The current domain file contains two different domains: the "fluid" and the "blade" (solid) part. 
The selection of one of the two can be done directly by left-clicking on it in the graphics area or 
via the Active domain drop-down list in the Tool bar. Select "fluid" as the Active domain from 
the drop-down list or through the graphics area.
7.   Left- click   the   check   box   for   Initial   mesh   in   Mesh   Wizard   to   activate   the   step.   The  
corresponding   step   becomes   accessible   for   the   user.   The   same   behavior   is   applied   for   the  
following steps in the Mesh Wizard.
8. Left-click on  Initial mesh and the Initial mesh parameters dialog box appears.
9. Set Nb of cells to <500> and click on the Auto button.
By using the Auto button, HEXPRESS™ computes the required number of cells in each direction to 
get an isotropic mesh. The total number of cells may then vary (here the number of cells is adapted 
from 500 to 493).
10. Click on Ok in the dialog box and then the Step button from the Mesh Wizard or hit the Go 
button directly to create the initial mesh with 493 cells. By default the mesh is not loaded. To 
visualize the mesh, hit the Mesh button in the View subpanel.
2.2.5  Mesh Wizard Fluid Block: Adaptation Step
A.  Refinement
This   mesh   generation   step   is   probably   the   most   important   in   terms   of   user   interaction   in  
HEXPRESS™.  Indeed,  the   parameters  selected   in   this  action   directly   dictate   the   computed   mesh  
obtained with HEXPRESS™. This adaptation step consists of two successive actions: the refinement 
and the trimming.
During the first step, HEXPRESS™ adapts the initial mesh such that the cell sizes satisfy geometry-
dependent  criteria.  With  the  second  step,  it  removes  the  cells  intersecting  the  geometry  or   located 
outside the computational domain.
11. Left-click the check box for Adapt to geometry in Mesh Wizard.
12. Click on Adapt to geometry and the Refinement and trimming parameters dialog box 
appears.
13. Under the Global tab, set the Maximum number of refinements to <6>.
In this action, cells are successively subdivided such that specific geometrical criteria are satisfied.
In   order   to   limit   the   number   of   cells  created   during   refinement,  HEXPRESS™  subdivides  cells 
anisotropically as often as possible. A cell can thus be subdivided in 2, 4 or 8 cells.
The adaptation process successively bisects the cells flagged for refinement in one or several different 
directions. The sizes of the initial mesh cells are therefore divided by a factor 2N after N successive 
refinements. This may result in an exponential growth of the total number of cells in the mesh, even 
though  the  refinement  may  be  confined  to  some  areas  of  the  computational  domain.  To  bound  the 
number of cells, the user should set the maximum number of refinements to a reasonable limit.
Several global expert parameters are available when clicking on Advanced >>> button to finely tune 
the  mesh  adaptation  process.  Since  HEXPRESS™  is  optimized  for  these  defaults,  any  modification 
may therefore alter the success of the meshing process. More details are available in the User Guide.
14. Left-click on the Surface refinement tab.
The adaptation process is defined by three classes of criteria: curve, surface and volume criteria. The 
surface  criterion  considers  cells  which  are  intersecting  surfaces  as  candidates  for  refinement.  Three
criteria are implemented and are respectively based on:
 l a proximity between surfaces (Distance),
 l a surface curvature measurement (Curvature),
 l a specification of cell target sizes on the surfaces (Target cell sizes).
The  volume  criterion  (found  in  the Box refinement tab)  considers  cells  which  are  intersecting  or 
located inside a three-dimensional volume as candidates for refinement if their cell size is larger than 
some user prescribed target size.
15. Select "fluid_group_6". The selected solid faces are highlighted in the graphics area. Left-
clicking on faces in the graphics area allows selecting them as well.
16. Click on Active to access the refinement parameters.
17. Set the Max nb of refinements to <6>.
18. Select the Target cell sizes criterion and keep the default values.
The Max nb of refinements per surface ultimately controls the refinement of cells intersecting that
surface  (if   it  is  presenting  a  value  lower   than  the  Maximum number  of refinements  from   the 
Global  tab).  This  parameter   supersedes  any   other   selected   adaptation   criteria.  Fine  tuning   of   this 
parameter is useful when it may be difficult to determine the appropriate Target cell size, or if the 
Distance and Curvature criteria yield a prohibitive number of cells. The default value (10000) is 
an   arbitrary   large   number   such   that   the   criteria   are   controlled   by   the   Maximum   number   of  
refinements from the Global tab.
The aim of the Distance criterion is to allow enough refinements of the cells in order to fill any gaps 
between very close surfaces with a sufficient amount of cells.
The   aim   of   the   Curvature   criterion   is  to   automatically   compute   a   target   cell   size   suitable   for  
resolving curved surfaces. Smaller cells are expected where the geometry has high curvature.
The  aim   of   the  Target  cell  sizes   criterion   is  to   enforce  a  user- defined   target   cell   size  for   each  
geometrical   surface.   The   size   of   a   cell   intersecting   a   geometrical   surface   are   compared   to   the  
prescribed user target and the cell is refined until its actual size is lower than the target.
19. Repeat the above steps for "fluid_group_7" except setting the Max nb of refinements to 
<5>.
B.  Trimming
20. Left-click on the Trimming tab.
The trimming parameters allow modifying the default selected surfaces for the trimming operation. 
Only planar surfaces parallel to Cartesian axes are present. Surfaces which are set as Not used for 
trimming will keep a Cartesian mesh close to them.
24. Hit the Step button in the Mesh Wizard to start the mesh refinement and trimming.
2.2.6  Mesh Wizard Fluid Block: Snapping Step
25. Left-click the check box for Snap to geometry in Mesh Wizard.
26. Click on  Snap to geometry and the Snapping parameters dialog box appears. 
27. Ensure that Enable snapping is turned on (default).
28. The Advanced >>> button gives access to three extra tabs (Global parameters, Curve 
snapping and Buffer insertion). It is not necessary to change the default settings in this tutorial.
29. Left-click on Ok to proceed.
The  aim  of  this  fully  automated  mesh  step  is  to  project  the  staircase  mesh  obtained  after  the  mesh 
adaptation onto the surface to obtain a good quality, body-conforming mesh. In addition to a simple 
projection   onto   the   geometry,   this   action   involves   sophisticated   algorithms   to   recover   lower-
dimensional geometric features such as corners and curves in the mesh. These algorithms guarantee 
that, when the mesh is projected onto the surface geometry, a mesh vertex is attached to each corner 
of the geometry and that a path of mesh edges is attached to the curve.
Layers of additional cells (buffer insertion) are introduced into the mesh to create a body-conforming 
mesh. Finally, a mesh smoothing is performed which moves points on the surface and in the volume.
2.2.7  Mesh Wizard Fluid Block: Optimization Step
The mesh obtained after the snapping step may contain poor quality cells which are usually located 
close to corners and curves. Some of these cells are concave or may even present a negative volume. 
HEXPRESS™   provides   specific   algorithms   to   convert   concave   cells   to   convex   ones   by   slightly  
displacing their vertices.
30. Left-click the check box for Optimize in Mesh Wizard.
31. Left-click on Optimize and the Optimization parameters dialog box appears.
32. Ensure that Enable optimization is turned on (default) and hit the Ok button to proceed.
33. Hit the Start button in Mesh Wizard to snap and optimize the mesh.
34. Left-click on the Mesh quality icon (
) in the Tool bar to check the mesh quality.
An important check of the mesh quality is to detect the presence of negative cells, i.e. cells with a 
negative volume. Negative cells are not allowed in the final mesh to be used for the computation. 
Concave   or   twisted   cells   are   less   likely   to   present  robustness   or   stability   issues   for   solvers,  
however they should be prohibited.
When  negative,  concave  or  twisted  cells  are  detected,  they  should  be  usually  removed  by  changing 
mesh adaptation settings or advanced settings of snapping/optimization.
35. Check the mesh quality by using the Criterion drop-down list for the following criteria:
 l Negative cells,
 l Concave cells,
 l Twisted cells.
Furthermore, the cell orthogonality, aspect ratio and expansion ratio can be controlled. There are 
presented through histograms. Each bar represents the number of cells whose criterion value is 
included   in   the  bar  interval.   By   left-clicking   on   one  of  the  bars,   the  corresponding   cells  are 
displayed in the graphics area. Cells are displayed in a color varying depending on the value of 
the quality criterion. The Show markers check button activates the display of circle markers for 
each vertex of the displayed cells, which facilitates the localization of the selected cells.
36. After checking the mesh quality, click on Close to exit.
2.2.8  Mesh Wizard Fluid Block: Viscous Layers Insertion 
Step
37. Left-click the check box for Viscous layers in Mesh Wizard.
38.   Left-click   on   Viscous   layers   and   the   Viscous   layers   insertion   parameters   dialog   box  
appears.
39. Go to the Surface tab.
40. Left-click and drag to select "fluid_group_6" and "fluid_group_7" surfaces.
41. Click on Active to access the parameters for viscous layers insertion.
Clicking   on   Group  as   Adapt   button   will   automatically   group   the   surfaces  like   in   the   Surface  
refinement tab of the Refinement menu. Manual grouping can also be done thanks to the Group 
button. Since no group was defined in this tutorial, clicking on the button will have no impact.
42. Go to the Global tab.
43. Click on the Compute button. This button opens a pop-up window which is used to compute 
the necessary first layer thickness.
The width of the first cell close to the wall must be selected with care since the quality of the flow 
solution will often depend upon the capture of the flow phenomena inside the boundary layers which 
develop along the solid walls. Depending upon the turbulence model selected, NUMECA recommends 
to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ 
ranging   from   1- 5   (low   Reynolds   number   models)   or   30- 50   (high   Reynolds   number   models).  
Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven 
by the Blasius equation, expressed as follows for turbulent flows :
where:
 l Ywall is the distance of the nearest grid point to the wall (in meter),
 l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s),
 l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density,
 l Lref is a reference length of the test case (in meter),
 l Y1
+ is a non-dimensional value.
In the present case, Vref = 106 m/s ; Lref = 0.13 m ; ν = 7.7e-05 m²/s. To get Y1
it comes Ywall = 1.8126e-5 m.
44. Set the inputs accordingly as shown below and click on Apply to validate the computed first 
layer thickness.
+ = 1 at the wall,
45. Keep 1.2 for the stretching ratio.
46. Click on the Apply to Active Surfaces button to use the computed first layer thickness on the 
surfaces activated in step 40 and step 41.
47. Hit Yes in the pop-up menu to apply the computed first layer thickness on the activated 
surfaces.
HEXPRESS™ gives an indication about the appropriate number of viscous layers to insert. This 
number is computed based on the current mesh after optimization (this indication is not available 
if the optimization step is not performed yet). This value will be the minimum to activate the 
inflation method.
48. Go back to the Surface tab.
49. Activate "fluid_group_6" and "fluid_group_7" to check the settings imposed. The number of 
viscous layers proposed is 8 (fluid_group_6) and 11 (fluid_group_7) respectively for the two 
activated surfaces.
50. Click on Go to start the viscous layer insertion step.
51. Repeat step 34 to step 36 to check the mesh quality after the viscous layers insertion.
We are about to repeat the same actions to set the parameters for the solid block. Please refer to 
the previous sections "Mesh Wizard Fluid Block" to find out more about the different steps.
2.2.9  Mesh Wizard Solid Block: Initial Mesh
52. Select the solid block ("blade") from the Active domain drop-down list or by clicking directly 
from the graphics area.
53. Left- click the check box for Initial mesh in Mesh Wizard. The corresponding step becomes 
accessible for the user. The same behavior is applied for the following steps in the Mesh Wizard.
54. Click on Initial mesh and the Initial mesh parameters dialog box appears.
55. Keep the default parameters and click on Ok.
56. Left-click on the Step button in the Mesh Wizard to create the initial mesh with default 
parameters.
2.2.10  Mesh Wizard Solid Block: Adaptation Step
57. Left-click the check box for Adapt to geometry. Click on Adapt to geometry.
58. Under the Global tab, set the Maximum number of refinements to <4>.
59. Go to the Surface refinement tab.
60. Left-click and drag to select the faces "blade_group_#" from 6 to 13 (or select by using left-
click + <Shift>).
61. Click on the Group button and name this group as <group_1> and press <Enter>.
62. Click on Active to access the refinement parameters.
63. Set the Max nb of refinements to <3>.
64. Activate the Target cell sizes criterion and keep the default values.
65. Select the faces "blade_group_#" from 2 to 5.
66. Group them as "group_2", then click on Active.
67. Set the Max nb of refinements to <4>.
68. Activate the Target cell sizes criterion and keep the default values.
69. Hit the Go button to start the mesh adaptation step.
2.2.11  Mesh Wizard Solid Block: Snapping & Optimization 
Steps
70. Left-click the check boxes to activate the Snap to Geometry and Optimize steps in the Mesh 
Wizard.
71. Ensure that Enable snapping and Enable optimization are turned on (default) and launch 
the mesh generation of these steps by clicking on the Start button of the Mesh Wizard.
Solid blocks do not need viscous layers for Conjugate Heat Transfer (CHT) computations. 
However, grid quality should be checked visually to prevent problems from arising through 
the full non matching boundaries. On the figures below, one can observe that one cell in the 
solid part is facing two cells in the fluid part, which is sufficient here.
2.2.12  Full Non Matching Boundaries (FNMB)
A   multi- domain   computation   needs  to   transfer   data  between   the  different   blocks.  This  transfer   is 
ensured by one or several FNMB connections, computed by HEXPRESS™.
In this present case, a simultaneous calculation of the flow and temperature within the solid bodies is 
performed  with  a  solid- fluid  coupling  at  the  thermal  connections,  represented  here  by  the  FNMB. 
Besides that, this geometry contains a periodicity by translation. The data transfer is also computed 
thanks to an FNMB connection.
72. Go to the Grid/Periodicity... menu.
73. Select the "fluid" and "blade" domains together by dragging the mouse over the 2 domains or 
holding <Ctrl> key and select with left-click.
74. Click on New and then on Edit to define a new periodicity.
75. Keep the default periodicity name to <Periodicity_1>.
76. Select TRANSLATION for the Periodicity type and set the Axis to <0 0.12974 0>.
77. Click on Ok to confirm and then click on Close to exit the Periodicity window.
78. Go to Grid/Non Matching Connections... to access the Blocks connections dialog box.
79. Click on the Search Connections button (HEXPRESS™  searches automatically for new  
connections). Three connections are found: 1 for the periodicity ("periodic_1") and 2 for the 
domains connection ("connection_#").
80. Left-click and drag to select all connections.
81. Click on the Compute button to perform all the FNMB computations.
A  visual  check  can  be  performed  to  ensure  that  the  FNMB  connections  are  well  computed.  Indeed 
colors are shown in the graphics area. A yellow color means that the patches have been successfully 
connected.
It is also possible to manually edit the FNMB connections by clicking on the Add button and then on 
the Edit button. The automatic search, however, is sufficient in this tutorial. It should be also noticed 
that   the   patches  involved   in   the   FNMB   connections  have   turned   into   "SOL*"   in   the   Boundary 
conditions settings dialog box (
).
82. Click on Close when the computation is over (all statuses are marked as "Successful").
2.2.13  Save Mesh
83. Go to Project/Save as... or click on the Save icon (
) in the Tool bar.
84. Under the "_mesh" folder (if FINE™/Open project), enter the name of the mesh project as 
<turbine_MarkII.igg> and hit the Ok or Save button to save the mesh files.
The mesh folder contains the mesh topology, geometry, grid points and the boundary condition 
types among others. The files are listed below:
 l .bcs: boundary conditions files,
 l .dom: geometry files,
 l .igg: topology file,
 l .hex: grid points files,
 l .hxp: extra information for the mesh generation,
 l .rep: report file,
 l .log: mesh generation information,
 l .dist: distance file (prefix is domain name),
 l .fnmb: FNMB connections,
 l .nmb: Non matching connections,
 l .qualityReport: quality report file.
In addition a subdirectory named "cache" contains the resulting mesh files after each step of the 
mesh generation (for example "_snap.hex" as resulting mesh after snapping process). It allows for 
deleting some steps and coming back to a previous one without generating the necessary steps 
again.
TUTORIAL 3. 
3-ELEMENTS AIRFOIL
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
 l Spatial discretization of the flow equations,
 l Flow computation,
 l Visualization of the results.
For   this  purpose,  NUMECA  has  developed  a  Flow  INtegrated  Environment  with  which  the  flow  in 
internal and external configurations can be simulated.
The unstructured CFD package consists of the following tools:
 l HEXPRESS™   is   an   automatic   unstructured   Hexahedral   mesh   generator   software   designed   to  
automatically generate meshes for the discretization of complex 2D and 3D geometries,
 l FINE™/Open flow solver is a state-of-the-art multi-domain unstructured code for the solution of 
the Euler and Navier-Stokes equations to compute laminar, transitional and turbulent flow,
 l CFView™ is a highly interactive flow visualization and post-processing software,
 l FINE™ Graphical User Interface is a user-friendly environment that allows the user to accomplish 
all steps, from grid generation to flow visualization.
In the present tutorial, the user will learn how to quickly and efficiently create a sample mesh running 
HEXPRESS™ around a sample 2D multi-element airfoil configuration that is commonly employed in 
high-lift systems.
The following steps will be discussed:
 l Use HEXPRESS™ user interface,
 l Import an existing domain,
 l Visualize a mesh,
 l Progress in the mesh wizard to generate the mesh,
 l Control the quality of the mesh.
3.1 
INTRODUCTION
3.1.1 
Prerequisites
This   tutorial  does   not  require   any   particular  prerequisite   but  it  is   strongly   recommended   for 
beginners to perform the following tutorials:
 l "Automotive Manifold" (p. 7)
 l "Turbine Mark II" (p. 28)
3.1.2 
Presentation
High-lift devices are a variety of complex mechanisms intended to add lift during certain portions 
of flight. Common high-lift devices, which include flaps, slats, leading edge extensions, blown 
flaps, etc., have a major influence on the aerodynamic performance and design of civil transport 
airplanes.   The   flow   fields   associated   with   high- lift   devices   are   quite   complex   and   can   be  
characterized by a variety of highly unsteady flow phenomenon. Consequently, the study of the 
related flow physics and the subsequent influence on the aerodynamic characteristics of high-lift 
devices has become an important research area in the aerospace community.
3.1.3 
Preparation
Start HEXPRESS™ . How?
 l For Linux systems, use the following command line:
hexpress -niversion open72 -print  (if in FINE™/Open with OpenLabs™)
or
hexpress -niversion 72 -print (if HEXPRESS™ standalone)
 l For Windows systems, you can access the HEXPRESS™  graphical user interface from the 
start menu by going to:
 /Programs/NUMECA software/FineOpen72/HEXPRESS
/Programs/NUMECA software/Hexpress72/HEXPRESS (if HEXPRESS™ standalone)
HEXPRESS™ graphical user interface allows you to visualize the geometry and mesh of the 
internal or external test case in a graphics area. The access to the main menu and controls is 
provided by a menu bar and a quick access pad, and is completed with a tool/icon bar and a 
control area (including the keyboard input area).
3.2  MESH GENERATION
3.2.1  Open Existing Domain File
The   Welcome   to   HEXPRESS   dialog   box   enables   the   user   to   open   an   ".igg"   project   file  
including the mesh and the data required to regenerate a mesh. In this tutorial, these data will be 
progressively defined. That is why the tutorial starts from a domain file ".dom". It should be 
noticed that the dialog box also enables to load geometrical files (Parasolid, CATIA v5, STL), 
import ANSYS or CGNS meshes, as well as  execute Python script.
1. Select Import computational domain <.dom> in the Welcome to HEXPRESS dialog box.
2. Locate and select "3_element_airfoil.dom" in the dialog box (download HEXPRESS™ tutorial 
archive)  and click on Open or Ok.
3.2.2  Visualization
Use the viewing buttons at the bottom of the interface to display the geometry as preferred. In the 
View subpanel from the Quick Access Pad, it is possible to:
 l Left-click on the Mesh icon (
) to hide/show mesh (toggle),
 l Left-click on the Solid icon (
) to hide/show faces (toggle),
 l Right-click on the Face icon (
) or left-click on the Face viewer icon (
) to open the 
Face Viewer window.
Face   selection   can   be   done   interactively   in   the   graphics  area   or  thanks  to   the   Face   Viewer  
window.
3.2.3 
Set Boundary Conditions
3. Click on the 2D button to change the grid generation mode in the Tool bar and hit Yes in the 
pop-up window to confirm.
The three-dimensional mesh generation mode is the default configuration. A two-dimensional domain 
is still three-dimensional, however it is then bounded in the Z-direction by two planes, parallel to the 
2D mesh generation plane separated by an arbitrary distance. HEXPRESS™  will only generate one 
cell in the Z-direction. A valid two-dimensional mesh project is obtained if the following conditions 
are met: 
 l The axes of the two-dimensional domain are assumed to be X and Y.
 l The Z-axis is assumed orthogonal to the 2D plane of interest.
 l The two planes orthogonal to the Z-axis are flagged as mirror surfaces (MIR).
The  two- dimensional  grid  generation  mode  in  the  Icon  bar   must  be  selected  before  executing  any 
action on the mesh wizard. All specific mesh action parameters related to the Z-axis are disabled in 
this  mode.  Therefore,  changing  the  mesh  generation  mode  during  the  mesh  generation  may  lead  to 
unpredictable behavior of the mesh generator.
4. Go to the Grid/Boundary Conditions... menu or click on the Boundary Conditions icon (
) in the Tool bar and set the boundary conditions using the Set face type button:
l "group_#" for 0 and 1 as mirror ("MIR")
 l "group_#" for 2 to 5 as external ("EXT")
 l "group_#" for 6 to 13 as solid ("SOL")
5. Close the dialog box.
3.2.4  Mesh Wizard: Initial Mesh
6.   Left- click   the   check   box   for   Initial   mesh   in   Mesh   Wizard   to   activate   the   step.   The  
corresponding   step   becomes   accessible   for   the   user.   The   same   behavior   is   applied   for   the  
following steps in the Mesh Wizard.
7. Click on Initial mesh and the Initial mesh parameters dialog box appears.
8. In the Set the number of divisions along cartesian axis section, keep the default divisions:
 l <20> for X axis,
 l <20> for Y axis.
9. Click on Ok and hit the Step button from the Mesh Wizard to create the initial mesh with 400 
cells.
10. By default the mesh is not loaded. To visualize the mesh, hit the Mesh button in the View 
subpanel.
11. Click on the icon 
 of the viewing buttons to plot the mesh in the X-Y plane.
3.2.5  Mesh Wizard: Adaptation Step
This   mesh   generation   step   is   probably   the   most   important   in   terms   of   user   interaction   in  
HEXPRESS™.  Indeed,  the   parameters  selected   in   this  action   directly   dictate   the   computed   mesh  
obtained with HEXPRESS™. This adaptation step consists of two successive actions: the refinement 
and the trimming.
During the first step, HEXPRESS™ adapts the initial mesh such that the cell sizes satisfy geometry-
dependent  criteria.  With  the  second  step,  it  removes  the  cells  intersecting  the  geometry  or   located 
outside the computational domain.
12. Left-click the check box for Adapt to geometry in Mesh Wizard to activate the step.
13. Click on Adapt to geometry and the Refinement and trimming parameters dialog box 
appears.
14. Under the Global tab, set the Maximum number of refinements to <10>.
In this action, cells are successively subdivided such that specific geometrical criteria are satisfied.
In   order   to   limit   the   number   of   cells  created   during   refinement,  HEXPRESS™  subdivides  cells 
anisotropically as often as possible. A cell can thus be subdivided in 2, 4 or 8 cells.
The  adaptation  process  successively  bisects  the  cells  flagged  for  refinement.  The  sizes  of  the  initial 
mesh cells are therefore divided by a factor 2N after N successive refinements. This may result in an 
exponential growth of the total number of cells in the mesh. To bound the number of cells, the user 
should   set   the  maximum   number   of   refinements  to   a  reasonable  limit.  The  maximum   number   of  
refinements should be large enough so that the geometry is well captured, but a too large number will 
result in a big total number of cells.
Several global expert parameters are available when clicking on Advanced >>> button to finely tune 
the  mesh  adaptation  process.  Since  HEXPRESS™  is  optimized  for  these  defaults,  any  modification 
may therefore alter the success of the meshing process. More details are available in the User Guide.
15. Left-click on the Surface refinement tab.
The adaptation process is defined by three classes of criteria: curve, surface and volume criteria. The 
surface criterion is considers cells which are intersecting surfaces as candidates for refinement. Three 
criteria are implemented and are respectively based on:
 l a proximity between surfaces (Distance),
 l a surface curvature measurement (Curvature),
 l a specification of cell target sizes on the surfaces (Target cell sizes).
The  volume  criterion  (found  in  the  Box refinementtab)   considers  cells  which  are  intersecting  or  
located inside a three-dimensional volume as candidates for refinement if their cell size is larger than 
some user prescribed target size.
16. Left-click and drag to select all patches from "group_6" to "group_13" and group them with 
name <solid>. Press <Enter> to validate.
17. Click on Active to access the refinement parameters.
18. Set the  Max nb of refinements to <10>.
19. Select the Curvature and Target cell sizes criteria and set the target to <0.005> for the X and 
Y directions.
The Max nb of refinements per surface ultimately controls the refinement of cells intersecting that 
surface  (if   it  is  presenting  a  value  lower   than  the  Maximum number  of refinements  from   the 
Global  tab).  This  parameter   supersedes  any   other   selected   adaptation   criteria.  Fine  tuning   of   this 
parameter is useful when it may be difficult to determine the appropriate Target cell size, or if the 
Distance and Curvature criteria yield a prohibitive number of cells. The default value (10000) is 
an   arbitrary   large   number   such   that   the   criteria   are   controlled   by   the   Maximum   number   of  
refinements  from the Global tab.
The aim of the Distance criterion is to allow enough refinements of the cells in order to fill any gaps 
between very close surfaces with a sufficient amount of cells.
The   aim   of   the   Curvature   criterion   is  to   automatically   compute   a   target   cell   size   suitable   for  
resolving curved surfaces. Smaller cells are expected where the geometry has high curvature.
The  aim   of   the  Target  cell  sizes   criterion   is  to   enforce  a  user- defined   target   cell   size  for   each  
geometrical   surface.   The   size   of   a   cell   intersecting   a   geometrical   surface   are   compared   to   the  
prescribed user target and the cell is refined until its actual size is lower than the target.
20. Left-click on the Box refinement tab.
21. Create two boxes as shown in the following figure and activate them (click on the picture to 
enlarge them):
 l Click on the New box button,
 l Left-click in the graphics area to place box center and corner interactively (as shown in the 
following figure),
 l Left-click to validate the defined box,
 l Repeat the above steps to create a second box.
22. Impose the same settings for both boxes:
 l Max nb of refinements set to <10> and press <Enter>,
 l Target cell sizes set to <0.001> <Enter> for the X and Y directions,
 l Volumic option should be kept inactive.
The goal of the box refinement is to control the refinement in a user-defined area. It is often used 
where no surfaces are present or in a zone where a special refinement is required.
The   Volumic   check   button   allows   a   further   control   of   the   refinement   of   the   cells   tagged   for  
refinement, i.e. the cells which are within or intersecting the box. When this button is unchecked, the 
refinement will only occur for cells which intersect solid surfaces (SOL). If the button is checked, the 
refinement  applies  to  all  cells  included  in  the  box  and  in  the  computational  domain,  i.e.  all  tagged 
cells  can  be  potentially  refined.  In  this  case,  the  number  of  refined  cells  is  potentially  much  larger 
than in the case of an unchecked button.
23. Left-click on the Trimming tab.
24. Check that all external and mirror planes should be set as Not used for trimming. Otherwise:
 l Left-click on the patch in the list,
 l Select Not used for trimming from the set patch trimming status drop-down list.
During   the   trimming   step,  cells  intersecting   the   external   and   mirror   planes  will   not   be   removed  
because the planes are set as Not used for trimming.
25. Click on Ok to validate the settings.
26. Click on the Step button from the Mesh Wizard to start the mesh refinement and trimming.
3.2.6  Mesh Wizard: Snapping Step
27. Left-click the check box for Snap to geometry in the Mesh Wizard.
28. Click on Snap to geometry and the Snapping parameters dialog box appears.
29. Ensure that Enable snapping is turned on (default).
30. The Advanced >>> button gives access to three extra tabs (Global parameters, Curve 
snapping and Buffer insertion). It is not necessary to change the default settings in this tutorial. 
Keep the default parameters unchanged.
31. Left-click on Ok to proceed.
The  aim  of  this  fully  automated  mesh  step  is  to  project  the  staircase  mesh  obtained  after  the  mesh 
adaptation onto the surface to obtain a good quality, body-conforming mesh. In addition to a simple 
projection   onto   the   geometry,   this   action   involves   sophisticated   algorithms   to   recover   lower-
dimensional geometric features such as corners and curves in the mesh. These algorithms guarantee 
that, when the mesh is projected onto the surface geometry, a mesh vertex is attached to each corner 
of the geometry and that a path of mesh edges is attached to the curve.
Layers of additional cells (buffer insertion) are introduced into the mesh to create a body-conforming 
mesh. Finally, a mesh smoothing is performed which moves points on the surface and in the volume.
3.2.7  Mesh Wizard: Optimization Step
The mesh obtained after the snapping step may contain poor quality cells which are usually located 
close to corners and curves. Some of these cells are concave or may even present a negative volume. 
HEXPRESS™   provides   specific   algorithms   to   convert   concave   cells   to   convex   ones   by   slightly  
displacing their vertices.
32. Left-click the check box for Optimize in Mesh Wizard.
33. Left-click on Optimize and the Optimization parameters dialog box appears.
34. Ensure that Enable optimization is turned on (default). The Advanced >>> button gives 
access to some advanced optimization parameters. It is not necessary to change the default settings 
in this tutorial.
35. Keep all the default settings and click Ok to proceed.
36. Click on Start in the Mesh Wizard to snap and optimize the mesh.
37. Left-click on the Mesh quality icon (
) in the Tool bar to check the mesh quality.
An important check of the mesh quality is to detect the presence of negative cells, i.e. cells with a 
negative volume. Negative cells are not allowed in the final mesh to be used for the computation. 
Concave   or   twisted   cells   are   less   likely   to   present  robustness   or   stability   issues   for   solvers,  
however they should be prohibited. 
When  negative,  concave  or  twisted  cells  are  detected,  they  should  be  usually  removed  by  changing 
mesh adaptation settings or advanced settings of snapping/optimization.
38. Check the mesh quality by using the Criterion drop-down list for the following criteria:
l Negative cells,
 l Concave cells,
 l Twisted cells.
Furthermore, the cell orthogonality, aspect ratio and expansion ratio can be controlled. There are 
presented through histograms. Each bar represents the number of cells whose criterion value is 
included   in   the  bar  interval.   By   left-clicking   on   one  of  the  bars,   the  corresponding   cells  are 
displayed in the graphics area. Cells are displayed in a color varying depending on the value of 
the quality criterion. The Show markers check button activates the display of circle markers for 
each vertex of the displayed cells, which facilitates the localization of the selected cells.
39. After checking the mesh quality, click on Close to exit.
3.2.8  Mesh Wizard: Viscous Layers Insertion Step
40. Left-click the check box for Viscous layers  in Mesh Wizard to activate the step.
41.   Left-click   on   Viscous   layers   and   the   Viscous   layers   insertion   parameters   dialog   box  
appears.
42. Go to the Surface tab.
43. Click on the Group As Adapt button. Clicking on this button will automatically group the 
surfaces like those defined in the Surface refinement tab in the Adapt to geometry step. The 
group "solid" is created.
44. Click on Active to access the parameters for viscous layers insertion.
45. Left-click on the Compute button. This button opens a pop-up window  to compute the 
necessary first layer thickness.
The width of the first cell close to the wall must be selected with care since the quality of the flow 
solution will often depend upon the capture of the flow phenomena inside the boundary layers which 
develop along the solid walls. Depending upon the turbulence model selected, NUMECA recommends
to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ 
ranging   from   1- 5   (low   Reynolds   number   models)   or   30- 50   (high   Reynolds   number   models).  
Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven 
by the Blasius equation, expressed as follows for turbulent flows:
where:
 l Ywall is the distance of the nearest grid point to the wall (in meter),
 l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s),
 l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density,
 l Lref is a reference length of the test case (in meter),
 l Y1
+ is a non-dimensional value.
In the present case, Vref = 67 m/s; Lref = 1 m; ν = 1.57e-05 m²/s. To get Y1
comes Ywall = 4.346e-4 m.
46. Set the inputs accordingly as shown below  and click on Apply to validate the first layer 
thickness.
+ = 50 at the wall, it 
47. Keep 1.2 for the stretching ratio.
48.   Click   on   the   Apply   button   to   use   the   advised   value   of   viscous   layers   (set   to   6).  
HEXPRESS™ gives an indication about the appropriate number of viscous layers to insert. This 
number is computed based on the current mesh after optimization (this indication is not available 
if the optimization step is not performed yet). This value will be the minimum to activate the 
inflation method.
49. Click on Ok to confirm the values.
50. Click on Step or Start in the Mesh Wizard to start the viscous layers insertion.
51. Repeat step 37 to step 39 to check the mesh quality after the viscous layers insertion.
3.2.9  Save Mesh
52. Go to Project/Save as... or click on the Save icon (
) in the icon bar.
53. Under the "_mesh" folder (if FINE™/Open project), enter the name of the mesh project as 
<3_elements_airfoil.igg> and press Ok or Save to save the mesh files.
The mesh folder contains the mesh topology, geometry, grid points and the boundary condition 
types among others. The files are listed below:
 l .bcs: boundary conditions files,
 l .dom: geometry files,
 l .igg: topology file,
 l .hex: grid points files,
 l .hxp: extra information for the mesh generation,
 l .rep: report file,
 l .log: mesh generation information,
 l .dist: distance file (prefix is domain name),
 l .fnmb: FNMB connections,
 l .nmb: Non matching connections,
 l .qualityReport: quality report file.
In addition a subdirectory named "cache" contains the resulting mesh files after each step of the 
mesh generation (for example "_snap.hex" as resulting mesh after snapping process). It allows for 
deleting some steps and coming back to a previous one without generating the necessary steps 
again.
TUTORIAL 4. 
DLR-F4 WING BODY
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
 l Spatial discretization of the flow equations,
 l Flow computation,
 l Visualization of the results.
For   this  purpose,  NUMECA  has  developed  a  Flow  INtegrated  Environment  with  which  the  flow  in 
internal and external configurations can be simulated.
The unstructured CFD package consists of the following tools:
 l HEXPRESS™   is   an   automatic   unstructured   Hexahedral   mesh   generator   software   designed   to  
automatically generate meshes for the discretization of complex 2D and 3D geometries,
 l FINE™/Open flow solver is a state-of-the-art multi-domain unstructured code for the solution of 
the Euler and Navier-Stokes equations to compute laminar, transitional and turbulent flow,
 l CFView™ is a highly interactive flow visualization and post-processing software,
 l FINE™ Graphical User Interface is a user-friendly environment that allows the user to accomplish 
all steps, from grid generation to flow visualization.
In the present tutorial, the user will learn how to quickly and efficiently create a sample mesh of a 3D 
external application running HEXPRESS™.
The following steps will be discussed:
 l Use HEXPRESS™ user interface,
 l Import an existing domain,
 l Visualize a mesh,
 l Progress in the mesh wizard to generate the mesh,
 l Control the quality of the mesh.
4.1 
INTRODUCTION
4.1.1 
Prerequisites
This   tutorial  does   not  require   any   particular  prerequisite   but  it  is   strongly   recommended   for 
beginners to perform the following tutorials:
 l "Automotive Manifold" (p. 7)
 l "Turbine Mark II" (p. 28)
4.1.2 
Presentation
In order to study the flow around a subsonic transport type aircraft, the 3D geometry of the DLR-
F4 test case is considered here. The objective is to demonstrate the ability of FINE™/Open to 
predict aerodynamic effects in a local flow in M-range 0.75-0.8 with supersonic flow regions on 
the upper wing terminated by weak shock waves as well as a small separation close to the trailing 
edge. The geometric configuration is shown in the following figure.
Picture from A selection of Experimental Test Cases for the Validation of CFD Codes - AGARD ADISORY 
REPORT NO 303, Volume II.
Air, modeled as a perfect gas with a constant kinematic viscosity of 1.21e-5 m²/s, is considered at 
293 K and at a density of 1.2 kg/m³. Static-to-static pressure conditions are imposed as external 
conditions (100909.2 Pa), with a speed of 257.25 m/s. The Mach number is then approximately 
0.75 and the Reynolds number, determined using the velocity and the chord-length, is about 3e6.
4.1.3 
Preparation
Start HEXPRESS™ . How?
 l For Linux systems, use the following command line:
hexpress -niversion open72 -print  (if in FINE™/Open with OpenLabs™)
or
hexpress -niversion 72 -print (if HEXPRESS™ standalone)
 l For Windows systems, you can access the HEXPRESS™  graphical user interface from the 
start menu by going to:
 /Programs/NUMECA software/FineOpen72/HEXPRESS
/Programs/NUMECA software/Hexpress72/HEXPRESS (if HEXPRESS™ standalone)
HEXPRESS™ graphical user interface allows you to visualize the geometry and mesh of the 
internal or external test case in a graphics area. The access to the main menu and controls is 
provided by a menu bar and a quick access pad, and is completed with a tool/icon bar and a 
control area (including the keyboard input area).
4.2  MESH GENERATION
4.2.1  Open Existing Domain File
The   Welcome   to   HEXPRESS   dialog   box   enables   the   user   to   open   an   ".igg"   project   file  
including the mesh and the data required to regenerate a mesh. In this tutorial, these data will be 
progressively defined. That is why the tutorial starts from a domain file ".dom". It should be 
noticed that the dialog box also enables to load geometrical files (Parasolid, CATIA v5, STL), 
import HEXPRESS™/Hybrid, ANSYS or CGNS meshes, as well as  execute Python script.
1. Select Import computational domain <.dom> in the Welcome to HEXPRESS dialog box.
2. Locate and select "dlrf4.dom" in the dialog box (download HEXPRESS™ tutorial archive)  
and click on Open or Ok.
4.2.2  Visualization
Use the viewing buttons at the bottom of the interface to display the geometry as preferred. In the 
View subpanel from the Quick Access Pad, it is possible to:
 l Left-click on the Mesh icon (
) to hide/show mesh (toggle),
 l Left-click on the Solid icon (
) to hide/show faces (toggle),
 l Right-click on the Face icon (
) or left-click on the Face viewer icon (
) to open the 
Face Viewer window.
Face   selection   can   be   done   interactively   in   the   graphics  area   or  thanks  to   the   Face   Viewer  
window.
4.2.3  Set Boundary Conditions
3. Go to the Grid/Boundary Conditions... menu or click on the Boundary Conditions icon (
) in the Tool bar and set the boundary conditions using the Set face type button:
 l set "exterior_#" for 1 to 5 as external ("EXT");
 l set "mirror" as mirror ("MIR");
 l keep "facet", "extrados", "tail", "body" and "intrados" as solid ("SOL").
4. Close the dialog box.
4.2.4  Mesh Wizard: Initial Mesh
5.   Left- click   the   check   box   for   Initial   mesh   in   Mesh   Wizard   to   activate   the   step.   The  
corresponding   step   becomes   accessible   for   the   user.   The   same   behavior   is   applied   for   the  
following steps in the Mesh Wizard.
6. Click on Initial mesh and the Initial mesh parameters dialog box appears.
7. In the Set the number  of divisions along cartesian  axis section,  impose  Nb  of cells to 
<100,000>.
8. Click on the Auto button.
By using the Auto button, HEXPRESS™  computes the required number of cells in each direction to 
get an isotropic mesh. The total number of cells may then vary (in this case the number of cells is 
adapted from 100,000 to 97,556).
9. Click on OK and then on the Step button from the Mesh Wizard to create the initial mesh 
with 97,556 cells.
The  number   of   cells  in  the  initial  mesh  can  be  increased  in  order   to  impose  a  smaller   size  to  the 
biggest cell that will be included in the computational domain.
4.2.5  Mesh Wizard: Adaptation Step
This   mesh   generation   step   is   probably   the   most   important   in   terms   of   user   interaction   in  
HEXPRESS™.  Indeed,  the   parameters  selected   in   this  action   directly   dictate   the   computed   mesh  
obtained with HEXPRESS™. This adaptation step consists of two successive actions: the refinement 
and the trimming.
During the first step, HEXPRESS™ adapts the initial mesh such that the cell sizes satisfy geometry-
dependent  criteria.  With  the  second  step,  it  removes  the  cells  intersecting  the  geometry  or   located 
outside the computational domain.
10. Left-click the check box for Adapt to geometry in Mesh Wizard to activate the step.
11. Click on Adapt to geometry and the Refinement and trimming parameters dialog box 
appears.
12. Under the Global tab, set the Maximum number of refinements to <10>.
In this action, cells are successively subdivided such that specific geometrical criteria are satisfied.
In   order   to   limit   the   number   of   cells  created   during   refinement,  HEXPRESS™  subdivides  cells 
anisotropically as often as possible. A cell can thus be subdivided in 2, 4 or 8 cells.
The  adaptation  process  successively  bisects  the  cells  flagged  for  refinement.  The  sizes  of  the  initial 
mesh cells are therefore divided by a factor 2N after N successive refinements. This may result in an 
exponential growth of the total number of cells in the mesh. To bound the number of cells, the user 
should   set   the  maximum   number   of   refinements  to   a  reasonable  limit.  The  maximum   number   of  
refinements should be large enough so that the geometry is well captured, but a too large number will 
result in a big total number of cells.
Several global expert parameters are available when clicking on Advanced >>> button to finely tune 
the  mesh  adaptation  process.  Since  HEXPRESS™  is  optimized  for  these  defaults,  any  modification 
may therefore alter the success of the meshing process. More details are available in the User Guide.
13. Left-click on the Curve refinement tab.
The refinement process is defined by three classes of criteria: curve, surface and volume criteria. The 
curve criterion considers cells which are intersecting edges as candidates for refinement. Three criteria 
are implemented and are respectively based on:
 l a proximity between edges (Distance),
 l an edge curvature measurement (Curvature),
 l a specification of cell target sizes on the edge (Target cell sizes).
14. Use left-click and <Ctrl> to select in the curve (edge) list "Curve 17", "Curve 19", "Curve 
48".
15. Click on Active to access the refinement parameters.
16. Set the Max nb of refinements to <8>.
17. Select the Target cell sizes criterion and keep the default values.
The Max nb of refinements per curve ultimately controls the refinement of cells intersecting that 
particular curve (if the prescribed value is lower than the Maximum number of refinements set in 
the Global tab). This parameter supersedes any other selected adaptation criteria. Fine tuning of this 
parameter   is   useful   when   the   appropriate   Target   cell   size   is   hard   to   determine,   or   when   the  
Distance and Curvature criteria yield a prohibitive number of cells. The default value (10000) is 
an   arbitrary   large   number   such   that   the   criteria   are   controlled   by   the   Maximum   number   of  
refinements set in the Global tab.
The aim of the Distance criterion is to allow enough refinements of the cells in order to fill any gaps 
between very close surfaces with a sufficient amount of cells.
The   aim   of   the   Curvature   criterion   is  to   automatically   compute   a   target   cell   size   suitable   for  
resolving curved edges. Smaller cells are expected where the geometry has high curvature.
The  aim   of   the  Target  cell  sizes   criterion   is  to   enforce  a  user- defined   target   cell   size  for   each  
geometrical curve. The size of a cell intersecting a geometrical curve are compared to the prescribed 
user target and the cell is refined until its actual size is lower than the target.
18. Repeat step 14 to step 17 for "Curve 218" except setting the Max nb of refinements to 
<10>.
19. Go to the Surface refinement tab.
The surface criterion considers cells intersecting surfaces as candidates for refinement. Three criteria 
have been implemented and are respectively based on :
 l a proximity between surfaces (Distance),
 l a surface curvature measurement (Curvature),
 l a specification of cell target sizes on the surfaces (Target cell sizes).
The  volume  criterion  (found  in  the Box refinement tab)  considers  cells  which  are  intersecting  or 
located inside a three-dimensional volume as candidates for refinement if their cell size is larger than 
some user prescribed target size.
20. Select "facet" from the surface list (tip of the wing).
21. Click on Active.
22. Set the Max nb of refinements to <8>.
23. Select the Target cell sizes criterion and keep the default values.
24. Repeat step 20 to step 23:
 l for "extrados" and "intrados" (wing) except setting the Max nb of refinements to <7> and 
adding the Curvature criterion,
 l for "tail" except setting the Max nb of refinements to <10>,
 l for "body"  except setting the Max nb of refinements to <6> and adding the Curvature 
criterion.
25. Left-click on the Trimming tab.
26. Keep default Not used  for trimming for all EXT  and MIR  faces to keep cells on the 
selected faces at the end of the adaptation step.
27. Click on Go to launch the adaptation step.
4.2.6  Mesh Wizard: Snapping Step
28. Left-click the check box for Snap to geometry in Mesh Wizard.
29. Click on Snap to geometry and the Snapping parameters dialog box appears. Ensure that 
Enable snapping is turned on (default).
30. The Advanced >>> button gives access to three extra tabs (Global parameters, Curve 
snapping and Buffer insertion).
The  aim  of  this  fully  automated  mesh  step  is  to  project  the  staircase  mesh  obtained  after  the  mesh 
adaptation onto the surface to obtain a good quality, body-conforming mesh. In addition to a simple 
projection   onto   the   geometry,   this   action   involves   sophisticated   algorithms   to   recover   lower-
dimensional geometric features such as corners and curves in the mesh. These algorithms guarantee 
that, when the mesh is projected onto the surface geometry, a mesh vertex is attached to each corner 
of the geometry and that a path of mesh edges is attached to the curve.
31. Left-click on Advanced >>> and activate Insert buffer on faces not used for trimming 
under the Global parameters tab.
Layers of additional cells (buffer insertion) are introduced into the mesh also on faces not used for 
trimming as the symmetry plane (when option insert buffer on faces not used for trimming is 
active) to create a body conforming mesh. 
Finally, a mesh smoothing is performed which moves points on the surface and in the volume.
32. Left-click on Ok to proceed.
4.2.7  Mesh Wizard: Optimization Step
33. Left-click the check box for Optimize in Mesh Wizard.
34. Left-click on Optimize and the Optimization parameters dialog box appears.
35. Ensure that Enable optimization is turned on (default) and click Ok to proceed.
36. Click on Start in the Mesh Wizard to snap and optimize the mesh.
The mesh obtained after the snapping step may contain poor quality cells which are usually located 
close to corners and curves. Some of these cells are concave or may even present a negative volume. 
HEXPRESS™   provides   specific   algorithms   to   convert   concave   cells   to   convex   ones   by   slightly  
displacing their vertices.
37. Left-click on the Mesh quality icon (
) in the Tool bar to check the mesh quality.
An important check of the mesh quality is to detect the presence of negative cells, i.e. cells with a 
negative volume. Negative cells are not allowed in the final mesh to be used for the computation. 
Concave   or   twisted   cells   are   less   likely   to   present  robustness   or   stability   issues   for   solvers,  
however they should be prohibited.
When  negative,  concave  or  twisted  cells  are  detected,  they  should  be  usually  removed  by  changing 
mesh adaptation settings or advanced settings of snapping/ optimization.
38. Check the mesh quality by using the Criterion drop-down list for the following criteria:
 l Negative cells,
 l Concave cells,
 l Twisted cells.
Furthermore, the cell orthogonality, aspect ratio and expansion ratio can be controlled. There are 
presented through histograms. Each bar represents the number of cells whose criterion value is 
included   in   the  bar  interval.   By   left-clicking   on   one  of  the  bars,   the  corresponding   cells  are 
displayed in the graphics area. Cells are displayed in a color varying depending on the value of 
the quality criterion. The Show markers check button activates the display of circle markers for 
each vertex of the displayed cells, which facilitates the localization of the selected cells.
39. After checking the mesh quality, click on Close to exit.
4.2.8  Mesh Wizard: Viscous Layers Insertion Step
40. Left-click the check box for Viscous layers in Mesh Wizard.
41.   Left-click   on   Viscous   layers   and   the   Viscous   layers   insertion   parameters   dialog   box  
appears.
42. Under the Global tab, keep Fixed first layer thickness Method --> Inflate viscous layers --
> Floating number of layers active. Do not change the range, it will be adapted automatically.
43. Go to the Surface tab.
44. Select all surfaces of the list: left-click on first surface and left-click + <Shift> on last surface.
45. Click on Active to access the parameters for viscous layers insertion.
46. Left-click on the Compute button. This button opens a pop up window  to compute the 
necessary first layer thickness.
The width of the first cell close to the wall must be selected with care since the quality of the flow 
solution will often depend upon the capture of the flow phenomena inside the boundary layers which 
develop along the solid walls. Depending upon the turbulence model selected, NUMECA recommends 
to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ 
ranging   from   1- 5   (low   Reynolds   number   models)   or   30- 50   (high   Reynolds   number   models).  
Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven 
by the Blasius equation, expressed as follows for turbulent flows:
where:
 l Ywall is the distance of the nearest grid point to the wall (in meter),
 l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s),
 l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density,
 l Lref is a reference length of the test case (in meter),
 l Y1
+ is a non-dimensional value.
In the present case, Vref = 257.25 m/s ; Lref = 0.1412 m ; ν = 1.21e-05 m²/s. To get Y1
the wall, it comes Ywall = 8.3483e-5 m.
47. Set the inputs accordingly as shown below  and click on Apply to validate the first layer 
thickness.
+ = 50 at
48. Select "facet" in the list with a left-click. Keep 1.2 for the stretching ratio and click on the 
Apply button to use the advised value of viscous layers (8). HEXPRESS™ gives an indication 
about the appropriate number of viscous layers to insert. This number is computed based on the 
current mesh after optimization (this indication is not available if the optimization step is not 
performed yet). This value will be the minimum to activate the inflation method.
49. Repeat the above step for "extrados", "tail", "body" and "intrados" to use the advised value of 
viscous layers (from 4 to 15 depending on the selected surface).
50. Hit Go to start the viscous layer insertion step.
) will perform a cut inside the mesh to visualize 
In the viewing buttons, the cutting plane icon (
the  quality  and  viscous  layers  insertion  along  the  wing  as  presented  below.  The  cutting  plane  was 
performed at constant Y (press <y>) and translated (middle-click) on the wing.
51. Repeat step 37 to step 39  to check the mesh quality after the viscous layers insertion.
4.2.9  Save Mesh
52. Impose a mirror type of periodicity so that users are allowed to plot the full plane within 
CFView™:
 l Go to the Grid/Periodicity... menu.
 l Click on New, and then on Edit to define a new periodicity.
 l Set the periodicity name to <Mirror>.
 l Select MIRROR for the Periodicity type and set the Periodicity parameters (Origin and 
Axis) respectively to <0 0 0> and <0 1 0>.
 l Click on Ok to confirm and then close the Periodicity dialog box.
53. Go to Project/Save as... or click on the Save icon (
) in the icon bar.
54. Under the "_mesh" folder (if FINE™/Open project), enter the name of the mesh project as 
<dlr-f4.igg> and press Ok or Save to save the mesh files.
The mesh folder contains the mesh topology, geometry, grid points and the boundary condition 
types among others. The files are listed below:
 l .bcs: boundary conditions files,
 l .dom: geometry files,
 l .igg: topology file,
 l .hex: grid points files,
 l .hxp: extra information for the mesh generation,
 l .rep: report file,
 l .log: mesh generation information,
 l .dist: distance file (prefix is domain name),
 l .fnmb: FNMB connections,
 l .nmb: Non matching connections,
 l .qualityReport: quality report file.
In addition a subdirectory named "cache" contains the resulting mesh files after each step of the 
mesh generation (for example "_snap.hex" as resulting mesh after snapping process). It allows for 
deleting some steps and coming back to a previous one without generating the necessary steps 
again.
TUTORIAL 5. 
CREATE A 2D AXISYMMETRIC MESH
The  objective  of   this  tutorial  is  to  show  the  basics  of   how  to  go  from   a  geometry  to  a  mesh  with 
HEXPRESS™. It  aims to:
 l use HEXPRESS™ user interface;
 l create the geometry;
 l generate the domain;
 l generate the mesh;
 l make an axisymmetric mesh;
 l visualize a mesh;
 l progress in the mesh wizard to generate the mesh;
 l control the quality of the mesh.
101
HEXPRESS™ 7.2 Tutorials
5.1 
INTRODUCTION
Problem  description  
This tutorial describes step-by-step how to create a 2D  axisymmetric mesh from the creation of 
the geometry to the  generation of the mesh. The geometry in this example is a 2D  rectangle that 
could e.g. be used to investigate the flow in a  combustor.
An example of use of such mesh can be found in the tutorial Using premixed combustion model.     
Start HEXPRESS™ 
 l For Linux systems, use the following command line:
hexpress -niversion open72 -print  (if in FINE™/Open with OpenLabs™)
or
hexpress -niversion 72 -print (if HEXPRESS™ standalone)
 l For Windows systems, you can access the HEXPRESS™  graphical user interface from the 
start menu by going to:
 /Programs/NUMECA software/FineOpen72/HEXPRESS
/Programs/NUMECA software/Hexpress72/HEXPRESS (if HEXPRESS™ standalone)
5.2  MESH GENERATION
 Create the  geometry
1. In the welcome window click  on Quit... and confirm No in order not to quit HEXPRESS™.
2. Create a 3D box:
 a.  Go to the CAD Manipulation tab of the  Quick Access Pad and left-click on Create Box.
 b.  Enter <1e-5 0 0> for the first corner and left-click on         Apply,
 c.  Enter <0.15 0.5 0.013> for the opposite corner and left-click on         Apply,
 d.  Left-click on Accept.
A box is now created with dimensions: 0.15 x 0.5 x 0.013. A minimum  thickness (in this case 
0.013) is required to create even a 2D mesh as it will have  1 cell in the  third direction and this 
thickness indicates the thickness of this one cell.
As an axisymmetric mesh in HEXPRESS™ can not have a  singular line (on the symmetry axis), it is 
necessary to define a  geometry at a small distance from the symmetry axis. In this case an offset of 
1e-5 is used.
Generate the domain
3. Go to the CAD Manipulation tab,
4. Left-click on Create Domain,
5. Activate all faceting settings and set the Maximum and Minimum length to <0.005>. This 
defines the size of the triangles used for faceting of the geometry. 
6. Click on Apply.
7. Click on Create to generate the domain.
8. Under the _mesh folder, enter the name of the mesh project as <Box2D.dom>.
9. Click on Yes to import the domain.
Set boundary conditions
10. In the Grid generation mode click on the icon      
 to mesh a 2D axisymmetric domain.     
11. Click on Yes to confirm the 2D mode.
Periodic boundary conditions are automatically recognized  according to the new 2D Boundary 
Conditions recognition. Mirror  conditions (MIR) are applied in the periodic directions.
12. Go to Grid/Boundary  Conditions... menu or click on the icon 
 in the icon bar.
13. Rename/ set the boundary conditions using the Set face type       button:
 a.  Rename "B1_face_0" as "side_a":
 l Right click on"B1_face_0" and selected Set Name.
 b.  Rename "B1_face_1" as "inlet" and set as inlet ("INL"),
 c.  Rename "B1_face_2" as "bottom",
d.  Rename "B1_face_3" as "outlet" and set as outlet ("OUT"),
 e.  Rename "B1_face_4" as "side_b",
 f.  Rename "B1_face_5" as "top".
14. Close the dialog box.
Mesh  wizard: initial mesh
15. In the Mesh Wizard activate the Initial mesh.
16. Left-click on the Initial mesh...
17. Set the number of divisions along the Cartesian axes:
 l <20><Enter>           for the X axis,
 l <210><Enter>           for the Y axis.
18. Press Go to  create the initial mesh.
19. Click on 
display.
 in the View  menu of the Quick Access Pad to enable/ disable  the mesh 
20. Click on 
 in the View menu of the Quick Access Pad to enable/ disable the solid display.
Mesh wizard: adaptation step
21. In the Mesh Wizard, activate Adapt to geometry....
22. Under the Global tab, set the Maximum number of refinements to    <5> <Enter>.
The number of refinements in i direction ni can be estimated using       
.      
23. In the Surface refinement     tab, select the patch     bottom. The selected face is highlighted in the 
graphics area.  
Alternatively left-click in the graphics area on a face to select it.
24. Click on Active.
25. Set the Maximum number of refinements to <5>.
26. Set Target cell size criterion to <0.0003> for the X axis and <0.002>         for the Y axis.
27. Right-click on Advanced>>>
28. Set Refinement diffusion to <4>.         
The number of refinements has been calculated with:
and
. 
So the number of refinements       
. 
To   ensure   a   sufficiently   smooth   transition   between   fine   and   coarse   cell   regions,  the   refinement  
diffusion is increased.
29. In the Trimming    tab, set patch trimming status to Not Used for trimming for all  patches.
Note that the patches with boundary "Mirror" ("side_a" and "side_b")  are automatically flagged 
to not be used for trimming. Leave these  patches flagged to "Not used for trimming"
In the present case, it is advised to not use all  of the boundaries for trimming as the projection can 
deteriorate  the quality of the mesh in 2D.
30. Click on Ok.   
31. Click on Step     to launch the adaptation step.
113
HEXPRESS™ 7.2 Tutorials
Mesh wizard:  snapping
32. In the Mesh Wizard, activate Snap to geometry....
33. The Advanced>>>       button allows to activate 3 extra tabs and advanced flags for the  snapping 
step. It is not necessary to change the default in this  tutorial.
34. Left-click on Ok.
Mesh  wizard: optimization step
35. In the Mesh Wizard, activate Optimize...
36. Keep default settings.
37. Left-click on Ok.
38. Click on Start       in Mesh Wizard to optimize the mesh.
Mesh wizard: viscous layers
For this tutorial no viscous layers are required so this step  will not be performed.
Transform to axisymmetric
39.   To   make   the   mesh   axisymmetric   go   to   Grid/Mesh   transformation...   and   select   the  
Axisymmetric tab.
40. Apply the following settings to set the axisymmetric axis, which  is coincident with the Y axis:
 a.  Enter <0  0> as the Origin of the axisymmetric axis.
 b.  Enter <0  1> as the 2D axis (indicating the y direction).
 c.  Set Angle [degree] to         <5.0>.
 d.  Set Nb of Layer  in theta to <1>.
 e.  Click Apply to transform the mesh.
After the transformation the axysimmetric axis is  aligned with the Z axis. The angle is 5.0 [degree]. 
By default the angle is 1.0 [degree] but that would be  too small and too close to the axis, the cells 
would be too elongated and that would have a negative impact on the convergence.
The final axisymmetric mesh:
116
HEXPRESS™ 7.2 Tutorials
Periodic FNMB connection
41. Go to the Grid/Boundary  Conditions... menu.
42. Set the boundary conditions  using the Set face  type button: set bottom and top as Mirror 
(MIR).
The   patches   side_ a   and   side_ b   are   automatically   recognized   as   SOL*   y   making   the   mesh  
axisymmetric.
43. Close the dialog box.
44. Go to Grid/Periodicity....
45. Verify that a periodicity definition of type ROTATION  (Periodicity_1) was automatically 
created by making the model axisymmetric.
46. Select Periodicity_1 and click Edit. 
47. Compare the settings with the settings shown below.
Periodicity should correspond to the number of times the axisymmetric should be repeated to get 360 
degrees (360/5=72).
48. Click Cancel and Close to continue.
49. Go to the Grid/Non  Matching Connections... menu.
A  non-matching connection was automatically created when making the mesh axisymmetric: 
'connection_2'. Check the settings of the  connection by selecting 'connection_2' and clicking the 
Edit button:
50. Select connection_2 and left-click on Compute. 
51. Click on Close     when the computation is over (status is marked as Successful).
Check  mesh quality in HEXPRESS™
52. Left-click the Mesh  Quality button in icon bar.
53. Check the mesh quality using the Criterion drop-down menu for the following criteria:
 l negative cells,
 l concave cells,
 l twisted cells.
Save mesh
Go to Project/Save as... or  click on the Save icon in the icon bar.
Under the _mesh folder, enter the name of the mesh project as  Box2D_Axisymmetric.igg.
Click Ok to  save the mesh files.
ADVANCED
The following advanced level tutorials for HEXPRESS™ allow  to explore in more detail the 
mesh generation process.
TUTORIAL 1. 
CREATE DOMAIN FROM CAD
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
 l Spatial discretization of the flow equations,
 l Flow computation,
 l Visualization of the results.
For   this  purpose,  NUMECA  has  developed  a  Flow  INtegrated  Environment  with  which  the  flow  in 
internal and external configurations can be simulated.
The unstructured CFD package consists of the following tools:
 l HEXPRESS™   is   an   automatic   unstructured   Hexahedral   mesh   generator   software   designed   to  
automatically generate meshes for the discretization of complex 2D and 3D geometries,
 l FINE™/Open flow solver is a state-of-the-art multi-domain unstructured code for the solution of 
the Euler and Navier-Stokes equations to compute laminar, transitional and turbulent flow,
 l CFView™ is a highly interactive flow visualization and post-processing software,
 l FINE™ Graphical User Interface is a user-friendly environment that allows the user to accomplish 
all steps, from grid generation to flow visualization.
In the present tutorial, the user will learn how to manipulate CAD files in order to create a domain file 
".dom" into  HEXPRESS™.
The following steps will be discussed:
 l Load and check CAD Parasolid files,
 l Create a bounding box,
 l Control triangulation of the CAD files,
 l Manipulate domain.
1.1 
INTRODUCTION
1.1.1 
Prerequisites
This   tutorial  does   not  require   any   particular  prerequisite   but  it  is   strongly   recommended   for 
beginners to perform the following tutorials:
 l "Automotive Manifold" (p. 7)
 l "Turbine Mark II" (p. 28)
1.1.2 
Presentation
The goal of this tutorial is to provide step-by-step instructions for the creation of the geometrical 
domain ".dom" file starting from a Parasolid CAD file of the fully appended case DTMB 5415 
Combatant.
1.1.3 
Preparation
Start HEXPRESS™ . How?
 l For Linux systems, use the following command line:
hexpress -niversion open72 -print  (if in FINE™/Open with OpenLabs™)
or
hexpress -niversion 72 -print (if HEXPRESS™ standalone)
l For Windows systems, you can access the HEXPRESS™  graphical user interface from the 
start menu by going to:
 /Programs/NUMECA software/FineOpen72/HEXPRESS
/Programs/NUMECA software/Hexpress72/HEXPRESS (if HEXPRESS™ standalone)
HEXPRESS™ graphical user interface allows you to visualize the geometry and mesh of the 
internal or external test case in a graphics area. The access to the main menu and controls is 
provided by a menu bar and a quick access pad, and is completed with a tool/icon bar and a 
control area (including the keyboard input area).
1.2 
IMPORT GEOMETRY
1. Click on Import Parasolid model <.xt_txt> to load a model.
2.   Select   the   tutorial   file   "DTMB5415_ Appended.X_ T"   box,   and   confirm   your   choice:   9  
Parasolid bodies are loaded.
Imported Parasolid™ models might be unclean (gaps, intersecting geometries, etc.). To verify this, a 
checking algorithm is included in HEXPRESS™.
3. Select all bodies: left-click on the first body, hold the <Shift> button and left-click on the last 
item  (<Ctrl> + left-click also works for multiple selections).
4. Right-click and hold on any highlighted item in the list to access the options and release on 
Check. Wait a few seconds to get the confirmation that the bodies are clean.
5. Press OK in the message to continue.
When the imported bodies are not clean, one needs to resort to CADfix.
1.3 
DEFINE DOMAIN
The computational domain is usually defined as a box around the body.
Standard domain sizes in terms of Lpp (length between perpendiculars) or Loa (length over all) are:
 l Longitudinal    (commonly X-axis)      5Lpp
 l Lateral          (commonly Y-axis)      1.5Lpp
 l Normal          (commonly Z-axis)      2Lpp
 l Volume in space                            15Lpp3
6. Click on Create Box under the CAD Manipulation/Create/Edit menu in the Quick Access 
Pad (QAP).
7. Enter the first corner: <-5.72,0,-8.33>.
8. Click on Apply.
9. Enter the second corner: <22.8,8.58,3.11>.
10. Click on Apply.
11. Click on Accept.
12. A box called "B1" is added to the list.
The  domain  that  will  be  meshed  is  the  bounding  box  minus  the  ship's  geometry.  To  obtain  this,  a 
boolean operator Subtract is used.
13. Click on Subtract under CAD Manipulation/Create/Edit menu in the QAP.
14. Select the target body "B1" (body from which you will subtract).
15. Press Accept.
16. Select the tool bodies: all other bodies in the list (bodies that will be subtracted).
17. Left-click on the first body in the list. Hold <Shift> and left-click on the last body in the list.
18. Press Perform.
All actions can be undone with Undo.
To  verify  that  the  resulting  body  is  indeed  as  expected,  select  the  body  in  the  list  under  the CAD 
Manipulation/Visualization/Selection menu in the QAP and right-click hold and release on Show 
as solid. To return, repeat the previous steps but release on Show as wireframe. 
19. Check that the body "B1" is selected in the CAD Manipulation/ Visualization/Selection list 
in the QAP.
20. Click on Create Domain under CAD Manipulation/Create/Edit. By default the faceting 
settings is based on curve and surface resolutions set to 2.
Recommendations on faceting settings:
 l Compromise between facet count (file size) and description of model.
 l Recommendations in terms of LPP (from lower to higher quality):
 l Minimum length = LPP x 1e-3 to LPP x 1e-4,
 l Maximum length = LPP,
 l Curve and surface plane chordal tolerance = from 1e-3 to 1e-4,
l Curve and surface resolution = from 5 to 1.
21. Set the faceting settings as in the following figure.
22. Click on Apply to see the effect of the facet settings in the graphics window.
A   visual   check   of   the   triangulation   quality,   especially   in   the   high   curvature   areas,   is   highly  
recommended   before  saving   the  domain.  If   the  geometry   is  not   accurately   respected,  the  faceting  
settings parameters should be improved.
23.   When   satisfied,   click   on   Create   to   save   the   domain   file   with   the   name   < FA_ DTMB_
domain>.
24. Click Yes in order to import the successfully generated domain.
The resulting imported domain is presented in the following figure.
25. Use the Solid Toggle button 
domain as wire-frame or solid.
 under View/Display Options in the QAP to view the
1.4  MANIPULATE DOMAIN
Meshing actions in HEXPRESS™ are mainly done at the level of edge or face entities. To reduce the 
engineering  time  spent  during  the  mesh  set-up,  the  number  of  edges  and  faces  should  be  kept  to  a 
minimum (a process called "domain simplification").
This section will illustrate:
 l Manual merging of edges and faces,
 l Automatic merging of faces and edges.
Expand the options by clicking on the pad title Domain Manipulation in the QAP.
The   following   philosophy   is   usually   followed   when   merging   edges   and   faces.   By   default,  
HEXPRESS™ captures all vertices and edges in the domain. This means:
 l Edges   which   represent   a   real   geometrical   feature   or   of   great   interest   (possible   cavitation,  
separation, etc) should be kept,
 l Edges not representing a feature can be merged together,
 l Try to avoid vertices with a connectivity equal or larger than 4 (connected to 4 edges).
Typical workflow:
 l First automatic face merge with high feature angle,
 l Manual face merge,
 l Automatic edge merge.
1.4.1 
Automatic Face Merge
As a first step, an automatic face merging step with a large feature angle will merge faces that are 
well aligned.
26. Expand the options by clicking on the pad title Domain Manipulation in the QAP.
27. Click on the Merge Faces Automatically  icon 
.
28. Set the feature angle (degrees) to <175> <Enter>.
A feature angle of:
 l 0 deg allows merging of all edges/faces,
 l 180 deg allows merging of only parallel aligned edges/faces.
By default, it is set to 140 deg.
29. Press Ok.
30. Press Merge All or Merge for a step-by-step merging.
1.4.2  Manual Face Merge
31. A  manual face merging action follows to merge the remaining faces of interest. First, the 
feature angle needs to be reset for manual operations.
32. Click on the Settings icon 
 under Domain Manipulation in the QAP.
33. Set the feature angle (degrees) to <0> <Enter> (hence no restriction in merging operations).
34. Press Apply.
When manually merging, the edges/faces that will be merged are highlighted in green. If they are not 
highlighted, it is likely that the feature angle is set too high.
Focus on the bow surface and merge the faces as depicted below.
35. Press on the Merge Faces icon 
 and left-click on the edges to merge neighboring faces:
Result:
36. Focus on the shaft root and left-click  on the edge to merge the faces as depicted below:
Result:
37. Repeat step 35 to merge the shaft cone (6 actions, keep the vertical edges):
Result:
38. Repeat step 35 to merge the A-brackets trailing edge area (4 actions, keep the dividing edge 
between the fore and aft areas - possible separation of the boundary layer):
Result:
39. Repeat step 35 to merge the rudder edges as depicted, keeping just the leading and trailing 
edges (2 actions):
Result:
40. Right-click to quit the face merging menu.
1.4.3  Automatic Edge Merge
After the face merging, the original vertices are still remaining (that will be captured during the 
mesh generation).
41. Click on the display vertex icon 
them (white dots in display area).
 under View/Display Options in the QAP to visualize
42. Click on the Merge Edges Automatically icon 
QAP.
43. Set the feature angle (degrees) to <140> <Enter>.
44. Press OK.
 under Domain Manipulation in the 
45. Press Merge All.
46. Refresh the display by clicking twice on the vertex icon 
in the QAP.
 under View/Display Options
47. Click again on 
 to hide the vertices.
1.4.4 
Edge Splitting
To prevent a low quality of the future mesh in difficult areas as intersections of sharp edges with the 
body, it is recommended to split edges or faces in that vicinity for a further refinement during the 
mesh  generation,  thus  avoiding  a  high  discretization  of   a  big  area  and  therefore  the  generation  of  
unnecessary cells.
48. Click on the Split Edges button (
)  under Domain Manipulation in the QAP.
49. Zoom on the brackets and move the cursor near one of the trailing edges. The curve will be 
highlighted in green and a white circle will indicate the splitting point.
50. Left-click at approximately 10% of the trailing edge length, near the bracket's root, as in the 
following figure.
51. Repeat above step for the second bracket.
52. Click on  
 to display the vertices:
At the end of the domain simplification step, always check the domain validity.
53. Click on the Check Domain icon (
up window with the message "Domain topology is valid" appears.
) under Domain Manipulation in the QAP. A pop-
54. Click on OK.
55. Select Project/Save to save the project as "Full_Appended_DTMB.igg" (domain file is also 
saved).
1.5 
BOUNDARY CONDITIONS
Before   proceeding   with   the   actual  mesh   generation,   it  is   recommended   to   set  the   boundary  
conditions. This section explains how to:
 l Assign names to surfaces,
 l Assign boundary condition types to surfaces.
For practical reasons, rename all the surfaces accordingly and set the BC at the same time.
56. Click on the icon 
 or select the Grid/ Boundary Conditions... menu.
57. Click on the surface name in the list (and see it highlighted in the view area) or select directly 
in the graphics area by left-clicking on the surface (middle-click to scroll through surfaces hidden 
after each other). Use <Ctrl> or <Shift> to make multiple selections both in the list or interactively 
in the graphics area.
58. Right-click on the selected surface(s) and release on Set Name and rename all surfaces as 
presented in the below figures (multiple surfaces may receive the same name).
59. Set first the names and BC type for the bounding box as presented below:
Due to symmetry, the "ymin" plane will be set as MIR.
All the other 5 surfaces of the bounding box will be set as EXT.
All the ship's surfaces will be set as SOL.
60. Repeat step 57and step 58 to rename and set BC  type for all the remaining surfaces as 
presented below:
Parts of the hull:
Rudder:
Shaft:
152
HEXPRESS™ 7.2 Tutorials
Brackets:
61. Select all the bounding box patches except "ymin".
62. Click on Set face type to define the boundary condition type and release on EXT.
63. Repeat step to set the mirror plane ("ymin")  as MIR.
64. Check that all other patches are set as SOL. The eventual boundary condition settings will 
look like the following figure. All surfaces are renamed, but pay special attention to the bounding 
box patches and their face type.
65. Press Close.
66. Select Project/Save to save the project including the ".dom" file.
At the end of this step, the domain is ready to start a mesh generation following the wizard from 
the "Initial Mesh" until the "Insert Viscous Layers" step.
© NUMECA International, all rights reserved
EN201805172221

AutoMesh™ structured
AutoMesh™ contains the following structured grid generators:
AutoGrid5™: Automatic Full Hex Multi-block Structured Meshing of Multi-stage Turbomachinery.
IGG™: Interactive Geometry Modeler and Multi-Block Structured Grid Generator.

New Features in v13
This document provides a description of the new capabilities and major improvements included in AutoGrid5™ v13 as well as statements outlining main customer benefits and known limitations. 
 The following is a detailed list of new capabilities and enhancements in AutoGrid5™ v13:
All Products:
Flexlm based security ID updated to v18

Improve administration wizard

General upgrade in package

AutoGrid5™:
New gap topology

Partial wake prolongation & relax clustering in bypass configuration

Block conversion to right-handed after mesh generation

Reduce ZR effect default mesh size

New ZR effect Python commands

New Python commands

Flexlm based security ID updated to v18
(New in AutoGrid5™ v13.1)
        
(All Products)
AutoGrid5™ requires FlexLM based license keys for execution. In AutoGrid5™ v13, the security ID has been upgraded from v17 to v18 thus requiring the delivery of new license keys for execution
Customer Benefits

None
Known Limitations

None


Improve administration wizard
(New in AutoGrid5™ v13.1)
        
(All Products)
The user-friendliness of the license management and diagnostics of the administration wizard is improved:

License Management>Product (de)activation: Deactivate button to return all fulfillment and all servers on the machine.
License Management>Trusted storage: check-box to return a fulfillment and refresh button to refresh the fulfillment status if needed.
License Management>License server: control and display the status of the known servers and the list of all the features deserves by the selected server. 
Diagnostics: Support request button to generate a file containing the results from the checks performed.

 
Customer Benefits

More user-friendly tool to diagnose and manage licensing.
Known Limitations

None


General upgrade in package
(New in AutoGrid5™ v13.1)
        
(All Products)
General upgrade is made in the package:

Use of Datakit 2017.3 (for Catia V5 file import).

 
Customer Benefits

CATIA R26 support.
Known Limitations

None
New gap topology
(New in AutoGrid5™ v13.1)
        
A new gap topology (O2H) allows to impose a higher number of points at the trailing edge than at the leading edge.
 
Customer Benefits

Better capture the wake by adding more points at trailing edge without adding too much points at the leading edge.
Known Limitations


Not available with HOH blade-to-blade topology, with blunt blade or partial gap.
Not available with blade cooling module.



Partial wake prolongation & relax clustering in bypass configuration
(New in AutoGrid5™ v13.1)
        
Meshing bypass configurations has been improved:

The new partial wake prolongation option propagates the wake angle from the unfixed control line to the next fixed control line where it becomes horizontal.
Mesh after a nozzle control line is progressively relaxed to the outlet by default to improve mesh quality.
Mesh is also fully relaxed at nozzle control lines. If there are control lines before the nozzle, the mesh is unmodified at the first downstream and progressively relaxed till nozzle control lines. The relaxation is controlled by the Python commands set_downstream_block_relaxation_before_nozzle(value) and get_downstream_block_relaxation_before_nozzle().

 
Customer Benefits

Improved mesh quality for bypass configuration.
Known Limitations

None


Block conversion to right-handed after mesh generation
(New in AutoGrid5™ v13.1)
        
For a new template created in AutoGrid5™ v13.1, all the left-handed blocks are converted to right-handed at the end of the mesh generation. Therefore the preference Keep Left Handed Orientation After Saving has no more effect.
 
Customer Benefits

Improve process chain.
Known Limitations

None
Reduce ZR effect default mesh size
(New in AutoGrid5™ v13.1)
        
When creating a new ZR effect and computing the default mesh, the number of points in the ZR effect could be divided by more than 2 compare to v12 while keeping a good boundary layer.
A new clustering type “ZReffect boundary layer” is available in ZR effect edit mode without control parameters. It is only setup by the default mesh process.
 
Customer Benefits

Reduce number of points of the generated mesh while keeping a good boundary layer in the ZR effects.
Known Limitations


When moving manually vertices or fixed points, new distribution type will not be recomputed but simply rescaled.
Expansion ratio can be higher than before after propagating channel number of points.



New ZR effect Python commands
(New in AutoGrid5™ v13.1)
        
New commands have been added in the TechnologicalEffectZR class:

to set/get autoblocking expert parameters: set_H_topology_around_corners(value), get_H_topology_around_corners(), set_H_topology_around_thin_films(value) and get_H_topology_around_thin_films();
to return number of unmapped edges: detect_unmapped_edges().

 
Customer Benefits

More flexibility in setting up projects with Python.
Known Limitations

None


New Python commands
(New in AutoGrid5™ v13.1)
        
Python scripts can now be executed without the GUI using "-real-batch" mode. New Python commands have been added to increase the usability for both "-batch" and "-real-batch" modes, along with new commands for the generation of the ZR and 3D effects.
 
Customer Benefits

Expanded usability of Python scripting.
Known Limitations

None

AutoGrid5™
AutoGrid5™ is a full automatic hexahedral grid generator for all types of rotating machinery. To get started with the use of AutoGrid5™ the links in the following paragraphs can be of good use.
Installation

IGG™/AutoGrid5™ is included in the installation of
 FINE™/Turbo
.

What's New?
The release note, what is new in the latest release of AutoGrid5™: 
New Features in v13

Getting Started with AutoGrid5™
To get started with the use of AutoGrid5™ the following material is available:
User Guide,
Demo Cases FINE™/Turbo: several demo cases of FINE™/Turbo are based on a grid created in AutoGrid5™ like for example Demo Case 1,
Tutorials: step-by-step instructions to create a mesh in AutoGrid5™

Beginner

The following Beginner level tutorials for AutoGrid5™ allow to familiarize with the Graphical User Interface and the basis of the mesh generation technique:



General information on the use of the tutorials:
Where to Find the Files Used in the Tutorials?

Conventions Used in the Tutorials

Where to Find the Files Used in the Tutorials?
Each of the tutorials starts from mesh generation and uses an existing geometry. The appropriate files (and any other relevant files used in the tutorial) can be downloaded from the following: link: download AutoGrid5™ tutorial files. In addition, they are available from the Products page of the Customer Area (www.numeca.be).
Some of the project files (mesh and project, excluding solution files) can also be found in the demo cases package dedicated to ready-to-run demonstration cases and presented in the FINE™/Turbo Demo Cases section. This allows to quickly start a calculation and observe the behavior of AutoGrid5™, without necessarily going through all the steps of the tutorials.


Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry, either in a ".geomTurbo" or CAD related format.
The sequence of actions to be executed are described through a step-by-step approach, in the form of Arabic numbers.
Additional insight into some specific actions and/or features is frequently added to illustrate the tutorial further. This information is proposed for the purpose of clarity and completeness, and should not be executed. It appears as a note with a light blue background.
The calculations executed to illustrate the behavior of the flow solver, include a "reasonable" number of grid points to limit the computational resources required to complete the tutorials. As a consequence, most of the underlying flow solutions must be considered as qualitative. Additional mesh refinement may be required in some circumstances to obtain a more quantitative picture.
Contact NUMECA local sales or support office for any question or information you may require. To allow NUMECA local sales or support office to help you out within the shortest delays, please provide a detailed description of the observed behavior and performed analysis.

Tutorials

The tutorials for AutoGrid5™ as listed below provide detailed step-by-step instructions for the entire mesh generation process. Most of the tutorials are designed so as to limit use of computational resources but some of them may require a significant amount of computational time assuming they are executed on the finest mesh level. 
Beginner

                Tutorial 1: NASA Rotor37

                Tutorial 2: Aachen Turbine

                Tutorial 3: SHF Pump

                Tutorial 4: Francis Turbine

               Tutorial 5: Axial Multistage Compressor

                Tutorial 6: High Performance Centrifugal Compressor

                Tutorial 7: Wind Turbine

                Tutorial 8: Marine Propeller
Advanced

                Tutorial 1: Large Scale Centrifugal Compressor (Expert Mode)

               Tutorial 2: Meridional Effect

                Tutorial 3: Non-Axisymmetric Hub/Shroud

               Tutorial 4: Bypass Configuration

                Tutorial 5: Tandem Configuration

                Tutorial 6: Cascade Configuration

                Tutorial 7: Snubber Configuration

                Tutorial 8: 3D Technological Effect - Casing Treatment

               Tutorial 9: Cooling & Solid Mesh Generation

                Tutorial 10: Scripting Overview

               Tutorial 11: Fillet on Blade

               Tutorial 12: Marine propeller - from CAD to geomTurbo

Where to Find the Files Used in the Tutorials?
Each of the tutorials starts from mesh generation and uses an existing geometry. The appropriate files (and any other relevant files used in the tutorial) can be downloaded from the following link: AutoGrid5™ tutorial input files.
Some of the project files can also be found in the demo cases package dedicated to ready-to-run demonstration cases and presented in the FINE™/Turbo Demo Cases section. This allows to quickly start a calculation and observe the behavior of AutoGrid5™, without necessarily going through all the steps of the tutorials.

Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry, either in a ".geomTurbo" or CAD related format.
The sequence of actions to be executed are described through a step-by-step approach, in the form of Arabic numbers.
Additional insight about some specific actions and/ or features is frequently added to illustrate the tutorial further. This information is proposed for the purpose of clarity and completeness, and should not be executed. It appears as a note with a light blue background.
The calculations executed to illustrate the behavior of the flow solver include a "reasonable" number of grid points, so as to limit the computational resources required to complete the tutorials. As a consequence, most of the underlying flow solutions must be considered as qualitative. Additional mesh refinement may be required in some circumstances so as to obtain a more quantitative picture.
Contact NUMECA local sales or support office for any question or information you may require. To allow NUMECA local sales or support office to help you out within the shortest delays, please provide a detailed description of the observed behavior and performed analysis.

TUTORIAL 4. Bypass Configuration

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry & Define Main Properties

Initialize Topology & Grid Points Distribution

Meridional Control

Bypass - Nozzle Control

Copy/Paste Flow Paths Distribution

Bulb Control

Blade-to-Blade Control

3D Mesh Generation

3D Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of bypass turbomachine applications (airplane engine). It makes exclusive use of AutoGrid5™ and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
control meridional flow paths especially at the nozzle;
control the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for beginners to perform the beginner tutorials 1 to 6 and the advanced tutorial 9.
Problem Description
The problem to be considered is shown schematically below (meridional view). The project consists of the mesh generation of a bypass configuration (part of an airplane engine). The configuration is composed of a fan in front of the nozzle, three rows in the down bypass and one row in the up bypass.


Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™ graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 


You are now ready to start the grid generation process and mesh the bypass configuration!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims to guide you through the various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.



2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.


Load Geometry & Define Main Properties
6. Locate and select "bypass.geomTurbo" (geometry defined in [Decimeter]) in the dialog box and click Open. Where to Find the Files Used in the Tutorials?

The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel block contains the definition of the turbomachinery meridional contour (hub, shroud and nozzle). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud". Additionally, when meshing a bypass configuration the nozzle must be defined.


The row definition contains the geometry of a complete row. The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.


The geometry can also be imported through a graphic window (Geometry  Definition -> Import and Link CAD) when defining a new project from scratch with bypass. Simply right-click in the graphic window, a pop-up menu will allow the user to define the nozzle in addition to the hub and shroud. Similarly, a row in the nozzle and in the up/down bypass can be added to the configuration.



7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
8. Right-click row 1 and select Properties in the pop-up menu.
9. Enter the Periodicity (number of blades) to <18>and press <Enter>.
10. Enter <500> in Rotation Speed (rpm).



This speed will be transferred to FINE™ graphical user interface and ease the input of boundary conditions later on. 
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

11. Choose Default in order to plot the full turbomachine in 3D view when activating View/Toggle 3D Solid View.
12. Execute the same operations for elements row 2, row 3, row 4 and row 5, defined respectively by the following parameters :<77>-<0>, <119>-<0>,<127>-<500> and <117>-<0> (it is not necessary to close the dialog box each time).
13. Close the dialog box.
14. Left-click Row Definition -> row 1.
15. Right-click and select Gap/Fillet / Define Shroud Gap in the pop-up menu.
16. Keep Width At Leading Edge = <0.06> [Decimeters] and press <Enter>.
17. Keep Width At Trailing Edge = <0.06> [Decimeters] and press <Enter>.
18. Close the dialog box.




19. Left-click Row Definition -> row 3 and row 5.
20. Right-click and select Gap/Fillet / Define Hub Gap in the pop-up menu.
21. Set Width At Leading Edge = <0.01> [Decimeters] and press <Enter>.
22. Set Width At Trailing Edge = <0.01> [Decimeters] and press <Enter>.
23. Close the dialog box.
24. Left-click Row Definition -> row 4.
25. Right-click and select Gap/Fillet / Define Shroud Gap in the pop-up menu.
26. Set Width At Leading Edge = <0.01> [Decimeters] and press <Enter>.
27. Set Width At Trailing Edge = <0.01> [Decimeters] and press <Enter>.
28. Close the dialog box.
The width at leading/trailing edge allows the user to specify the size of the gap at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.
29. Left-click Select All Rows.
30. Select Toggle 3D Solid View in the View menu to access the shaded blades in the 3D view.


31. Select Toggle 3D Solid View in the View menu to remove the shaded blades in 3D view.
Initialize Topology & Grid Points Distribution
32. Left-click Select All Rows.
33. Select Grid Level/Medium through Mesh Control in the Quick Access Pad.
34. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


Input the value of the Cell Width = <1e-4> [Decimeters] and press <Enter> in Mesh Control -> Row Mesh Control.


35. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This button will set the mesh topology to the default O4H topology.



The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


Meridional Control
36. Check the quality of the flow paths:

Left-click in the meridional view to activate it (red border).
Left-click .
Left-click one row in the Row list and press <Enter>.
Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in the meridional view.
Left-click the More info button to obtain information about minimum and maximum values of the selected criteria.
Close the dialog box.

37. Check the grid used to generate the flow path:

Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to active it.
Left-click Mesh Control -> Row Mesh Control -> Flow Paths Control -> Expert.
Deactivate View Flow Path to plot the grid used to generate the flow paths.






Close the dialog box.

Bypass - Nozzle Control
38. Control the block and points distribution on nozzle:

Left-click the  icon.
Left-click the double arrow when highlighted in red to control D (length of the C-block covering the nozzle), keep <0.5> and press <Enter>.




Left-click thickness (2.6%), type <5> and press <Enter> to increase the thickness of the C-block covering the nozzle.




Close the dialog box.
Left-click Select All Rows.
Left-click Generate Flow Paths.


Left-click the number of nodes, make the proper modification in the entry box and press <Enter> to confirm the modification. The nozzle flow path index and nozzle cell width can also be imposed.
H-topology on the nozzle is adapted for bypass configuration containing a sharp nozzle.

39. Adapt control lines close to the nozzle:

Left-click the control line defining the nozzle topology when highlighted in yellow.
Left-click one of the control points defining the control line.
Move the control point at desired location.
Left-click the control point to validate its new location.



The exact coordinates of the control points can also be introduced by right-clicking the control point; a dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.

Right-click the control line defining the nozzle topology when highlighted in yellow.
Select Properties.
Set the Cell width to <0.01>and press <Enter> for both control lines.



The same cell width has to be imposed on both control lines defining the nozzle.

Set the streamwise number of points for the upper control line (Streamwise Npts) to <17> and press <Enter>. For the lower control line set the number of points to <13> and press <Enter> to confirm.
Left-click Select All Rows.
Left-click Generate Flow Paths.

Copy/Paste Flow Paths Distribution
40. Copy/paste flow path distribution to row 2:Right-click the outlet of the up bypass when highlighted in yellow.Select Copy Left Distribution.Right-click the rotor/stator of the up bypass when highlighted in yellow.Select Paste Right Distribution.



Copy/Paste is used to copy a distribution from a rotor/stator to another one or to a meridional control line.
Merge is used to compute a common distribution from the left and right distributions at a rotor/stator. It is created for rotor/stators where the left row has a hub gap and the right row a shroud gap (or the opposite).
Clear is used to clean copy/merge operations on selected control line.


Left-click Select All Rows.
Left-click Generate Flow Paths.


Along the down bypass, automatic copy/paste and merge flow path distributions are performed.



Bulb Control
The configuration represents a hub defined with a control point at R=0. A bulb is automatically detected and flow path controls are added.
41. Adapt the control line close to the bulb if necessary:

Left-click the control line when highlighted in yellow.
Left-click the control point defining the control line.
Move the control point to the desired location.
Left-click the control point to validate its new location.




Click Select All Rows.
Click Generate Flow Paths.

42. Adapt flow path distribution in bulb:

Left-click .
Deactivate Singular line to impose a butterfly topology in the bulb.

Three topologies are available for bulbs: sharp (H-mesh), rounded (C-mesh) or radial. Using a C-mesh, the zero radius area can be meshed with a singular line or a butterfly topology.


Left-click the number of nodes, make the proper modification in the entry box and press <Enter> to confirm the modification.

Close dialog box.
Left-click Select All Rows.
Left-click Generate Flow Paths.

43. Check the quality of the flow paths as presented in step 36.
Blade-to-Blade Control
44. Click Select All Rows.
45. Click Generate B2B ().


When plotting all rows on the hub (active layer set 0% by default), row 2 does not appear in the blade-to-blade view because it does not intersect the hub. To check the mesh on row 2, an active layer intersecting row 2 should be selected.
46. Left-click Row Definition -> row i in the Quick Access Pad (QAP) to activate it.
47. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology control field.



By default, non-matching connections are applied at periodic boundaries. 
Matching connections at periodic boundaries can be obtained by activating  the Matching Periodicity check button. Press Initialize Topology & Grid Points Distribution button to regenerate  the mesh in the blade-to-blade plane. 
In most cases, the presence of non-matching connections improves the orthogonality in the overall mesh. This is especially true in highly staggered  configurations. 

48. Keep Matching Periodicity deactivated and all other data identical.
In several turbomachinery types, the blades are highly staggered (Automatic High Staggered Blade Detection within AutoGrid5™ ). If the solid angle at the inlet (outlet) of the machine becomes greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading edge (trailing edge) of the blades, the default topology is not suitable anymore since the cells located near the inlet (outlet) boundary become very skewed. To improve this unexpected behavior, AutoGrid5™  uses the High Staggered Blade Optimization.
49. Close the Topology control field.
50. If necessary, open the Grid Points control field to control the number of grid points in the blade-to-blade view.
51. Left-click the number of nodes, make the proper modification in the entry box and press <Enter> to confirm the modification.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum 3 grid levels within FINE™.
52. Visualize the result in the blade-to-blade view after selecting Generate B2B to regenerate the flow paths and the mesh in blade-to-blade plane.
53. Close the Grid Points control field.
54. Close the dialog box.
55. If necessary, go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh optimization parameters to enhance the quality of the mesh.


Optimization is performed in the form of smoothing and is executed on each layer using multi-block elliptic techniques. The number of Optimization Steps represents the number of iterations performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
56. Keep default Optimization Steps and all other data identical.
57. Close the dialog box.
58. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the blade-to-blade mesh will be plotted in the blade-to-blade view.


By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%) and is applied on active row(s).
59. Click Select All Rows.
60. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
61. Select Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation . Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using the Type pull-down menu and is plotted in the blade-to-blade view on the active layer selected in Mesh Control/ Active B2B Layer.
62. Check for grid quality by clicking .
63. Left-click one row in the Row list and press <Enter>.
64. Select quality criteria using the Type pull-down menu.
65. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
66. Left-click part of the histogram to plot the concerned cells in the blade-to-blade view.
67. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.


68. Close the dialog box.
3D Mesh Generation
69. Left-click Select All Rows.
70. Click the Generate 3D icon and confirm the generation.


Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and for each separate entity (row, technological effect, bulb). Data related to the grid quality is automatically stored in a report file, once the project file is saved.


71. Close the dialog box. The page can be reopened by clicking .
3D Mesh Visualization
72. Left-click Select All Rows.
73. Select View/Toggle 3D Solid View (click the  button to show the repetition if needed) to access the shaded blades in 3D view. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
75. Right-click to access the contextual menu and activate Full View.
76. Use the View menu in the QAP or View/Patch Viewer... menu to toggle edge or mesh.


Check Boundary Conditions & Mesh Quality


77. Check for boundary conditions by clicking .
78. Select UND from the Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.


It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.
79. Close the dialog box.
80. Check for negative cells by clicking .
81. Click Apply.



The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

82. Click ok and Close the dialog box.
83. Check the grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
84. Select quality criteria using the Type pull-down menu.
85. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).
86. Left-click part of the histogram to plot the concerned cells in the 3D view.


87. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.


88. Close the dialog box.
Save Project
89. Go to File -> Save Project As <tutorial4> and press <Enter> to save the mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh within AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 1. Large Scale Centrifugal Compressor (Expert Mode)

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry & Define Main Properties

Initialize Topology & Grid Points Distribution

Meridional Control

Blade-to-Blade Control

3D Mesh Generation

3D Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a centrifugal turbomachine. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
define a tip clearance;
set default O4H topology;
control flow paths;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any particular prior knowledge.
Problem Description
The Large Scale Centrifugal Compressor (LSCC) is an experimental facility designed to duplicate the essential flow physics of high-speed subsonic centrifugal compressor flow fields in a large size, low-speed machine.
The impeller has 20 full blades with a backsweep of 55 degrees. The inlet diameter is 0.870 m and the inlet blade height is 0.218 m. The exit diameter is 1.524 m and exit blade height is 0.141 m. The tip clearance between the blade tip and the shroud is 2.54 mm, and is constant from the impeller inlet to exit. This represents about 1.8% of the blade height at the exit of the impeller. The design tip speed is 153 m/s, with a rotation speed of 1,862 rpm and a design mass flow of 30 kg/s.
A complete description of the experimental facility for the LSCC case is provided by Hathaway et al. (1993, 1995) in the NASA technical paper 3527.


Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™ graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.





You are now ready to start the grid generation process and mesh the Centrifugal Compressor configuration!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims to guide you through the various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1.  Select Expert Mode if necessary in the toolbar.



2.  Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3.  Go to File -> New Project.
4.  Click yes to close the active project.
5.  Choose Initialize a New Project from a geomTurbo File. 


Load Geometry & Define Main Properties
6.  Locate and select "lssc.geomTurbo" (geometry defined in [Centimeter]) in the dialog box and click Open. Where to Find the Files Used in the Tutorials?



The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud, seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points and the channel curves defined as a composite of basic curves. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

7.  Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
8.  Right-click row 1 and select Properties in the pop-up menu.
9.  Enter the Periodicity (number of blades). Left-click inside the string input area and type <20>, press <Enter> to confirm.
10. Enter <1862.4> and press <Enter> in Rotation Speed (rpm).





This speed will be transferred to the FINE™ graphical user interface and will ease the input of boundary conditions later on. 
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise

11. Close the dialog box.
12. Left-click Row Definition -> row 1.
13. Right-click row 1 and select Gap/Fillet/Define Shroud Gap in the pop-up menu.
14. Define Width At Leading Edge = <0.254> [Centimeters] and press <Enter>.
15. Define Width At Trailing Edge = <0.254> [Centimeters] and press <Enter>.




The width at leading/trailing edge allows the user to specify the size of the gap at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.
16. Close the dialog box.
17. Control domain limits: move the outlet as presented on figure below:



Click in the meridional view to make it active (red border),
Move the mouse on the outlet curve,
When highlighted in yellow, right-click and select Properties,
Activate Linear -> R constant, set the value to <131> and press <Enter>,
Close the dialog box.






The inlet and outlet limits of the domain are by default defined by AutoGrid5™  using two straight lines joining the limits of the hub and shroud definitions. The shape and the location of the inlet and outlet boundaries can be modified interactively.
You can access the control points of the inlet/outlet and modify their location by dragging the points. The exact coordinates of the control points can also be introduced by right-clicking the control point. A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
There is another way to control the shape of inlet/outlet. Move the mouse to the inlet/outlet and when it becomes highlighted in yellow, right-click and select Properties in the pop-up menu. Activate for example Z constant and enter the coordinates where the inlet/outlet should be located.

Initialize Topology & Grid Points Distribution
18. Left-click Row Definition -> row 1 to activate the row, if not done already.
19. Select Grid Level/Medium through Mesh Control in the Quick Access Pad (QAP).
20. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=153 m/s, Lref=1.524 m and ν=1.57e-5 m²/s. Assuming one wishes to get y+ = 5 at the wall, it turns out that y = 2 x 10-5 m. Input the value of the Wall Cell Width = <0.002> [Centimeters] and press <Enter> in Mesh Control -> Row Mesh Control in the QAP.


21. Select Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This button will set the mesh topology to the default O4H topology.





The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.




Meridional Control
22. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
23. Go to Mesh Control -> Row Mesh Control-> Flow Paths Control in the QAP.
24. The Number of Flow Paths is set to <73>.
25. Keep Cell Width at hub = <0.002> [Centimeters].
26. Keep Cell Width at shroud = <0.002> [Centimeters].
27. Keep all other data unchanged.



The Expert section allows the user to control the visualization, the shape and the parameters related to flow path smoothing. The meaning of these parameters is detailed in the User Guide.
The Manual Edit mode allows the user to directly control the block faces which are used to construct flow paths. Edges can be moved, segments can be created or modified and the grid points distribution on segments can be controlled. More details can be found in the User Guide.

28. Close the dialog box.
29. Left-click row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
30. Left-click Row Definition -> row 1 -> Blades -> Main Blade -> Shroud gap, right-click and select Properties in the contextual menu.
31. Decrease the Number of Points to <13> <Enter> to reduce the default number of flow paths between the main blade tip and the shroud.
32. Keep all other data identical.





The Topology controls the mesh topology into the gap. When O2H, more points can be added at the trailing edge to better capture the wake, without adding too much points at the leading edge. (New in AutoGrid5™ v13.1)
The Cell Width controls the cell size imposed at the blade extremity (at the hub or shroud according to the gap type).
The Percentage of Mid-flow Cells controls the number of cells of constant size in the gap region of the channel.
The Number of Points controls the number of points in the gap in the spanwise direction. This number is part of the Number of Flow Paths specified through Mesh Control -> Row Mesh Control -> Flow Paths Control in the QAP.

33. Close the dialog box.
34. Click Generate Flow Paths () to regenerate the flow paths when default values modified.
Blade-to-Blade Control
35. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
36. Control blade-to-blade mesh through Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control.
37. Open the Topology control field, and keep the dialog box opened.


By default, non-matching connections are applied at periodic boundaries. You can see the periodic boundary by showing the repetitions.
38. Left-click the blade-to-blade window to activate that view (red border).
39. Go to the View -> Repetition... menu.
40. Increase Nb Repet to <1> and click Show.
41. Close the dialog box.


A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using the Type pull-down menu and plotted in the blade-to-blade view on the active layer selected in Mesh Control/Active B2B Layer.
42. Check the grid quality by clicking .
43. Select quality criteria using the Type pull-down menu.
44. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram.
45. Left-click part of the histogram to plot the concerned cells in the blade-to-blade view or select Display all cells to have an overview on mesh quality.
46. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.
47. Close the quality check box.


48. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
49. Activate Matching Periodicity in the Topology control field in the Define B2B Topology dialog box to switch to matching periodicity.


50. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This button will set the mesh topology to the default skin-like topology considering matching periodic connections.


When initializing the topology and the grid points distribution, all the manual modifications performed by the user on flow paths and blade-to-blade default settings are removed.
51. Repeat step 29 to step 33 to reapply the manual modifications on flow paths in shroud gap.
52. Repeat step 42 to step 47 to check mesh quality with matching periodicity.
In most cases, the presence of non-matching periodic connections somehow improves the orthogonality in the overall mesh. This is especially true in high staggered configurations.
53. Keep matching periodicity and all other data unchanged.
In several turbomachinery types, the blades are highly staggered (Automatic High Staggered Blade Detection within AutoGrid5™). If the solid angle at the inlet (outlet) of the machine becomes greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading edge (trailing edge) of the blades, then the default topology is not suitable anymore since the cells located near the inlet (outlet) boundary become very skewed. To improve this unexpected behavior, AutoGrid5™  uses the High Staggered Blade Optimization.
54. Close the Topology control field.
55. Activate row 1 by left-clicking it in the QAP, if not done already.
56. Open the Grid Points control field in the Define B2B Topology dialog box to control the number of grid points in the blade-to-blade view.
57. Left-click any number of nodes, make the proper modification according to the following figure in the entry box and press <Enter> to confirm the modification.



The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.
The Number of Points in Clearance O-mesh allows the user to control the number of points in the tip/hub gap (butterfly topology defined by two blocks).

58. Visualize the result in the blade-to-blade view after clicking Generate B2B () to regenerate the mesh in the blade-to-blade view.
59. Close the Grid Points control field.
60. Open the Mesh control field to control the cell size at the trailing edge. 
61. Set Cell Width At Trailing Edge to <0.0> and press <Enter> to relax the cell size at the trailing edge.


62. Close the dialog box.
63. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh optimization parameters to enhance the quality of the mesh if necessary.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block elliptic techniques. The number of Optimization Steps represents the number of iterations performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
64. Set Optimization Steps on Fine Grid= <200> and press <Enter>. Keep all other data unchanged.


65. Close the dialog box.
66. Activate the blade-to-blade view by left-clicking in the view (red border), if not done already.
67. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view.
By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%).
68. Enter for example <50> in order to visualize the mesh at mid-span.


69. Press Generate B2B () to regenerate the mesh in the blade-to-blade view.
3D Mesh Generation
70. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to active the current row, if not done already.
71. Click Generate 3D and confirm (Start) the generation.


Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and for each separate entity (row, technological effect, bulb). Data related to the grid quality is automatically stored in a report file, once the project file is saved.


72. Close the dialog box. The page can be reopened by clicking .
3D Mesh Visualization
73. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
74. Right-click row 1 and select Properties to activate Default in order to plot the full turbomachine.
 
75. Close the dialog box.
76. Select Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.
77. Right-click to get the contextual menu and select Full View.


78. Go to View in the QAP to toggle edge or mesh.


79. Right-click in the 3D view and activate MultiView.
80. Left-click the configuration view to retrieve the original QAP.
Check Boundary Conditions and Mesh Quality



            81. Check for boundary conditions by clicking .
        
82. Select UND from the Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


83. Close the dialog box.
84. Left-click in the 3D view to activate the view (red border), if not done already.
85. Check for negative cells by clicking .

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.



86. Click Apply.
87. Click ok and Close the dialog box.
88. Left-click in the 3D view to activate the view (red border), if not done already.
89. Check the grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
90. Select block number (0 for all).
91. Select quality criteria using the Type pull-down menu.
92. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


93. Left-click part of the histogram to plot the corresponding cells in the 3D view.


94. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


95. Close the dialog box
Save Project
96. Go to File -> Save Project As <tutorial1> and press <Enter> to save the mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh within AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"),  ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Advanced

The following Advanced level tutorials for AutoGrid5™ are available:



General information on the use of the tutorials:
Where to Find the Files Used in the Tutorials?

Conventions Used in the Tutorials

Where to Find the Files Used in the Tutorials?
The appropriate files (and any other relevant files used in the tutorial) can be downloaded from the following link: download AutoGrid5™ tutorial files. In addition they are available from the Products page of the Customer Area (www.numeca.be).
Some of the project files (mesh and project, excluding solution files) can also be found in the demo cases package dedicated to ready-to-run demonstration cases and presented in the FINE™/Turbo Demo Cases section. This allows to quickly start a calculation and observe the behavior of AutoGrid5™, without necessarily going through all the steps of the tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry, either in a ".geomTurbo" or CAD related format.
The sequence of actions to be executed are described through a step-by-step approach, in the form of Arabic numbers.
Additional insight about some specific actions and/ or features is frequently added to illustrate the tutorial further. This information is proposed for the purpose of clarity and completeness, and should not be executed. It appears as a note with a light blue background.
The calculations executed to illustrate the behavior of the mesh generator include a "reasonable" number of grid points, so as to limit the computational resources required to complete the tutorials. Additional mesh refinement may be required in some circumstances so as to obtain a more quantitative picture.
Contact NUMECA local sales or support office for any question or information you may require. To allow NUMECA local sales or support office to help you out within the shortest delays, please provide a detailed description of the observed behavior and performed analysis.

TUTORIAL 8. 3D Technological Effect - Casing Treatment

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Open Existing Mesh Project

Adapt Mesh Project

3D Technological Effect Generation

Configuration Control

Geometry Control

Topology & Mesh Control

Boundary Conditions & Quality Control

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™ , it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of casing treatments (3D technological effects) for turbomachines. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing project file into AutoGrid5™;
adapt the existing project file;
generate and control the mesh in the technological effect (casing);
control the quality of the mesh in the 3D mesh.

Prerequisites
This tutorial requires the user to perform the mesh generation of the NASA rotor 37 as explained in beginner tutorial 1. Furthermore, it is strongly recommended for beginners to perform the beginner tutorials 2 to 6 too.
Problem Description
The problem to be considered is shown schematically below. The project consists of the mesh generation of a casing treatment (3D technological effect) for the NASA rotor 37 that will include the buffer block and groove meshes.




Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can directly access the AutoGrid5™  graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 


You are now ready to start the grid generation process and mesh the configuration presenting a casing treatment (3D technological effect)!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims at guiding you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Open Existing Mesh Project
1.  Click Select a Project File in the Open Turbo Project Wizard dialog box.
2.  Select the file "NASA-Rotor-37.trb". Click Open to load the selected project. Where to Find the Files Used in the Tutorials?


The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3.  Select Expert Mode if necessary in the toolbar.



Adapt Mesh Project
4.  Left-click in the meridional view.
5.  Left-click row 1 in Row Definition in the Quick Access Pad (QAP) to activate the current row.
6.  Go to Geometry Definition -> Import and Link CAD.
A graphic window will open, allowing the user to import geometry.
7.  Go to File -> Open....
8.  Select "geometry.dat" file from the file chooser.
9.  Define the new shroud curve:Left-click the curve ("new_shroud") as it turns to yellow.Right-click and select Link to Shroud.
A new shroud curve is now displayed in the meridional view.


10. Go to File -> Exit.
11. Left-click the " + " in front of row 1 in QAP to get the blade information.
12. Left-click Blades -> Main Blade -> Shroud gap, right-click and select Properties in the contextual menu.
13. Set Width At Leading/Trailing Edge to <0.0156> to define the main blade tip in addition to the 3D technological effect thickness (0.0356 - 0.02).
14. Keep all other data identical.


15. Close the dialog box.
16. Control the flow paths through Mesh Control -> Row Mesh Control -> Flow Paths Control.
17. Set Cell width at Shroud to <0.001>.
18. Keep all other data identical.
19. Click Generate to generate flow paths.


20. Close the dialog box.
21. Click Generate B2B () to generate the blade-to-blade mesh by default on hub (active layer = 0%).
22. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
23. Click  and then click on Start to start the mesh generation.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data are available for the entire mesh separately for every entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.


24. Close the dialog box.
25. Select View / View/Hide 3D Solid Mesh to view/hide the shading and grid on blades and hub in 3D view.
3D Technological Effect Generation
Configuration Control
26. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
27. Click the Add 3D Effect button to add a 3D technological effect in the configuration.


Geometry Control
28. Left-click Row Definition -> row 1 -> 3d techno effect 1 in the Quick Access Pad (QAP) if not active already.
29. Go to Geometry Definition -> Import and Link CAD.
A graphic window will open, allowing the user to import geometry.
30. Select the curves and surfaces defining the active 3D technological effect:<Shift> + left-click all the curve(s) (from "curve_1" to "curve_3") as they turn yellow.<Shift> + left-click all the surface(s) (from "surface_1" to "surface_3") as they turn blue.Right-click and select Link to 3D Effect.


31. Go to File -> Exit.
32. Left-click Row Definition -> row 1 -> 3d techno effect 1 in the Quick Access Pad (QAP) if not active already.
33. Right-click 3d techno effect 1 to get the contextual menu and select Edit to access the 3D technological effect edit mode.



Curves and surfaces defining the selected 3d technological effect are displayed in the 3D view.
Curves and surfaces defining the 3d technological effects are specified in the ".geomTurbo" file.
In the edit mode, it is not recommended to define new geometrical entities by using the Geometry menu. Otherwise, when relaunching the template including the 3d technological effect, problems may occur.

Topology & Mesh Control
The domain defining a technological effect must be filled by several structured 3D blocks (like in IGG™ ). The block edges are mapped on the geometry. The Grid subpad provides the tools to create and control the blocks.
34. Left-click Insert New Face icon in the Grid subpad to start to fill the geometry of the grooves.
35. Set the first corner of the 2D block by left-clicking (yellow spot when attracted on existing curve).
36. Left-click to set the opposite corner of the 2D block.
37. Finish the creation of the 2D block with another left-click.
38. Left-click the vertex (when highlighted in yellow) of the 2D block to move it when necessary.
39. Fix the new position of the vertex on the geometry by left-clicking.
40. Repeat the above steps for all vertices defining the 2D block.


41. Repeat step 34 to step 40 in order to fill the "inlet" geometry of the technological effect with two new faces as presented in the following figure.


42. Change the number of points on the edges:Left-click an edge (highlighted in yellow).Right-click and select Segment/Set Number of Points.Set number of points (by default set to 9) as presented in figure below.Click Apply.


The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow  for multigrid processing on a minimum of 3 grid levels within FINE™.
43. Change the points distribution on edges defining two groups:Left-click an edge (highlighted in yellow).Right-click and select Segment -> Distribution: a new window appears.



Left-click Define/Edit Group.
Choose Create.
Set a user defined group name <group-1> and press <Enter> to validate it.
Click Modify and left-click to select edges to be included in group-1.
Middle-click to add the selected edge in the group-1 as presented in the following figure.



If the menu to select and/or add edges in a group is no longer visible, left-click on the group in the list and choose on Modify.

Left-click Create.
Set a userdefined group name <group-2> and press <Enter> to validate.
Left-click to select edges to be included in group-2.
Middle-click to add the selected edge in the group-2 as presented in the following figure.




Close the dialog box.
Select group-1 under Group name.
Impose Hyperbolic Tangent with a cell width of <0.0003> at start and end.
Left-click Apply to group.




Select group-2 under Group name.
Impose Hyperbolic Tangent with a cell width of <0.0003> at start and <0.001> at end.
Left-click Apply to group.




Close the dialog box.

44. Create the 3D blocks starting from the 2D grid faces:

Left-click an edge to select grid face (highlighted in white or black).
Select Block by Face Translation.
In keyboard input area, type <y> to allow edge creations - type <1> to select translation - set <0 0 25.3466> as the translation vector - type <n> to avoid geometry creation - type <n> to avoid to intersect selected surfaces: a 3D block is created by translating the 2D grid face.
Note that depending on the local coordinate axis system IJK selected for the three blocks created in the steps 34 to 41, the above step may require a small adaptation. For example, the translation should be applied with  <0 0 -25.3466> as the translation vector if K is pointing to the opposite direction than in the current configuration.
Repeat the above steps for the others two 2D grid faces.



45. Connect the 3D blocks:Select Connect / Face-Face.Left-click an edge to select the reference face (highlighted in white or black) of the concerned block (highlighted in red).Middle-click to confirm.Left-click a second edge to select a second face.Middle-click to confirm: a new window appears.Left-click All: faces appear in green or red if they are properly connected.



Repeat the above steps for the other face.




Close the dialog box connect_faces.

46. Change the number of points in the axial direction:

Left-click the edge (highlighted in yellow).
Right-click and select Segment/Set Number of Points.
Set the number of points to <201> (by default set to 9) as presented in figure below.
Apply and Close the dialog box.



47. Map the 3D blocks on the imported curves:Left-click a vertex (when highlighted in yellow) of the 3D block to move it onto a curve.Left-click to fix the new position of the vertex on the geometry.Repeat above steps for all vertices defining the 3D blocks.


48. For the buffer block, repeat step 34 to step 40 to create a face block lying on the curves "curve_1" and "surface_1".
49. Set the grid settings (Grid/Grid Settings... menu) of the new block ("block 13") as presented below.


50. Create the 3D block by face rotation of 10 degrees:

Left-click an edge to select grid face (highlighted in white or black).
Select Block by Face Rotation.
In keyboard input area, type <y> to allow edge creations - type <2> to select rotation axis along z - set <10> as the rotation angle - type <n> to avoid geometry creation - type <n> to avoid to intersect selected surfaces: a 3D block is created by rotating the 2D grid face.



51. Generate a 3D mesh by left-clicking Grid -> Generate -> Block 6 Bnd in the QAP.
52. Enter <10-13> in the Selected Block(s) area, click Apply and Close dialog box.
Boundary Conditions & Quality Control
53. Define the periodicity of the blocks in the 3D technological effect:

Select Periodicity... in the Grid menu.
Enter <10-12> in the Selected Block(s) area.
Click View/Hide Selection to visualize selected block(s).
Select ROTATION.
Adapt Axis and Number Of Periodicity as presented below and press <Enter> to validate.




Click Apply.
Enter <13> in the Selected Block(s) area.
Click View/Hide Selection to visualize selected block(s).
Select ROTATION.
Adapt Axis and Number Of Periodicity as presented below and press <Enter> to validate.




Click Apply and Close the dialog box.

54. Adapt and check boundary conditions:

Select Boundary Conditions... in the Grid menu.
Click Search to automatically define the connections between blocks 10, 11, 12 and 13: 2 connections and 2 periodic connections are created.




Define a periodic full non matching connection between the buffer ("block 13") and the channel mesh (O4H topology):

Click on Define... button in Full Non Matching.
In the left list, type <shroud> in the Name area and <Ctrl> + left-click the patches as presented in the following figure (select only all the patches of the "shroud" without "tip_gap").
In the right list, select UND in the Type filter and select the patch at the bottom of "block 13".





Set the Connection Name to <fnmb-per>.
Activate Periodic and set Repetition to <2>.
Click on Create/update and Compute & Show.




Click on Close.


Define a rotor/stator interface between the buffer ("block 13") and the grooves mesh:

Select UND under Type area.
<Ctrl> + left-click the patches as presented in the following figure. 
Left-click Set Patch Type and choose ROT to change the type from undefined (UND) to rotor/stator (ROT).        







Select UND under Type area.
<Ctrl> + left-click on all the patches.
Left-click Set Patch Type and choose SOL to change the type from undefined (UND) to solid (SOL).        




Select UND under Type pull-down menu and check that there are no patches in the patch list that are still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.

Close the dialog box.

55. Check for negative cells by clicking .
56. Click Apply.


57. Click ok and Close the dialog box.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.


            58. Check the grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
59. Select quality criteria using the Type pull-down menu.
60. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).
61. Left-click part of the histogram to plot the concerned cells in the 3D view.
62. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.
63. Close the dialog box.
64. Click Close Edit Mode ().
All the actions performed during an edit session are stored in the template file (".trb") and can be replayed on similar geometries.
Save Project
65. Go to File -> Save Project As <tutorial8> and press <Enter> to save the mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 11. Fillet on Blade

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Fillet Non-Butterfly Mesh Topology : B2B Section Offset

Load Existing Project

Add & Control Hub Fillet

3D Mesh Generation & Visualization

Save Project

Fillet Butterfly Mesh Topology : From Meridional Curve

Control Hub Fillet

3D Mesh Generation & Visualization

Save Project

Fillet Butterfly Mesh Topology : Constant Radius

Axisymmetric Case : NASA Rotor 37

Control Hub Fillet

3D Mesh Generation & Visualization

Save Project

Non-Axisymmetric Case : Axial Turbine

Setup Non-Axisymmetric Project

Add & Control Hub Fillet

3D Mesh Generation & Visualization

Adapt Hub Fillet : Increase Number of Flow Paths in Fillet

Adapt Hub Fillet : Impose Butterfly Radial Number of Points

Adapt Hub Fillet : Increase Number of Points in Skin Mesh

Save Project

Fillet Butterfly Mesh Topology : User-Defined Hub Fillet

Create Mesh Project

Import User-Defined Hub Fillet

Adapt & Control Hub Fillet

3D Mesh Generation & Visualization

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To
 answer these questions, NUMECA has developed a Flow INtegrated 
 Environment for internal and Turbomachinery assimilations. Called FINE™/Turbo, the environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator software, based on structured multi-block techniques.

AutoGrid5™ is
 a three-dimensional Automated Grid generation software, dedicated to 
 turbomachinery applications. Similarly to IGG™, it is based on 
 structured multi-block techniques.
Euranus
 is a state-of-the-art multi-block flow solver, able to simulate Euler 
 and Navier-Stokes equations in the laminar, transitional and turbulent 
 regimes.
CFView™ is a highly interactive flow visualization and post-treatment software.
FINE™ Graphical
 User Interface is a user-friendly environment that includes the 
 different software. It integrates the concept of projects and allows 
 the user to achieve complete simulations, going from the grid generation
 to the flow visualization, without the need of file manipulation.

A
 turbomachine is a device in which the energy is transferred either to 
 or from a continuously flowing fluid by the dynamic action of one or 
 more moving blade rows. It plays a major role in particular in aircraft,
 marine space (liquid rockets), land propulsion system but also in 
 hydraulic, gas and steam turbines applications. It is also involved in 
 industrial pipeline and processing equipment such as gas, petroleum and 
 water pumping plants. Other applications can be related to heart-assist 
 pumps, industrial compressors and refrigeration plants, among others.
The
 turbomachinery field includes turbines, pumps, fans, compressors. A 
 turbomachine is composed of several basic elements including the blade 
 (also called vane if it is non-rotating), hub, and shroud. Several 
 technological effects involving clearances, seal leakages and cooling 
 holes among others can complete the machine. Due to the complexity of 
 the blade shapes, the presence of technological elements and the 
 rotation of machine, the nature of the flow is strongly 
 three-dimensional, often depicting complex flow paths.
The blade geometry can be connected to the hub or shroud surface of revolution by means of a fillet. This
 tutorial is particularly adapted to the geometry creation and mesh generation of a blade fillet. It makes 
 exclusive use of AutoGrid5™  and describes the main actions required 
 to mesh the configuration of interest.
In this tutorial you will learn how to:

create the geometry of a blade fillet in AutoGrid5™;
import the CAD geometry of a blade fillet in AutoGrid5™;
use the dedicated butterfly topology for the fillet mesh generation;
create and define a blade fillet on a non-axisymmetric hub configuration.

Prerequisites
This
 tutorial does not require any particular prerequisite but it is 
 strongly recommended for beginners to perform the beginner tutorials 1 to 6 and the advanced tutorials 1 and 3.
Problem Description
The blade geometry can be connected to the hub or shroud surface of revolution by means of a fillet. The fillet geometry can be defined in different ways:

created by AutoGrid5™  with various methods,
imported from Import CAD window using Link to Hub/Shroud Fillet,
incorporated in blade definition either in native ".geomTurbo" or through Import CAD window (Link to Blade).

Depending of the mesh topology in the fillet, different methods are proposed in AutoGrid5™  to create the fillet. When the topology in the fillet is not butterfly, the method is called "B2B section offset". While when the topology is butterfly, three additional methods to define the geometry of a fillet in
 AutoGrid5™  are available: create "from meridional curve", create with "constant radius" approach and import user-defined CAD geometry.
An axial compressor with
 axisymmetric hub (NASA Rotor 37) is used to illustrate the "B2B section offset" and "from meridional curve" approaches. The "constant radius" method is presented on an axisymmetric (NASA Rotor 37) and a non-axisymmetric hub (axial turbine) case. Lastly, a second axial turbine is used to show the user-defined hub fillet via CAD import.


Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can directly access the AutoGrid5™  graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 


You're
 now ready to start the grid generation process and mesh the 
 configuration presenting a blade fillet on hub!
AutoGrid5™
 graphical user interface includes several windows that allow to 
 visualize the geometry and mesh of the turbomachine simultaneously in 
 the meridional, blade-to-blade and 3D view. The access to main menu and 
 controls is proposed through a menu bar and a quick access pad, and is completed with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is proposed in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Fillet Non-Butterfly Mesh Topology : B2B Section Offset
When the mesh topology in the fillet is not butterfly, the method is called "B2B section offset":

starting from the fillet flow path (defined either by radius at leading/trailing edge or an external curve) towards the channel flow paths (hub/shroud), on each flow path the intersection of the blade is computed.
starting from this intersection, the blade geometry is enlarged according to the local radius. The blade offset is computed in order to ensure the specified Minimum Angle. When the Minimum Angle is reached along the fillet, the fillet geometry is approximated by following the tangent up to the channel curve (hub/shroud).



Load Existing Project
1. Click on Select a Project File in the Open Turbo Project Wizard dialog box.
2. Select the file "tutorial1.trb". Click Open Project to load the selected project (template with associated grid). It corresponds to the template created in the basic AutoGrid5™  tutorial 1 entitled "NASA Rotor 37". Where to Find the Files Used in the Tutorials?



The Open Turbo Project Wizard dialog
 box enables the user to retrieve a ".trb" file (with associated grid) 
 including the data required to regenerate a mesh on an identical or 
 similar geometry.
3. Select Expert Mode if necessary in the toolbar.



Add & Control Hub Fillet
4. Left-click in the meridional view.
5. Go to Mesh Control -> Grid level -> Row Wizard and keep all the parameters unchanged except in the Gap and Blending Control window.
6. Activate Hub Fillet and set the Radius at leading edge and Radius at trailing edge to <0.07><Enter>.


7. At the end of the wizard, click on No to skip the 3D Mesh Generation.


8. Left-click on row1 -> Blades -> Main Blade -> Hub Fillet, right-click on Properties in the contextual menu. The pop-up window of the fillet properties will appear. Check the values of Radius At Leading Edge and Radius At Trailing Edge.





Radius At Leading/Trailing Edge allows to specify the size of the fillet at respectively the leading and trailing edge of the blade. The fillet spanwise bounding curve is then constructed as a linear offset of the hub (or the shroud) according to these values. Cell Width At Leading/Trailing Edge controls the cell size imposed at the junction between the straight blade and the fillet (at the hub or shroud according to the fillet type) at respectively the leading and trailing edge of the blade. By default set to <0.0> to allow AutoGrid5™  to compute an optimized value. Minimum Angle avoids a zero skewness angle (orthogonality) of the cell connected to the hub or shroud. Minimum Angle set to <20> meaning that, from the point where the angle between the tangent to the fillet and the hub/shroud direction is equal to 20 degrees, the fillet is extended following this tangent.
Show/Hide buttons allow to display the flow path (the fillet spanwise bounding curve) from which the fillet is created.

9. Close the dialog box.
3D Mesh Generation & Visualization
10. Click-left on row 1 in the QAP and press  and then click on Start.
Once 3D grid generation is completed, grid quality is performed and displayed. The minimum cells skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data are available for the entire mesh separately for every entity (row, technological effect, bulb). Data related to grid quality report are automatically stored in a report file, once the project file is saved.



The spanwise angular deviation is exceeding 40 degrees due to the method of the Minimum Angle used to generate the hub fillet. A warning is
 issued, that indicates the blocks where the maximum values has been 
 reached. In this case, the high spanwise angular deviation is normal 
 because of the fillet angular deviation.

                The minimum skewness is associated to the Minimum Angle imposed to control the fillet geometry. A detailed analysis of the mesh quality (using the icon  in the toolbar) shows that part of the cells with an orthogonality below 25 degrees (represented in the following figure with markers) are in the fillet area but there are also some cells with poor orthogonality at the periodicity.



As consequence, the mesh settings have to be adapted to improve the orthogonality at the periodicity.


            11. Click on Close after checking the grid quality. The page can be reopened by clicking .
12.
 
 Select row 1 in
 the QAP. 
13. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology
 Control -> Grid Points to control the number of grid points in the
 blade-to-blade view
14. Left-click on the number of nodes, make the proper modification according to the following figure in the entry box and press <Enter> to confirm the modification.


15. Close the dialog box. Click-left on row 1 in the QAP and press  and then click on Start.


16. Click on Close and select View/View 3D Solid Mesh.
17. Left-click in the 3D view and right-click to get the contextual menu and activate Full View.
18. Click on icon  in the toolbar to perform a detailed analysis of the mesh quality. In figure below, there are no more cells presenting an orthogonality below 30 degrees at the periodicity. The minimum orthogonality is only in the fillet area due to the "B2B section offset" approach.


19. Visualize the mesh topology in the fillet area:

Go to View/Patch Viewer....
Choose CON as type and select the patches corresponding to the fillet.
Select a color for the grid and click on Show Grid to visualize the grid in the fillet.
Select a color for the solid and click on Show Solid.



20. Close the dialog box.
Save Project
21. Go to File -> Save Project As <fillet_b2b_offset> <Enter> to save mesh and template files.

The
 mesh files (7 files) contain the multiblock mesh topology, geometry and
 grid points and the boundary condition types: ".bcs", ".cgns", ".geom" 
 (".xmt_txt"), ".igg", ".config" and ".qualityReport". The 
 meaning of these files is detailed in the User Guide.
The
 template files (4 files) contain the parameters and the geometry needed
 to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files
 is detailed in the User Guide.

Fillet Butterfly Mesh Topology : From Meridional Curve
When the mesh topology in the fillet is butterfly, a first mesh is generated considering a straight blade. Then the skin block is split at the fillet meridional layer, the block in the fillet area is replaced by a butterfly topology respecting the created or imported fillet geometry. If the skin block of the O4H default mesh is thicker than the fillet, the endwall is partly included in the butterfly topology and the same treatment is applied everywhere. While if the fillet is thicker than the skin block, the butterfly topology is applied in the skin block and out of this block a non-axisymmetric treatment is performed.


The first method is called "from meridional curve": the fillet is created between the specified meridional curve (defined either by radius at leading/trailing edge or an external curve) and the channel (hub/shroud) and will allow to impose the fillet tangency at hub or shroud and on blade.
The methods to create the fillet geometry in AutoGrid5™ when the topology is butterfly may lead to problem due to Parasolid™ limitations when the specified radius is equal or bigger than the leading/trailing edge radius.
The method from meridional curve is not fully compatible with non-axisymmetric hub/shroud especially if the non-axi deviation is too large.
Control Hub Fillet
22. Left-click in the 3D view, then click-right to get the contextual menu and activate Multi View.
23. Left-click on the meridional view, it will update the QAP.
24. Left-click on row 1->Blades->Main Blade->Hub Fillet, click-right and select Properties in the contextual menu.


25. Activate Butterfly topology. Set Geometry Creation Method to From meridional curve. Keep the other parameters unchanged.
26. Click on Generate Flow Paths then click on Close.


For the butterfly topology, the radial number of points in the butterfly mesh can be kept to zero. In that case, AutoGrid5™  automatically adapts the radial number of points in the butterfly mesh.
3D Mesh Generation & Visualization
27. Left-click on row 1 in the QAP and press  button and then click on Start.



The grid quality is better with the butterfly topology:

The minimum skewness has increased to 32 degrees. The number
 of cells with poor orthogonality has decreased a lot and are no more in the blade fillet area.
The spanwise angular deviation (not computed in the fillet butterfly topology) is now correct. 


Moreover, the fillet mesh is now tangent to the blade and channel while it was not the case with the non-butterfly fillet mesh topology that uses an approximation of the geometry.

With the butterfly topology, the fillet is not represented in the blade-to-blade view, only in the 3D view.
28. Click on Close.
29. Visualize the mesh topology in the fillet area:

Left-click on row 1.
Select View/View 3D Solid Mesh.
Left-click in the 3D view. Right-click to get the contextual menu and activate Full View.
Repeat step 19.
Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.



Save Project
30. Go to File -> Save Project As <fillet_from_meridional_curve> <Enter> to save mesh and template files.
Fillet Butterfly Mesh Topology : Constant Radius
When the mesh topology in the fillet is butterfly, the second method is called "constant 
 radius". This approach creates the fillet by rolling a ball along the 
 blade (rolling ball method) on the hub/shroud surface. 
                    This 
 method will allow to impose the fillet tangency at hub or shroud and on 
 blade but also remove limitations of the "from meridional curve" method 
 when combining fillet creation with non axi hub/shroud surface.
Axisymmetric Case : NASA Rotor 37
Control Hub Fillet
31. Left-click in the 3D view, then click-right to get the contextual menu and activate Multi View.
32. Left-click on row 1->Blades->Main
 Blade->Hub Fillet, right-click and select Properties in the
 contextual menu.
33. Choose Constant radius for the method of creation of
 the fillet. Set the Constant Radius to <0.07><Enter>. Click on Generate
 Flow Paths then click on Close.


When selecting the constant radius method, the radius of the fillet is specified by the user, the Defined Shape option is automatically activated and the fillet meridional curve (spanwise bounding curve) will be computed to ensure that it is located everywhere above the fillet.
3D Mesh Generation & Visualization
34. Left-click on row 1 in the QAP and press  button and then click on Start.


35. Click on Close after checking the grid quality.
36. Visualize the mesh topology in the fillet area:

Left-click on row 1.
Select View/View 3D Solid Mesh.
Left-click in the 3D view. Right-click to get the contextual menu and activate Full View.
Repeat step 19.
Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.




When using the constant radius method, a rolling ball generates the fillet.
 In the from meridional curve approach, the fillet is created based on a flow path. As
 consequence, in the case the blade is straight at hub (i.e. the NASA Rotor 37), the mesh quality and the
 geometry are very similar when using both methods. 
The choice of the method depends on the user geometry. For example, if the blade is slightly tilted, the constant radius method gives the same radius on the suction side and on the pressure side while the from meridional curve method will give different radius. 



Save Project
37. Go to File -> Save Project As <fillet_axi_constant_radius> <Enter> to save mesh and template files.
Non-Axisymmetric Case : Axial Turbine
The "constant radius" or the "user-defined fillet" methods are recommended when combining fillet with a non-axisymmetric hub or shroud.
Setup Non-Axisymmetric Project
38. Go to menu File -> New Project.
39. Click yes to close the active project.
40. Choose the icon Initialize a New Project from a geomTurbo File.


41. Select the file "axial-turbine-nonaxi.geomTurbo". Click OK to load the selected geometry.

The 3D surfaces defining the non-axisymmetric end walls are specified in the ".geomTurbo" file. In the Row Properties dialog box the non-axisymmetric hub can be visualized in 3D view by activating Display Non-Axisymmetric Hub under Non-Axisymmetric Hub.
The non-axisymmetric surfaces could also be imported from external CAD files. The contextual menu of the Import CAD window allows the user to link imported surfaces to the hub and/or shroud definition. 
An example can be found in the advanced AutoGrid5™ tutorial 3 entitled "Non-axisymmetric Hub/Shroud".

42. Select row 1 in the QAP and press  then answer Yes.



The
 topology is composed by a default O4H topology in the channel including 5 
 blocks as follows:

the skin block is a O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


43. Left-click on row 1 in the QAP and press  button and then click on Start.
44. Close the grid quality report.
45. Visualize the non-axisymmetric hub:

Left-click on row 1.
Select View/View 3D Solid Mesh.
Left-click in the 3D view. Right-click to get the contextual menu and activate Full View.
Use the viewing buttons to visualize the non-axisymmetric hub.




At the end of the 3D blade row generation, the mesh adaptation on the non-axisymmetric surfaces is performed automatically. The axisymmetric mesh is adapted by hub to shroud grid points redistribution along the curve obtained by intersecting the surfaces with the hub to shroud grid lines. It is thus recommended to generate a axisymmetric mesh covering completely the non- axisymmetric surfaces.
When
 combining non axisymmetric hub/shroud (blue curve) with a fillet 
 (purple curve) creation in AutoGrid5™, the hub or shroud (green curve) 
 used to generate the axisymmetric mesh should be well defined 
 below/above the non-axi hub/shroud surface locally in the skin block region otherwise the fillet mesh 
 generation may fail. If axisymmetric channel curve is not located 
 sufficiently far compared to non axi surfaces, it can happen that the 
 modified skin block (red curve) does not include completely the fillet 
 and non axi surfaces, leading to fillet mesh generation failure.


As consequence, the lower point of the non-axisymmetric hub must be represented in the meridional view to edit correctly the axisymmetric hub. However, the non-axisymmetry on the hub is not directly represented in this view. A curve including the lower limit of the non-axisymmetric hub must be imported in the meridional view.

46. Import the limit on the non-axisymmetric hub in the meridional view:

Left-click in the 3D view, then right-click to get the contextual menu and activate Multi View.
Left-click in the meridional view. 
Go to Geometry Definition in the QAP and left-click on Import and Link CAD to open the CAD window.
In the Import CAD window go to File->Open and select the file "axial-turbine-nonaxi.geomTurbo". Click on OK to load the geometry.




Left-click on surface including the non-axisymmetry when highlighted in blue, it turns red or yellow.
Select Geometry->Modify Surface->Add uv Curves.
Move the mouse on the active surface.
When previewed curves are including lower limit of the non-axisymmetric hub, left-click in order to add new curves defining the non-axisymmetry of the hub.




Left-click on the new meridional curve until it turns yellow.
Right-click and select Import Meridional in the contextual menu.




Click on File->Exit.


The limit of the non-asymmetric hub appears in the meridional view. The hub curve has now to be moved manually in order to create a channel including the non-axisymmetrical effect.



                47. Move the hub curve to create a channel including the meridional effect.

Left-click in the meridional view.
Go to Geometry Definition in the QAP and click on Edit Hub.






Left-click the vertex at inlet and define its new position in the keyboard input area in ZRTH coordinates. The new position must be slightly below the imported curve. So, Z is the Zinlet and R is lower than the Rmin of the non-axisymmetric effect: type <-0.1 0.495 0> and press <Enter>.
Left-click the vertex at outlet and define its new position in the keyboard input area in ZRTH coordinates. The new position must be slightly below the imported curve. So, Z is the Zoutlet and R is lower than the Rmin of the non-axisymmetric effect: type <0.1 0.495 0> and press <Enter>.




Right-click to regenerate the channel.



The hub appears as a dashed green line because it is no longer mapped onto a curve.
48. Expand the blade geometry because the blade is no longer intersecting the new hub.

Left-click on row 1 -> Blades -> main, click-right and select Geometry -> Expand in the contextual menu.




Set the Hub Treatment to expand and the Expansion factor to <0.2>, then click on Apply.






Click on Close.

Add & Control Hub Fillet 
49.
 Left-click on row 1 -> Blades ->
 main, right-click and select Gap/Fillet
 -> Define Hub Fillet in the contextual menu.
50. Activate the Butterfly option.
 Choose Constant radius for the method of creation of the fillet. Set the Constant Radius to <0.004> and the Cell Width At Leading/Trailing Edge to <0.001>. Click
 on Generate Flow Paths then click on Close.



3D Mesh Generation & Visualization
51. Left-click on row 1 in the QAP and press  button and then click on Start.
52. Close the grid quality report after checking the grid quality.
53. Visualize the mesh topology in the fillet area:             

Left-click on row 1.
Select View/View 3D Solid Mesh.
Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.

The flow paths number in the fillet can be increased to improve the mesh quality and have more points on the fillet.
Adapt Hub Fillet : Increase Number of Flow Paths in Fillet
54. Left-click in the meridional view.
55. Left-click on row 1 -> Blades -> main -> Hub Fillet,
 right-click and select Properties in the contextual menu.
56. Increase the Number of Points in
 fillet from 17 to <25>. Click on Generate Flow
 Paths then click on Close.


57. Left-click on row 1 in the QAP and press  button and then click on Start.
58. Close the grid quality report after checking the grid quality.
59. Visualize the mesh topology in the fillet area:

Left-click on row 1.
Select View/View 3D Solid Mesh.
Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.

If Butterfly Radial Number of Points is kept to 0, it  automatically
 computes to optimize mesh quality. In this case, a clustering effect can be observed on the blade due to a small buffer blocks. A
 solution to avoid this problem is to impose the Butterfly Radial Number
 of Points.
Adapt Hub Fillet : Impose Butterfly Radial Number of Points
60. Left-click in the meridional view and then on row 1 -> Blades -> Main
 Blade -> Hub Fillet, right-click and select Properties in the
 contextual menu.
61. Impose the Butterfly
 Radial Number of Points to <13>. Click on Generate Flow Paths then click on Close. 


62. Left-click on row 1 in the QAP and press  button and then click on Start.
63. Close the grid quality report after checking the grid quality.
64. Visualize the mesh topology in the fillet area:

Left-click on row 1.
Select View/View 3D Solid Mesh.
Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.



There is no more clustering effect. To improve
 the mesh quality, the number of points in the skin
 mesh will be increased.
Adapt Hub Fillet : Increase Number of Points in Skin Mesh
65. Left-click in the meridional view, select row 1 in the QAP and go to Mesh
 Control -> Row Mesh Control -> B2B Mesh Topology Control in QAP.
66. Open the Grid
 Points control field and increase the number of points in the skin block from 17 to <25><Enter>.




67. Close the dialog box.
68. Left-click on row 1 in the QAP and press    button and then click on Start.
69. Close the grid quality report after checking the grid quality.
70. Visualize the mesh topology in the fillet area:

Left-click on row 1.
Select View/View 3D Solid Mesh.
Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.

 


In the
 quality report, an increase of the minimum skewness can be observed. The 3D
 view shows the good mesh quality of the fillet area when using the constant radius method and that the fillet is well combined with the non-axisymmetric hub.
Save Project
71. Go to File -> Save Project As <fillet_nonaxi_constant_radius> <Enter> to save mesh and template files.
Fillet Butterfly Mesh Topology : User-Defined Hub Fillet
Lastly, the fillet geometry 
 can be defined by importing surfaces from Import CAD window using Link to 
 Hub/Shroud Fillet. This method is also well adapted both for 
 axisymmetric case and non-axisymmetric case.
Create Mesh Project
72. Go to menu File -> New Project.
73. Click Yes to close the
 active project.
74. Choose the icon Initialize a New Project
 from a geomTurbo File.


75.  Locate and select "axial-turbine-axi.geomTurbo" in the dialog box and
 click Open.


76. Select row 1 in the QAP and
 press   then answer Yes.
77. Go to Mesh Control -> Row Mesh Control -> Flow Paths
 Control and change the Number of Flow Paths to <45> <Enter>. Click on Generate and Close the dialog box.


Import User-Defined Hub Fillet
Link to Hub Fillet is used to link a surface selection to the active blade including a fillet at hub. That surfaces set will thus compose the blade fillet surface geometry. Before linking fillet geometry, a fillet should be added on the blade with Gap/Fillet / Define Hub Fillet menu in the Row Definition subpad.
78. Left-click on row 1 -> Blades -> main blade,  right-click and select Gap/Fillet
 ->  Define Hub Fillet in the
 contextual menu to add a fillet in the configuration.


79. Close the Fillet Properties dialog box.
80. Select main blade and click on Import and Link
 CAD under Geometry Definition subpad in the QAP.
81. In the Import CAD window go to File->Open and select the file "userdefined_hub_fillet.xmt_txt". Click on OK to load the file.


82. Go to Geometry->Select->Surfaces and press on <a> to select all surfaces (until it turns to yellow or red).
 Right-click and select Link to Hub Fillet in the contextual menu.


83. Click on File->Exit.
Adapt & Control Hub Fillet
84. Go to row 1 -> Blades -> main blade -> Hub
 Fillet,  right-click and select Properties in the contextual menu.
85. Set the Number of Points to <25> under Spanwise Parameters and impose the Butterfly
 Radial Number of Points to <13>. Click on Generate Flow Paths and Close the dialog  box.



In this configuration in the Fillet Properties dialog box, the fillet is automatically set with a Butterfly topology with the option Defined Shape active. The corresponding spanwise bounding curve (where the skin block will be split) is automatically computed to include the whole imported fillet geometry.
When the fillet is not created by AutoGrid5™, the parameter Geometry Creation Method is set to None.

86. Select row 1 in the QAP and click on .
87.   Go to Mesh Control -> Row Mesh
 Control -> B2B Mesh Topology Control in the QAP. 
88. Open the Grid Points control field and increase the number of points in the skin block from 17 to <25> <Enter>. Close the dialog box.




3D Mesh Generation & Visualization
89. Left-click on row 1 in the QAP and click on  button and Start.


90. Click on Close after checking the grid quality.
91. Visualize the mesh topology in the fillet area:

Left-click on row 1.
Select View/View 3D Solid Mesh.
Repeat step 19.
Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.





Save Project
92. Go to File -> Save Project As <fillet_userdefined> <Enter> to save mesh and template files.

TUTORIAL 12. Marine propeller - from CAD to geomTurbo

Introduction

Introduction

Preparation

Initialize from CAD import

Define & link the hub & shroud curves

Link the leading & trailing edge

Link the blade

Define the periodicity

Save the geomTurbo



Introduction
Introduction
This tutorial describes how to create a .geomTurbo from a Parasolid geometry definition within AutoGrid5™.
Preparation

Start AutoGrid5 v13.1:


For Linux systems, you can directly access the AutoGrid5™  graphical user interface with the following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems: 

access the IGG™ graphical user interface from the start menu going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5
in the Modules menu, select AutoGrid5 and
confirm (yes) to enter AutoGrid5™.




Initialize from CAD import
1. Close Open Turbo Project Wizard window. The project will be initialized from scratch.
2. Select Expert Mode in the toolbar.



3. Click on Import and link CAD in Geometry Definition in the Quick Access Pad.
4. In the Import CAD window, select the File/Open... menu, choose the file "Acoustic_DTMB4119_cf.x_t" in the directory "Tutorial_12". Where to Find the Files Used in the Tutorials?
5. In the Import CAD window, select the Edit/Geometry Axis... menu. For Stream Direction, enter <-1 0 0> <Enter>. Click on Apply and Close the dialog box.


Define & link the hub & shroud curves
6. Define the hub curve:


Left-click the shaft patch as it turns to yellow.



Select the Geometry/Draw CSpline/Free menu.

Place successively the yellow control points of the spline at the edge of the shaft, then right-click.



Select the Geometry/Draw CSpline/Free menu.

Place the first yellow control point at the location of the first control point of the previous spline.



For the second control point, enter the coordinates <-0.067091 0 0> <Enter> in the keyboard area (Enter >> indicated by a blue rectangle in the above picture), then right-click.
Now that the hub is defined, go to the Geometry/Select/Curves menu, left-click on the new curves. Then right-click.
Right-click and select Link to Hub.

7. Define the shroud curve:

Make sure there is no selection (unselect all curves and surfaces).
Select the Geometry/Draw CSpline/Free menu.
Enter the coordinates <0.067091 0 0.15189> <Enter> in the keyboard area (Enter >>).
Enter the coordinates <-0.067091 0 0.15189> <Enter> in the keyboard area (Enter >>).
Right-click and select Link to Shroud, do not take into account the error message, click Ok.

Link the leading & trailing edge
8. Make sure for all operations that row 1 is selected in Row Definition in the Quick Access Pad (QAP).


9. Make sure there is no selection (unselect all curves and surfaces).
10. Left-click the leading edge curve as it turns to yellow.
11. Right-click and select Link to Leading Edge, do not take into account the error message, click Ok.
As the propeller features a blunt, it is only required to link one of both trailing edge curves.
12. Make sure that row 1 is selected.
13. Make sure there is no selection (unselect all curves and surfaces).
14. Left-click on a trailing edge curve as it turns to yellow.
15. Right-click and select Link to Trailing Edge, do not take into account the error message, click Ok.
Link the blade
16. Make sure there is no selection (unselect all curves and surfaces) and that row 1 is selected.
17. Select the pressure side and the suction side of one blade of the propeller. Do not link the blunt.


18. Right-click and select Link to Blade.
Define the periodicity
19. Select the File/Exit menu to leave the Import CAD window.
The meridional view has been updated during the linking process.
20. Left-click on row 1 in Row Definition. Right-click and select Properties.
21. Enter <3> <Enter> for the Periodicity. Leave the other value.


Save the geomTurbo
22. Select the  File/Save Template As menu. Click on Select a new Template File Name. Type <tutorial_12> in the browser and press <Enter> to save the template files including the geomTurbo file.
It is now possible to use this .geomTurbo file as an input in the tutorial: Marine propeller - blade fitting

TUTORIAL 6. Cascade Configuration

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry & Define Main Properties

Initialize Topology & Grid Points Distribution

Meridional Control

Blade-to-Blade Control

3D Mesh Generation

3D Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of cascade configuration. It makes exclusive use of AutoGrid5™ and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
define cascade configuration;
control the meridional and blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for beginners to perform the beginner tutorials 1 to 6 and the advanced tutorial 9.
Problem Description
The problem to be considered is shown schematically below. The project consists of the mesh generation of the T106 turbine blade cascade configuration.


Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can directly access the AutoGrid5™  graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 


You are now ready to start the grid generation process and mesh the cascade configuration!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is proposed in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.



2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Activate the Cascade option.
6. Choose Start a New Project From Scratch.


Load Geometry & Define Main Properties
7. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row.
8. Left-click in the meridional view.
9. Go to Geometry Definition -> Import and Link CAD.
A graphic window will open, allowing the user to import CAD geometry.
10. Left-click File -> Open....
11. Select the "cascade.dat" file from the file chooser. Where to Find the Files Used in the Tutorials?
12. Define the geometry orientation if necessary:Choose Geometry Axis... in the Edit menu.It is possible to adapt origin, stream and span direction if required. For this case, keep default settings.Click Apply.Close the dialog box.


13. Define the hub curve:<Shift> + left-click all the curves defining the hub as they turn to yellow.Right-click and select Link to Hub.
The hub curve is now displayed in the meridional view.


14. Define the shroud curve:<Shift> + left-click all the curves defining the shroud as they turn to yellow.Right-click and select Link to Shroud.
The shroud curve is now displayed in the meridional view.


15. Define the blade:

Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
Left-click the surface defining the blade when highlighted in blue (it turns to red or yellow).




If the blade is defined by multiple surfaces, middle-click and <Shift> + left-click can be used to select all the surfaces defining the blade.
The View/View Solid menu acts as a toggle and is used to visualize the surfaces that are active.


Right-click and select Link to Blade.

The blade is now displayed in the meridional view.


16. Define leading edge and trailing edge:Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.Left-click the blade leading edge line definition, inside the Import CAD window.As it turns yellow, right-click and select Link to Leading Edge.left-click the blade trailing edge line definition, inside the Import CAD window.As it turns yellow, right-click and select Link to Trailing Edge.

The leading and trailing edges are displayed in the meridional view.
When the blade intersects the hub and shroud, the inlet and outlet are displayed in the meridional view.





A warning will appear: "Geometry size does not seem in accordance with the units specified. Check it" in the information area. To ensure correct treatment during the grid generation when computing for example the intersection, the grid units are adapted in step 23.
17. Go to File -> Exit in the Import CAD window.

The geometry of the cascade configuration can also be defined from a native ".geomTurbo" file.
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The header for a cascade configuration should contain the keywords "cascade yes".


The channel format contains the definition of the turbomachinery meridional contour (hub and shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. The blade is defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

18. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
19. Right-click row 1 and select Properties in the pop-up menu.
20. Enter the Periodicity = <79.9> and press <Enter>.
The periodicity for a cascade configuration corresponds to the pitch distance between two successive blades.
21. Enter <0> in Rotation Speed (rpm).
The speed will be transferred to the FINE™ graphical user interface and will ease the input of boundary conditions later on.


22. Close the dialog box.
23. Set the scaling factor:Go to Geometry Definition -> Units.Change the units to Millimeters.


The "units" of the imported geometry must be changed to impose a scaling factor and a corresponding tolerance. This ensures a correct treatment during the grid generation when computing for example the intersection. If not necessary, we recommend to keep the default settings (Scale Factor set to 1).
24. Left-click Select All Rows.
25. Select Toggle 3D Solid View in the View menu to access the shaded blades in the 3D view.


26. Click Toggle 3D Solid View in the View menu to remove the shaded blades in 3D view.
Initialize Topology & Grid Points Distribution
27. Left-click Select All Rows.
28. Set Grid Level/Medium through Mesh Control in the Quick Access Pad.
29. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


Input the value of the Cell Width = <5e-3> [Millimeters] and press <Enter> in Row Mesh Control.


30. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This button will set the mesh topology to the default O4H topology.



The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


Meridional Control
31. Go to QAP/Mesh Control/Row Mesh Control.
32. Click on Flow Paths Control.
33. Enter the following parameters:

Change the Number of Flow Paths to <17>
 and press <Enter>.

The number of flow paths can be imposed as <2> in order to generate a 2D mesh.

Set Cell width at Hub to <5.0> and press<Enter>.
Set Cell width at Shroud to <7.0> and press <Enter>.

The hub and shroud are considered as an Euler wall and a mirror plane respectively. For these reasons, the cell width at hub and shroud can be increased because there are no boundary layer to capture.



The Expert section allows the user to control the visualization, the shape and the parameters related to flow path smoothing. The meaning of these parameters is detailed in the User Guide.
The Manual Edit mode allows the user to control directly the block faces which are used to construct flow paths. Edges can be moved, segments can be created or modified and grid points distribution on segments can be controlled. More details can be found in the User Guide.

34. Click Generate.


35. Close the dialog box.
Blade-to-Blade Control
36. Click Generate B2B.
37. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology control field.



By default, non-matching connections are applied at periodic boundaries. Matching connections at periodic boundaries can be obtained by activating the Matching Periodicity check button. Press Initialize Topology & Grid Points Distribution to regenerate the mesh in the blade-to-blade plane.
In most cases, the presence of non-matching connections somehow improves the orthogonality in the overall mesh. This is especially true in highly staggered configurations

38. Keep Matching Periodicity deactivated and all other data identical.
In several turbomachinery types, the blades are highly staggered (Automatic  High Staggered Blade Detection within AutoGrid5™). If the solid angle at the inlet (outlet) of the machine becomes greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading edge (trailing edge) of the blades, then the default topology is not suitable anymore since cells located near the inlet (outlet) boundary become very skewed. To improve the this unexpected behavior, AutoGrid5™  uses the High Staggered Blade Optimization.
39. Close the Topology control field.
40. Open the Grid Points control field to control the number of grid points in the blade-to-blade view if necessary.
41. Left-click the number of nodes, make the proper modification in the entry box and press <Enter> to confirm the modification.


The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.
42. Visualize the result in the blade-to-blade view after clicking Generate B2B to regenerate the flow paths and the mesh in blade-to-blade plane.
43. Close the dialog box.
44. Move default location of leading/trailing edge:Left-click in the blade-to-blade view to activate the view (red border).Zoom in on the leading edge.When the leading edge is highlighted in red (move the mouse on it), left-click and drag to move the leading edge location; right-click to access a popup menu allowing the user to impose the point distribution at the leading edge (Properties).



Absolute Control Distance: the distance is given in absolute units and remain the same for each layer.
Relative Control Distance: the distance is given in relative units (normalized with the blade width).
First Cell Length: the distance is equal to the product of the cell width given by the user and the number of nodes.
Another feature of this dialog box is to control the maximum expansion ratio of the cells in the streamwise direction along the wall. Switching the Desired Expansion Ratio option on implies that the number of grid points on the upper and lower side of the blade will be recomputed to ensure that the expansion ratio remains lower than the target value. The total number of points around the blade is then continuously updated.


The above steps can also be applied on the trailing edge. Close the dialog box.
Visualize the result in the blade-to-blade view after clicking Generate B2B to regenerate the flow paths and the mesh in blade-to-blade plane.

45. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh optimization parameters if necessary to enhance the quality of the mesh.


Optimization is performed in the form of smoothing and is executed on each layer using multi-block elliptic techniques. The number of Optimization Steps represents the number of iterations performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
46. Keep Optimization Steps and all other data at the default values.
47. Close the dialog box.
48. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the blade-to-blade mesh will be plotted in the blade-to-blade view.


By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%) and is applied on active row(s).
49. Left-click Select All Rows.
50. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
51. Click Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using the Type pull-down menu and plotted in the blade-to-blade view on the active layer selected in Mesh Control/Active B2B Layer.
52. Check the grid quality by clicking .
53. Select quality criteria using the Type pull-down menu.
54. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
55. Left-click part of the histogram to plot the concerned cells in blade-to-blade view.
56. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.


57. Close the dialog box.
3D Mesh Generation
58. Left-click Select All Rows.
59. Click Generate 3D and confirm the generation (Start).




Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cells skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh as well as separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.
60. Close the dialog box. The page can be reopened by clicking .
3D Mesh Visualization
61. Left-click Select All Rows.
62. Select View/Toggle 3D Solid View to access the shaded blades in 3D view.
63. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
64. Right-click to get the contextual menu and activate Full View.
65. Use the View menu in the QAP or View/Patch Viewer... menu to toggle edge or mesh.


Check Boundary Conditions & Mesh Quality


66. Check the boundary conditions by clicking .
67. Select UND from the Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.


It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.
68. Close the dialog box.
69. Check for negative cells by clicking .
70. Click Apply.


71. Click ok and Close the dialog box.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

72. Check the grid quality by clicking .

A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can only be performed once the 3D mesh has been generated. 

Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.



73. Select quality criteria using the Type pull-down menu.
74. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).
75. Left-click part of the histogram to plot the concerned cells in the 3D view.
76. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.


77. Close the dialog box.
Save Project
78. Go to File -> Save Project As <tutorial6> and press <Enter> to save the mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 9. Cooling & Solid Mesh Generation

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Open Existing Mesh Project

Stator 1: End Wall Cooling Holes

Add Solid Body

Add Hub Wall

Initialize Topology & Grid Points Distribution

Adapt Default B2B Mesh

Add End Wall Holes Line

3D Mesh Generation

3D Mesh Visualization

Save Project

Rotor: Blade Cooling Holes

Add Basin & Cooling Channel

Add Basin Holes

B2B Mesh Visualization

Blade Cooling Holes

3D Mesh Generation

3D Mesh Visualization

Pin Fins Generation

Set Pin Fins Boundary Conditions

Stator 2: Penny Generation

Initialize Topology & Grid Points Distribution

Add Solid Body & Penny

3D Mesh Generation

3D Mesh Visualization


Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This
 tutorial is particularly adapted to the mesh generation of a multi-stage 
 axial-flow turbine including the solid and fluid domains inside the blades and cooling cavities. It makes exclusive use of AutoGrid5™  and 
 describes the main actions required to mesh the configuration of 
 interest.
In this tutorial you will learn how to:

open a project in AutoGrid5™;
define a blade solid body;
define endwall cooling holes;
define a basin with cooling holes and separator;
define cooling holes and pinfins box;
define a penny;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial requires the user to perform the mesh generation of the Aachen Turbine explained in the beginner tutorial 2. Furthermore, it is strongly recommended for beginners to perform the beginner tutorials 1 to 6 as well.
Problem Description
The
 Aachen 1-1/2 turbine rig stage is used to illustrate most of the cooling and conjugate heat transfer capabilities available in AutoGrid5™ . The turbine has been investigated both 
 experimentally (Gallus and Walraevens, 1995) and numerically (Walraevens
 et al., 1998).


The
 low aspect ratio blading and the constant tip and hub end walls contour 
 enhance strong secondary flows. Both stators (36 blades) and rotor (41 
 blades) are cylindrical and untwisted. The rotor is unshrouded with a 
 tip-clearance of 0.4 mm. Testing conditions are characterized by low 
 inlet gas temperature (about 300 K) and a design speed of 3,500 RPM.
Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can directly access the AutoGrid5™  graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 


You are now ready to start the grid generation process and mesh the Aachen Turbine configuration with cooling holes and pin fins box!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A
 step by step approach is provided in the following lines. It aims at guiding you through the various steps that need to be executed from the 
 creation of the mesh project to the validation of the final mesh 
 quality.
Open Existing Mesh Project
1.  Keep Load Mesh active and click Select a Project File in the Open Turbo Project Wizard dialog box.
2.  Select the file "tutorial2.trb". Click Open to load the selected project (template with associated grid). Where to Find the Files Used in the Tutorials?
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, the existing axial turbine project will be completed by solid and cooling mesh generation.
3.  Select Expert Mode if necessary in the toolbar.



Stator 1: End Wall Cooling Holes
4. Left-click in the meridional view.
5. Left-click row 1 in Row Definition in the Quick Access Pad (QAP) to activate the current row.
6. Left-click the "+" in front of row 1 in the QAP to access the blade information.
Add Solid Body
7. Left-click row 1 -> Blades -> Main Blade, right-click and select Cooling -> Add Solid Body in the contextual menu.


8. Left-click row 1 -> Blades -> Main Blade -> Solid Body, right-click and select Configuration in the contextual menu.
9. In the Solid Body Configuration window, choose "Blade Solid Body + Cooling Channel Without Tip Wall", then click Close.


Add Hub Wall
10. Left-click row 1, right-click and select Cooling -> Add Hub Wall in the contextual menu.


11. Left-click row 1 -> Hub wall, right-click and select Properties in the contextual menu.
12. Set the Width to <0.0114> to increase the width of the hub wall.
13. Keep all the other data identical.


The width allows the user to specify the size of the wall respectively at
 the hub and shroud of the blade. The end walls are now automatically displayed in the meridional view.
14. Click Close.
Initialize Topology & Grid Points Distribution
15. Left-click row 1 and go to Mesh Control -> Row Mesh Control in the QAP and set the Cell Width to <1e-5>.
16. Go to Mesh Control -> Row Mesh Control -> Optimization Control in the QAP and set the number of Optimization Steps on Fine Grid and Gaps and/or CHT Optimization Steps to <100>. Close the dialog box.

Optimization is performed in the form of smoothing and is executed on each layer using multi-block elliptic techniques. The number of Optimization Steps represents the number of iterations performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid. 
The cell width defines the size of the first cell, a default value of 1e-5 is chosen here.

17. Press Initialize Topology & Grid Points Distribution button and Yes to generate the blade-to-blade mesh.



The topology is composed of an OH-mesh in the cooling channel, an O-mesh for the solid body and a default O4H topology in the channel including 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


Adapt Default B2B Mesh
The trailing edge of the blade is moved to avoid low orthogonality in the end wall solid mesh based on H-mesh topology.
18. Go to the B2B mesh by clicking the B2B view and use the viewing button to zoom in near the trailing edge of the hub wall.


19. Left-click and drag the trailing edge of the hub wall to move it upwards, as shown below:


20. Click the Generate B2B button.


The Relative Control Distance of the trailing edge of the blade is increased to release the clustering at the trailing edge in order to increase the minimum orthogonality.
21. Use the viewing buttons to zoom in near the trailing edge of the blade. Right-click the trailing edge and select Properties in the contextual menu.
22. Set the Relative Control Distance to <1.0>.
      23. Click Close.
24. Click Generate B2B.


Add End Wall Holes Line
25. Left-click row 1 -> Hub Wall, right-click and select Add Holes line in the contextual menu.


26. Left-click row 1 -> Hub Wall -> holes line 1, right-click and select Properties in the contextual menu.


27. Set the properties as shown below. Keep all other parameters at their default values. Click Close.  


3D Mesh Generation
28. Left-click row 1 and click Generate 3D, activate Generate End Wall and Generate End Wall Cooling Holes and press Start.


Once the 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cells skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data are available for the entire mesh separately for every entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.


The spanwise angular deviation is the angular deviation computed along J-direction in all blocks, including solid and cooling holes blocks in which the J-direction is no longer the spanwise direction. In such a configuration, warnings related to an excessive high angular deviation should be disregarded. 
29. Click Close after checking the grid quality for the first row.
3D Mesh Visualization
30. Left-click row 1.
31. Select View/View 3D Solid Mesh.
32. Left-click in the 3D view.
       33. Right-click to get the contextual menu and activate Full View.
34. Use the viewing buttons to visualize the mesh of the blade and of the hub wall cooling holes. Select View/Hide 3D Solid Mesh to hide the mesh on solid walls. 



The solid end wall is based on a H-mesh topology completed for each cooling hole by a O4H topology (5 blocks) as follows:

the skin block is an O-mesh surrounding the hole;
the left block is a H-mesh located on the left side of the hole;
the right block is a H-mesh located on the right side of the hole;
the up block is a H-mesh located above the hole;
the down block is a H-mesh located under the hole.


Save Project
35. Go to File -> Save Project As <tutorial9> and press <Enter> to save the mesh and template files.

The
 mesh files (7 files) contain the multiblock mesh topology, geometry and
 grid points and the boundary condition types: ".bcs", ".cgns", ".geom" 
 (".xmt_txt"), ".igg", ".config" and ".qualityReport". The 
 meaning of these files is detailed in the User Guide.
The
 template files (4 files) contain the parameters and the geometry needed
 to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files
 is detailed in the User Guide.

Rotor: Blade Cooling Holes
36. Right-click in the 3D view to get the contextual menu and activate MultiView. Left-click in the meridional view.
37. Left-click row 2 in Row Definition in the Quick Access Pad (QAP) to activate the current row.
38. Left-click the "+" before row 2 in the Quick Access Pad (QAP) to access the blade information.
Add Basin & Cooling Channel
39. Left-click row 2, go to Mesh Control -> Row Mesh Control in the QAP and set the Cell Width to <1e-5>.
40. Go to Mesh Control -> Row Mesh Control -> Optimization Control in the QAP and set the number of Optimization Steps on Fine Grid and Gaps and/or CHT Optimization Steps to <100>.
41. Left-click row 2 -> Blades -> Main Blade, right-click and select Cooling -> Add Solid Body in the contextual menu.


42. Left-click row 2 -> Blades -> Main Blade -> Solid Body, right-click and select Configuration in the contextual menu.
43. In the Solid Body Configuration window, choose "Blade Solid Body + Basin + Cooling Channel". Click Close.


44. Left-click row 2 -> Blades -> Main Blade -> Solid Body -> Basin, right-click and select Properties in the contextual menu.
45. Set the Width At Leading Edge and Width At Trailing Edge to <0.0014>, click Generate Flow Paths and Close.


The width specifies the size of the basin respectively at the leading and trailing edges of the blade. The flow paths are modified according to this width.
46. Left-click row 2 and increase the Number of Flow Paths to <105> from Flow Paths Control in the QAP in Mesh Control -> Row Mesh Control. Click .




Add Basin Holes
47. Left-click row 2 -> Blades -> Main Blade -> Solid Body in the QAP, right-click and select Add Radial Hole in the contextual menu.
48. Left-click hole 1, right-click and select Properties in the contextual menu.
49. Set the parameters as shown in the following figure:


50. Click Close.
51. Repeat the step 47 to step 50 for hole 2 and hole 3. For hole 2, set Location (%chord)/(%width) to <40.0> and <10.0>, give <0.003> to Diameter  and keep all other parameters unchanged. For hole 3, set Location (%chord)/(%width) to <60.0> and <10.0> then give Diameter <0.003>, keep all other parameters at their default values.
The Optimization Steps and Streamwise Mesh Resolution of hole 2 and hole 3 will be automatically changed corresponding to the value of hole 1.
52. Left-click row 2 -> Blades -> Main Blade -> Solid Body in the QAP, right-click and select Add Separator in the contextual menu.
53. Left-click separator 1, right-click and select Properties in the contextual menu.
54. Set the parameters as shown in the following figure:


55. Click Close.
B2B Mesh Visualization
56. Left-click row 2 and click .
57. Left-click in the Blade-to-Blade View.
58. Right-click to get the contextual menu and activate Full View.
59. Use the viewing buttons to visualize the blade-to-blade mesh and the basin cooling holes. Left-click in the Blade-to-Blade View and right-click to get the contextual menu, activate MultiView. 


Blade Cooling Holes
60. Left-click row 2 -> Blades -> Main Blade, right-click and select Cooling -> Add Holes line in the contextual menus.


      61. Left-click holes line 1, right-click and select Properties in the contextual menu.
       62. Set the properties as shown below:


63. Click Close.
64. Repeat step 60 to step 63 for holes line 2. Set the parameters as shown below:


The mesh around the blade cooling holes is based on an O4H topology, similar to the mesh around the end wall cooling holes.
65. Left-click row 2 -> Blades -> Main Blade -> Solid Body. Right-click and select Define Internal Geometry in the contextual menu.


66. Activate Blunt Trailing Edge and click Close.


The trailing edge of the solid body is set as a blunt trailing edge in order to define the trailing edge grooves. Indeed, the trailing edge grooves are not compatible with the rounded trailing edge of the solid body.
67. Repeat step 60 to step 63 for holes line 3. Set the parameters as follows:


68. Click Close.
3D Mesh Generation
69. Left-click row 2. Click the Generate 3D button. Select Generate Blade Cooling Holes (deactivate Generate End Wall and Generate End Wall Cooling Holes if still active) and click Start.


70. Check the grid quality in the grid quality report at the end of the generation, then click Close.



The spanwise angular deviation is the angular deviation computed along J-direction in all blocks, including solid and cooling holes blocks in which the J-direction is no longer the spanwise direction. In such a configuration, warnings related to an excessive high angular deviation should be disregarded.
The high expansion ratio can be decreased by increasing the number of flow paths, together with the percentage of mid-flow cells. However, this will increase the number of cells in the mesh significantly.

3D Mesh Visualization
71. Left-click row 2.
72. Select View/View 3D Solid Mesh.
73. Left-click in the 3D view.
74. Right-click to get the contextual menu and activate Full View.
75. Use the viewing buttons to visualize the mesh of the blade cooling holes and basin cooling holes.


Pin Fins Generation
76. Select View/Hide 3D Solid Mesh.
77. Right-click to get the contextual menu and activate MultiView.
78. Left-click in the meridional view, the QAP is now modified.
79. Left-click row 2 -> Blades -> Main Blade -> Solid Body -> Cooling Channels, right-click and select Add Pin Fins Channel in the contextual menu.
80. Left-click pin fins channel 1, right-click and select Edit in the contextual menu.
81. In the Edit Mode, click the Toggle Edges button in the QAP under View -> Grid to toggle all the blocks.
82. In the Edit Mode, go to File -> Scripts -> Execute..., locate and select the file <pinfinsbox.py> in the dialog box and click OK.
83. Click Yes to skip the warning messages.
84. Wait for the generation of the pin fins block, then click Close Edit Mode.


The Python script creates a new block that will be used to insert the pin fins and that will replace four existing blocks in the cooling channel inside the blade. The script will create surfaces from the faces of the four existing blocks in the cooling area. Then, a new block is mapped onto those surfaces. Finally, the number of grid points is set and the mesh is generated for this block.
85. Left-click row 2 -> Blades -> Main Blade -> Solid Body -> Cooling Channels -> pin fins channel 1, right-click and select Add Pin Fins Line in the contextual menu.
86. Left-click pin fins 1, right-click and select Properties in the contextual menu.
87. Set the properties as follows: 

Define Number of holes on the line = <4> and press <Enter>;
Define V Location (% of Box Height): Set Start = <10.0> % and press <Enter>, set End = <70.0> % and press <Enter>;
Define U Location (% of Box Width) = <30.0> % and press <Enter>;
Decrease upstream number of points from 17 to <13> <Enter>.



88. Click Close.
89. Repeat step 85 to step 88 for pin fins 2. Set the properties as follow:

Define Number of holes on the line = <3> and press <Enter>;
Define V Location (% of Box Height): Set Start = <20.0> % and press <Enter>, set End = <60.0> % and press <Enter>;
Define U Location (% of Box Width) = <60.0> % and press <Enter>.



90. Left-click pin fins channel 1, right-click and select Generate Pin Fins in the contextual menu.
91. Left-click pin fins channel 1, right-click and select View Mesh in the contextual menu.
92. Click in the 3D view and use the viewing buttons to visualize the pin fins mesh.



Pin fins are usually located in the cooling channel of the blade and used to promote turbulence and to exchange heat. The final mesh contains solid blocks defining the pin fins and fluid blocks around the pin fins defining the fluid cooling area of the box.



93. Go to View/Hide 3D Solid Mesh.
94. Go to File/Save Project.
Set Pin Fins Boundary Conditions
The mesh of the pin fins box includes six full non matching connections with only left patches defined. These connections are useful to define the link between the pin fins boxes and the surrounding areas, such as the blade solid body. These connections must be defined manually by imposing the boundary conditions on the pin fins box, creating or editing the FNMBs and erasing the former cooling channel blocks.
95. Left-click row 2 and click Add 3D Effect in the QAP.


96. Left-click row 2 -> Blades -> 3d techno effect 1, right-click and select Edit in the contextual menu.
97. In the QAP, go to View -> Grid and click Toggle Edges twice to view all the blocks.
98. Go to File -> Scripts -> Execute..., locate and select <fnmb.py> in the dialog box and click OK and Yes.

The Python script creates and updates the FNMB (Full Non Matching Boundaries) for the pin fin blocks. One of the FNMBs has to be split in two to be computed properly. 


Then, the four blocks that were used for the generation of the pin fins box are deleted to avoid overlap in the mesh. Those steps are necessary to prepare the FINE™/Turbo computation. To check if the FNMB are well defined and computed, go to respectively Grid/Boundary Conditions (Full Non Matching/ Define) and Grid/Compute All Fnmbs in the Edit Mode.
Once the script has been executed, the pin fins box properties can not be modified because it required the former cooling channel blocks that were deleted.

99. Click
        .
100. Go to File/Save Project.
Stator 2: Penny Generation
101. Left-click in the meridional view.
102. Left-click row 3 in Row Definition in the Quick Access Pad (QAP) to activate the current row.
103. Left-click the "+" in front of row 3 in the Quick Access Pad (QAP) to access the blade information.
Initialize Topology & Grid Points Distribution
104. Left-click row 3, go to Mesh Control -> Row Mesh Control in the QAP and set the Cell Width to <1e-5>.
105. Go to Mesh Control -> Row Mesh Control -> Optimization Control in the QAP and set the number of Optimization Steps on Fine Grid and Gaps and/or CHT Optimization Steps to <100>.
106. Left-click row 3, go to Mesh Control -> Grid Level and press Initialize Topology & Grid Points Distribution and Yes.


Default O4H topology is needed here for the generation of the penny illustrated in the next steps.
Add Solid Body & Penny
107. Left-click row 3 -> Blades -> Main Blade, right-click and select Cooling -> Add Solid Body in the contextual menu.
108. Left-click row 3 -> Blades -> Main Blade -> Solid Body, right-click and select Configuration in the contextual menu.
109. In the Solid Body Configuration window, choose "Blade Solid Body + Pennies". Click Close.


The shroud and/or hub gaps will be defined automatically in this configuration. The blade solid body is meshed and a penny is defined at the hub and/or shroud. Spanwise tip wall holes and blade holes are not allowed in this configuration.
110. Left-click penny, right-click and select Properties.
111. Set Diameter to <0.003>, Optimization Steps to <500>, Streamwise Mesh Resolution to <2> and click Close. 


3D Mesh Generation
112. Left-click row 3, press Generate 3D and Start (deactivate Generate Blade Cooling Holes if still active).
113. Click on Close after checking the grid quality.
3D Mesh Visualization
114. Left-click row 3.
115. Select View/View 3D Solid Mesh.
116. Left-click in the 3D view.
117. Right-click to access the contextual menu and activate Full View.
118. Use the viewing buttons to visualize the mesh of the penny.




119. Go to File -> Save Project.

TUTORIAL 2. Meridional Effect

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry & Define Main Properties

Initialize Topology & Grid Points Distribution

Meridional Control

Blade-to-Blade Control

Meridional Effect Generation

Configuration Control

Geometry Definition

Topology Control

Mesh Control

3D Mesh Generation

3D Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project

Periodic Full Non Matching Connection

Full Matching Connection

Periodic Matching Connection at Rotor-Stator Polyline in ZR Effect


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of seal leakages in turbomachinery applications. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
control meridional flow paths and blade-to-blade mesh;
generate and control the mesh in the seal leakage;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for beginners to perform the beginner tutorials 1 to 6 and the advanced tutorial 9.
Problem Description
The problem to be considered is shown schematically below (meridional view). The project consists of the mesh generation of a seal leakage on top of the Aachen turbine rotor treated as an isolated axial-flow wheel.


Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can directly access the AutoGrid5™  graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™ graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.





You are now ready to start the grid generation process and mesh the configuration containing a seal leakage!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims to guide you through the various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.



 2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Start a New Project From Scratch.


Load Geometry & Define Main Properties
6. Left-click in the meridional view.
7. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row.
8. Go to Geometry Definition -> Import and Link CAD.
A graphic window will open, allowing the user to import CAD geometry.
9. Go to File -> Open....
10. Select "geometry.dat" file from the file chooser. Where to Find the Files Used in the Tutorials?
11. Define the hub curve:

Left-click the hub as it turns to yellow.
Right-click and select Link to Hub.

The hub curve is now displayed in the meridional view.


12. Define the shroud curve:

Left-click the shroud as it turns to yellow.
Right-click and select Link to Shroud.

The shroud curve is now displayed in the meridional view.


13. Define the blade:

Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
Go to Geometry -> Select -> Surfaces.

A message will prompt to select surfaces.




 Type key binding <a> to select all surfaces (they turn to red or yellow).


The binding key <a> acts as a toggle, activating or de-activating all surfaces.
The View/View Solid menu acts as a toggle and allows the visualization of the active surfaces.


 Right-click twice to quit surfaces selection and select Link to Blade.

The blade is now displayed in the meridional view.


 14. Define leading edge and trailing edge:

Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
Left-click the blade leading edge line definition, inside the Import CAD window.
As it turns yellow, right-click and select Link to Leading Edge.
Left-click the blade trailing edge line definition, inside the Import CAD window.
As it turns yellow, right-click and select Link to Trailing Edge.




The leading and trailing edges are now displayed in the meridional view.
                      When the blade intersects hub and shroud, the inlet and outlet are displayed in the meridional view.

15. Go to File -> Exit inside the Import CAD window.
16. Left-click Row Definition -> row 1 to activate row 1.
17. Right-click row 1 to get the contextual menu and select Properties.
18. Enter the Periodicity (number of blades). Left-click inside the string input area and type <41>, press <Enter> to confirm.
19. Enter <-3500> in Rotation Speed (rpm).

This speed will be transferred to the FINE™ graphical user interface and ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

20. Close the dialog box.


Initialize Topology & Grid Points Distribution
21. Left-click Row Definition -> row 1 to activate the row, if not done already.
22. Select Grid Level/Medium through Mesh Control in Quick Access Pad (QAP).
23. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
                        Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=30 m/s; Lref=0.3m; ν=1.038e-5 m²/s. Assuming one wishes to get y+ =1 at the wall, it turns out that ywall = 1 x 10-5 m. Input the value of the Cell Width = <1e-5> and press <Enter> in Mesh Control -> Row Mesh Control in QAP.


24. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This button will set the mesh topology to the default O4H topology.



The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.




Meridional Control
25. Adjust inlet and outlet locations:

Right-click the inlet curve when highlighted in yellow in the meridional view.
Select Properties.
Select Linear - Z constant, type <0.02> and press <Enter> to confirm.
Left-click the outlet curve when highlighted in yellow in the meridional view.
Select Linear - Z constant, type <0.16> and press <Enter> to confirm.
Close the dialog box.




The new inlet and outlet locations are displayed in the meridional view.


You can access the control points of the inlet/outlet line and modify their location by dragging the points. The exact coordinates of the control points can also be introduced by right-clicking the control point. A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
You can access the properties of the inlet/outlet line by right-clicking the control line when highlighted and selecting Properties. The dialog box is divided into two main parts. The first part is used to specify the reference frame. When it is set to Relative to, the control points are relative to a row and their reference depends on the position of the control line. Either the control points are relative to the row inlet and its blade leading edge, to the leading and trailing edge, or to the blade trailing edge and the row outlet. The second part of the dialog box is used to control the properties of the meridional control line; namely the shape, the cell width, the streamwise index and the number of points in streamwise direction. 

26. Add a control line to capture the shroud corner downstream of the trailing edge:

Select the meridional view by left-clicking it to activate the view, if not done already.
Select Mesh Control -> Row Mesh Control -> Add Z Constant Line to add a z-constant line to capture the shroud corner.
Left-click the shroud corner in the meridional view to add a z-constant line. Make sure that the z-constant line is on the corner, and not next to it, by zooming in. If necessary, left-click the upper point of the control and move it onto the corner.
Right-click to quit the menu.






You can access the control points of the z-constant line and modify their location by left-clicking and dragging the points. The exact coordinates of the control points can also be controlled by right-clicking the control point. A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.

Left-click the control line and then on each control point to change the control line shape as presented below.



27. Remove blade-to-blade impact of the control line:

Right-click the last control line when highlighted in yellow in the meridional view.
Select Properties.
Set B2B control to None.
Close the dialog box.



 28. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
29. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This button will set the mesh topology to the default skin-like topology based on the new inlet/outlet locations.
            30. Go to Mesh Control -> Row Mesh Control.
                31. Click on Flow Paths Control.
32. Modify the Number of Flow Paths = <33> and press <Enter>.      





The Expert section allows the user to control the visualization, the shape and the parameters related to flow path smoothing. The meaning of these parameters is detailed in the User Guide.
The Manual Edit mode allows the user to directly control the block faces which are used to construct flow paths. Edges can be moved, segments can be created or modified and the grid point distribution on segments can be controlled. More details can be found in the User Guide.

33. Keep all other data unchanged.
34. Click Generate.
35. Close the dialog box.
Blade-to-Blade Control
36. Click Generate B2B (
                    ).
          
                    37. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology control field.



By default, non-matching connections are applied at periodic boundaries. Matching connections at periodic boundaries can be obtained by activating the Matching Periodicity check button. Press Initialize Topology & Grid Points Distribution button to regenerate the mesh in the blade-to-blade plane.
In most cases, the presence of non-matching connections somehow improves the orthogonality in the overall mesh. This is especially true in highly staggered configurations.

 38. Keep Matching Periodicity deactivated and all other data identical.
In several turbomachinery types, the blades are highly staggered (Automatic High Staggered Blade Detection within AutoGrid5™). If the solid angle at the inlet (outlet) of the machine becomes greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading edge (trailing edge) of the blades, then the default topology is not suitable anymore since the cells located near the inlet (outlet) boundary become very skewed. To improve this unexpected behaviour, AutoGrid5™  uses the High Staggered Blade Optimization.
39. Close the Topology control field.
40. Open the Grid Points control field to control the number of grid points in the blade-to-blade view.
41. Left-click the number of nodes, make the proper modification in the entry box and press <Enter> to confirm the modification.


 The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.
42. Visualize the result in the blade-to-blade view after selecting Generate B2B to regenerate the flow paths and the mesh in blade-to-blade plane.
43. Close the dialog box.
44. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh optimization parameters if necessary to enhance the quality of the mesh.


Optimization is performed in the form of smoothing and is executed on each layer using multi-block elliptic techniques. The number of Optimization Steps represents the number of iterations performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
45. Keep the number of Optimization Steps and all other data at default values.
46. Close the dialog box.
47. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the blade-to-blade mesh will be plotted in the blade-to-blade view.


By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%).
48. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
49. Select Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using the Type pull-down menu and plotted in the blade-to-blade view on the active layer selected in Mesh Control/ Active B2B Layer.
50. Check the grid quality by clicking .
51. Select quality criteria using the Type pull-down menu.
52. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
53. Left-click part of the histogram to plot the concerned cells in blade-to-blade view.
54. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.


55. Close the dialog box.
Meridional Effect Generation
Configuration Control
56. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
57. Click the Add ZR Effect button to add a meridional effect in the configuration.


Geometry Definition
58. Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not active already.
59. Go to Geometry Definition -> Import and Link CAD.
A graphic window will open, allowing the user to import CAD geometry.
60. Select the curves defining the active meridional effect:

Hold <Shift> and left-click all the curves as they turn to yellow.
Right-click and select Import Meridional. Some error message may appear, just click ok to continue if this happens.




When importing the curves, a geometry check is performed on the curves and warnings may popup to inform the user. At the end, curves defining the meridional effect are displayed in the meridional view.
Curves defining the meridional effects are specified in the ".geomTurbo" file using the basic curve format (see User Guide for more details).      



Go to File -> Exit inside the Import CAD window.
61. Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not active already.
62. Right-click zr techno effect 1 to get the contextual menu and select Edit to access the meridional effect edit mode.


It is possible for the meridional effect to have several connections with the main blade channel (for example: a seal leakage has a connection upstream of the blade and a connection downstream of the blade). In this case, the mesh created inside the domain of the effect is divided into two parts: one starting from the inlet and one starting from the outlet. At the middle part of the seal leakage, a "rotor-stator" separation line must be defined indicating the location of the division. At this line, which can be defined in the edit mode, the two parts of the mesh will be connected by a periodic connection if the connections with the main blade channel are related to the same row, or a rotor/stator interface (if the connections with the main blade channel are related to different rows).
63. Click Rotor-Stator Polyline in the Geometry Control subpad to create a separation line.
64. Left-click the location (yellow spot on existing curve) where the "rotor-stator" polyline will start.
65. Left-click the location (yellow spot on existing curve) where the "rotor-stator" polyline will end.
66. Right-click to quit.



No curves have to be added at the connection between the blade channel (hub or shroud) and the meridional effect. The hub and shroud curves will automatically be used as the limit of the meridional effect.
AutoGrid5™ also provides geometrical features used to create the solid body of meridional effects interactively. New polylines and C-splines can be created using respectively the Geometry Control subpad and the Geometry menu in the meridional effect edit mode. The steps needed to create these curves are stored in the ".trb" template file.

Topology Control
67. A closed domain should be defined for the techno effect by imposing a two sides (in case there are two connections between the channel and the zr effect). Once this is done, the automatic blocking can be used to fill the domain with 2D blocks.
The domain defining a technological effect must be filled by several structured 2D blocks. The Topology Control subpad provides the tools to create and control the blocking. 
68. Go to Topology Control -> Automatic -> Domain Definition to define the domain. 
If channel connection curves cannot be found, it is possible that the domain definition will fail. This is indicated by an error message. The problem is most likely located where the highlight stops. If the domain definition fails, the automatic blocking can not be performed. Causes for failure include: gaps, overlaps between zr curves and curves sharing its starting point or end point with more than one or no curves. More details can be found in the User Guide.
69. Consecutively left-click the upper and bottom curve defining the meridional effect as shown below. Right-click to finish the selection.






70. Keep the expert parameters under Topology Control -> Auto Blocking Expert Parameters at default settings.

Access the expert parameters by clicking Topology Control -> Auto Blocking Expert Parameters check box. Changing the expert parameters affects the way the blocks are generated; if the generated mesh is satisfactory there is no need to adjust the default settings. Some more information is added here, to illustrate the effect of the two expert parameters.                   Activating H Topology Around Corner will yield a topology with higher orthogonality, but this leads to the propagation of the solid wall clustering. This can in turn lead to convergence issues for the solver. The difference illustrated by an example (left: activated, right: deactivated):


Activating H Topology Around Thin Films avoids blocks of high section variation, which can lead to a very high number of points compared to the block's lowest section size. It also improves the orthogonality, but can also lead to propagation of the solid wall clustering. The effect of this parameter is illustrated by an example below (left: activated, right: deactivated).



71. Click Topology Control -> Automatic -> Automatic Blocking to perform an automatic block generation. After a few seconds, the block generation will be completed with the result shown below. If required, it is possible to edit the blocking manually from the Topology Control -> Manual menu in the QAP.



The proposed blocking can be adapted manually from the Topology control -> Manual menu.

Insert New Block  can be used to create and insert a new block. After creation, the four vertices defining the corners of the block are displayed. These vertices can be selected by left-clicking them and then moved with the mouse.




Delete Block(s) is used to delete blocks. There is an option to delete the active block or make a selection.




Insert Vertex is used to insert one or multiple vertices on a block edge.




Clicking Cluster Points will open a dialog box where the grid point clustering, used to adapt the automatic default topology, along each edge of the blocks can be controlled. The same menu can be access by right-clicking an edge and selecting Distribution.




An edge can be split into several segments by attaching a fixed point to an existing vertex. This is done by right-clicking the vertex and selecting Attach Fixed Point.





72. Click Topology Control -> Detection Tools -> Detect Unmapped Edges to check that all edges are mapped properly. There should be 0 unmapped segments detected.
73. Click Detect Channel FNMB Connection in the Detection Tools subpad to visualize the connections between the meridional effect and the channel. There should be 6 connections in total (one for each block connected to the channel), 2 on the left and 4 on the right.


74. Deactivate FNMB: Periodic under Mesh Control -> 3D Mesh Settings-> Connection With Channel to impose a (non-periodic) FNMB connection between the channel and the techno effect.


Mesh Control
75. Now that the topology is finalized, a mesh can be generated.
76. Go to Mesh Control -> ZR Mesh Settings and make sure that Solid Wall Cell Width = <1e-05> and that Default Mesh Expert Parameters -> Max Expansion Ratio General = <3>. Both these options are important for the automatic blocking.
77. Click Mesh Control -> ZR Mesh Settings -> Default Mesh to generate the mesh.


78. Check the grid quality by clicking .
79. Select quality criteria using the Type pull-down menu.
80. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
81. Left-click part of the histogram to plot the concerned cells in blade-to-blade view.
82. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.


83. The mesh quality can be improved using optimization. Go to Mesh Control -> ZR Mesh Settings and set Optimization Steps = <100>. Click Optimize Mesh to perform the optimization.


84. The quality of the mesh after optimization can be checked by pressing . The minimum orthogonality has improved from 10.1 to 20.1 degrees, the maximum expansion ratio has decreased from 3.01 to 2.61.



As mentioned above, changing the expert parameters for the automatic blocking changes the resulting block generation. This in turn affects the mesh quality.

In this case, turning off H Topology Around Corners results in a minimum orthogonality of 0 degrees. Looking at the default mesh, there is a big difference with the original one. There are a lot of sharp corners (mainly in the area highlighted in red), which is the cause of the poor orthogonality. 



After 100 optimization steps, the orthogonality is better than with the default settings.



Turning off H Topology Around Thin Films yields a mesh with a very similar quality, but with slightly more cells. Looking at the resulting mesh, it is mostly the same as the original one, which explains the similar quality. The area where the main difference occurs is indicated in red.



After applying 100 optimization steps, the quality has improved to an acceptable level.


The above illustrates that adjusting the default parameters can yield a better quality mesh. However, in this case the mesh with default settings is already of good quality, so this was not a problem to begin with.
Overall, using the default settings provides a good balance between keeping a low number of cells and a good mesh quality. It may happen that the mesh quality is not sufficient, in which case the default settings can be changed. If this is still not sufficient, blocks can be added manually through the Topology Control -> Manual menu in the QAP. To make sure all edges are mapped, always use Topology Control -> Detection Tools -> Detect Unmapped Edges before starting the mesh generation.

85. Exit the meridional effect generation by clicking the Close Edit Mode button on the upper right.
3D Mesh Generation
86. <Ctrl> + left-click Row Definition -> row 1 and zr techno effect 1 in the Quick Access Pad (QAP) to activate the current row and the zr techno effect, if not done already.
87. Click the Generate 3D icon and confirm the generation (Start).




Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cells skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh, as well as for each separate entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.
88. Close the dialog box. The page can be reopened by clicking . 
3D Mesh Visualization
89. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
90. Right-click row 1 and select Properties to activate Default in order to plot the full turbomachine.


91. Right-click row 1 and select View/Toggle 3D View to access the shaded blades in 3D view.
92. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
93. Right-click to get the contextual menu and activate Full View.
94. Use View/Grid menu in QAP or View/Patch Viewer... menu to toggle edge or mesh.
Check Boundary Conditions & Mesh Quality


95. Check the boundary conditions by clicking .
96. Select UND from the Type pull-down menu and check that there are no patches in the list that are still set to an undefined type.


It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.
 97. Select Full Non Matching/Define... to visualize the FNMB that are automatically created between the seal leakage (meridional effect) and the shroud of the channel.
 


 98. Close both dialog boxes.
99. Check for negative cells by clicking .
100. Click Apply.


101. Click ok and Close.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

102. Check the grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can be performed only once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
103. Select quality criteria using the Type pull-down menu.
104. Left-click Show chart to visualize the distribution of selected criteria in the form of an histogram. The histogram is drawn per block (0 = all blocks).
105. Left-click part of the histogram to plot the concerned cells in the 3D view.
106. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.


107. Find the block where the minimum orthogonality occurs, under General information at the bottom of the dialog box. The orthogonality of the overall mesh can be improved greatly by making adjusting the corresponding block in the zr effect.

Close the dialog box. 
Left-click zr techno effect 1 in the QAP, then right-click and choose Edit.
Locate the corresponding block. Display the vertices using View -> Grid -> Toggle Vertices and move the two vertices as shown below.






Click Optimize Mesh and exit the zr effect edit mode by clicking Close Edit mode.




<Ctrl> + left-click zr techno effect 1 and click Generate 3D to generate a new 3d mesh. The mesh quality should be improved significantly 



108. Close the dialog box. The page can be reopened by clicking .
Save Project
109. Go to File -> Save Project As <tutorial2> and press <Enter> to save the mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport".The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Periodic Full Non Matching Connection
AutoGrid5™  allows the user to define a straight meridional effect (periodic boundaries of meridional effect at constant θ) by introducing periodic full non matching connections with repetition between the meridional effect and the channel. In most cases, this capability improves the orthogonality in the overall mesh. This is especially true in highly staggered configurations.
110. Activate the meridional view by left-clicking it to activate the view, if not done already.
111. Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not active already.
112. Right-click zr techno effect 1 to get the contextual menu and select Edit to access the meridional effect edit mode.


113. Activate Mesh Control -> 3D Mesh Settings -> Connection With Channel -> FNMB: Periodic.
114. Click Close Edit Mode ().
115. Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not done already.
116. Click the Generate 3D icon and confirm the generation (Start). Close the dialog box. The page can be reopened by clicking .


117. Check the boundary conditions by clicking .
118. Select Full Non Matching/Define... to visualize the FNMB that are automatically created between the seal leakage (meridional effect) and the shroud of the channel.




All defined full non matching connections between the meridional effect and the channel are periodic with repetition.
119. Close both dialog boxes.
120. Go to File -> Save Project As <tutorial2_per> and press <Enter> to save the mesh and template files.
Full Matching Connection
AutoGrid5™ allows the user to define a full matching connection between the meridional effect and the channel by adding fixed control lines into the channel. This capability usually requires more points in the mesh and an orthogonality that will not be improved in the overall mesh. This is especially true for highly staggered configurations.
121. Left-click zr techno effect 1, then right-click and select Edit.
122. Go to Mesh Control -> ZR Mesh Settings -> Add Matching Z Cst Lines to add z-constant lines to map the meridional effect.
123. Exit the zr effect edit mode by clicking the  button.
124. In the meridional view, 8 new control lines should appeared; 3 on the left and 5 on the right. There was already a control line on the edge of the shroud that was created in step 26. If the control line was not mapped onto the edge properly, there will be an extra control line there as well. If this is the case, delete the old control line (when selected, right-click and select Delete) and keep the new one.



You can also access the exact coordinates of the control points by right-clicking a control point. A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
You can access the properties of the z-constant line by right-clicking the control line when highlighted and selecting Properties. The dialog box is divided into two main parts. The first part allows to specify the reference frame. When it is set to Relative to, the control points are relative to a row and their reference depends on the position of the control line. Either the control points are relative to the row inlet and its blade leading edge, to the blade leading and trailing edge, or to the blade trailing edge and the row outlet. The second part of the dialog box is used to control the properties of the meridional control line namely the shape, the cell width, the streamwise index and the number of points in streamwise direction.



 125. Right-click the first control line when highlighted in yellow.
126. Select Properties.
127. Activate Linear.
128. Make sure that the cell width is set to <1e-5> for control lines connected to a solid wall and <0> for the other ones. Press <Enter> to confirm.
129. Left-click on the next control line and apply above steps. Repeat steps for all the new control lines
130. Adjust control lines number 5, 6 and 7 to better capture the shape of the channel. To do this, left-click the control points of the z-constant lines and modify their location by dragging the points. The final result is shown below:


131. Close dialog box.
132. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
133. Select Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This button will set the mesh topology to the default skin-like topology considering the four new control lines.



In the blade-to-blade view, additional H-blocks will appear. Furthermore, in some cases, the default topology may change from normal to high staggered (in this case the blade is high staggered at trailing edge).



 134. In the edit mode of the meridional effect, the connection type can be controlled:Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not active already.Right-click zr techno effect 1 to get the contextual menu and select Edit to access the meridional effect edit mode.Click Detect Channel Matching Connection in the Topology Control -> Detection Tools subpad to visualize the 6 connections between the meridional effect and the channel.


 135. Right-click to quit the Detect Channel Matching Connection tool.
An additional control line needs to be added to define both matching connections because the connection of the meridional effect with the channel close to the trailing edge is defined by two blocks.
136. Click Close Edit Mode ().
137. <Ctrl> + left-click Row Definition -> row 1 and zr techno effect 1 in the Quick Access Pad (QAP) to activate them, if not done already.
138. Go to Mesh Control -> Row Mesh Control -> Flow Paths Control.
139. Modify the number of flow paths to <33> and press <Enter>.
140. Click the Generate 3D icon and confirm the generation (Start).
141. Check the boundary conditions by clicking .
142. Select Full Non Matching/Define... to visualize that there are no more FNMB that are automatically created between the seal leakage (meridional effect) and the shroud of the channel.


143. Close the dialog box.
144. Select CON from the Type pull-down menu and check that all patches between the seal leakage (meridional effect) and the shroud of the channel are set as CON (full matching).


145. Select PERNM from the Type pull-down menu and check that the connection at the "rotor-stator" polyline in the ZR effect is by default set to periodic non-matching.


146. Close dialog box.
147. Go to File -> Save Project As <tutorial2_match> and press <Enter> to save the mesh and template files.
Periodic Matching Connection at Rotor-Stator Polyline in ZR Effect
AutoGrid5™ 
allows the user to enforce the type of connection at the "rotor-stator" polyline in the ZR effect. In the example below a periodic matching connection will be enforced in the "tutorial2_match" mesh, which is by default set to a periodic non-matching connection.
148. In the edit mode of the meridional effect, the connection type can be enforced:

Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not active already.
Right-click zr techno effect 1 to get the contextual menu and select Edit to access the meridional effect edit mode.
Activate RS Interface Connection as Matching (in addition to Periodic) in the Mesh Control-> 3D Mesh Settings subpad.




RS Interface Connection allows the user to enforce the type of connection in the ZR effect at the "rotor-stator" polyline. By default, it is set to Periodic. 
The Propagate Theta Deviation option allows, when the number of blocks is above 2 in the ZR effect, to propagate the angle deviation of the connected mesh.

149. Activating this option is not sufficient to ensure a periodic matching connection at the "rotor-stator" polyline. In addition both sides of the "rotor-stator" polyline should present the same number of points in azimuthal and "spanwise" directions.
150. Zoom in on the edges mapped on the "rotor-stator" polyline and check the number of points by selecting an edge, right-clicking and selecting Distribution.
151. In "spanwise" direction the two upper blocks should both have 13 points. The lower left block has 13 points but the lower right one only has 9 points.


152. The number of points at the rotor-stator is propagated blocks as shown below. The propagation in orange is for the upper blocks of the R/S interface, the propagation in green is for the lower blocks of the R/S interface.




There are two options to ensure that the lower blocks have the same number of points.
153. The first option is to change the number of points of the block to the left of the R/S interface. 

Select the edge of the lower block at the interface by left-clicking, then right-click and choose Set Number of Points. Enter <9> in the dialog box and press Apply.




Use View -> Toggle Face Grid to visualize the mesh. Click Optimize Mesh to apply optimization.



154. The second option is to change the number of points in the control line at the connection between zr effect 1 and row 1. Changing the number of points in the control line affects the number of points at the R/S interface since it is propagated from the connection. 

In this case, the number of points required at the control line is 25. Click Close Edit Mode and left-click on the control line to select it, then right-click and choose Properties. 




Set Streamwise Npts to <25> and press <Enter>.




Right-click zr effect 1 and choose Edit. Click Default Mesh and check that the number of grid points at the interface is now 13 on both sides.



Regardless of the option chosen above, the number of points in the azimuthal direction needs to be checked as well.
155. Click Close Edit Mode ().
156. Left-click Row Definition -> row 1.
157. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Grid Points control field to control the number of grid points in the blade-to-blade view.
158. Left-click the number of nodes, make the proper modification in the entry box to have same total number of points at inlet and outlet and press <Enter> to confirm the modification.


159. Select Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the blade-to-blade view.
160. Left-click + <Ctrl> Row Definition -> row 1 and zr techno effect 1 in the Quick Access Pad (QAP) to activate them, if not done already
161. Click the Generate 3D icon and confirm the generation (Start).
162. Check the boundary conditions by clicking .
163. Select PER from the Type pull-down menu to list all the corresponding connections.
164. Access the 3D view and check visually that the connections at the "rotor-stator" polyline in the ZR effect are set to periodic matching.


165. Close dialog box.
166. Go to File -> Save Project As <tutorial2_match_per> and press <Enter> to save the mesh and template files

TUTORIAL 10. Scripting Overview

Introduction

Prerequisites

Problem Description

Preparation

Adapt Script

Launch Script

Set Row Configuration

Create New Project

Add & Rename Rows

Load & Link Geometry

Import Geometry Using CAD File

Import Geometry Using "geomTurbo" File

Stator1 Mesh Settings: Row Wizard

Rotor Mesh Settings: Expert Mode

Define Main Properties

Initialize Topology & Grid Points Distribution

Blade-to-Blade Control: Matching Periodicity

Flow Path Control

Blade-to-Blade Control: Grid Points

Optimization Control

Stator2 Mesh Settings: Expert Mode

Define Main Properties

Add & Adapt Control Line

Generate & Save Mesh


Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a multi-stage axial-flow turbine using Python commands in a script. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

launch a script in AutoGrid5™;
set the row configuration;
load and link geometry;
set the mesh parameters of a row with the row wizard;
set the mesh parameters of a row without the row wizard;
generate and save the 3D mesh.

Prerequisites
This tutorial does require some basic knowledge of the object-oriented Python language. For a more complete description of the Python language and generic commands, see the AutoGrid5™  User Manual. Furthermore, it is strongly recommended for beginners to perform beginner tutorials  1 to 6 as well.
Problem Description
The Aachen 1-1/2 turbine rig stage is used to illustrate the scripting capability available in AutoGrid5™. The turbine has been investigated both experimentally (Gallus and Walraevens, 1995) and numerically (Walraevens et al., 1998).


The low aspect ratio blading and the constant tip and hub end walls contour enhance strong secondary flows. Both stators (36 blades) and rotor (41 blades) are cylindrical and untwisted. The rotor is unshrouded with a tip-clearance of 0.4 mm. Testing conditions are characterized by low inlet gas temperature (about 300 K) and design speed of 3,500 RPM.
Preparation
Start AutoGrid5™ v13.1 :

For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™ graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 


You are now ready to start the grid generation process and mesh the Aachen Turbine configuration by launching an existing Python script !
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is provided in the following lines. It aims at guiding you through the successive Python commands that need to be executed from the creation of the project to the generation of the final 3D mesh.
Adapt Script
1.  Open the script with your editor of choice: right-click "tutorial10.py" and choose Open With... to select the desired editor. Where to Find the Files Used in the Tutorials?
2.  Adjust the working directory "rootdir" in the script to a suitable location and make sure that the "_data" subfolder is well located in that folder.
3.  Keep the parameter "wfc" set to 1, if you want the script to pause between the different steps. For this tutorial it is recommended that you keep this parameter set to 1.
4.  Save the adapted script as <tutorial10.py>.
Example


##
## USER INPUT
## Adapt the rootdir to a suitable directory and execute the script in AutoGrid5
##
 
# working directory
rootdir = "/home/user/Tutorial10/"
# Wait for click
wfc = 1




The other directories and file paths needed by the script are automatically generated and will later on be used to load or save files.

## define the used directories
datadir = rootdir + "_data/"
                
meshdir = rootdir + "_mesh+template/"
                
if not os.path.isdir(meshdir):
                
  os.makedirs(meshdir)  
 
## directories of the needed files
datafile= datadir + "aachen.dat"
                
geomTurboFile_stator2= datadir + "aachen_stator2.geomTurbo"
                
geomTurboFile_rotor= datadir + "aachen_rotor.geomTurbo"
                
template_file= meshdir  + "aachen-1.5-stage.trb"
                


Launch Script
5.  Select Expert Mode if necessary in the toolbar.



6.  Left-click File -> Scripts -> Execute... in the menu bar.


7. Locate and select the adapted script "tutorial10.py" (saved in step 4). Left-click OK and click Yes to skip the warning message.





All "print" statements made in the script will be displayed in the terminal window associated with AutoGrid5™. For convenience a print statement is added at the beginning of the script, in that way it is possible to see when the script is executed. Another print statement is added at the end of the script to see if the script is finished. 

print"******************* Start *******************"
                
 
ALL OTHER COMMANDS
 
print"****************** Finished *****************"
                


Set Row Configuration
For the purpose of this tutorial the script is paused several times during the execution (only if parameter "wfc"  is set to 1). The terminal window will indicate when the script is paused and what step will be executed next. To continue in the script left-click inside the AutoGrid5™  GUI. In the script these pauses are represented by the following line of code:

if wfc==1: print "Click to set row configuration";
a5_waitLeftClick()

Create New Project
8.  The first step in the script after defining the directories is to create a new project. This is done using the command a5_new_project(bypass) where "bypass" is a boolean (0 or 1) value specifying if the type of configuration is a bypass or not. 
9.  The a5_clean_import_geometry() command is used to make sure no imported geometry is still loaded in AutoGrid5™.
10. The units for the project are then set using the command a5_set_configuration_units("Meters").
Example

#start new project
a5_new_project(0)
a5_clean_import_geometry()
a5_set_configuration_units("Meters")


Add & Rename Rows
11. When creating a project, a row is automatically added. The Aachen turbine case is composed of three rows, so two rows need to be added. To add a row at the end of the channel, use the a5_row_at_the_end_of_the_channel() command.
12. These rows can be renamed to "stator1", "rotor" and "stator2" using the set_name("string") function from the row class. Since this function is a member of a specific class, it can only be used on elements of that class. In this case, it applies only to members of the row class.
Example


#create configuration
#rename row 1
row(1).set_name("stator1")
#create and rename row 2
a5_row_at_the_end_of_the_channel()
row(2).set_name("rotor")
#create and rename row 3
a5_row_at_the_end_of_the_channel()
row(3).set_name("stator2")



 
13. If the parameter "wfc" is set to 1, the script will halt directly after execution If so, the user has to perform one left-click in the GUI of AutoGrid5™ to execute this part of the script. After the execution the final configuration can be seen in the Quick Access Pad (QAP), as presented in figure below.


Load & Link Geometry
Import Geometry Using CAD File
14. The first way to import a geometry is to load a CAD file. This is done using the following command: a5_import_geometry_file(datafile). This "datafile" file contains several curves defining the hub, shroud and blade "stator1" geometry of the turbine.
15. The hub and shroud can be linked to the geometry using the a5_link_to_hub(["curve_name"]) and a5_link_to_shroud(["curve_name"]) commands respectively. The "curve_name" should be replaced with the name of the curve in the CAD file. In this case the names are "hub" and "shroud". It is important to note that all geometry linking functions require a list as input, even when only one curve is linked. For that reason, the strings are enclosed in square brackets "[]". 
Example 


# open the CAD file to import from
a5_import_geometry_file(datafile)
# link hub to appropriated loaded curve
a5_link_to_hub(["hub"])
# link shroud to appropriated loaded curves
a5_link_to_shroud(["shroud"])



 
16. To link the correct geometry to the blade of "stator1" the function link_geometry([surface_names]) from the blade class is used. In the CAD file the blade is defined by two surfaces, one for the pressure side ("stator1_ps") and one for the suction side ("stator1_ss"). The function requires a list as input, so the square brackets are used but here the list contains two elements.

Note that a blade is an attribute of an element of the row class. All functions from the blade class can only be used on elements of that class and will therefore have the following syntax.
row(1).blade(1).function_of_blade_class()

17.  The leading and trailing edge of the blade are defined by curves from the CAD file. The functions link_to_leading_edge([curve_names]) and link_to_trailing_edge([curve_names]) of the blade class with similar syntax are used.
Example


# link blade of stator 1
row(1).blade(1).link_geometry(["stator1_ps", "stator1_ss"])
# link main blade leading edge to appropriated loaded curve
row(1).blade(1).link_to_leading_edge(["stator1_le"])
# link main blade trailing edge to appropriated loaded curve
row(1).blade(1).link_to_trailing_edge(["stator1_te"])



Import Geometry Using "geomTurbo" File
18. Geometry can also be loaded from a "geomTurbo" file. In that case, the geometry is loaded into a row. the function load_geometry(geomTurboFile) from the row class is used. The geometry of both "rotor" and "stator2" is defined using "geomTurbo" files.
Example


# Load row 2 and 3 from geomTurbo files
row(2).load_geometry(geomTurboFile_rotor)
row(3).load_geometry(geomTurboFile_stator2)



 
19. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script. After execution the loaded geometry will be visible in the MERIDIONAL view.


Stator1 Mesh Settings: Row Wizard
20. To define the mesh settings of "stator1" the row wizard will be used. This means that only functions of the row_wizard class are used. This is a subclass of the row class. The first step is to initialize the row with the command initialize(machine_type, row_type, rotationSpeed, periodicity). 
The first input defines the machine type with a number. The number corresponds to the different machine types: wind turbine (1), axial turbine (2), Francis turbine (3), Kaplan turbine (4), inducer (5), axial compressor (6), centrifugal impeller (7), centrifugal diffuser (8), return channel (9), contra rotating fan (10), centrifugal pump (11), axial fan (12) and marine propeller (13).
The second input indicates the row type, either rotor (1) or stator (0). 
The third and fourth inputs are numbers corresponding to the rotation speed and periodicity of the row. In the case of "row 1" of the Aachen turbine, the command is:

#row 1 definition
row(1).row_wizard().initialize(2,0,0,36)

21. A hub gap is added with the three commands below. The first one creates the hub gap. The second and third commands specify the width at the leading and trailing edge respectively.

row(1).row_wizard().hub_gap_is_asked(1)
row(1).row_wizard().set_hub_gap_width_at_leading_edge(0.0004)
row(1).row_wizard().set_hub_gap_width_at_trailing_edge(0.0004)

22. The flow path number (corresponding to the spanwise grid point number) is set using the set_flow_path_number(value) function.
23. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=65.4715 m/s, Lref=0.3m and ν=1.038e-5 m²/s for row 2 ("rotor"). Assuming one wishes to get y+ =1 at the wall, it turns out that y = 5.3 x 10-6m. Assuming Vref=42.2633 m/s, Lref=0.3m and ν=1.038e-5 m²/s for row 1 ("stator1") and row 3 ("stator2"), and keeping y+ =1 at the wall, it follows that y = 7.8 x 10-6 m. The first cell width at the wall is imposed with the set_row_cell_width_at_wall(value) command.
24. The number of points (of the 3D mesh) will be set to around 300,000 by setting the grid level to "-8". To set the grid level, the set_grid_level(value) function can be used. To verify the current grid level one can use the get_grid_level() function.
25. To apply all the settings set in the row_wizard class the generate() command should be executed.
Example


#row 1 definition
row(1).row_wizard().initialize(2,0,0,36)
row(1).row_wizard().hub_gap_is_asked(1)
row(1).row_wizard().set_hub_gap_width_at_leading_edge(0.0004)
row(1).row_wizard().set_hub_gap_width_at_trailing_edge(0.0004)
row(1).row_wizard().set_flow_path_number(61)
row(1).row_wizard().set_row_cell_width_at_wall(7.8e-6)
row(1).row_wizard().set_grid_level(-8)
#apply settings
row(1).row_wizard().generate()



 
26. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script. After execution the settings will be applied to "stator1".
Rotor Mesh Settings: Expert Mode
Define Main Properties
27. The first step in configuring the rotor is to set the periodicity and the rotation speed with the functions set_periodicity(value) and set_rotation_speed(value) from the row class.
Example

# set periodicity and rotation speed
row(2).set_periodicity(41)
row(2).set_rotation_speed(-3500)


 
28. To add a shroud gap to the rotor, it is sufficient to define the gap width (set_width_at_leading/trailing_edge (value)) and AutoGrid5™ will automatically add the gap. In this case the width at leading and trailing edge will be defined using the shroud_gap class commands which apply on an element of the blade class.
29. A span interpolation of 0.5% is imposed on the rotor with the command set_row_interpolation_spacing(value). This enables to reduce the angular spanwise deviation.
30. Next to a shroud gap a hub fillet is also defined. This is again done on the blade by defining the radius at leading and trailing edge (hub_fillet class commands).
31. To improve the mesh a butterfly topology will be used in the fillet, this can be imposed with the set_butterfly_topology(1) command of the hub_fillet class.
Example


# define tip gap
row(2).blade(1).shroud_gap().set_width_at_leading_edge(0.0004)
row(2).blade(1).shroud_gap().set_width_at_trailing_edge(0.0004)
 
# define fillet radius and other properties
row(2).blade(1).hub_fillet().set_radius_at_leading_edge(0.003)
row(2).blade(1).hub_fillet().set_radius_at_trailing_edge(0.003)
row(2).blade(1).hub_fillet().set_butterfly_topology(1)



Initialize Topology & Grid Points Distribution
32. The grid level can be set with the set_coarse_grid_level(level, target) command. "Level" specifies the grid level desired: 1 for coarse, 2 for medium, 3 for fine and 4 for user defined. "Target" is an optional argument only useful when "level" is set to 4 and represents the desired number of points.
33. The cell width at the wall can be set with the set_clustering(value) command. In this tutorial a value of 5.3 x 10-6 m is used (step 23).
34. To initialize the topology and the grid points distribution of the "rotor", the a5_initialize_topology() command is used. In order to make sure that only the "rotor" gets reset, first all rows are unselected and then only the "rotor" is selected.
Example


# set grid level
row(2).set_coarse_grid_level(2)
# set cell width at wall
row(2).set_clustering(5.3e-6)
# initialize topology & grid points distribution of row 2
unselect_all()
row(2).select()
a5_initialize_topology()



 
35. If "wfc" is set to 1, left-click once in the AutoGrid5™  GUI to execute this part of the script. After the reset is applied the blade-to-blade mesh of the "rotor" will be visible in addition to the "stator1".


Blade-to-Blade Control: Matching Periodicity
36. To set the topology to matching periodicity, the set_b2b_default_topology_periodicity_type(1) command is used. The input can either be 0 for non matching or 1 for matching. To apply this the default topology should be reset as explained in step 33.
Example


# set topology to matching periodicity
row(2).blade(1).set_b2b_default_topology_periodicity_type(1)
# initialize topology & grid points distribution of row 2
unselect_all()
row(2).select()
a5_initialize_topology()



Flow Path Control
37. The number of flow paths can be set using the set_row_flow_path_number(value) function, with an integer number of flow paths as "value". For this case the number of flow paths is set to 73.
38. The percentage of constant cells is also defined with the function set_flow_path_control_cst_cells_number(value) of the row class. The "value" is the desired percentage, in this tutorial 33% is used.
39. These settings are applied by generating the flow paths with the generate_flow_paths() command from the row class.
Example


# flow path control
row(2).set_row_flow_path_number(73)
row(2).set_flow_path_control_cst_cells_number(33)
row(2).generate_flow_paths()



Blade-to-Blade Control: Grid Points
40. To have more control over the blade-to-blade mesh the number of grid points can be adapted. The functions to set these grid points are part of the blade class and have a syntax of the form: set_b2b_default_topology_grid_point_number_location(value). Where "location" is specifying every location available in the topology.
Example


# control the grid points
row(2).blade(1).set_b2b_default_topology_grid_point_number_streamwise_inlet(9)
row(2).blade(1).set_b2b_default_topology_grid_point_number_azimutal_inlet_down(13)
row(2).blade(1).set_b2b_default_topology_grid_point_number_streamwise_blade_upper_side(61)



 
The difference between the two grid point distributions can be seen below. The original default distribution is shown on top and the grid point distribution after the adaptation is shown below.



To check the current number of grid points for a certain location the get function can be used. The number will be shown in the terminal window. The syntax looks like: 
print row(2).blade(1).get_b2b_default_topology_grid_point_number_streamwise_inlet()

Optimization Control
41. The final step for improving the mesh is to increase the number of optimization steps. This is done by executing the set_row_optimization_steps(value) command. The "value" is an integer representing the desired optimization steps, in this case 150 was chosen.
42. To apply these improved settings the blade-to-blade mesh needs to be regenerated. Similar to resetting the default topology all rows are unselected first, after which the desired row is selected. The generation of the blade-to-blade mesh is done using the a5_generate_b2b() command.
Example


# switch on and control the optimization
row(2).set_row_optimization_steps(150)
# generate B2B
unselect_all()
row(2).select()
a5_generate_b2b()



 
43. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script. After the execution the B2B mesh will be updated. The difference between the default mesh and the improved mesh can be seen below. The left image shows the original default mesh (step 34) while on the right the mesh after applying the expert settings is shown.
 
Stator2 Mesh Settings: Expert Mode
Define Main Properties
44. The main properties of "stator2" are set in a similar way as for the rotor. The steps are explained in step 27 to step 35. "Stator2" will have a periodicity of 36 and a rotation speed of zero (since it is a stator). A hub gap is added with a width of 0.4 mm. A medium grid level is chosen as well as matching periodicity. 
45. After imposing these settings a reset of the default topology is done as explained in step 34.
Example


# set periodicity and rotation speed
row(3).set_periodicity(36)
row(3).set_rotation_speed(0)
# define hub gap
row(3).blade(1).hub_gap().set_width_at_leading_edge(0.0004)
row(3).blade(1).hub_gap().set_width_at_trailing_edge(0.0004)
# set grid level
row(3).set_coarse_grid_level(2)
# cell width at wall
row(3).set_clustering(7.8e-6)
# set topology to matching periodicity
row(3).blade(1).set_b2b_default_topology_periodicity_type(1)
# initialize topology & grid points distribution of row 3
unselect_all()
row(3).select()
a5_initialize_topology()



 
46. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script. After the reset is applied the blade-to-blade mesh of "stator2" will be visible.
Add & Adapt Control Line
In order to improve the mesh on the final row a control line will be added. This new control line will be located close to the trailing edge of the blade so that the topology of "stator2" becomes more similar to the one of "stator1". 
47. To add a control line the function compute_default_z_cst_line(point, channel_curve_type) is used. The first input is a "point" declared as Point(Z, R, theta) with its three coordinates. The second input for the control line is the curve type. In this tutorial the control line is created at the point (Z=0.18, R=0.245, theta=0) and the type in not imposed.
48. The new control line is saved into a variable to adapt it afterwards. In this case it is called "Z_cst_line" but any variable name could have been used. The set_linear_shape() function can now be used to define control line shape.
49. The option Fixed Geometry available in control line dialog box can be imposed using the command geometry_is_not_fixed().
50. To apply the presence of this new control line the topology of "stator2" should be reset. This is done as explained in step 34.
Example


# add a control line
Z_cst_line = compute_default_z_cst_line(Point(0.18,0.245,0),0)
Z_cst_line.set_linear_shape()
Z_cst_line.geometry_is_not_fixed()
 
# initialize topology & grid points distribution of row 3
unselect_all()
row(3).select()
a5_initialize_topology()



 
51. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script. After the execution the new control line and the new blade-to-blade mesh will be visible.
 
Generate & Save Mesh
52. To generate the final 3D mesh, all rows are selected first by using the select_all() command. The actual generation is then performed by executing a5_start_3d_generation(). 
53. Finally the project is saved with the a5_save_project(template_file) command to the location specified at the beginning of the script (step 4). A quality report will be saved in the "_mesh" folder as well.
Example


# select all rows and compute 3D mesh
select_all()
a5_start_3d_generation()
# save the project
a5_save_project(template_file)



 
54. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to generate and save the 3D mesh. When the mesh is saved a quality report will be displayed in the AutoGrid5™  GUI and the script will have finished.

TUTORIAL 3. Non-Axisymmetric Hub/Shroud

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry & Define Main Properties

Initialize Topology & Grid Points Distribution

Meridional Control

Blade-to-Blade Control

3D Mesh Generation

3D Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a turbomachine presenting a non-axisymmetric hub and/or shroud. It makes exclusive use of AutoGrid5™ and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
control meridional flow paths when hub/shroud non-axisymmetric;
control blade-to-blade mesh;
control the mesh projection on the hub/shroud non-axisymmetric;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for beginners to perform the basic tutorials 1 to 6 and advanced tutorial 9.
Problem Description
The problem to be considered is shown schematically below. The project consists of the mesh generation of a Aachen turbine stator (treated as an isolated axial-flow wheel) representing a non-axisymmetric hub.


Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can directly access the AutoGrid5™  graphical user interface with the following command line:

igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print

For WINDOWS systems, you can access the IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



 
You are now ready to start the grid generation process and mesh the configuration representing a non-axisymmetric hub and/or shroud!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims to guide you through the various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.



2. Close the Open Turbo Project Wizard dialog box.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Start a New Project From Scratch. 
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.


Load Geometry & Define Main Properties
6. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row.
7. Left-click in the meridional view.
8. Go to Geometry Definition -> Import and Link CAD.
A graphic window opens, allowing CAD geometry importation.
9. Left-click File -> Open....
10. Select "geometry.dat" file from the file chooser. Where to Find the Files Used in the Tutorials?
11. Define the hub curve:

Left-click the hub as it turns to yellow.
Right-click and select Link to Hub.

The hub curve is now displayed in the meridional view.


12. Define the shroud curve:

Left-click the shroud as it turns to yellow.
Right-click and select Link to Shroud.

The shroud curve is now displayed in the meridional view.


In addition to the axisymmetric hub and shroud curves defining the meridional domain, 3D surfaces defining the non-axisymmetric end walls must be defined. These can be specified directly in the ".geomTurbo" file (more details in the User Guide) or imported through the Import CAD window.
13. Link the non-axisymmetric surface defining the hub:

Left-click the surface defining the hub when highlighted in blue, it turns to yellow.
Right-click and select Link Non Axi to Hub.



The 3D surfaces defining the non-axisymmetric end walls must have the same periodicity as the row.
14. Define the blade:Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.Left-click the first surface defining the blade when highlighted in blue (it turns to red or yellow).Middle-click to select the second surface defining the blade.<Shift> + left-click the second surface defining the blade when highlighted in blue (it turns to red or yellow).


The View/View Solid menu acts as a toggle and can be to visualize the surfaces that are active.

Right-click and select Link to Blade.

The blade is now displayed in the meridional view.


15. Define leading edge and trailing edge:Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.



Left-click the line defining the blade leading edge line, inside the Import CAD window.
As it turns yellow, right-click and select Link to Leading Edge.
Left-click the line defining the blade trailing edge line, inside the Import CADwindow.
As it turns yellow, right-click and select Link to Trailing Edge.


The leading and trailing edge are displayed in the meridional view.
When the blade intersects the hub and shroud, an inlet and outlet are displayed in the meridional view.

16. Go to File -> Exit.
17. Left-click Row Definition -> row 1 to activate row 1.
18. Right-click row 1 to get the contextual menu and select Properties.
19. Enter the Periodicity (number of blades). Left-click inside the string input area and type <36>, press <Enter> to confirm.
20. Enter <0> in Rotation Speed (rpm).

This speed will be transferred to the FINE™ graphical user interface and will ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.



21. The non-axisymmetric end walls generation is controlled in the Row Properties dialog box:



Keep Non-Axisymmetric Hub active.

The Non-Axisymmetric Hub & Shroud options are used to enable or disable the mesh adaptation on the specified non-axisymmetric surfaces.

Keep Repair Non-projected Points active by default.

The Repair Non-projected Points allows to correct non-well projected points (i.e. when the mesh points on boundaries are close to hub or shroud surface limits).

Set the Geometry Repetition to <2> and press <Enter>.


The non-axisymmetric 3D surfaces must cover the entire hub or shroud blade-to-blade domain of the axisymmetric mesh. If the specified surfaces does not cover the entire domain as shown in the next figure, the Geometry Repetition option enables the user to repeat the entered surfaces by rotation on both sides.


The Display Non-Axisymmetric Hub & Shroud option is used to display the non-axisymmetric surfaces in the 3D view.

22. Close the dialog box.
At the end of the 3D blade row generation, the mesh adaptation on the non-axisymmetric surfaces is performed automatically. The axisymmetric mesh is adapted using hub to shroud grid points redistribution along the curve obtained by intersecting the surfaces with the hub to shroud grid lines. It is thus recommended to generate an axisymmetric mesh covering the non-axisymmetric surfaces completely.
23. Left-click in the meridional view.
24. Go to Geometry Definition -> Import and Link CAD.
25. Left-click the surface defining the hub when highlighted in blue, it turns to yellow.
26. Select Geometry/Modify Surface/Add uv Curves.
27. Left-click the surface in order to add new curves defining the non-axisymmetry on the hub.
28. Left-click the new curve until it turns yellow.
29. Right-click and select Import Meridional.



The limit of the non-axisymmetric hub appears in the meridional view.



30. Move the hub curve to create a channel including the non-axisymmetric effect:Left-click the meridional view.Go to Geometry Definition -> Edit Hub to visualize the vertices defining the hub.Left-click the vertex at inlet and define its new position in the keyboard input area in ZRTH coordinates, where Z is the Zinlet and R is lower than the Rmin of the non-axisymmetric effect: type <-0.03 0.242 0> and press <Enter>.Left-click the vertex at outlet and define its new position in the keyboard input area in ZRTH coordinates, where Z is the Zoutlet and R is lower than the Rmin of the non-axisymmetric effect: type <0.054737609091 0.242 0> and press <Enter>.



Right-click to regenerate the channel.




The hub appears as a dashed green line because it is no longer mapped onto a curve.
The blade is no longer intersecting the new hub. The blade needs to be extended.

31. Left-click Row Definition -> row 1 -> Blades -> Main Blade.
32. Right-click Main Blade to get the contextual menu and select Geometry/Expand.
33. Select Hub treatment/expand:Set Cut offset to <0.001> and press <Enter>.Set Extension offset to <0.001> and press <Enter>.



Click Apply to extend the blade.



The Tools/Distance tool is used to measure the distance between two points in the active view.

Close the dialog box.

Initialize Topology & Grid Points Distribution
34. Left-click Row Definition -> row 1 to activate the row, if not done already.
35. Set Grid Level/Medium under Mesh Control in Quick Access Pad.
36. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=30 m/s, Lref=0.3m and ν=1.038e-5 m²/s Assuming one wishes to get y+ =1 at the wall, it turns out that y = 1 x 10-5 m. Input the value of the Cell Width = <1e-5> and press <Enter> in Mesh Control -> Row Mesh Control.


37. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This button will set the mesh topology to the default 04H topology.



The flow paths are now covering the non-axisymmetric hub.




The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.




Meridional Control
38. Go to QAP/Mesh Control/Row Mesh Control.
39. Click on Flow Paths Control.
40.  Modify the Number of Flow Paths to be <33> and press
 <Enter>.


The Expert section allows the user to control the visualization, the shape and the parameters related to flow path smoothing. The meaning of these parameters is detailed in the User Guide. The Manual Edit mode allows the user to directly control the block faces which are used to construct flow paths. Edges can be moved, segments can be created or modified and the grid points distribution on the segments can be controlled. More details can be found in the User Guide.
41. Keep all data identical.
42. Click Generate.
43. Close the dialog box.
Blade-to-Blade Control
44. Click Generate B2B ().
45. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology control field.



By default, non-matching connections are applied at periodic boundaries. Matching connections at periodic boundaries can be obtained by activating the Matching Periodicity check button. Press Initialize Topology & Grid Points Distribution button to regenerate the mesh in the blade-to-blade plane.
In most cases, the presence of non-matching connections improves the orthogonality in the overall mesh. This is especially true in highly staggered configurations.

46. Keep Matching Periodicity deactivated and all other data identical.
In several turbomachinery types, the blades are highly staggered (Automatic High Staggered Blade Detection within AutoGrid5™). If the solid angle at the inlet (outlet) of the machine becomes greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading edge (trailing edge) of the blades, the default topology is not suitable anymore since the cells located near the inlet (outlet) boundary become very skewed. To improve this unexpected behavior, AutoGrid5™  uses the High Staggered Blade Optimization.
47. Close the Topology control field.
48. Open the  Grid Points control field to control the number of grid points in the blade-to-blade view.
49. Left-click the number of nodes, make the proper modifications in the entry box and press <Enter> to confirm the modification.


The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.
50. Visualize the result in the blade-to-blade view after selecting Generate B2B to regenerate the flow paths and the mesh in the blade-to-blade plane.
51. Close the dialog box.
52. If necessary, go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh optimization parameters to enhance the quality of the mesh.


Optimization is performed in the form of smoothing and is executed on each layer using multi-block elliptic techniques. The number of Optimization Steps represents the number of iterations performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
53. Keep the default number of Optimization Steps and all other data identical.
54. Close the dialog box.
55. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the blade-to-blade mesh will be plotted in the blade-to-blade view.


By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%).
56. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
57. Click Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using the Type pull-down menu and plotted in the blade-to-blade view on the selected active layer in Mesh Control/Active B2B Layer.
58. Check for grid quality by clicking .
59. Select quality criteria using the Type pull-down menu.
60. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
61. Left-click part of the histogram to plot the concerned cells in blade-to-blade view.
62. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.


63. Close the dialog box.
3D Mesh Generation
64. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
65. Click the Generate 3D icon and confirm the generation (Start).


At the end of the 3D blade row generation, the mesh adaptation on the non-axisymmetric hub is performed automatically. The axisymmetric mesh is adapted using a hub to shroud grid points redistribution along the curve obtained by intersecting the surfaces with the hub to shroud grid lines.


Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and for each separate entity (row, technological effect, bulb). Data related to the grid quality is automatically stored in a report file, once the project file is saved.
66. Close the dialog box. The page can be reopened by clicking .
3D Mesh Visualization
67. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
68. Right-click row 1 and select Properties to activate Default in order to plot the full turbomachine. After this, Close the dialog box.


69. Right-click row 1 and go to View/Toggle 3D View to access the shaded blades in 3D view.
70. Left-click in the 3D view; the Quick Access Pad (QAP) is now modified.
71. Right-click to get the contextual menu and activate Full View.
72. Use the View menu in the QAP or the View/Patch Viewer... menu to toggle edge or mesh.
 


Check Boundary Conditions & Mesh Quality


73. Check for boundary conditions by clicking .
74. Select UND from the Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.


It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.
75. Close the dialog box.
76. Check for negative cells by clicking .


77. Click Apply.
78. Click ok and Close the dialog box.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

79. Check the grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
80. Select quality criteria using the Type pull-down menu.
81. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).
82. Left-click part of the histogram to plot the corresponding cells in the 3D view.


83. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.


84. Close the dialog box.
Save Project
85. Go to File -> Save Project As <tutorial3> and press <Enter> to save the mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh within AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 7. Snubber Configuration

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation - Snubber On Fan

Create Mesh Project

Load Geometry & Define Main Properties

Initialize Topology & Grid Points Distribution

Meridional Control

Blade-to-Blade Control

3D Mesh Generation

3D Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project

Mesh Generation - Axisymmetric Snubber On Axial Compressor

Axisymmetric Snubber - Create Mesh Project

Axisymmetric Snubber - Load Geometry

Axisymmetric Snubber - Mesh Wizard

Axisymmetric Snubber - 3D Mesh Generation

Axisymmetric Snubber - 3D Mesh Visualization

Axisymmetric Snubber - Check Boundary Conditions & Mesh Quality

Axisymmetric Snubber - Save Project

Mesh Generation - 3D Snubber On Axial Compressor

3D Snubber - Create Mesh Project

3D Snubber Without Fillet - Load Snubber Geometry

3D Snubber Without Fillet - Mesh Wizard

3D Snubber Without Fillet - 3D Mesh Generation & Visualization

3D Snubber Without Fillet - Check Boundary Conditions & Mesh Quality

3D Snubber Without Fillet - Save Project

3D Snubber With Fillet - Load Snubber Fillet Geometry

3D Snubber  With Fillet - 3D Mesh Generation & Visualization

3D Snubber With Fillet - Check Boundary Conditions & Mesh Quality

3D Snubber With Fillet - Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a turbomachine including a snubber. It makes exclusive use of AutoGrid5™ and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

define geometry into AutoGrid5™;
control snubber settings,
control meridional flow paths;
control the blade-to-blade mesh;
control the quality of the mesh in the meridional, blade-to-blade and 3D views.

Prerequisites
This tutorial does not require any particular prerequisite but it is strongly recommended for beginners to perform the beginner tutorials 1 to 6 and the advanced tutorial 12.
Problem Description
The problem to be considered is shown schematically below (meridional view). The project consists of the mesh generation of a bypass configuration and an axial compressor (NASA rotor 37) including a snubber.


Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can directly access the AutoGrid5™  graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 


You are now ready to start the grid generation process and mesh the bypass configuration with a fin on fan!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation - Snubber On Fan
A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality. In this project, the snubber is axisymmetric defined by a set of curves.
Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.



2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to menu File -> New Project.
4. Click yes to close the active project.
5. Activate With By Pass.
6. Choose Start a New Project From Scratch.


Load Geometry & Define Main Properties
7. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row.
8. Right-click and select Add Snubber to add a snubber to the configuration.


9. Left-click in the meridional view. Go to Geometry Definition -> Import and Link CAD.
Graphic window opens, allowing geometry import.
10. Left-click File -> Open....
11. Select "fan-bypass.dat" file from the file chooser. Where to Find the Files Used in the Tutorials?
12. Define the geometry orientation if necessary:Select Geometry Axis... in the Edit menu.Keep default Origin , Stream, and Span Direction.Click Apply.Close the dialog box.


13. Define the hub curve:

Left-click the hub as it turns to yellow.
Right-click and select Link to Hub.

The hub curve is now displayed in the meridional view.



14. Define the shroud curve:

Left-click the shroud as it turns to yellow.
Right-click and select Link to Shroud.

The shroud curve is now displayed in the meridional view.



15. Define the nozzle curve:Left-click the curve defining the nozzle as it turns to yellow.Right-click and select Link to Nozzle.
The nozzle curve is now displayed in the meridional view.


16. Define the blade:

Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
Left-click on first surface defining the blade when highlighted in blue (it turns to red or yellow).
Click-middle to select the second surface defining the blade.
<Shift> + left-click the second surface defining the blade when highlighted in blue (it turns to red or yellow).




The View/View Solid menu acts as a toggle and allows the user to visualize the surfaces that are active.




Right-click and select Link to Blade.

The blade is now displayed in the meridional view.


17. Define leading edge and trailing edge:Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.Left-click the blade leading edge line, inside the Import CAD window.As it turns yellow, right-click and select Link to Leading Edge.Left-click the blade trailing edge line, inside the Import CAD window.As it turns yellow, click-right and select Link to Trailing Edge.
The leading and trailing edges are now displayed in the meridional view.


18. Define the snubber on the fan:
The snubber will be defined by two curves corresponding to respectively the up and down parts of the axisymmetric snubber. Curves used to define the snubber should be defined from inlet to outlet and not as B-splines.

Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the snubber, if not done already.
Left-click the upper side curve of the snubber, inside the Import CAD window.
As it turns yellow, right-click and select Link to Snubber... -> Meridional Curve Up.
Left-click the lower side curve of the snubber, inside the Import CAD window.
As it turns yellow, right-click and select Link to Snubber... -> Meridional Curve Down.



19. Go to File -> Exit.

The geometry of the snubber can also be defined from a native ".geomTurbo" file. The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions. The header when defining a bypass configuration should contain the keywords "byPass yes".


The channel format contains the definition of the turbomachinery meridional contour (hub and shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of the snubber and the complete row. The snubber is defined by two curves: upper_curve and lower_curve defining the axisymmetric surfaces that will be used to define the snubber. The blade is defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.



20. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
21. Right-click row 1 and select Properties in the pop-up menu.
 


22. Enter the Periodicity (number of blades) to <40> and press <Enter>.
23. Keep <500> in Rotation Speed (rpm).

The speed will be transferred to FINE™  graphical user interface and ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ direction, and negative otherwise.

24. Activate Default in order to plot the full turbomachine in 3D view when selecting View/Toggle 3D Solid View.
25. Close the dialog box.
26. Left-click Row Definition -> row 1.
27. Right-click and select Gap/Fillet -> Define Shroud Gap in the pop-up menu.
28. Set Width At Leading Edge = <0.012> [Meters] and press <Enter>.
29. Set Width At Trailing Edge = <0.012> [Meters] and press <Enter>.



          30. Close the dialog box.
The width at leading/trailing edge is used to specify the size of the gap at the leading and trailing edge of the blade respectively. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.
31. Left-click Select All Rows.
32. Select Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.


33. Select Toggle 3D Solid View in the View menu to remove the shaded blades in 3D view.
Initialize Topology & Grid Points Distribution
34. Left-click Select All Rows.
35. Select Grid Level/Medium through Mesh Control in Quick Access Pad.
36. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and the width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows: 



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


Input the value of the Cell Width = <1e-5> [Meters] and press <Enter> in Row Mesh Control.


37. Left-click Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control. Open the Topology control field and activate Matching Periodicity. Close the dialog box.




38. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (Yes). This button will set the mesh topology to the default skin-like topology.


Meridional Control
39. Control bypass - nozzle - snubber flow paths distribution:

Left-click  in the toolbar on the top to access the bypass and nozzle controls.
Left-click on the number of flow paths down the nozzle (Nozzle Index), decrease it to <57> and press <Enter> to add more flow paths above the nozzle in the snubber area. 
Left-click on the number of flow paths on the nozzle, decrease it to <17> and press <Enter> to add more flow paths above the nozzle in the snubber area. 
Close the dialog box.



More information about the control of the nozzle and bypass points distribution is provided in advanced tutorial 4.

Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the snubber.
Right-click and select Properties in the pop-up menu.
Decrease the Spanwise Index to <89> and <Enter> to have more flow paths between the snubber and the shroud gap.
Close the dialog box.




If necessary, left-click in the meridional view to activate it (red border).
Left-click on the control line defining the nozzle topology when highlighted in yellow.
Left-click on the control point defining the control line.
Move the control point to the desired location.
Left-click to validate its new location.



The exact coordinates of the control points can also be introduced by right-clicking the control point. A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.

Left-click Select All Rows.
Left-click Generate Flow Paths.



40. Check the quality of the flow paths:

Left-click in the meridional view to activate it (red border).
Left-click .
Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in the meridional view.
Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.
Close the dialog box.   



Blade-to-Blade Control
41. Click Generate B2B ().
42. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology control field.


Matching connections are applied at periodic boundaries to allow the mesh generation of the snubber. You can see the periodic boundary by showing the repetitions.
43. Left-click in the blade-to-blade window to activate that view (red border).
44. Go to View -> Repetition... .
45. Increase Nb Repet to <1> and click Show.


46. Close the dialog box.
47. Keep Matching Periodicity activated and all other data identical.
When the row is including a snubber, the topology cannot be high staggered and should be imposed as Normal after deactivating the option Automatic High Staggered Blade Detection. For this specific case when keeping the option active, the Inlet/Outlet Type is set as Normal.
48. Close the Topology control field.
49. Open the Grid Points control field to control the number of grid
 points in the blade-to-blade view.

Left-click the number of nodes, make the proper modification in the entry box and press <Enter> to confirm the modification. The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.
Visualize the result in the blade-to-blade view after selecting Generate B2B to regenerate the flow paths and the mesh in blade-to-blade plane.

When the row is including a snubber, the same number of grid points should be imposed on its pressure and suction sides. 
50. Increase the number of grid points in streamwise direction upstream the blade to <33> <Enter> and on the blade to <57> <Enter>.


51. Close the dialog box.
52. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh optimization parameters if necessary to enhance the quality of the mesh.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block elliptic techniques. The number of Optimization Steps represents the number of iterations performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
When the row is including a snubber, it is recommended to set both fine grid and full multigrid optimization steps to 300.
53. Set Optimization Steps on Fine Grid and Full Multigrid Optimization Steps to <300> <Enter>.


54. Close the dialog box.
55. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the blade-to-blade mesh will be plotted in the blade-to-blade view.


By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%) and is applied on active row(s).
56. Left-click Select All Rows.
57. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
58. Select Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using the Type pull-down menu and plotted in the blade-to-blade view on the active layer selected in Mesh Control/Active B2B Layer.
59. Check the grid quality by clicking .
60. Select quality criteria using the Type pull-down menu.
61. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
62. Left-click part of the histogram to plot the concerned cells in the blade-to-blade view.
63. Left-click the More info button to obtain information regarding the minimum and maximum values of the selected criteria.
64. Close the dialog box.
3D Mesh Generation
65. Left-click Select All Rows.
66. Click the Generate 3D icon and confirm the generation (Start).


Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh as well as for each separate entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.


67. Close the dialog box. The page can be reopened by clicking .
3D Mesh Visualization
68. Left-click Select All Rows.
69. Select View -> Toggle 3D Solid View to access the shaded blades in 3D view.
70. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
71. Right-click to get the contextual menu and activate Full View.
72. Use the View menu in QAP or View -> Patch Viewer... menu to toggle edge or mesh.


Check Boundary Conditions & Mesh Quality


73. Check the boundary conditions by clicking .
74. Select UND under the Type pull-down menu and check that there are no patches in the patch list that are still set to an undefined type.


It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.
75. Close the dialog box.
76. Check for negative cells by clicking .


77. Click on Apply.
78. Click ok and Close.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pushing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

79. Check the grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can be performed only once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
80. Select quality criteria using the Type pull-down menu.
81. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).
82. Left-click part of the histogram to plot the concerned cells in the 3D view.
83. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.
84. In step 66, the generated mesh is presenting a maximum expansion ratio and a maximum aspect ratio too high, apply step 80 to step 83 to detect in the 3D mesh where the quality should be improved:

the too high maximum expansion ratio is mainly in the skin block around the snubber. To improve the quality, the number of points in the snubber skin block is increased to <29> <Enter> and in the streamwise direction adapted to i=<13> <Enter> and i=<45> <Enter>.



When the concerned cells are highlighted in the 3D view, the View/Sweep Surfaces... menu allows to display grid on internal faces at constant I, J or K.

the too high maximum aspect ratio is in the downstream blocks after the nozzle. To improve the quality, the number of points in the streamwise direction is increased to <53> <Enter> in the downstream block up and <45> <Enter> in the downstream block down.



84. Close the dialog box.
85. Left-click Select All Rows.
86. Click the Generate 3D icon and confirm the generation (Start).




87. Close the dialog box. The page can be reopened by clicking .
Save Project
88. Go to File -> Save Project As <tutorial7-fan> and press <Enter> to save the mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Manual.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Manual.

Mesh Generation - Axisymmetric Snubber On Axial Compressor
A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality. In this project, three different snubber configuration will be considered:

an axisymmetric snubber defined by a set of curves,
a 3D snubber without fillet defined by a set of surfaces and curves,
a 3D snubber with fillet defined by a set of surfaces and curves. 

The first configuration is presented in this section. The second and third configurations are presented in Mesh Generation - 3D Snubber On Axial Compressor.
Axisymmetric Snubber - Create Mesh Project
89. Select Expert Mode if necessary in the toolbar.



90. Go to menu File -> New Project.
91. Click yes to close the active project.
92. Choose Initialize a New Project from a geomTurbo File. Select "axial-compressor.geomTurbo" file from the file chooser. Where to Find the Files Used in the Tutorials?


Axisymmetric Snubber - Load Geometry
93. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row.
94. Right-click and select Add Snubber to add a snubber to the configuration.


95. Left-click in the meridional view. Go to Geometry Definition -> Import and Link CAD.
Graphic window opens, allowing geometry import.
96. Left-click File -> Open....
97. Select "snubber-axi.dat" file from the file chooser. Where to Find the Files Used in the Tutorials?


98. Define the snubber on the axial compressor:
The snubber will be defined by two curves corresponding to respectively the up and down parts of the axisymmetric snubber. Curves used to define the snubber should be defined from inlet to outlet and not as B-splines.

Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the snubber, if not done already.
Left-click the upper side curve of the snubber, inside the Import CAD window.
As it turns yellow, right-click and select Link to Snubber... -> Meridional Curve Up.
Left-click the lower side curve of the snubber, inside the Import CAD window.
As it turns yellow, right-click and select Link to Snubber... -> Meridional Curve Down.



99. Go to File -> Exit.

The geometry of the snubber can also be defined from a native ".geomTurbo" file. The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions. 
The channel format contains the definition of the turbomachinery meridional contour (hub and shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of the snubber and the complete row. The snubber is defined by two curves: upper_curve and lower_curve defining the axisymmetric surfaces that will be used to define the snubber. The blade is defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.



Axisymmetric Snubber - Mesh Wizard
100. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
101. Left-click Row Wizard under Mesh Control subpad in the Quick Access Pad (QAP).


102. Click Yes to start the wizard and to reset the mesh generation parameters.
103. Click Yes to confirm the geometry check (step 1).
104. Click Next in the dialog box to define the machine characteristics (step 2).
105. Select Axial Compressor as Row type in the Blade row type dialog box.
106. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <36>, press <Enter> to confirm.
107. Select Rotor.
108. Enter <-17188> in Rotation Speed (rpm).
109. Click Next in the dialog box to start the gap and fillet definition (step 3).
110. Activate Tip Gap in the Gap and Blending Control dialog box.
111. Define Width at leading edge = <0.000356> [Meters] <Enter>.
112. Define Width at trailing edge = <0.000356> [Meters] <Enter>.
113. Click Next>> in the dialog box to start the flow path definition (step 4).
114. Keep Spanwise Grid Point Number set to <73> (corresponding to the flow paths number) in the Layer Control dialog box.
115. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=175 m/s; Lref=0.2523m; ν=1.466e-5 m²/s. Assuming one wishes to get y+=1 at the wall, it turn out that y = 3 x 10-6 m. Input the value of the Wall Cell Width = <3e-6> [Meters] <Enter> in the Layer Control dialog box.
116. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
117. Set the Number of Points (of the 3D mesh) around 1,000,000 (Level: -3) by clicking the << or >> buttons in the B2B Control dialog box .
118. Click Finish to end the initialization process (step 6).
119. Click No to not start the 3D mesh generation in order to verify the imposed settings before generating the mesh.
120. Go to Mesh Control -> Row Mesh Control -> B2B Mesh topology Control to control the imposed settings under the Topology and Grid Points control fields to allow the snubber generation:

the option Matching Periodicity is active,
the topology is imposed to Normal for Inlet/Outlet Types,
in Grid Points, the grid points on pressure and suction sides are similar: reduce number of points to <65> <Enter> on both blade sides.



121. Close the dialog box.
122. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh optimization parameters if necessary to enhance the quality of the mesh. 
When the row is including a snubber, it is recommended to set both fine grid and full multigrid optimization steps to 300.
123. Set Optimization Steps on Fine Grid and Full Multigrid Optimization Steps to <300> <Enter>.


124. Close the dialog box.
125. Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the snubber.
126. Right-click and select Properties in the pop-up menu. Adapt settings as illustrated on figure below.


127. Close the dialog box.
Axisymmetric Snubber - 3D Mesh Generation
128. Left-click Select All Rows.
129. Click the Generate 3D icon and confirm the generation (Start).


Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh or for every each separate entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.


130. Close the dialog box. The page can be reopened by clicking .
Axisymmetric Snubber - 3D Mesh Visualization
131. Repeat step 68 to step 72 to visualize the mesh.


Axisymmetric Snubber - Check Boundary Conditions & Mesh Quality
132. Repeat step 73 to step 83 to check boundary conditions and mesh quality:

to improve the expansion ratio upstream the blade, a control line is added to adapt only the flow paths distribution without affecting the blade-to-blade mesh.



133. Repeat step 128 to step 130 to regenerate the 3D mesh.
Axisymmetric Snubber - Save Project
134. Go to File -> Save Project As <tutorial7-axi-snubber> and press <Enter> to save the mesh and template files.
Mesh Generation - 3D Snubber On Axial Compressor
3D Snubber - Create Mesh Project
135. Select Expert Mode if necessary in the toolbar.



136. Go to menu File -> New Project.
137. Click yes to close the active project.
138. Choose Initialize a New Project from a geomTurbo File. Select "axial-compressor.geomTurbo" file from the file chooser. Where to Find the Files Used in the Tutorials?


3D Snubber Without Fillet - Load Snubber Geometry
139. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row.
140. Right-click and select Add Snubber to add a snubber to the configuration.


141. Left-click in the meridional view. Go to Geometry Definition -> Import and Link CAD.
142. Left-click File -> Open....
143. Select "snubber-3D.dat" file from the file chooser. Where to Find the Files Used in the Tutorials?


144. Define the snubber on one side of the axial compressor:
The snubber will be defined by a set of surfaces and curves on one side of the blade using the links Surfaces & Leading/Trailing Edge on Blade Pressure Side. 
When the snubber is defined by a set of curves and surfaces on both sides of the blade, part of the snubber is defined on blade pressure side with the links Surfaces & Leading/Trailing Edge on Blade Pressure Side and the second part is defined on blade suction side with the links Surfaces & Leading/Trailing Edge on Blade Suction Side.
        

Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the snubber, if not done already.
Left-click on first surface defining the snubber when highlighted in blue (it turns to red or yellow).
Click-middle to select the second surface defining the snubber.
<Shift> + left-click the second surface defining the snubber when highlighted in blue (it turns to red or yellow).
Right-click and select Link to Snubber... -> Surfaces on Blade Pressure Side.
Left-click the leading edge of the snubber, inside the Import CAD window.
As it turns yellow, right-click and select Link to Snubber... -> Leading Edge on Blade Pressure Side.
Left-click the trailing edge of the snubber, inside the Import CAD window.
As it turns yellow, right-click and select Link to Snubber... -> Trailing Edge on Blade Pressure Side.



145. Go to File -> Exit.

The geometry of the snubber can also be defined from a native ".geomTurbo" file. The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions. 
The channel format contains the definition of the turbomachinery meridional contour (hub and shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of the snubber and the complete row. The snubber is defined by surfaces and curves for leading and trailing edges. The blade is defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.



3D Snubber Without Fillet - Mesh Wizard
146. Repeat step 100 to step 119 to impose the mesh settings:


Axial Compressor as Row type, Periodicity=<36>, Rotor, Rotation speed (rpm)=<-17188>.
Select Tip Gap, Width At Leading Edge = Width At Trailing Edge = <0.000356> [Meters].
Spanwise Grid Point Number= <73>, Wall Cell Width = <3e-6> [Meters].
Set Number of points around 1,000,000 (Level: -2).


147. Go to Mesh Control -> Row Mesh Control -> Flow Paths Control , to increase the Number of Flow Paths to <81> <Enter> to have more flow paths between the snubber and the shroud gap.


148. Close the dialog box.
149. Go to Mesh Control -> Row Mesh Control -> Add Z Constant Line to add a control line to adapt only the flow paths distribution without affecting the blade-to-blade mesh. Right-click on the z constant line, and choose Properties. Select None in B2B control.


150. Close the dialog box.
151. Go to Mesh Control -> Row Mesh Control -> B2B Mesh topology Control to control the imposed settings under the Topology and Grid Points control fields to allow the snubber generation:

the option Matching Periodicity is active,
the topology is imposed to Normal for Inlet/Outlet Types,
the grid points on pressure and suction sides are similar.

152. Close the dialog box.
153. Go to Mesh Control -> Row Mesh Control -> Optimization Control to set Optimization Steps on Fine Grid and Full Multigrid Optimization Steps to <300> <Enter>.
154. Close the dialog box.
155. Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the snubber.
156. Right-click and select Properties in the pop-up menu. Increase the number of points in the snubber skin block to <21> <Enter>.


157. Close the dialog box.
3D Snubber Without Fillet - 3D Mesh Generation & Visualization
158. Left-click Select All Rows.
159. Click the Generate 3D icon and confirm the generation (Start).




160. Close the dialog box. The page can be reopened by clicking .
161. Repeat step 68 to step 72 to visualize the mesh.


3D Snubber Without Fillet - Check Boundary Conditions & Mesh Quality
162. Repeat step 73 to step 83 to check boundary conditions and mesh quality.
3D Snubber Without Fillet - Save Project
163. Go to File -> Save Project As <tutorial7-3d-snubber> and press <Enter> to save the mesh and template files.
3D Snubber With Fillet - Load Snubber Fillet Geometry
164. Left-click in the meridional view. Go to Geometry Definition -> Import and Link CAD.
165. If needed, left-click File -> Close to clean the window. Left-click File -> Open....
166. Select "snubber-3D-fillet.dat" file from the file chooser. Where to Find the Files Used in the Tutorials?


167. Add fillet to the snubber on both sides of the axial compressor:

Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the snubber, if not done already.
Left-click on first surface defining the snubber fillet on pressure side when highlighted in blue (it turns to red or yellow).
Click-middle to select the second surface defining the snubber fillet on pressure side.
<Shift> + left-click the second surface defining the snubber fillet on pressure side when highlighted in blue (it turns to red or yellow).
Right-click and select Link to Snubber... -> Fillet on Blade Pressure Side.
Left-click on first surface defining the snubber fillet on suction side when highlighted in blue (it turns to red or yellow).
Click-middle to select the second surface defining the snubber fillet on suction side.
<Shift> + left-click the second surface defining the snubber fillet on suction side when highlighted in blue (it turns to red or yellow).
Right-click and select Link to Snubber... -> Fillet on Blade Suction Side



168. Go to File -> Exit.

The geometry of the snubber can also be defined from a native ".geomTurbo" file. The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions. 
The channel format contains the definition of the turbomachinery meridional contour (hub and shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of the snubber and the complete row. The snubber is defined by surfaces (for straight snubber and fillet) and curves for leading and trailing edges. The blade is defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.



169. Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the snubber.
170. Right-click and select Properties in the pop-up menu. For the butterfly topology in the snubber fillet, the radial number of points (Fillet Butterfly Radial Number of Points) in the butterfly mesh is kept to zero. In that case, AutoGrid5™  automatically adapts the radial number of points in the butterfly mesh.


When the Fillet Butterfly Radial Number of Points is imposed by the user, the streamwise number of points in the inner block of the butterfly topology will be the difference between the snubber skin block number of points and the Fillet Butterfly Radial Number of Points.
        
3D Snubber With Fillet - 3D Mesh Generation & Visualization
171. Left-click Select All Rows.
172. Click the Generate 3D icon and confirm the generation (Start).




173. Close the dialog box. The page can be reopened by clicking .
174. Repeat step 68 to step 72 to visualize the mesh.


3D Snubber With Fillet - Check Boundary Conditions & Mesh Quality
175. Repeat step 73 to step 83 to check boundary conditions and mesh quality:
3D Snubber With Fillet - Save Project
176. Go to File -> Save Project As <tutorial7-3d-snubber-with-fillet> and press <Enter> to save the mesh and template files.

TUTORIAL 5. Tandem Configuration

Introduction

Introduction

Prerequisites

Preparation

Mesh Generation

Tandem Configuration A: Single Row (Main Blade + Splitter)

Create Mesh Project

Load Geometry & Define Main Properties

Initialize Topology & Grid Points Distribution

Meridional Control

Blade-to-Blade Control

3D Mesh Generation

3D Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project

Tandem Configuration B: Multiple Rows

Create Mesh Project

Load Geometry & Define Main Properties

Initialize Topology & Grid Points Distribution

Meridional Control

Blade-to-Blade Control

3D Mesh Generation

3D Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similar to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of tandem row configurations. It makes exclusive use of AutoGrid5™ and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
define a tandem row;
control the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for beginners to perform the beginner tutorials 1 to 6 and the advanced tutorial 1.
Problem Description
The problem to be considered is shown schematically below (meridional view). The project consists of the mesh generation of a tandem row configuration. The row(s) are considered as tandem when it contains:

a main blade and a splitter without overlap in the streamwise direction,




two rows (main blade with or without splitter(s)) with the same periodicity and without overlap in the streamwise direction.



Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™ graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



 
You are now ready to start the grid generation process and mesh the tandem configuration!
The AutoGrid5™ graphical user interface includes several windows that allow you to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims to guide you through the various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Tandem Configuration A: Single Row (Main Blade + Splitter)
Tandem configuration A allows the user to mesh a single row configuration representing a main blade and only one splitter without overlap in the streamwise direction.


This configuration A is not suitable for cases where the tandem configuration contains more than one splitter or if the splitter blade leading edge is too close to the main blade trailing edge. For such configurations it is recommended to use configuration B, as presented in the Tandem Configuration B section.


Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.



2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click Yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.


Load Geometry & Define Main Properties
6. Locate and select "tandem-confA.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and click Open or OK. Where to Find the Files Used in the Tutorials?

The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub and shroud). It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".

The tandem configuration is defined by a single row containing a main blade and a splitter downstream of the main blade, without overlap in the streamwise direction.

The row definition contains the geometry of a complete row. The main blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.


The geometry can also be imported through a graphic window (Geometry  Definition -> Import and Link CAD) when defining a new project from scratch. When right-clicking in the graphic window, a pop-up menu will allow the user to define the hub and shroud, and to link surfaces and the trailing and leading edge curves to the selected blade in Row Definition (Main Blade or Splitter 1). When right-clicking on row 1 under Row Definition, a menu allows the user to add a blade (splitter) to the selected row.



7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
8. Right-click row 1 and select Properties in the pop-up menu.
9. Keep the Periodicity (number of blades) to <75> and press <Enter>.
10. Keep <500> in Rotation Speed (rpm).

The speed will be transferred to the FINE™  graphical user interface and  will ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.



12. Set Default in order to plot the full turbomachine in 3D view when activating View/Toggle 3D Solid View.
13. Close the dialog box.
14. Left-click Select All Rows.
15. Select Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.
16. Select Toggle 3D Solid View in the View menu to remove the shaded blades in 3D view.


Initialize Topology & Grid Points Distribution
17. Left-click Select All Rows.
18. Select Grid Level/Medium through Mesh Control in the Quick Access Pad.
19. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
                     Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


Input the value of the Cell Width = <1e-2> [Millimeters] and press <Enter> in Row Mesh Control.


20. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (Yes). This button will set the mesh topology to the default O4H topology.




The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.





Meridional Control
21. Go to QAP/Mesh Control/Row Mesh Control.
22. Click on Flow Paths Control.
23. Keep the Number of Flow Paths at <57> and press <Enter>.
24. Keep the other data identical.
25. Close the dialog box.
Blade-to-Blade Control
26. Left-click the main blade or splitter mesh in the blade-to-blade view.
27. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology control field.



By default, matching connections (Matching  Periodicity check button active) are applied at periodic boundaries and at the connection between the main blade and the splitter.



28. Keep Matching Periodicity activated and all other data identical for the main blade and splitter.
In several turbomachinery types, the blades are highly staggered (Automatic High Staggered Blade Detection within AutoGrid5™ ). If the solid angle at the inlet (outlet) of the machine becomes greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading edge (trailing edge) of the blades, the default topology is not suitable anymore since the cells located near the inlet (outlet) boundary become very skewed. To improve this unexpected behavior, AutoGrid5™  uses the High Staggered Blade Optimization.
29. Close the Topology control field.
30. Open the Grid Points control field to control the number of grid points in the blade-to-blade view if necessary.

In order to enable a matching connection with a tandem row, the following equalities should be respected for the number of streamwise points.










By default, these equalities in the grid point distribution are respected.

31. Select Main Blade from the row tree in the Quick Access Pad. Change the number of grid points on the main blade according to the figure below by left-clicking the number of nodes, making the proper modification in the entry box and pressing <Enter> to confirm the modification.

Change the number of points in the inlet block (N1) to <33><Enter>,
Change the number of points on the skin block (N2) to <53><Enter>,
 Change the number of points in the outlet block (N3) to <97><Enter>.



32. Select Splitter 1 from the row tree in the Quick Access Pad. The number of grid points on the splitter has been updated automatically based on the modification performed on the main blade. Now the streamwise grid points will be redistributed in order to respect the tandem row configuration while keeping a matching connection. Change the distribution of grid points on the splitter blade according to the figure below by left-clicking on the index between the blocks, making the proper modification in the entry box and pressing <Enter> to confirm the modification.

Change the index between the inlet block and the skin block to <85><Enter>,
Change the index between the skin block and the outlet block to <141><Enter>.




The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.
When tandem row is specified, to keep matching connections at periodic boundaries and at connection between main blade and splitter, the following equalities should be respected for the number of streamwise points:






With the modifications performed in this step, a matching connection is enabled (85 = 33 + 53 - 1 and 97 = 57 + 41 - 1).

33. Visualize the result in blade-to-blade view after clicking Generate B2B to regenerate the flow paths and the mesh in blade-to-blade plane.


34. Close the Grid Points control field. Close the dialog box.
35. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh optimization parameters if necessary to enhance the quality of the mesh.


Optimization is performed in the form of smoothing and is executed on each layer using multi-block elliptic techniques. The number of Optimization Steps represents the number of iterations performed with the elliptic smoother. By default, 100 iterations are applied on fine grid.
36. Keep Optimization Steps and all other data at the default values.
37. Close the dialog box.
38. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the blade-to-blade mesh will be plotted in the blade-to-blade view.


By default, the active layer is the hub of the machine (Active Layer (% span) set to 0). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%) and is applied on active row(s).
39. Left-click Select All Rows.
40. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
41. Select Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using the Type pull-down menu and plotted in the blade-to-blade view on the active layer selected in Mesh Control/ Active B2B Layer.
42. Left-click the blade-to-blade window to activate that view (red border).
43. Go to the View/Repetition... menu.
44. Increase Nb Repet to <1> and click Show.
45. Close the dialog box.
46. Check the grid quality by clicking .


47. Select quality criteria using the Type pull-down menu.
48. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
49. Left-click part of the histogram to plot the concerned cells in the blade-to-blade view.
50. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.
51. Close the dialog box.
3D Mesh Generation
52. Left-click Select All Rows.
53. Click the Generate 3D icon and confirm (Start) the generation.


Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cells skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh as well as separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.


54. Close the dialog box. This page can also be reopened by clicking .
3D Mesh Visualization
55. Left-click Select All Rows.
56. Select View/Toggle 3D Solid View to access the shaded blades in 3D view.
57. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
58. Right-click to get the contextual menu and activate Full View.
59. Use the View menu in the QAP or the View/Patch Viewer... menu to toggle edge or mesh.


Check Boundary Conditions & Mesh Quality


60. Check the boundary conditions by clicking .
61. Select UND from the Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.


It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance 
and launching the Search procedure.
62. Close the dialog box.
63. Check for negative cells by clicking .
64. Click Apply.


65. Click ok and Close the dialog box.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

66. Check the grid quality by clicking .

A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can only be performed once the 3D mesh has been generated. 

Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.



67. Select quality criteria using the Type pull-down menu.
68. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).
69. Left-click part of the histogram to plot the concerned cells in the 3D view.
70. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.


71. Close the dialog box.
Save Project
72. Go to File -> Save Project As <tutorial5-confA> and press <Enter> to save the mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduced the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Tandem Configuration B: Multiple Rows
Tandem configuration B can be used to mesh a tandem configuration containing more than one splitter or if the splitter leading edge is too close to the main blade trailing edge.


This configuration B is not suitable when the tandem configuration contains a row 2 far away in theta direction compared to row 1.
Create Mesh Project
73. Go to File -> New Project.
74. Click Yes to close the active project.
75. Choose Initialize a New Project from a geomTurbo File.


Load Geometry & Define Main Properties
76. Locate and select "tandem-confB.geomTurbo" (geometry defined in [Meter]) in the dialog box and click Open or OK.

The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub and shroud). It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".

The tandem configuration is defined by two rows with the same periodicity containing respectively a main blade and a main blade with two splitters.

The row definition contains the geometry of a complete row. The main blade and splitter(s) are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.


The geometry can also be imported through a graphic window (Geometry  Definition -> Import and Link CAD) when defining a new project from scratch. Simply right-click in the graphic window, a pop-up menu allows the user to define the hub, shroud and to link the surfaces, trailing and leading edge curves to the selected blade in the Row Definition (Main Blade or Splitters). Right-click row 2 in Row Definition to access a menu that allows the user to add a blade (splitter) in the selected row.

77. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
78. Right-click row 1 and select Properties in the pop-up menu.
79. Keep the Periodicity (number of blades) to <36> and press <Enter>.
80. Keep <500> in Rotation Speed (rpm).

The speed will be transferred to the FINE™  graphical user interface and ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

81. Set Tandem Row to With Next in order to set row 1 in tandem with the next row (row 2). The option is automatically set to With Previous for row 2.


82. Activate Default in order to plot the full turbomachine in the 3D view when selecting View/Toggle 3D Solid View.
83. Execute the same operations for row 2, using the following values: Periodicity = <36>, Rotation Speed (rpm) = <500>. Make sure that Tandem Row is set to With Previous.
84. Close the dialog box.
85. Left-click Select All Rows.
86. Click Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.


87. Select Toggle 3D Solid View in the View menu to remove the shaded blades in 3D view.
Initialize Topology & Grid Points Distribution
88. Add two unfixed control lines upstream and downstream the interface of the rows to obtain a full matching mesh between both rows:Select the meridional view by left-clicking it to activate the view, if not done already.Select Mesh Control -> Row Mesh Control -> Add Z Constant Line to add z-constant lines upstream and downstream of the row interface.Left-click the shroud in the meridional view to add a z-constant line upstream of the interface.Repeat the previous step to add a second z-constant line downstream of the interface.Right-click to quit the menu related to the creation of a z-constant line.Right-click the upstream control line when highlighted and select Properties.Deactivate Fixed Geometry.Left-click on the downstream control line.Deactivate Fixed Geometry.Close the dialog box.


89. Left-click Select All Rows.
90. Select Grid Level/Medium through Mesh Control in the Quick Access Pad.
91. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
                      Depending upon the turbulence model selected, NUMECA recommends locating the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


Input the value of the Cell Width = <1e-5> [Meters] and press <Enter> in Row Mesh Control.
92. Impose matching periodic connections for row 1 and row 2:Expand the row tree for "row 1" and "row 2" by clicking on the plus-symbol. Left-click on main blade under "row 1". By holding the <Ctrl> key, left-click on main blade, splitter 1, and splitter 2 under "row 2" in order to select all blades.




Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology control field.
Activate Matching Periodicity (select row 2/splitter 1 and row 2/splitter 2 to verify that the Matching Periodicity option is activated for all blades).





Close the dialog box.

93. Left-click Select All Rows. Select Initialize Topology & Grid Points Distributionin the toolbar and confirm (Yes). This button will set the mesh topology to the default O4H topology.



The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.




Meridional Control
The flow path distribution at the row interface must be equal. This will lead to continuous flow paths between row 1 and row 2.
94. Left-click Select All Rows.
95. Go to QAP/Mesh Control/Row Mesh Control.
                   96. Click on Flow Paths Control.
97. Keep the Number of Flow Paths at <57> and press <Enter>.
98. Keep data identical.
99. Close the dialog box.
Blade-to-Blade Control
To obtain a full matching mesh in the B2B view, the number of points in the azimuthal direction at the interface between both rows must be the same.
100. Left-click the main blade or splitter mesh in the blade-to-blade view.
101. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology control field.
In several turbomachinery types, the blades are highly staggered (Automatic High Staggered Blade Detection within AutoGrid5™). If the solid angle at the inlet (outlet) of the machine becomes greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading edge (trailing edge) of the blades, then the default topology is not suitable anymore since the cells located near the inlet (outlet) boundary become very skewed. To improve this unexpected behavior, AutoGrid5™  uses the High Staggered Blade Optimization.
102. Close the Topology control field.
103. Open the Grid Points control field. Manually change the number of grid points in the blade-to-blade view, especially in the azimuthal direction:

Select row 1/main blade and change the number of grid points according to the figure below by left-clicking the number of nodes, making the proper modification in the entry box and pressing <Enter> to confirm the modification.For the up block, change the azimuthal number of points at the inlet to <17><Enter>.For the down block, change the azimuthal number of points at the outlet to <113><Enter>.For the blade, change the streamwise number of points to <193><Enter>.




Select row 2/main blade and change the number of grid points according to the figure below by left-clicking the number of nodes, making the proper modification in the entry box and pressing <Enter> to confirm the modification.For the up block, change the azimuthal number of points at the inlet to <17><Enter>.For the down block, change the azimuthal number of points at the inlet to <17><Enter>.For the blade, change the streamwise number of points to <93><Enter>.




Select row 2/splitter 1 and change the number of grid points according to the figure below by left-clicking the number of nodes, making the proper modification in the entry box and pressing <Enter> to confirm the modification.For the up block, change the azimuthal number of points at the inlet to <17><Enter>.For the down block, change the azimuthal number of points at the inlet to <17><Enter>.




Select row 2/splitter 2 and change the number of grid points in the same way as for row 2/splitter 1.


Before the modifications in step 103, the number of points in the azimuthal direction at the interface between both rows was not the same.


After the modifications in step 103, the number of points in the azimuthal direction at the interface is the same. A matching connection is enabled. 



104. Close the dialog box.
105. Left-click Select All Rows.
106. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh optimization parameters if necessary to enhance the quality of the mesh.

To ensure a full matching mesh, the optimization parameters of both rows are strictly linked together.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block elliptic techniques. The number of Optimization Steps represents the number of iterations performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.

107. Activate Expert. Activate Multigrid Acceleration. Keep all other data identical.
108. Close the dialog box.
109. Visualize the result in blade-to-blade view after selecting Generate B2B to regenerate the flow paths and the mesh in the blade-to-blade plane.
110. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the blade-to-blade mesh will be plotted in the blade-to-blade view.


By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%) and is applied on active row(s).
111. Left-click Select All Rows.
112. Type for example <50> and press <Enter> in order to visualize the mesh at 50% span.
113. Select Generate B2B to regenerate the blade-to-blade mesh on new specified layer in the blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using the Type pull-down menu and plotted in the blade-to-blade view on the active layer selected in Mesh Control/ Active B2B Layer.
114. Left-click the blade-to-blade window to activate that view (red border).
115. Left-click the  icon to activate the repetition. 
116. Check the grid quality by clicking .
117. Left-click one row in the Row list to select it and press <Enter>.
118. Select quality criteria using the Type pull-down menu.
119. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
120. Left-click part of the histogram to plot the concerned cells in the blade-to-blade view.
121. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.
122. Close the dialog box.


3D Mesh Generation
123. Left-click Select All Rows.
124. Click the Generate 3D icon and confirm (Start) the generation.


Once 3D grid generation is completed, grid quality is performed and displayed. Minimum cells skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data are available for the entire mesh separately for every entity (row, technological effect, bulb). Data related to grid quality report are automatically stored in a report file, once the project file is saved.


                            125. Close the dialog box. The page can be reopened by clicking .
3D Mesh Visualization
126. Left-click Select All Rows.
127. Select View/Toggle 3D Solid View to access the shaded blades in 3D view.
128. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
129. Right-click to access the contextual menu and activate Full View.
130. Use the View menu in QAP or View/Patch Viewer... menu to toggle edge or mesh.
Check Boundary Conditions & Mesh Quality


131. Check the boundary conditions by clicking .
132. Select UND from the Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.


It is important to make sure that no undefined patches (UND) are present in the mesh. In that case, these can usually be removed by increasing the tolerance and launching the Search procedure.
133. Close the dialog box.
134. Check for negative cells by clicking .
135. Click Apply.


136. Click ok and Close the dialog box

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

137. Check the grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.


138. Select quality criteria using the Type pull-down menu.
139. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks). Left-click part of the histogram to plot the concerned cells in the 3D view.
141. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria.
142. Close the dialog box.
Save Project
143. Go to File -> Save Project As <tutorial5-confB> and press <Enter> to save the mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 4. Francis Turbine

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of hydraulic turbine. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

define multi-rows configuration;
read an existing geometrical file into AutoGrid5™;
control meridional flow paths;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any prior knowledge.
Problem Description
The problem considers a Francis hydraulic turbine with medium/high specific speed. It has been designed at IMHEF for an experimental research study in the hydraulic laboratory. The model has been used as a test case in the 1989 GAMM workshop.
The spiral casing of the GAMM turbine has been designed to ensure a constant meridional velocity distribution, and fillets have been added on both sides of the distributor inlet in order to achieve well-defined inlet conditions. The distributor consists of 24 stay vanes and 24 guide vanes. The runner includes 13 blades, with an external diameter of 0.4 m.


Preparation
Start AutoGrid5 v13.1:

For Linux systems, you can access the AutoGrid5™ graphical user interface directly with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 



            You are now ready to start the grid generation process and mesh the Francis Turbine configuration!
        
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is proposed through a menu bar and a quick access pad, and is completed with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1.  Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.
2.  Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3.  Go to File -> New Project.
4.  Click yes to close the active project.
5.  Choose Initialize a New Project from a geomTurbo File.


Load Geometry
6.  Locate and select "stay.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and click Open (Where to Find the Files Used in the Tutorials?); Accept the warning message concerning the discontinuity at the hub. 

The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud). It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

Accept the message concerning the discontinuity at the hub 
7.  Click Add Row.
8.  Go to row 2 > Blades > Main Blade, left-click Main Blade.
9. Right-click to access the contextual menu and select Define Geometry.


10. Locate and select "guide.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and click Open.
11. Repeat step 7 to step 10 to import "run.geomTurbo" for row 3.
The three elements are displayed in the meridional view corresponding to the three parts of the turbine. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default location is set at the average meridional location between the downstream trailing edge and the upstream leading edge.


12. Move outlet position :

Left-click on the outlet line and left-click on the bottom point. Move it on the corner of the hub and left-click to place it.
Right-click on the point above, point location box appears. Set the R= <40> < Enter>.
Repeat this action for other points with following location :    

13. Set geometry units:Go to Geometry Definition -> Units.Change the units to Millimeters.The "units" of the imported geometry must be changed to impose a scaling factor and a corresponding tolerance that will ensure correct treatment during the grid generation when computing, for example, the intersection. Unless it is necessary to change this, we recommend keeping the default settings (Scale Factor set to 1).


Mesh Wizard
14. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
15. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



16. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode  to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details can be found in the AutoGrid5™  User Guide.
18. Click Next in the dialog box to define the machine characteristics (step 2).


19. Select Francis Turbine as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <24>, press <Enter> to confirm.
21. Select Stator.


22. Click Next in the dialog box to start the gap and fillet definition (step 3).
23. Keep all data unchanged (no gap or fillet).
24. Click Next>> in the dialog box to start the flow path definition (step 4).
25. Set Spanwise Grid Point Number to <57> <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
26. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=1.096 m/s, Lref=0.12m and ν=1.01e-6 m2/s. Assuming one wishes to get y+ =1 at the wall, it turns out that y = 2e-5 m.
Input the value of the Wall Cell Width = <0.02> [Millimeters] <Enter> in the Layer Control dialog box.


27. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
28. Set the Number of Points (of the 3D mesh) around 500,000 by clicking the << or >> button in the B2B Control dialog box.


29. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.


The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when applying the optimization steps.







The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


30. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.




31. Click Finish to end the initialization process (step 6).
32. Click no in order to set row 2 and row 3 before making the complete 3D Mesh Generation.



33. Define row 2 periodicity:

Double left-click row 2 in meridional view.
Impose a Periodicity of <24><Enter>.
Impose a Rotation Speedof <0><Enter>.
Close dialog box.

34. Copy the settings of row 1 to row 2:

Left-click Row Definition -> Row List -> row 1.
Click Copy Row Wizard Settings in the toolbar ().
Left-click Row Definition -> Row List -> row 2.
Click Paste Row Wizard Settings in the toolbar ().

This copy/paste option is very useful to easily impose the same wizard settings for multiple rows in a multi-stage configuration.
35. Repeat step 14 to step 32 for row 3 with the following parameters:Francis Turbine as Row type, Periodicity=<13>, Rotor, Rotation speed (rpm)=<-500>.Spanwise Grid Point Number = <57>, Wall Cell Width = <0.02> [Millimeters].Set Number of Points  around 600,000. 
36. Under Row Definition, left-click Select All Rows.


37. Click Generate 3D in the toolbar.

Click no to check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Row Definition and click Select All Rows to select all rows. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is located at the mid-span of the machine (Active Layer (%span) set to <50>). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.
 
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking  :

Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click More info button to obtain information about minimum and maximum values of the selected criteria.
Close the quality checkbox.



After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking Row Definition -> Select All Rows and then clicking the Generate 3D button.

 
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.
38. Close the dialog box. The page can be reopened by clicking .
39. To improve the aspect ratio too high in the bulb area:

Select Expert Mode.
Click Outlet Bulb Topology Control in the toolbar.





In the Outlet Bulb Mesh Topology dialog box, left-click on the bulb streamwise control and type <45>, press <Enter> to confirm.
Select Basic Mode.
Left-click Row Definition -> row 3 in the QAP to activate the current row, if not done already.
Click Generate 3D in the toolbar.

Mesh Visualization
40. Select the View -> View 3D Solid Mesh menu.
41. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide 3D Solid Mesh.
42. Use the Repetition icon () to toggle the repetition of the channel.
 
43. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.






Check Boundary Conditions & Mesh Quality


44. Check for boundary conditions by clicking .
45. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.

46. Close the dialog box.
47. Left-click in the 3D view to activate the view (red border), if not done already.
48. Check for negative cells by clicking .


49. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing View neg cells  button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

50. Click ok and Close the dialog box.
51. Left-click in the 3D view to activate the view (red border), if not done already.
52. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
53. Select block number (0 for all) - <Enter>.
54. Select quality criteria using the Type pull-down menu.


55. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


56. Left-click part of the histogram to plot the concerned cells in the 3D view.
57. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


58. Close the dialog box.
Save Project
59. Go to File -> Save Project As <tutorial4> and press <Enter> to save the mesh and template files in the "_mesh" subfolder. 

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 3. SHF Pump

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of single blade row centrifugal-flow turbomachine. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

import CAD files into AutoGrid5™;
define the blade periodicity;
control meridional flow paths;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any prior knowledge.
Problem Description
This problem considers the generic SHF centrifugal pump as shown here below. The pump includes 7 blades, rotating with a speed of 1,200 RPM. The absolute velocity at the inlet is 1.842 m/s and the outlet static pressure is 320,000 Pa. The flow is assumed to be fully turbulent.


Preparation
Start AutoGrid5 v13.1:

For Linux systems, you can access the AutoGrid5™ graphical user interface directly with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/Autogrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 



        You are now ready to start the grid generation process and mesh the SHF centrifugal pump!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1.  Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.

            2.  Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3.  Go to File -> New Project.
4.  Click yes to close the active project.
5.  Choose Start a New Project From Scratch. 


Load Geometry
6. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
7. Left-click in the meridional view.
8. Go to Geometry Definition -> Init From an External CAD File.
 
A graphic window opens, allowing geometry import.


9.  Define the hub curve:Go to File -> Open....Locate and select the "_geom/hub.dat" file from the file chooser. The geometry is defined in [Meters]. (Where to Find the Files Used in the Tutorials?)Left-click on the hub, its color should turn to yellow.Right-click and select Link to Hub.
The hub curve is now displayed in the meridional view.
 


10. Define the shroud curve:Left-click on File -> Open....Select the "_geom/shroud.dat" file from the file chooser. The geometry is defined in meters.Left-click on the shroud, its color should turn to yellow.Right-click and select Link to Shroud.
The shroud curve and channel are now displayed in the meridional view.
 


11. Define the blade:

Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
Select the menu item File -> Open....
Select the "_geom/blade.dat" file from the file chooser.
Go to Select -> Surfaces.


A message will prompt to select surfaces.
 


Press key binding <a>.

The binding key <a> acts as a toggle, activating or deactivating all surfaces.

Double right-click to quit the surfaces selection and select Link to Blade.

The blade is now displayed in the meridional view.
  
 


12. Define the leading and trailing edge:Left-click on the blade leading edge curve inside the Import CAD window.As it turns yellow, right-click and select Link to Leading Edge.Left-click on the blade trailing edge curve inside the Import CAD window.As it turns yellow, right-click and select Link to Trailing Edge.
The leading and trailing edges are displayed in the meridional view with inlet and outlet (if the blade is crossing the hub and shroud).
 
 



            13. Go to File -> Exit to quit the Import CAD window.
Mesh Wizard
14. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
15. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



16. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details in AutoGrid5™  User Guide.
18. Click on Next in the dialog box to define the machine characteristics (step 2).


19. Select Centrifugal Pump as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades). Left-click inside the string input area and type <7>, press <Enter> to confirm.
21. Select Rotor.
22. Enter <1200> in Rotation Speed (rpm).



This speed will be transferred to FINE™  graphical user interface and ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

23. Click  Next in the dialog box to start the gap and fillet definition (step 3).
24. Keep all data unchanged (no gap or fillet).
25. Click Next>> in the dialog box to start the flow path definition (step 4).
26. Set Spanwise Grid Point Number set to <33> <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically updated as well as the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
27. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref = 25.13 m/s ; Lref= 0.4m ; ν = 1.01e-6 m²/s. Assuming one wishes to get y+= 6 at the wall, it turns out that y = 1x10-5m.
Input the value of the Wall Cell Width = <1e-5> [Meters] <Enter> in the Layer Control dialog box.


28. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
29. Set the Number of Points (of the 3D mesh) around 400,000 by clicking the << or >> button in the B2B Control dialog box.


30. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.

The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when applying the optimization steps.


The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


31. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.
 


32. Click Finish to end the initialization process (step 6).
33. Click yes to start the 3D mesh generation.




Click no to check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is located at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking  :

Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview on mesh quality.
Left-click More info button to obtain information about minimum and maximum values of the selected criteria.
Close  the quality checkbox.



After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking the Generate 3D button.



Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh as well as separately for each entity (row, technological effect, bulb). Data related to the grid quality report is automatically stored in a report file, once the project file is saved.
34. Close the dialog box. The page can be reopened by clicking .
Mesh Visualization
35. Select View -> View 3D Solid Mesh.
36. Left-click the View 3D button in the toolbar to visualize only the 3D view.
 
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide 3D Solid Mesh.
37. Use the Repetition icon () to toggle the repetition of the channel.
 
38. Use the View menu in the QAPto toggle edge, mesh and/or solid shading.




Check Boundary Conditions & Mesh Quality


39. Check for boundary conditions by clicking .
40. Select UND under the Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.



41. Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for negative cells by clicking .


44. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

45. Click OK and Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
48. Select block number (0 for all) - <Enter>.
49. Select quality criteria using the Type pull-down menu.
 
50. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


51. Left-click part of the histogram to plot the concerned cells in the 3D view.
52. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.
 
53. Close the dialog box.
Save Project
54. Go to File -> Save Project As <tutorial3> and press <Enter> to save the mesh and template files in the "_mesh" subfolder.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 8. Marine Propeller

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
 
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a rounded tip propeller. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
define the blade periodicity;
define pseudo shroud and upstream/downstream limit;
control meridional flow paths;
control far field;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any prior knowledge.
Problem Description
This problem considers a rounded tip propeller as shown below. The propeller is the Postdam Propeller Test Case, known as PPTC. It includes 5 blades, rotating with a speed of -1499.22 RPM. The inlet velocity is 6.367 m/s.




Preparation
Start AutoGrid5™ v13.1:

For Linux systems, you can access the AutoGrid5™  graphical user interface directly with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™   graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 


You are now ready to start the grid generation process and mesh the Marine Propeller configuration!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.


Load Geometry
6. Locate and select "PPTC_propeller.geomTurbo" (geometry defined in [Meter]) in the dialog box and click Open. (Where to Find the Files Used in the Tutorials?)



The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row(s) definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud, seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points and the channel curves defined as a composite of basic curves. For a propeller configuration, the shroud curve is not defined, but a pseudo shroud will be defined later on to allow the mesh generation. In this specific case, the hub curve ends at R=0 [m], meaning that the propeller represents a bulb configuration.
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade. The main blade is defined by a set of surfaces and curves for the leading and trailing edges.

Mesh Wizard
7. Left-click Rows Definition > row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
8. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
 

9. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode to the default value.
The wizard is divided into 7 steps:

the geometry check (optional),
the machine characteristics definition,
the pseudo shroud definition,
the flow path definition,
the far field definition;
the blade-to-blade mesh definition,
the end of the initialization.


10. Click yes to confirm the geometry check (step 1). 
The check will fail because the shroud is not defined in the ".geomTurbo" file. The check can thus be skipped.
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details in AutoGrid5™  User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).
12. Select Marine propeller as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <5>, press <Enter> to confirm.
14. Select Rotor. 
15. Enter <-1499.22> in Rotation Speed (rpm).

This speed will be transferred to the FINE™  graphical user interface and ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

16. Check the option Blade Tip Rounded Topology.

The option Blade Tip Rounded Topology is only applicable to double rounded blades (no blunt) and is under license.
 If the option Blade Tip Rounded Topology does not appear, it means you do not have access to this feature. Please contact your local software provider or the NUMECA Support office!



17. Click Next in the dialog box to start the pseudo shroud definition and the upstream/downstream limits (step 3).

AutoGrid5™  automatically creates a horizontal pseudo shroud located at a radius (Rshroud) defined by:
Rshroud= BladeRadiusMin + (BladeRadiusMax-BladeRadiusMin) x (Shroud Location - 1e-5)
with 
BladeRadiusMin = maximum of the minimum blade radii computed on leading and trailing edge,
BladeRadiusMax = minimum of the maximum blade radii computed on leading and trailing edge.
The normalized parameters Upstream Location and Downstream Location are used to locate the inlet and outlet of the domain using the blade location (Zref)and the minimum of the maximum blade radii computed on leading and trailing edge (BladeRadiusMax) as normalization value: 
Lupstream = abs(BladeRadiusMax x Upstream Location)
Ldownstream = abs(BladeRadiusMax x Downstream Location) 
Upstream Z  = Zref-Lupstream
Downstream Z = Zref+Ldownstream
 

18. Keep Shroud Location at <1.3>.
19. Keep Upstream Location at <-5>.
20. Define Downstream Location = <8.0> <Enter>. Then click Next>> in the dialog box.


The option Blade Tip Rounded Topology allows imposing a specific topology adapted for the rounded tip configuration. When the option is active, the shroud will be located above the blade to create some space to put the new butterfly topology. A shroud gap is automatically set. The blade is expanded with the section extension approach (more details in AutoGrid5™  User Guide)
21. The blade has been expanded, and the Tip Gap has been defined automatically. Click Next>> to start the flow path definition (step 4).


22. Set Spanwise Grid Point Number to <89> <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
23. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends  locating the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
 ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=6.367 m/s; Lref=0.25 m; ν=9.34e-7 m²/s. Assuming one wishes to get y+ around 1 at the wall, it turns out that y = 4 x 10-6 m. Input the value of the Cell Width at Hub = Cell Width at Shroud = <4e-6> [Meters] <Enter> in the Layer Control dialog box.


24. Click Next>> in the dialog box to start the far field definition (step 5).

The far field limit is controlled by the Far Field Thickness parameter normalized with the BladeRadiusMax (minimum of the maximum blade radii computed on leading and trailing edge):
H = Far Field Thickness x BladeRadiusMax


In addition, the number and the distribution of the layers in the far field can be modified.

25. Keep Spanwise Grid Point Number to <57> (corresponding to the flow paths number in the far field) in the dialog box.
26. Keep Percentage Constant Cell at <33>.
27. Keep Far Field Thickness = <5.0> <Enter>.


28. Click Next>> in the dialog box to start the blade-to-blade definition (step 6).
29. Set the Number of Points (of the 3D mesh) around 2,700,000 by clicking the << or >> button in the B2B Control dialog box if necessary.


30. Click Preview B2B to plot the blade-to-blade mesh at mid-span: a High Staggered Streamwise O4H topology is used around the blade.



The High Staggered topology is automatically activated when the solid angle of the blade at the inlet (outlet) of the machine is greater than 45° on the hub and pseudo shroud layers.                                 
The streamwise O4H topology includes 5 blocks as follows:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located below the leading edge;
the outlet block is a H-mesh located above the trailing edge;
the up block is a H-mesh located upstream the blade section;
the down block is a H-mesh located downstream the blade section.


31. Click Finish to end the initialization process (step 7).
Automatically, at the end of the wizard procedure, a ZR effect named <Row name> far field is created under Quick Access Pad/Row Definition to control the grid generation process of the domain up to the blade.

                32. Click no to postpone the 3D mesh generation because the streamwise number of points in the downstream H-block has to be increased.




            33. Increase the number of points in the streamwise direction in the downstream H-block:
        

Click the  icon in the toolbar to display the multiview mode and to access the blade-to-blade view,
Left-click in blade-to-blade view (active view is surrounded by a red border),
Move mouse onto the downstream H-block to activate it (highlighted in blue),
Right-click and select Number of Pts Streamwise,


Set Number Of Points Streamwise to <25>, press <Enter> and Close.


To check the blade-to-blade mesh quality at the hub and/or shroud before generating the 3D mesh, click on View B2B button in the toolbar. 
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is located at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.



Click on Update B2B View button to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information regarding the minimum and maximum values of the selected criteria.
Close the quality checkbox.




34. The 3D mesh generation can be started by clicking the Generate 3D button after selecting  row 1 and row 1 far field under Quick Access Pad/Row Definition (<Ctrl> + left-click).




When the option Blade Tip Rounded Topology is active, at the end of the mesh generation, the skin block is split in the spanwise direction at the gap layer, keeping the lower part and modifying the upper part to create a new topology more adapted to the rounded blade tip. In the upper part, the skin block is first divided perpendicularly to the blade and the outer part is kept unchanged. The inner part is further divided in spanwise direction: the top skin part is converted into an H topology and the lower part is modified into a butterfly topology. The location of the spanwise division should respect multigrid levels and lead as much as possible to a uniform skin block width around the blade. This new topology allows to decouple the shroud cell width from the outer skin block cell width to obtain a good quality on the shroud layer.




Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.


35. Close the dialog box. The page can be reopened 
		by clicking .
Mesh Visualization
36. Select View -> View 3D Solid Mesh.
37. Left-click the View 3D button in the toolbar to visualize only the 3D view.
 
By default the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide 3D Solid Mesh.
38. Use the Repetition icon () to toggle the repetition of the channel.



39. Use the View subpad in the QAP to toggle edge, mesh and/or solid shading.



Check Boundary Conditions & Mesh Quality


40. Check for boundary conditions by clicking .
41. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.
42. Select EXT under Type , then select the patches as shown in the picture below, set INL under Set Patch Type. Those patches represent the inlet domain of computation.


43. Select the patches as shown in the picture below, set OUT  under Set Patch Type. Those patches represent the outlet domain of computation.


44. The remaining patches in Type  as EXT , must be set as SOL  under Set Patch Type.

Those boundary conditions will be transferred to the FINE™  graphical user interface.

45. Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check for negative cells by clicking .


48. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing the View neg cells  button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

49. Click ok and Close the dialog box.
50. Left-click in the 3D view to activate the view (red border), if not done already.
51. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
52. Select block number (0 for all) - <Enter>.
53. Select quality criteria using the Type pull-down menu.


54. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


55. Left-click part of the histogram to plot the concerned cells in the 3D view.
56. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


57. Close the dialog box.
Save Project
58. Go to File -> Save Project As <tutorial8> and press <Enter> to save mesh and template files in the "_mesh" subfolder.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 2. 
Aachen Turbine

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a multi-stage axial-flow turbomachine. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
define the blade periodicity;
define a tip clearance;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any prior knowledge.
Problem Description
The Aachen 1-1/2 turbine rig stage has been investigated both experimentally (Gallus and Walraevens, 1995) and numerically (Walraevens et al., 1998).


The low aspect ratio blading and the constant tip and hub endwall contour enhance strong secondary flows. Both stators (36 blades) and rotor (41 blades) are cylindrical and untwisted. The rotor is unshrouded with a tip clearance of 0.4 mm. Testing conditions are characterized by low inlet gas temperature (about 300 K) and design speed of 3,500 RPM.
Preparation
Start AutoGrid5 v13.1:

For Linux systems, you can access the AutoGrid5™  graphical user interface directly with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™ .

 

                    You are now ready to start the grid generation process and mesh the Aachen Turbine configuration!
                


The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and mesh of the turbomachine in the meridional, blade-to-blade and 3D views. Access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1.  Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.
2.  Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.

                3.  Go to File -> New Project.
            
4.  Click yes to close the active project.
5.  Choose Initialize a New Project from a geomTurbo File. 


Load Geometry
6.  Locate and select "tutorial_2.geomTurbo" (geometry defined in [Meter]) in the dialog box and click Open. (Where to Find the Files Used in the Tutorials?)



The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definition(s).
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud). It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
The three rows are displayed in the meridional view corresponding to the three parts of the turbine. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default location is set at the average meridional location between the downstream trailing edge and the upstream leading edge.

Mesh Wizard
7.  Left-click Rows Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
8.  Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the Quick Access Pad.



9.  Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details can be found in the AutoGrid5™  User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).


12. Select Axial Turbine as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <36>, press <Enter> to confirm.
14. Select Stator.
15. Click Next in the dialog box to start the gap and fillet definition (step 3).


16. Keep all data unchanged (no gap or fillet).
17. Click Next>> in the dialog box to start the flow path definition (step 4).
18. Set Spanwise Grid Point Number to <61> <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically updated together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
19. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=109.9557 m/s, Lref=0.3m and ν=1.038e-5 m²/s for row 2. Assuming one wishes to get y+ =1 at the wall, it turns out that y = 3.4 x 10-6 m. Assuming Vref=42.2633 m/s, Lref=0.3m and ν=1.038e-5 m²/s for row 1 and row 3, and keeping y+ =1 at the wall, it turns out that that y = 7.8 x 10-6 m.
Input the value of the Wall Cell Width = <7.8e-6> [Meters] <Enter> in the Layer Control dialog box.


20. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
21. Set the Number of Points (of the 3D mesh) around 300,000 by clicking the << or >> buttons in the B2B Control dialog box.
 
22. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.

The Full Visibility option allows the user to see the mesh moving in the blade to blade view when applying the optimization steps.


 
The default O4H topology includes 5 blocks as follows:

the skin block is a O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


23. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.
  


24. Click Finish to end the initialization process (step 6).
25. Click no in order to set the row 2 and row 3 before making the complete 3D Mesh Generation.



26. Repeat step 7 to step 25 for row 2 with the following parameters :Axial Turbine as Row type, Periodicity=<41>, Rotor, Rotation speed (rpm)=<-3500>.Select Tip Gap, Width At Leading Edge = Width At Trailing Edge = <0.0004> [Meters].






The width at leading/trailing edge allows the user to specify the size of the gap respectively at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.

Spanwise Grid Point Number = <73>, Wall Cell Width = <3.4e-6> [Meters].

Set the Number of points around 400,000.





27. Copy settings of row 1 for row 3:

Left-click Row Definition -> Row List -> row 1.
Click the Copy Row Wizard Settings tab in the toolbar ().
Left-click Row Definition -> Row List -> row 3.
Click Paste Row Wizard Settings in the toolbar ().

This copy/ paste option is very useful to easily impose the same wizard settings for multiple rows in a multi-stage configuration.
28. In Row Definition, left-click Select All Rows.


29. Click Generate 3D in the toolbar.

You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Row Definition and left-click Select All Rows to select all rows. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select a row in the Row list <Enter>.
Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information about minimum and maximum values of the selected criteria.
Close the quality checkbox.



After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking Rows Definition -> Select all rows and then clicking the Generate 3D button.



Once a 3D grid generation is completed, grid quality is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data are available for the entire mesh separately for every entity (row, technological effect, bulb). Data related to grid quality report are automatically stored in a report file, once the project file is saved.
30. Close the dialog box. The page can be reopened by clicking .
Mesh Visualization
31. Select the View -> View 3D Solid Mesh menu.
32. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View -> Hide 3D Solid Mesh.
33. Use Repetition icon () to toggle the repetition of the channel.
 
34. Use the View menu in the Quick Access Pad to toggle edge, mesh and/or solid shading.




Check Boundary Conditions & Mesh Quality


35. Check for boundary conditions by clicking .
36. Select UND under Type pull-down menu and check that there are no patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
37. Close the dialog box.
38. Left-click anywhere in the 3D view to activate the view (red border), if not done already.
39. Check for negative cells by clicking .


40. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is thus advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

41. Click ok and Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can be performed only once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
44. Select block number (0 for all) - <0><Enter>.
45. Select quality criteria using the Type pull-down menu.


46. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


47. Left-click a part of the histogram to plot the concerned cells in the 3D view.
48. Left-click the More info button to obtain information about minimum and maximum values of the selected criteria and block.


49. Close the dialog box.
Save Project
50. Go to File -> Save Project As <tutorial2> and press <Enter> to save mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 6. High Performance Centrifugal Compressor

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of centrifugal turbomachine. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest. In this tutorial you will learn how to:

define multi-rows;
define the blade periodicity;
define a tip clearance;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any prior knowledge.
Problem Description
The centrifugal impeller is the scaled version of the original DDA's 404-III compressor. Its design flow rate is 4.39 kg/s at a mechanical speed of 21,789 RPM. The impeller consists of 15 unshrouded main blades with splitter blades with high back-sweep at discharge. The vaned diffuser has 24 two-dimensional wedge vanes with the leading edge located at a radius of 1.0778 relative to the impeller exit. The diffuser exit radius is 14.3 inches and dumps directly into a 90 degrees annular bend. For a more detailed description of the geometry of the compressor and its performance, please refer to Coordinates for a High performance 4:1 Pressure Ratio Centrifugal Compressor, NASA Contractor Report 204134, July 1997.


Preparation
Start AutoGrid5 v13.1:

For Linux systems, you can access the AutoGrid5™  graphical user interface directly with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 


You are now ready to start the grid generation process and mesh the Centrifugal Compressor configuration!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.

            3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.


Load Geometry
6. Locate and select "hpcc_impeller.geomTurbo"  (geometry defined in [Inches]) in the dialog box and click Open. (Where to Find the Files Used in the Tutorials?)
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). 
The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
7. Click Row Definition -> Add Row.
8. Go to row 2 -> Blades -> Main Blade, left-click Main Blade.
9. Right-click to access the contextual menu and select Define Geometry.


10. Locate and select "hpcc_diffuser.geomTurbo" (geometry defined in [Inches]) in the dialog box and click Open.


The two rows are displayed in the meridional view corresponding to the two parts of the compressor. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default location is set at the average meridional location between the downstream trailing edge and the upstream leading edge.
11. Control the domain limits:

The inlet and outlet limits of the domain are by default automatically defined by AutoGrid5™  using two straight lines joining the limits of the hub and shroud definitions. The shape and the location of the inlet and outlet boundaries can be modified interactively.


You can access the control points of the inlet/outlet and modify their location by dragging the point. The exact coordinates of the control points can also be set by right-clicking the control point. A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
In Expert Mode, there is another way to control the shape of inlet/outlet. Move the mouse onto the inlet/outlet. When it becomes highlighted in yellow, right-click and select Properties in the pop-up menu. Activate for example Z constant and enter the coordinates where the inlet/outlet should be located.


Left-click the inlet when highlighted in yellow in meridional view.
Right-click the Top Point when highlighted in yellow.
Set the Z value to <-3.23> and press <Enter> in the Point Location dialog box.

 
 

Left-click the Bottom Point when highlighted in yellow.
Set the Z value to <-3.23> and press <Enter> in the Point Location dialog box.
Close the Point Location dialog box by clicking the cross at the top right corner.

 
Mesh Wizard
12. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
13. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



14. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode
to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


15. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details can be found in the AutoGrid5™  User Guide.
16. Click Next in the dialog box to define the machine characteristics (step 2).


17. Select Centrifugal Impeller as Row type in the Blade row type dialog box.


18. Enter the Periodicity (number of blades): left-click inside the string input area and type <15>, press <Enter> to confirm.
19. Select Rotor.
20. Enter <-21789> as the Rotation speed (rpm).

This speed will be transferred to the FINE™  graphical user interface and will ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

21. Click Next in the dialog box to start the gap and fillet definition (step 3).
22. Activate Tip Gap in the Gap and Blending Control dialog box.
23. Define for Tip Gap: Width At Leading Edge = <0.006> [Inches] <Enter>.
24. Define for Tip Gap: Width At Trailing Edge = <0.008> [Inches] <Enter>.
The width at leading/trailing edge allows the user to specify the size of the gap respectively at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.
25. Keep all other data identical.
 


 
26. Click Next>> in the dialog box to start the flow path definition (step 4).
27. Set Spanwise Grid Point Number to <73> and press <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
28. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=492 m/s, Lref=0.2159 m and ν=1.57e-5 m²/s. Assuming one wishes to get y+=5 at the wall, it turns out that y=0.0003 inches.
Input the value of the Wall Cell Width = <0.0003> [Inches] <Enter> in the Layer Control dialog box.


29. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
30. Set the Number of Points (of the 3D mesh) around 1,700,000 by clicking the << or >> button in the B2B Control dialog box.


31. Click Preview B2B to plot the blade-to-blade mesh at mid-span: H&I topology with skin block is used with additional upstream/downstream H-blocks.

The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when applying the optimization steps.




 
The H&I topology with skin block includes 4 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is an H-mesh located upstream the leading edge;
the outlet block is an H-mesh located downstream the trailing edge;
the up block is an H-mesh located in the blade passage.


32. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.




33. Click Finish to end the initialization process (step 6).
34. Click no to set the row 2 before making the complete 3D Mesh Generation.



35. Repeat step 12 to  step 34 for row 2 with the following parameters:

Centrifugal Diffuser as Row type, Periodicity=<24>, Stator.
Spanwise Grid Point Number=<57>, Wall Cell Width=<0.0003> [Inches].
Set Number of points around 590,000.


When clicking Preview B2B, the blade-to-blade mesh at mid-span is plotted: O4H topology is used with additional upstream/downstream H-blocks.




The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


36. In Row Definition, left-click Select All Rows.


37. Click Generate 3D in the toolbar.

You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Row Definition and left-click Select All Rows to select all rows. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine (Active Layer (%span) set to <50>). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select a row in the Row list and <Enter>,
Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information about minimum and maximum values of the selected criteria.
Close the quality checkbox.

After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking Rows Definition -> Select All Rows and then clicking  the Generate 3D button.




Once 3D grid generation is completed, a grid quality check is performed and displayed. 
Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.

38. Close the dialog box. This page can also be reopened by clicking  
		
		
		.
Mesh Visualization
39. Select the View -> View 3D Solid Mesh menu.
40. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View -> Hide 3D Solid Mesh.
41. Use the Repetition icon () to toggle the repetition of the channel.


42. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.




Check Boundary Conditions & Mesh Quality


43. Check for boundary conditions by clicking .
44. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.

45. Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check for negative cells by clicking .


48. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

49. Click ok and Close the dialog box.
50. Left-click in the 3D view to activate the view (red border), if not done already.
51. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
52. Select block number (0 for all) - <Enter>.
53. Select quality criteria using the Type pull-down menu.


54. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


55. Left-click part of the histogram to plot the concerned cells in the 3D view.
56. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


57. Close the dialog box.
Save Project
58. Go to File -> Save Project As <tutorial6> and press <Enter> to save mesh and template files in the "_mesh" subfolder.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 1. NASA Rotor37

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software tool.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation.

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion system but also in hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a single blade row axial-flow turbomachine. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
define the blade periodicity;
define a tip clearance;
control meridional flow paths;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any particular prior knowledge.
Problem Description
The problem to be considered is shown schematically below (meridional view). The ROTOR 37 test project is an isolated axial-flow compressor wheel designed and experimentally analyzed at the National Aeronautics and Space Administration (NASA) Lewis Research Center. It is representative of important interactions occurring in Turbomachinery such as corner stall, shock-boundary layer interactions, tip vortex and tip leakage-secondary interactions, etc.


The ROTOR 37 is characterized by the following representative values:



number of blades
36


inlet hub-to-tip diameter ratio 
0.7


blade aspect ratio
1.19


tip relative inlet Mach number
1.48


hub relative inlet Mach number
1.13


tip solidity
1.29


blade airfoil sections 
multiple circular arc (MCA)


rotational speed (RPM)
17188


total pressure ratio
2.106


polytropic efficiency (%)
88.9



In addition, this test case shows a strong interaction between the tip vortex and the leading edge shock, largely controlling the stall behavior. CFD simulations of this interaction, reported in the literature, have shown an important dependence on mesh and turbulence modeling.
Preparation
Start AutoGrid5 v13.1:

For Linux systems, you can directly access the AutoGrid5™  graphical user interface with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™ graphical user interface from the start menu going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



 
You are now ready to start the grid generation process and mesh the ROTOR 37 configuration!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and mesh of the turbomachine in the meridional, blade-to-blade and 3D views. Access to the main menu and controls is provided through a menu bar and a quick access pad, and is complemented  with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.

            3. Go to menu File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File. 


Load Geometry
6. Locate and select "rotor.geomTurbo" (geometry defined in [Centimeter]) in the dialog box and click Open.  (Where to Find the Files Used in the Tutorials?) 



The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definition(s).
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud, seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points and the channel curves defined as a composite of basic curves. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter(s) are defined by the pressure and the suction side surfaces, identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

Mesh Wizard
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
8. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the Quick Access Pad.



9. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details can be found in the AutoGrid5™  User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).


12. Select Axial Compressor as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <36>, press <Enter> to confirm.
14. Select Rotor.
15. Enter <-17188> in Rotation Speed (rpm).



This speed will be transferred to the FINE™  graphical user interface and ease the input of boundary conditions later on. 
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

16. Click Next in the dialog box to start the gap and fillet definition (step 3).
17. Activate Tip Gap in the Gap and Blending Control dialog box.
18. Define Width At Leading Edge = <0.0356> [Centimeters] <Enter>.
19. Define Width At Trailing Edge = <0.0356> [Centimeters] <Enter>.
 
 


The width at leading/trailing edge allows the user to specify the size of the gap respectively at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.
20. Keep all other data identical.
21. Click Next>> in the dialog box to start the flow path definition (step 4).
22. Keep Spanwise Grid Point Number set to <73> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically updated together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
23. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=175 m/s; Lref=0.2523m; ν=1.466e-5 m²/s. Assuming one wishes to get y+=1 at the wall, it turn out that y = 3 x 10-6 m. Input the value of the Wall Cell Width = <0.0003> [Centimeters] <Enter> in the Layer Control  dialog box.


24. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
25. Set the Number of Points (of the 3D mesh) around 850,000 by clicking the << or >> buttons in the B2B Control dialog box.
 
26. Keep Full Matching Mesh active to impose a matching connection between the channel and the gap.
27. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when applying the optimization steps.
 

The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


28. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.


29. Click Finish to end the initialization process (step 6).
30. Click yes to start the 3D mesh generation.




Click no to check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.
 
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.
 
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information about minimum and maximum values of the selected criteria.
Close the quality checkbox.



After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking the Generate 3D button.




Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh or for every each separate entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.
31. Close the dialog box. The page can be reopened by clicking .
Mesh Visualization
32. Select the View -> View 3D Solid Mesh menu.
33. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View -> Hide 3D Solid Mesh.
34. Click the Repetition icon () to toggle the repetition of the channel.
 
35. Use the View menu in the Quick Access Pad to toggle edge, mesh and/or solid shading.




Check Boundary Conditions & Mesh Quality


36. Check for boundary conditions by clicking .
37. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


38. Close the dialog box.
39. Left-click in the 3D view to activate the view (red border), if not done already.
40. Check for negative cells by clicking .


41. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is thus advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

42. Click OK and Close the dialog box.
43. Left-click in the 3D view to activate the view (red border), if not done already.
44. Check for grid quality by clicking .
A detailed analysis of mesh quality on 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
45. Select block number (0 for all) - <Enter>.
46. Select quality criteria using the Type pull-down menu.


47. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


48. Left-click part of the histogram to plot the concerned cells in the 3D view.
49. Left-click the More info button to obtain information about minimum and maximum values of the selected criteria and block.


50. Close the dialog box.
Save Project
51 Go to File -> Save Project As <tutorial1> <Enter> to save mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 5. Axial Multistage Compressor

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of multi-stage axial-flow turbomachine. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

define multi-rows configuration;
read an existing geometrical file into AutoGrid5™;
define the blade periodicity;
define a tip clearance;
control meridional flow paths;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any prior knowledge.
Problem Description
The tutorial deals with a 1-1/2 compressor stage, which is part of a three-stage axial compressor. Both stators (38 and 40 blades) and rotor (25 blades) are cylindrical and twisted. The rotor is unshrouded with a tip-clearance of 0.3 mm and rotating with the speed of 15,000 RPM.


Preparation
Start AutoGrid5 v13.1:

For Linux systems, you can access the AutoGrid5™ graphical user interface directly with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



 
You are now ready to start the grid generation process and mesh the Axial Compressor configuration!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
1.  Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.

            2.  Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3.  Go to File -> New Project.
4.  Click yes to close the active project.
5.  Choose Initialize a New Project from a geomTurbo File. 


Load Geometry
6.  Locate and select "stator1.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and click Open. (Where to Find the Files Used in the Tutorials?)

The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

7.  In Row Definition, click Add Row.
8.  Go to row 2 -> Blades -> Main Blade, left-click Main Blade.
9.  Right-click to access the contextual menu and select Define Geometry.
10. Locate and select "rotor.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and click Open.
11. Repeat step 7 to step 10 to import "stator2.geomTurbo" for row 3.


The three elements are displayed in the meridional view corresponding to the three parts of the turbine. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default location is set at the average meridional location between the downstream trailing edge and the upstream leading edge.
 

                12. Control the domain limits:
            

The inlet and outlet limits of the domain are by default automatically defined by AutoGrid5™  using two straight lines joining the limits of the hub and shroud definitions. The shape and the location of the inlet and outlet boundaries can be modified interactively.


You can access the control points of the inlet/outlet and modify their location by dragging the points. The exact coordinates of the control points can also be set by right-clicking the control point; a dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
In Expert Mode, there is another way to control the shape of inlet/outlet. Move the mouse onto the inlet/outlet. When it becomes highlighted in yellow, right-click and select Properties in the pop-up menu. Activate for example Z constant and enter the coordinates where the inlet/outlet should be locate.


Left-click the inlet when highlighted in yellow in the meridional view.
Right-click the Top Point when highlighted in yellow.
Set the Z value to <77.6><Enter> in the Point Location dialog box.






Left-click the Bottom Point when highlighted in yellow.
Set the Z value to <77.6><Enter> in the Point Location dialog box.
 Close the Point Location dialog box by clicking the cross at the top right corner.

13. Repeat step 12 for the outlet: for the top and bottom point, set the Z value to <266> and press <Enter>.




Mesh Wizard
14. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
15. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



16. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details can be found in the AutoGrid5™  User Guide.
18. Click Next in the dialog box to define the machine characteristics (step 2).


19. Select Axial Compressor as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <38>, press <Enter> to confirm.
21. Select Stator.
22. Click Next in the dialog box to start the gap and fillet definition (step 3).
 
23. Keep all data unchanged (no gap or fillet).
24. Click on Next>> in the dialog box to start the flow path definition (step 4).
25. Set Spanwise Grid Point Number to <57> and press <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
26. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=200 m/s, Lref=0.05 m and ν=1.43e-6 m²/s. Assuming one wishes to get y+ = 1.5 at the wall, it turns out that y = 3 x 10-6 m.
Input the value of the Wall Cell Width = <0.003> [Millimeters] <Enter> in the Layer Control dialog box.
 
27. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
28. Set the Number of Points (of the 3D mesh) around 300,000 by clicking the << or >> button in the B2B Control dialog box.


29. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.

The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when applying the optimization steps.




The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


30. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.




31. Click Finish to end the initialization process (step 6).
32. Click no to set row 2 and row 3 before making the complete 3D mesh generation.



33. Repeat step 14 to step 32 for row 2 with the following parameters:Axial Compressor as Row type, Periodicity=<25>, Rotor, Rotation speed (rpm)=<15000>.Select Tip Gap, Width At Leading Edge = Width At Trailing Edge = <0.3> [Millimeters].


The width at leading/trailing edge allows the user to specify the size of the gap respectively at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.

Spanwise Grid Point Number=<73>, Wall Cell Width=<0.003> [Millimeters].
Set Number of points around 600,000, keep Full Matching Mesh active to impose a matching connection between the channel and the gap.

34. Repeat step 14 to step 32 for row 3 with the following parameters:Axial Compressor as Row type, Periodicity=<40>, Stator.Spanwise Grid Point Number=<57>, Wall Cell Width=<0.003> [Millimeters].Set Number of points around 300,000.
35. In Row Definition, left-click Select All Rows.


36. Click Generate 3D in the toolbar.

Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select a row in the Row list <Enter>.
Select  quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information regarding the minimum and maximum values of the selected criteria.
Close the quality checkbox.



After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking Row Definition -> Select All Rows and then clicking the Generate 3D button.



Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.
37. Close the dialog box. The page can be reopened by clicking .
Mesh Visualization
38. Select the View -> View 3D Solid Mesh menu.
39. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide 3D Solid Mesh.
40. Use the Repetition icon () to toggle the repetition of the channel.


41. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.




Check Boundary Conditions & Mesh Quality


42. Check for boundary conditions by clicking .
43.  Select UND under Type pull-down menu and press <Enter> to check that there are no patches are in the patch list still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.

44. Close the dialog box.
45. Left-click in the 3D view to activate the view (red border), if not done already.
46. Check for negative cells by clicking .


47. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

48. Click ok and Close the dialog box.
49. Left-click in the 3D view to activate the view (red border), if not done already.
50. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
51. Select block number (0 for all) - <Enter>.
52. Select quality criteria using the Type pull-down menu.


53. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


54. Left-click part of the histogram to plot the concerned cells in the 3D view.
55. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


56. Close the dialog box.
Save Project
57. Go to File -> Save Project As <tutorial5> and press <Enter> to save mesh and template files in the "_mesh" subfolder.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

TUTORIAL 7. Wind Turbine

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.

AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a wind turbine. It makes exclusive use of AutoGrid5™  and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
define the blade periodicity;
define pseudo shroud and upstream/downstream limit;
control meridional flow paths;
control far field;
generate and optimize the blade-to-blade (dedicated O4H High Staggered topology) mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh.

Prerequisites
This tutorial does not require any prior knowledge.
Problem Description
This problem considers the generic wind turbine as shown below. The turbine includes 3 blades, rotating with a speed of 15 RPM. The absolute velocity at the inlet is 10 m/s.


Preparation
Start AutoGrid5 v13.1:

For Linux systems, you can access the AutoGrid5™  graphical user interface directly with the following command line:igg -niversion 131 -autogrid5 -printorigg -niversion autogrid131 -autogrid5 -print


For WINDOWS systems, you can access the IGG™  graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/IGG-AutoGrid5 or /Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.

 


You are now ready to start the grid generation process and mesh the Wind Turbine configuration!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.
Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.

                             2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.

                3. Go to File -> New Project.
            
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.


Load Geometry
6. Locate and select "windturbine.geomTurbo" (geometry defined in [Meter]) in the dialog box and click Open. (Where to Find the Files Used in the Tutorials?). Click ok in both warning dialog boxes informing that a discontinuity of 90 degrees has been detected in the hub.



The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row(s) definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud, seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points and the channel curves defined as a composite of basic curves.
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter(s) are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

Mesh Wizard
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
8. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



9. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode  
to the default value.
The wizard is divided in 8 steps:

the geometry check (optional),
the machine characteristics definition,
the pseudo shroud definition,
the gap and fillet definition,
the flow path definition,
the far field definition,
the blade-to-blade mesh definition,
the end of the initialization.


10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details in AutoGrid5™  User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).


12. Select Wind Turbine as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <3>, press <Enter> to confirm.
14. Select Rotor.
15. Enter <-15> in Rotation Speed (rpm).
 

This speed will be transferred to the FINE™  graphical user interface and ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

16. Click Next in the dialog box to start the pseudo shroud definition and the upstream/downstream limits (step 3).

AutoGrid5™  automatically creates a horizontal pseudo shroud located at a radius (Rshroud) defined by:



with  as the maximum of the minimum blade radii computed on leading and trailing edge and  is the minimum of the maximum blade radii computed on leading and trailing edge.
 
The normalized parameters Upstream Location and Downstream Location are used to locate the inlet and outlet of the domain using the blade location  and the minimum of the maximum blade radii computed on leading and trailing edge () as normalization value: 















17. Define Shroud R Value = <1.0> <Enter>.
18. Define Upstream Location = <-10.0> <Enter>.
19. Define Downstream Location = <25.0> <Enter>.


20. Click Next>> in the dialog box to  start the gap and fillet definition (step 4).
21. Keep all data unchanged (no gap or fillet).
22. Click Next>> in the dialog box to start the flow path definition (step 5).
23. Set Spanwise Grid Point Number to <149> (corresponding to the flow paths number) in the Layer Control dialog box.
24. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends locating the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=10 m/s; Lref=0.25 m; ν=1.43e-5 m²/s. Assuming one wishes to get y+ around 1 at the wall, it turns out that y = 1 x 10-5 m.
Input the value of the Wall Cell Width = <1e-5> [Meters] <Enter> in the Layer Control dialog box.


25. Click Next>> in the dialog box to start the far field definition (step 6).

The far field limit is controlled by the Far Field Thickness parameter normalized with the  (minimum of the maximum blade radii computed on leading and trailing edge):





In addition, the number and the distribution of the layers in the far field can be modified.

26. Set Spanwise Grid Point Number to <65> (corresponding to the flow paths number in the far field) in the dialog box.
27. Set Percentage Constant Cell to <33>.
28. Define Far Field Thickness = <5.0> <Enter>.


29. Click Next>> in the dialog box to start the blade-to-blade definition (step 7).
30. Set the Number of Points (of the 3D mesh) around 4,000,000 by clicking the << or >> button in the B2B Control dialog box if necessary.


31. Click Preview B2B to plot the blade-to-blade mesh at mid-span: a Rounded Azimuthal O4H topology is used.

The topology (Rounded Azimuthal) is activated automatically if the blade solid angle at midspan is higher than 45°.




The Rounded Azimuthal O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located below the leading edge;
the outlet block is a H-mesh located above the trailing edge;
the up block is a H-mesh located upstream the blade section;
the down block is a H-mesh located downstream the blade section.


32. Click Finish to end the initialization process (step 8). Click no in order to not generate the 3D mesh.
Automatically, at the end of the wizard procedure, a ZR effect named <Row name> far field is created under Quick Access Pad/Row Definition to control the grid generation process of the domain up to the blade.

                                    33. In the QAP/Row Definition, left-click row 1 and  left-click + <Ctrl> on row 1 far field. Click the Generate 3D button.



You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information regarding the minimum and maximum values of the selected criteria.
Close the quality checkbox.







Once 3D grid generation is completed, a grid quality check is performed and displayed. 
Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.

34. Close the dialog box. The page can be reopened by clicking .
Mesh Visualization
35. Select the View -> View 3D Solid Mesh.
36. Left-click the View 3D button in the toolbar to visualize only the 3D view.
 
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide 3D Solid Mesh.
37. Use the Repetition icon () to toggle the repetition of the channel.


38. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.


Check Boundary Conditions & Mesh Quality


39. Check for boundary conditions by clicking .
40. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.



41. Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for negative cells by clicking .


44. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

45. Click ok and Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check the grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
48. Select block number (0 for all) - <Enter>.
49. Select quality criteria using the Type pull-down menu.
 
50. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).
 
51. Left-click part of the histogram to plot the concerned cells in the 3D view.
52. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.
 
53. Close the dialog box.
Save Project
54. Go to File -> Save Project As <tutorial7> and press <Enter> to save mesh and template files in the "_mesh" subfolder.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

User Guide

Welcome to the AutoGrid5™ User's Guide, a presentation of NUMECA's full automatic hexahedral grid generator for all types of rotating machinery.

Row Class Commands

delete()
block_list()
setGraphicsRepetition(value)
setDefaultGraphicsRepetition()
get_index()
select()
unselect()
load_geometry(geomTurbo_file_name)
The file specified should have the geomTurbo format 4 or 5. Only the row geometry is replaced and not the hub and/or shroud.
add_row_upstream()
add_row_downstream()
zoom_at_inlet(level,location)
Location should be between  -1 and 1.
zoom_at_outlet(level,location)
Location should be between  -1 and 1.
zoom_at_inlet_up(level)
zoom_at_outlet_up(level)
zoom_at_inlet_down(level)
zoom_at_outlet_down(level)
generation_success() 
Returns a boolean value indicating if the 3D generation was successful (1) or not (0). The command does not apply to blade cooling and row end walls.
generation_error_message() 
Returns a string giving some information about the 3D generation failure (i.e. error: cannot compute intersection on all layers). It may be empty even if the mesh generation fails. The command does not apply to blade cooling and row end walls.

Topology Management 

load_topology(file_name)
save_topology(file_name)
copy_topology()
paste_topology()
save_b2b_topology(file_name)
load_b2b_topology(file_name)
row_wizard()
get_bypass_location()
Returns the row type: 0 if normal, 1 if on nozzle, 2 if bypass or 3 if down bypass.

Row Boundaries Access

inlet()
Returns an object of class RSInterface.
outlet()
Returns an object of class RSInterface.
outlet2()
Returns an object of class RSInterface.

Row Technological Effects 3D Access

num_effect3D()
effect3D(i)
new_effect3D()
Returns an object of class TechnologicalEffect3D.

Row Blades Properties

num_blades()
blade(i)
add_blade()
add_hub_gap()
Returns an object of class Gap. If gap does not exist, creates it to all row blades.
add_shroud_gap()
Returns an object of class Gap. If gap does not exist, creates it to all row blades.
get_hub_gap() 
get_shroud_gap()
Return the presence of a gap.
add_hub_fillet()
add_shroud_fillet()

Row Properties

set_name(name)
get_name()
set_clustering(value)
get_clustering()
set_upstream_block_relaxation(a)
get_upstream_block_relaxation()
set_downstream_block_relaxation(a)
get_downstream_block_relaxation()
set_downstream_block_relaxation_before_nozzle(a) (New in AutoGrid5 v13.1)
get_downstream_block_relaxation_before_nozzle() (New in AutoGrid5 v13.1)
set_coarse_grid_level(level, target=250000)
Level specifies the grid level desired; 1 for coarse, 2 for medium, 3 for fine and 4 for user defined.
Target is an optional argument only useful when level==4 and represents the desired number of points.
get_coarse_grid_level()
get_coarse_grid_level_target()
set_streamwise_weight(inlet, outlet, blade)
get_streamwise_weight_inlet()
get_streamwise_weight_blade()
get_streamwise_weight_outlet()
set_periodicity(n)
get_periodicity()	
set_number_of_periodicity_geometry(n)
get_number_of_periodicity_geometry()
set_rotation_speed(rotation_speed)
get_rotation_speed()
enable_full_mesh_generation()
disable_full_mesh_generation()
get_full_mesh_generation()	
set_number_of_meshed_passage(value) 
Imposes number of meshed passages.
get_number_of_meshed_passage()
is_a_tandem_row()
is_a_tandem_row_with_next()
is_a_tandem_row_with_previous()
is_not_a_tandem_row()
get_is_a_tandem_row()

Row Hub/Shroud Non-Axisymmetric

set_non_axisymmetric_hub(a)
get_non_axisymmetric_hub()
set_non_axisymmetric_hub_repair_damage(a)
get_non_axisymmetric_hub_repair_damage()
set_non_axisymmetric_hub_projection_type_face_normal()
get_non_axisymmetric_hub_projection_type_face_normal()
set_non_axisymmetric_hub_projection_type_spanwise_grid_line()
set_non_axisymmetric_hub_repetition(value)
get_non_axisymmetric_hub_repetition()
set_non_axisymmetric_shroud(a)
get_non_axisymmetric_shroud()
set_non_axisymmetric_shroud_repair_damage(a)
get_non_axisymmetric_shroud_repair_damage()
set_non_axisymmetric_shroud_projection_type_face_normal()
get_non_axisymmetric_shroud_projection_type_face_normal()
set_non_axisymmetric_shroud_projection_type_spanwise_grid_line()
set_non_axisymmetric_shroud_repetition(value)
get_non_axisymmetric_shroud_repetition()
set_non_axisymmetric_hub_display(a)
set_non_axisymmetric_shroud_display(a)
a = 1, draw non axisymmetric surface if it is not drawn.
a = 0, remove non axisymmetric surface drawing if it is drawn.

Row Shroud Gap Non-Axisymmetric

set_non_axisymmetric_tip_gap(a)
get_non_axisymmetric_tip_gap()
set_non_axisymmetric_tip_gap_repair_damage(a)
get_non_axisymmetric_tip_gap_repair_damage()
set_non_axisymmetric_tip_gap_repetition(value)
get_non_axisymmetric_tip_gap_repetition()
set_non_axisymmetric_tip_gap_display(a)
a = 1, draw non axisymmetric surface if it is not drawn.
a = 0, remove non axisymmetric surface drawing if it is drawn.

Row Snubber

add_snubber()
Returns an object of class Snubber.
get_number_of_snubbers()
snubber(index)
Returns an object of class Snubber.
Index is the index of the snubber of the selected row, starting from 1.

Row Hub/Shroud Solid Mesh

hub_end_wall()
shroud_end_wall()
add_hub_end_wall()
add_shroud_end_wall()	 

Flow Paths Control

set_flow_path_control_hub_clustering(value)
get_flow_path_control_hub_clustering()
set_flow_path_control_shroud_clustering(value)
		get_flow_path_control_shroud_clustering()
set_flow_path_control_cst_cells_number(value)
get_flow_path_control_cst_cells_number()
set_flow_path_control_control_point_number(value)
get_flow_path_control_control_point_number()
set_flow_path_control_intermediate_point_number(value)
get_flow_path_control_intermediate_point_number()
set_flow_path_control_smoothing_steps(value)
get_flow_path_control_smoothing_steps()
set_flow_path_control_distribution_smoothing_steps(value)
get_flow_path_control_distribution_smoothing_steps(()
set_flow_path_control_hub_distribution_uniform()
set_flow_path_control_hub_distribution_curvature()
get_flow_path_control_hub_distribution()
set_flow_path_control_shroud_distribution_same()
set_flow_path_control_shroud_distribution_projection()
set_flow_path_control_shroud_distribution_minimal_distance()
get_flow_path_control_shroud_distribution()
set_row_flow_path_number(value)
get_row_flow_path_number()
get_inlet_flow_path_control_section()
Returns an object of class FlowPathControlSection to allow manual flow paths control.
get_outlet_flow_path_control_section()
Returns an object of class FlowPathControlSection to allow manual flow paths control.
get_outlet2_flow_path_control_section()
Returns an object of class FlowPathControlSection to allow manual flow paths control.
get_z_cst_line_flow_path_control_section(index)
Returns an object of class FlowPathControlSection to allow manual flow paths control.
Index is the index of the row z cst line, starting from 1. For a fan upstream nozzle, z cst lines are accessed by Index in the following order: z cst lines before nozzle, lower z cst line on nozzle, upper z cst line on nozzle, lower z cst lines after nozzle and upper z cst lines after nozzle.
generate_flow_paths()   

B2B Control

initialize_blades_reference_angle() 
Initializes the blade reference angle for all the blades of the row.

Optimization

set_row_optimization_steps(number_of_steps)
get_row_optimization_steps()
set_row_optimization_steps_in_gap(number_of_steps)
get_row_optimization_steps_in_gap()
set_row_full_multigrid_optimization_steps(value)
get_row_full_multigrid_optimization_steps()
set_row_optimization_skewness_control(value)
Value should be "0" or "no", "1" or "medium", "2" or "yes".
get_row_optimization_type()
set_row_optimization_skewness_control_in_gap(value)
Value should be "0" or "no", "1" or "medium", "2" or "yes".
get_row_optimization_type_in_gap()
set_row_optimization_orthogonality_control(value)
Value should be between 0 and 1.
get_row_optimization_orthogonality_control()		
set_row_optimization_orthogonality_control_in_gap(value)
Value should be between 0 and 1.
get_row_optimization_orthogonality_control_in_gap()		
set_row_optimization_wake_control(value)
Value should be between 0 and 1.
get_row_optimization_wake_control()
set_row_bnd_optimization_steps(number_of_steps)
get_row_bnd_optimization_steps()
set_row_optimization_multigrid_control(value)
Value should be "yes" or "no".
get_row_optimization_multigrid_control()
set_row_optimization_nmb_control(value)
Value should be between 0 and 1.
get_row_optimization_nmb_control()
set_row_straight_bnd_control(value)
Value should be "0" or "1".
get_row_straight_bnd_control()
set_row_multisplitter_bnd_control(value)
Value should be "0" or "1".
get_row_multisplitter_bnd_control()
set_row_optimization_freeze_skin_mesh(value)
Value should be "0" or "1".
get_row_optimization_freeze_skin_mesh()

3D Mesh Control

set_span_interpolation(value)
Value should be between 0 and 100.
get_span_interpolation()
set_untwist_upstream_block(a)
get_untwist_upstream_block()
set_untwist_upstream_block_stream_location(value)
Value should be between 0 and 100.
get_untwist_upstream_block_stream_location()
set_untwist_downstream_block(a)
get_untwist_downstream_block()
set_untwist_downstream_block_stream_location(value)
Value should be between 0 and 100.
get_untwist_downstream_block_stream_location()
set_hub_gap_interpolation(a)
get_hub_gap_interpolation()
set_hub_gap_interpolation_span_location(value)
Value should be between 0 and 100.
get_hub_gap_interpolation_span_location()
set_shroud_gap_interpolation(a)
get_shroud_gap_interpolation()
set_shroud_gap_interpolation_span_location(value)
Value should be between 0 and 100.
get_shroud_gap_interpolation_span_location()
set_enforce_cell_width_at_blade_wall(a)
get_enforce_cell_width_at_blade_wall()
set_swap_blade_patches_name(a)
get_swap_blade_patches_name():

Conjugate Heat Transfer

By default AutoGrid5™ generates the mesh of the core flow around the blades including the hub and shroud gap area. The conjugate heat transfer module allows the mesh generation of the solid body of the blade and the end walls.

Fillet Class Commands

select()
Selects the current blade fillet item.
delete()
Deletes the current blade fillet item.


set_radius_at_leading_edge(value)
get_radius_at_leading_edge()
Sets or returns the fillet radius assigned at the blade leading edge (more details in Blade Fillet: Spanwise Parameters:Radius At Leading Edge). 
set_radius_at_trailing_edge(value)
get_radius_at_trailing_edge()
Sets or returns the fillet radius assigned at the blade trailing edge (more details in Blade Fillet: Spanwise Parameters:Radius At Trailing Edge. 
set_minimum_angle(value)
get_minimum_angle()
Sets or returns the minimum angle used to treat the fillet geometry when the B2B section offset method is used (more details in Blade Fillet: Geometry Creation Method:Minimum Angle).
set_clustering(value)
get_clustering()
Sets or returns the spanwise cell with (value) at the junction between the straight blade and the fillet (at the hub or shroud according to the fillet type) on all the control lines before the leading edge and after the trailing edge (more details in Blade Fillet: Spanwise Parameters:Cell Width At Leading Edge and Spanwise Parameters:Cell Width At Trailing Edge)
set_clustering_at_leading_edge(value)
get_clustering_at_leading_edge()
Sets or returns the spanwise cell with (value) at the junction between the straight blade and the fillet (at the hub or shroud according to the fillet type) on all the control lines before the leading edge (more details in Blade Fillet: Spanwise Parameters:Cell Width At Leading Edge).
set_clustering_at_trailing_edge(value)
get_clustering_at_trailing_edge()
Sets or returns the spanwise cell with (value) at the junction between the straight blade and the fillet (at the hub or shroud according to the fillet type) on all the control lines after the trailing edge (more details in Blade Fillet: Spanwise Parameters:Cell Width At Trailing Edge).
set_clustering_from_spanwise_channel_height(value)
Computes the spanwise cell width from a spanwise channel height percentage (value) at the junction between the straight blade and the fillet  (at the hub or shroud according to the fillet type) respectively at the leading edge for all the control lines before the leading edge and at the trailing edge for all the control lines after the trailing edge. Value is a percentage of the channel spanwise height [0-100]. 
set_constant_cell_number(value)
get_constant_cell_number()
Sets or returns the number of cells of spanwise constant size in the fillet region of the channel (more details in Blade Fillet: Spanwise Parameters:Percentage of Mid-flow Cells). Value is a percentage of the fillet spanwise height [0-100].
set_number_of_points_in_spanwise_direction(value)
get_number_of_points_in_spanwise_direction()
Sets or returns the number of points in the fillet region in the spanwise direction (more details in Blade Fillet: Spanwise Parameters:Number of Points).
enable_defined_shape()
disable_defined_shape()
Controls the use of an external file to define the fillet meridional curve (more details in Blade Fillet: Spanwise Parameters:Defined Shape).
define_shape(curve_file_name)
Links a geometry file (curve_file_name) to the fillet meridional curve when it is defined from an external file. This geometry file is a curve in native IGG™ format with extension ".dat" (XYZ or ZR coordinates).
get_defined_shape()
Returns if the fillet meridional curve is defined or not from an external file for the current blade fillet item.
set_butterfly_topology(value)
Activates/deactivates the butterfly topology in the fillet region (more details in Blade Fillet: Topology:Butterfly). Value is set to 0 (deactivate) or 1 (activate). 
get_butterfly_topology()
Returns if the butterfly topology is applied or not in the current blade fillet item.
set_butterfly_radial_number_of_points(value)
get_butterfly_radial_number_of_points()
Sets or returns the radial number of points in the buffer blocks of the butterfly topology in the fillet region (more details in Blade Fillet: Topology:Butterfly Radial Number of Points).
set_create_geometry(value)
Sets the fillet geometry creation method when the butterfly topology is applied in the fillet region (more details in Blade Fillet: Geometry Creation Method). Value is set to 0 (when None), 1 (when From meridional curve), 2 (when Constant radius) or 3 (when B2B section offset).
get_create_geometry()
Returns the geometry creation method of the current blade fillet item when the butterfly topology is applied: 0 (when None), 1 (when From meridional curve) or 2 (when Constant radius).
set_constant_radius(value)
get_constant_radius()
Sets and returns the radius of the sphere used to build the fillet geometry when the butterfly topology and the Constant radius method are selected (more details in Blade Fillet: Geometry Creation Method).

B2B Cut

AutoGrid5™ allows to extract a blade to blade template and mesh (two layers in spanwise direction) from a 3D template (license key required). Click on the Quick Access Pad/Row Definition/Add B2B Cut button to add a new folder B2B Cut containing an item B2B Cut 1 in the project tree. Right click on that item to open a contextual menu.
The B2B cut is not available for bypass configuration since the B2B cut is applied on all the rows, this can not work in a bypass configuration with a common span position.


Edit B2B Cut
Select Edit to open the B2B Cut Definition dialog box. This dialog box is used to define the cut geometry based on two parameters:

Spanwise Location. The user can set the spanwise location of the cut geometry based on the percentage value. The total span is considered as 100.0. By default the Spanwise Location is set to 50.0, which is located at the mid span.
Spanwise Width. The width of the cut geometry is given as a percentage of the local spanwise width. Therefore, the width of the mesh can change along the streamwise direction.



FIGURE 4 Blade to blade cut at middle span
In case the flow path is already generated for all the rows, the cut definition is automatically displayed in the meridional view with yellow lines. Two yellow lines define the domain of the expected B2B mesh. These lines are derived from the flow paths definition of the 3D template and are controlled by the two parameters: spanwise location and width.


FIGURE 5 Blade to blade cut with 20% of span width
Delete B2B Cut
The menu item Delete is used to remove the B2B cut definition from the template. 
 All the files related to the B2B cut are NOT removed from the disk.
Create B2B Cut
The menu item Create is used to start the generation of the new template, which will be used to create the B2B mesh. An error message is displayed if the selected flow path is not generated for all the rows.


A new directory is created using the name of the main template as prefix. In this directory, AutoGrid5™ saves the new template derived from the main geometry but with a new hub and shroud definition, based on the curves defined by the B2B Cut Definition dialog box. The new template is automatically loaded and can be used to create the B2B mesh. 
 Before starting the blade to blade cut geometry creation, the current AutoGrid5™ template must be saved. 
 The hub and shroud patches of the mesh are defined as mirror boundary condition.

Running a Script File
Script files can be run from the command line or directly through a python interpreter. 

From the command line, a script can be run by launching AutoGrid5™ with the -script option. For example: igg -autogrid5 -script my_script.py. AutoGrid5™ will execute the script and then open the graphical user interface.
When running a script from the command line, it is possible to execute a process in batch mode, avoiding the use of the GUI. The -batch option is executed as: igg -autogrid5 -batch -script my_script.py. The option -real-batchis an additional option to allow batch mode to be executed without the need of a display and is used as: igg -autogrid5 -real-batch -script my_script.py.
IGG™ scripts and AutoGrid5™ scripts are not interchangeable.

3D Generation


The 3D mesh of a turbomachinery configuration is easily started and automatically generated by AutoGrid5™ using the Generation Control dialog box appearing after clicking on the top menu bar button Generate 3D in Expert Mode or directly the button Generate 3D in Basic Mode. The 3D generation can be aborted using the button Abort displayed after the beginning of the 3D generation. At the end of the generation, the multiblock structured mesh can be displayed in the 3D view of the graphics area for quality analysis. 


FIGURE 1 3D generation
Before generating the 3D mesh, the blade-to-blade mesh should be generated on hub and shroud in order to apply an automatic reset of the expansion ratio when necessary.

Leading/Trailing Edge Wizard
The leading and trailing edge curves can be defined by the user by adding a wizard to the solid body through the menu Add Wizard LE TE. This menu will add an item Wizard LE TE in the solid body configuration tree. More details are available in section Leading/Trailing Edge Wizard.

Hole Class Commands

select()
	delete()
setName(value)
getName()

Hole Location Control
Parametric Mode (all hole type excepted grooves)	

set_spanwise_location(value,highlight=1)
get_spanwise_location()
set_streamwise_location_from_leading_edge(value,highlight=1)
get_streamwise_location_from_leading_edge()
set_streamwise_location_from_trailing_edge(value,highlight=1)
get_streamwise_location_from_trailing_edge()
set_streamwise_location_on_chord_length(value,highlight=1)
get_streamwise_location_on_chord_length()

XYZ Mode	

set_x_location(value,highlight=1)
get_x_location()
set_y_location(value,highlight=1)
get_y_location()
set_z_location(value,highlight=1)
get_z_location()
set_x2_location(value,highlight=1)
get_x2_location()
set_y2_location(value,highlight=1)
get_y2_location()
set_z2_location(value,highlight=1)
get_z2_location()

RTHZ Mode	

set_r_location(value,highlight=1)
get_r_location()
set_theta_location(value,highlight=1)
get_theta_location()
set_z_location(value,highlight=1)
get_z_location()
set_r2_location(value,highlight=1)
get_r2_location()
set_theta2_location(value,highlight=1)
get_theta2_location()
set_z2_location(value,highlight=1)
get_z2_location()

Hole Axis Control
Parametric Mode (all hole type excepted grooves)	

set_streamwise_angle(value,highlight=1)
get_streamwise_angle()
set_spanwise_angle(value,highlight=1)
get_spanwise_angle()

XYZ Mode (all hole type excepted grooves)	

set_x_axis(value,highlight=1)
get_x_axis()
set_y_axis(value,highlight=1)
get_y_axis()
set_z_axis(value,highlight=1)
get_z_axis()

RTHZ Mode (all hole type excepted grooves)	

set_r_axis(value,highlight=1)
get_r_axis()
set_theta_axis(value,highlight=1)
get_theta_axis()
set_z_axis(value,highlight=1)
get_z_axis()

Hole Dimension Control

set_depth(value,highlight=1)
get_depth()

Circular Shape	

set_diameter(value,highlight=1)
get_diameter()

Rectangular/Oval Shape	

set_width(value,highlight=1)
get_width()

Grooves (Parametric Mode)	

set_heigth(value,highlight=1)
get_heigth()

Quadrilateral Shape (4-Sided)	

set_holes_p1x(value,highlight=1)
get_holes_p1x()
set_holes_p2x(value,highlight=1)
get_holes_p2x()
set_holes_p3x(value,highlight=1)
get_holes_p3x()
set_holes_p4x(value,highlight=1)
get_holes_p4x()
set_holes_p1y(value,highlight=1)
get_holes_p1y()
set_holes_p2y(value,highlight=1)
get_holes_p2y()
set_holes_p3y(value,highlight=1)
get_holes_p3y()
set_holes_p4y(value,highlight=1)
get_holes_p4y()

Hole Orientation Control

set_orientation_angle(value,highlight=1)
get_orientation_angle()

Python Script


Scripts are available in AutoGrid5™, like in IGG™, through the object-oriented Python language. For a more complete description of python language and generic commands, see the Scripts.
Specific commands are dedicated to AutoGrid5™ and are described here after. More details on the available python commands are available in the file "AUTOGRID.py" provided in the NUMECA distribution after installation (i.e. under Windows, the file is available in "~/_python/_autogrid/").
The supported Python version is 2.7 on Windows/Linux.
By default, French accents cannot be included in a script except if the string # coding=utf-8 is added as first line of the script.

TechnologicalEffect3D Class Commands

select()
	delete()
start_editing() (New in AutoGrid5 v13.1)
stop_editing() (New in AutoGrid5 v13.1)
block_list()
			set_name(name)
load_geometry(file_name)
	load_topology(name)
save_topology(name)
		copy_topology()
paste_topology()
link_geometry(curve_names, surface_names)
Curve_names and surface_names should be a list, even if it is composed of only 1 element (use [ ]).

BasinHole Class Commands

select()
delete()

Geometry Control

reset_parametrization_up()
reset_parametrization_down()
enable_parametric_location()
enable_XYZ_location() (New in AutoGrid5™ v13.1)

Switch from parametric to geometrical definition.

set_parametric_streamwise_location(value)
get_parametric_streamwise_location()

Set the location (% mean line).

set_parametric_azimutal_deviation(value)
get_parametric_azimutal_deviation()

Set the location (% width).

set_anchor_points_x_coordinate(value)
get_anchor_points_x_coordinate()
set_anchor_points_y_coordinate(value)
get_anchor_points_y_coordinate()
set_anchor_points_z_coordinate(value)
get_anchor_points_z_coordinate()

Set the anchor point of the axis of the radial hole.

set_axis_x_coordinate(value)
get_axis_x_coordinate()
set_axis_y_coordinate(value)
get_axis_y_coordinate()
set_axis_z_coordinate(value)
get_axis_z_coordinate()

Set the axis of the radial hole.

set_diameter(value)
get_diameter()

Set the diameter of the radial hole or the penny.

set_rotation_angle(value)
get_rotation_angle()

Set the blade rotation angle of the penny.

set_width(value)
get_width()

Set the width of the separator.
Mesh Control

set_number_of_points_in_bnd_layer(value)
get_number_of_points_in_bnd_layer()

Set the number of grid points in the radial direction (Number of Point Along Radius).

set_number_of_points_on_hole_side(value)
get_number_of_points_on_hole_side()

Set the number of grid points along the side (Number of Point Along Sides).

set_boundary_optimization_steps(value)
get_boundary_optimization_steps()

Set the number of boundary smoothing steps.

set_optimization_steps(value)
get_optimization_steps()

Set the number of optimization steps.

set_streamwise_mesh_resolution(value) (New in AutoGrid5™ v13.1)
get_streamwise_mesh_resolution() (New in AutoGrid5™ v13.1)

Set the streamwise mesh resolution.

Connection with Main Blade Channel
Connection Types
The connections between the main blade channel row meshes and the mesh created into a ZR technological effect domain are full non-matching by default. To obtain a matching connection, control lines must be added automatically (Add Matching Z Cst Lines) or manually (Meridional Control) at the connection points between the meridional effect and the main blade channel and the wall cell width imposed in the ZR technological effect should be applied to the control lines.


FIGURE 18 Connection with main blade channel
When the option FNMB:Periodic is active (by default), a periodic full non matching connection with repetition (Grid Menu) will be created between the ZR effect and the mesh channel to improve the mesh quality in the ZR effect.
To improve non-matching connections, it is advised to add control lines at the connection points and to switch to None their B2B Control(FIGURE 5).
When the grid points distributions in the streamwise direction in the blade row mesh is too coarse at the connection level, mesh overlaps can appear in the mesh of the connected effect. To avoid this, the number of points in the row can be increased or matching connection must be used.


FIGURE 19 Mesh problem with non-matching connection
If the control lines are correctly set, the matching connection can be ensured for all the connection types:


FIGURE 20 Connection types
When the technological effect is just representing the far field and the connection is matching between the technological effect and the blade channel, it is recommended to create manually the blocking by just using one block for the whole far field per row instead of using the automatic blocking that will generate a topology with more blocks. When more than one block, mesh generation problems may occur in the zr effect because the blade channel mesh will be extruded in the far field zr effect block(s).
When the technological effect is defined above the leading edge of the blade, it is only possible to ensure a matching connection between the technological effect and the blade channel if only one block is defined in the spanwise direction in the technological effect above the blade leading edge.
In case of blunt edges, to enforce a matching connection between the channel blade and the ZR effect, the option ZCst line at Leading/Trailing Edge is actived in the Mesh page of the Define B2B Topology for Active Blade dialog box (Blunt at Leading/Trailing Edge). At the end of the 3D generation, the hub and the shroud patches of the mesh are divided (dots) at the leading and/or trailing edge. When editing the ZR effect, new points (dots) are displayed to attract the block vertices of the ZR effect at the exact point. Finally in the blade channel it is recommended to add meridional control lines (Zcst line) manually at the leading and/or the trailing edge(s) with B2B control set to none (Properties) to improve the flow paths definition and to avoid gaps or overlaps between the ZR effect and the blade channel in case of highly curved hub or shroud curve.. 


FIGURE 21 Block management with the control points
Multiple Connections
Some of the technological effects have several connections with the main blade channel, i.e. a seal leakage have a connection upstream the blade and a connection downstream the blade. 


FIGURE 22 Multiple connections with main blade channel
In this case the mesh created inside the domain of the effect is divided into two parts: one starting from the inlet and one starting from the outlet. At the middle part of the seal leakage, a line must be defined indicating the location of the division. At this line (Rotor/Stator Polyline), defined in the edit mode (FIGURE 6), the two parts of the mesh will be connected by default by a non-matching periodic connection if the connections with the main blade channel are related to the same row (case 1 in FIGURE 22) but matching, periodic matching or full non matching periodic connection can be enforced, or a rotor/stator interface if the connections with the main blade channel are related to different rows (case 2 in FIGURE 22).
At the connection line (Rotor/Stator Polyline) the following rules should be respected:

Block connection must be established on the separation lines and the mapping of vertices respected (no orphan vertices).




The 2D blocks should be connected to the rotor/stator polyline with a complete edge and not with only one vertex or a partial edge.

Edit Mode
An editing session is divided into three main steps.

Partial Gap Class Commands

select()
delete()
set_chord_length_at_leading_edge(value)
get_chord_length_at_leading_edge()
set_chord_length_at_trailing_edge(value)
get_chord_length_at_trailing_edge()
set_number_of_points_at_leading_edge(value)
get_number_of_points_at_leading_edge()
set_number_of_points_at_trailing_edge(value)
get_number_of_points_at_trailing_edge()
set_streamwise_cell_width(value)
get_streamwise_cell_width()
set_clustering_relaxation(value)
get_clustering_relaxation()
set_width_at_leading_edge(value)
get_width_at_leading_edge()
set_width_at_trailing_edge(value)
get_width_at_trailing_edge()
set_spanwise_cell_width(value)
get_spanwise_cell_width()
set_constant_cell_number(value)
get_constant_cell_number()
set_number_of_points_in_spanwise_direction(value)
get_number_of_points_in_spanwise_direction()
enable_defined_shape()
disable_defined_shape()
define_shape(curve_file_name)
get_defined_shape()
enable_definition_by_cylinder()
Enable a partial hub or shroud gap to be defined by a cylinder.
disable_definition_by_cylinder()
Disable a partial hub or shroud gap to be defined by a cylinder.
get_definition_by_cylinder()
Return a boolean to check whether a partial hub or shroud gap defined by a cylinder is enabled (1) or disabled (0).
set_cylinder_diameter(value)
Set the diameter of the cylinder defining the partial hub or shroud gap.
get_cylinder_diameter()
Get the current value of the cylinder diameter used for a partial hub or shroud gap.
set_cylinder_axis(x,y,z)
Set the axis of the cylinder defining the partial hub or shroud gap.
get_cylinder_axis()
Return a Point(list[0],list[1],list[2]) with the current cylinder axis used for a partial hub or shroud gap.
set_cylinder_origin(x,y,z)
Set the origin of the cylinder defining the partial hub or shroud gap.
get_cylinder_origin()
Return a Point(list[0],list[1],list[2]) with the current cylinder origin used for a partial hub or shroud gap.

TechnologicalEffectZR Class Commands

select()
delete()
start_editing() (New in AutoGrid5 v13.1)
stop_editing() (New in AutoGrid5 v13.1)
block_list()
set_name(name)
get_name()
set_parameters(expMax,w,opt,cst,exp,opt2,per,coarse,tol,p,rs1,rs2,rs3)
expMax : maximum expansion ratio in boundary layer, along boundary and general
w : wall cell width
opt : smoothing steps
cst : percentage constant cell
exp : radial expansion
opt2 : far field smooth smoothing steps
per : periodic fnmb
coarse : coarse grid level
tol : connection tolerance
p : propagate theta deviation
rs1 : connection at rotor-stator polyline is periodic FNMB. If set to 1, rs2 and rs3 will not be considered
rs2 : connection at rotor-stator polyline is matching (1) or non-matching (0)
rs3 : connection at rotor-stator polyline is periodic (1) or non-periodic (0)
Example: technologicalEffectZR(1).set_parameters(1.4,0.000001,100,50,1,200,1,5,1e-12,0,0,0,1)
set_type(i)
set_rotating_boundaries_rotation_speed(i)
set_automatic_connection(i)
set_automatic_number_of_points(i)
set_maximum_expansion_ratio(i)
Sets maximum expansion ratio in boundary layer, along boundary and general.
set_maximum_expansion_ratio_general(i)
set_maximum_expansion_ratio_in_boundary_layer(i)
set_maximum_expansion_ratio_along_boundary(i)
set_clustering_relaxation_angle(i)
set_solid_wall_clustering(i)
set_number_of_smoothing_steps(i)
set_constant_cells_percentage(i)
set_radial_expansion(i)
set_smoothing_steps_far_field(i)
set_periodic_fnmb_row_connexion(i)
set_number_of_grid_levels(i)
set_tolerance(i)
set_theta_deviation_propagation(i)
set_azimuthal_number_of_points(i)
set_periodic_fnmb_connexion_at_rs(i)
set_periodic_connexion_at_rs(i)
set_matching_connexion_at_rs(i)
set_H_topology_around_corners(i) (New in AutoGrid5 v13.1)
set_H_topology_around_thin_films(i) (New in AutoGrid5 v13.1)
get_type()
get_rotating_boundaries_rotation_speed()
get_automatic_connection()
get_automatic_number_of_points()
get_maximum_expansion_ratio()
get_maximum_expansion_ratio_general()
get_maximum_expansion_ratio_in_boundary_layer()
get_maximum_expansion_ratio_along_boundary()
get_clustering_relaxation_angle()
get_solid_wall_clustering()
get_number_of_smoothing_steps()
get_constant_cells_percentage()
get_radial_expansion()
get_smoothing_steps_far_field()
get_periodic_fnmb_row_connexion()
get_number_of_grid_levels()
get_tolerance()
get_theta_deviation_propagation()
get_azimuthal_number_of_points()
get_periodic_fnmb_connexion_at_rs()
get_periodic_connexion_at_rs()
get_matching_connexion_at_rs()
get_H_topology_around_corners() (New in AutoGrid5 v13.1)
get_H_topology_around_thin_films() (New in AutoGrid5 v13.1)
detect_unmapped_edges() (New in AutoGrid5 v13.1)
Returns the number of unmapped edges.
technoEffectmeridional_toggle_grid_rep()
generation_success() 
Returns a boolean value indicating if the 3D generation was successful (1) or not (0).
generation_error_message()
Returns a string giving some information about the 3D generation failure (i.e. cannot establish connection with blade channel). It may be empty even if the mesh generation fails.

Cooling & Conjugate Heat Transfer Modules


This chapter describes the conjugate heat transfer and the cooling capabilities included in AutoGrid5™:

The conjugate heat transfer (CHT) capability allows the mesh generation of the blade and the end wall solid bodies. 
The cooling capability allows the mesh generation of basin, basin holes, blade holes, end wall holes and cooling channel with pins fins and ribs.

The module is only compatible with the default O4H topology on single blade configuration and thus not for splitter(s) or tandem rows configuration

WizardLETE Class Commands

select()
delete()
generate(replace_le=1,replace_te=1)
set_layer_upstream_hub_location(value,update=0)
get_layer_upstream_hub_location()
set_layer_downstream_hub_location(value,update=0)
get_layer_downstream_hub_location()
set_layer_upstream_shroud_location(value,update=0)
get_layer_upstream_shroud_location()
set_layer_downstream_shroud_location(value,update=0)
get_layer_downstream_shroud_location()
set_layer_hub_clustering(value,update=0)
get_layer_hub_clustering()
set_layer_shroud_clustering(value,update=0)
get_layer_shroud_clustering()
set_layer_number(value,update=0)
get_layer_number()
set_layer_number_of_control_points(value,update=0)
get_layer_number_of_control_points()
set_layer_number_of_constant_cells(value,update=0)
get_layer_number_of_constant_cells()
last_section_is_used()
last_section_is_not_used()
is_last_section_used()
first_section_is_used()
first_section_is_not_used()
is_first_section_used()
set_blade_normal_type()
set_blade_very_low_angle_type()
set_blade_very_high_angle_type()
get_blade_type()
set_hub_expansion(value,update=0)
get_hub_expansion()
set_shroud_expansion(value,update=0)
get_shroud_expansion()
set_leading_edge_location(layer,value,update=0)
get_leading_edge_location(layer)
set_trailing_edge_location(layer,value,update=0)
get_trailing_edge_location(layer)
set_chord_tolerance_at_le(value,update=0)
get_chord_tolerance_at_le()
set_chord_tolerance_at_te(value,update=0)
get_chord_tolerance_at_te()
set_iteration_steps(value,update=0)
get_iteration_steps()

Edit Mode
The meridional mesh of a technological effect is build into the edit mode available through the Edit menu item of the contextual menu open when right click on a 3D technological effect of the tree. The Quick Access Pad is updated to access the features needed to create the 3D mesh. The graphical area displays in the 3D view all the curves and surfaces linked to the effect and the row mesh related to the effect.


FIGURE 2 Start edit mode
All the operations performed during an editing session are stored into a script. The grid generation options available in the Quick Access Pad are fully described in the IGG™ User Manual. 
The mesh generation of a 3D technological effect is performed by creating structured blocks used to fill the domain covered by the effect.


FIGURE 3 Effect domain and mesh
The edit mode is left by clicking on the Close Edit Mode button.

Internal Offset Shape Control
In a cooled turbine blade, basin and internal cooling channel area are defined by a unique offset surface area of the blade. The squealer tips are defined in a similar way.
The geometry definition of the offset surface is done using the Cooling Geometry Definition dialog box available when right-clicking on Solid Body in the configuration tree and selecting the Define Internal Geometry menu.


The surface(s) defining the internal lateral cooling area and the basin can be defined as a blade definition from:

a parametric definition using the blade definition as reference.
an external ".geomTurbo" file.
an external CAD data file.

Parametric Mode

By default when a cooling wall has been defined, AutoGrid5™ is using a parametric definition for the cooling wall. The default parameters can be modified in the Cooling Geometry Definition dialog box.


The user can control the shape of the offset (by left-clicking on the entity when highlighted in red) and the type of offset at the trailing edge (Blunt Trailing Edge option). If the blade to blade generation has already been performed, the new curve defining the offset is automatically displayed in the blade to blade view.
In addition, the Control Points Number along the chord used to defined the offset can be also modified.
The shape of the offset area is defined according to starting and ending distance along the chord and the width is computed normally to the chord definition. 
External ".geomTurbo" File
If the internal offset surface is defined using a ".geomTurbo" file, the option From External Data has to be activated. 


When clicking on the Load a Geometry File button, a file chooser allows to select an external AutoGrid4™ ".geomTurbo" native file. If the offset definition is blunt, an automatic blending (using circular shape) can be performed to close the cooling wall surface (Blend at Leading/Trailing Edge options).
A geometry check can be performed when clicking on the Check Geometrybutton to detect possible problems in the geometry definition.
External CAD Data File
If the internal offset surface is defined using an external CAD file, the option From External Data has to be activated.


When clicking on the Load a Geometry File button, a file chooser allows to select an external CAD file. After the selection, the Import CAD window displays the data and the manual linking must be performed to define the blade surfaces, the leading edge and the trailing edge as for the blade definition.
If the offset definition is blunt, an automatic blending (using circular shape) can be performed to close the cooling wall surface (Blend at Leading/Trailing Edge options)
A geometry check can be performed when clicking on the Check Geometrybutton to detect possible problems in the geometry definition.

Cooling Channel Class Commands

select()
pinFinsChannel(i)
Returns an object of class PinFinsChannel.

Basin / Squealer Tip / Basin Wall Definition
The basin depth, the squealer tip and the bottom basin wall width are defined as for shroud/hub gaps, by giving a width at the leading edge and at the trailing edge. In addition as for the gaps, the number of layer (Number of Points) and the layer clustering (Cell Width and Percentage of Mid-flow Cells) to define the basin, squealer tip and basin wall in the meridional view can be controlled. 
The contextual menu Properties when right-clicking on the configuration tree on Basin, Squealer Tip and Basin Wall opens the corresponding dialog box allowing to control these parameters.

FlowPathControlSection Class Commands
The commands return an object of class FlowPathSubdivision.

get_main_subdivision() is always existing.
get_hub_gap_subdivision(index)
Index starting from 1. The configuration may present several hub gap subdivisions when row blades contain gaps with different number of spanwise points.
get_tip_gap_subdivision(index)
Index starting from 1. The configuration may present several tip gap subdivisions when row blades contain gaps with different number of spanwise points.
get_snubber_subdivision()
get_snubber_secondary_subdivision()
Only in snubber configuration, the first command returns the subdivision passing through the snubber and the second one returns the additional snubber subdivision: below the snubber in normal case or in bypass configuration when the snubber index is below the nozzle index, and above the snubber if the snubber index is above the nozzle index in bypass configuration.
get_main_bypass_subdivision()
Only in bypass configuration, subdivision above nozzle.
get_upstream_bypass_subdivision()
Only in bypass configuration and C nozzle topology, subdivision upstream nozzle.

Gap Class Commands

select()
delete()
	link_non_axisymmetric_geometry(surface_names)
set_non_axisymmetric_hub(a)
set_non_axisymmetric_hub_repair_damage(a)
create_chimera_block()
		skip_chimera_block()
set_topology_HO()
set_topology_O()
set_topology_O2H() (New in AutoGrid5 v13.1)
get_topology_type()
set_width_at_leading_edge(value)
get_width_at_leading_edge()	
set_width_at_trailing_edge(value)
get_width_at_trailing_edge()
set_clustering(value)
get_clustering()
Set the cell width in the gap and in the sheet lower/upper zone.
set_constant_cell_number(value)
get_constant_cell_number()
Set the percentage of mid-flow cells in the gap and in the sheet lower/upper zone.
set_number_of_points_in_spanwise_direction(value)
get_number_of_points_in_spanwise_direction()
Set the number of points in the gap and in the sheet lower/upper zone.
enable_defined_shape()
disable_defined_shape()
define_shape(curve_file_name)
get_defined_shape()

PinFinsLine Class Commands

select()
	delete()
getName()
number_of_pinFins()
pinFin(i)
Returns an object of class PinFin.
preview3D()
hide3D()

External File Control

exportGeometry()
exportDefinition()
defineGeometry(file_name)

Pin Fins Line Geometry Control
Pin Fins Number

set_pinfins_number(value,highlight=1)
get_pinfins_number()

Pin Fin Shape

set_circular_shape(highlight=1)
set_rectangular_shape(highlight=1)
set_oval_shape(highlight=1)
set_quadrilateral_shape(highlight=1)
get_shape(highlight=1)

Pin Fin Location
		Parametric Mode	

enable_parametric_pinfins_location(highlight=1)
set_first_spanwise_parametric_location(value,highlight=1)
get_first_spanwise_parametric_location()
set_last_spanwise_parametric_location(value,highlight=1)
get_last_spanwise_parametric_location()
set_streamwise_location(value,highlight=1)
get_streamwise_location()

		XYZ Mode	

enable_xyz_pinfins_location(highlight=1)
set_x_location(value,highlight=1)
get_x_location()
set_y_location(value,highlight=1)
get_y_location()
set_z_location(value,highlight=1)
get_z_location()

		UV Mode	

enable_UV_pinfins_location(highlight=1)
set_U_location(value,highlight=1)
get_U_location()
set_V_location(value,highlight=1)
get_V_location()

Pin Fin Axis Control
		Parametric Mode	

enable_parametric_pinfins_axis(highlight=1)
set_streamwise_angle(value,highlight=1)
get_streamwise_angle()
set_spanwise_angle(value,highlight=1)
get_spanwise_angle()

		XYZ Mode	

enable_xyz_pinfins_axis(highlight=1)
set_x_axis(value,highlight=1)
get_x_axis()
set_y_axis(value,highlight=1)
get_y_axis()
set_z_axis(value,highlight=1)
get_z_axis()

Pin Fin Dimension Control

set_depth(value,highlight=1)
get_depth()

Circular Shape	

set_diameter(value,highlight=1)
get_diameter()
set_diameter2(value,highlight=1)
get_diameter2()

Rectangular/Oval Shape	

set_width(value,highlight=1)
get_width()
set_heigth(value,highlight=1)
get_heigth()

Quadrilateral Shape (4-Sided)	

set_holes_p1x(value,highlight=1)
get_holes_p1x()
set_holes_p2x(value,highlight=1)
get_holes_p2x()
set_holes_p3x(value,highlight=1)
get_holes_p3x()
set_holes_p4x(value,highlight=1)
get_holes_p4x()
set_holes_p1y(value,highlight=1)
get_holes_p1y()
set_holes_p2y(value,highlight=1)
get_holes_p2y()
set_holes_p3y(value,highlight=1)
get_holes_p3y()
set_holes_p4y(value,highlight=1)
get_holes_p4y()

Pin Fin Orientation Control

set_orientation_angle(value,highlight=1)
get_orientation_angle()

Pin Fin Mesh Control
Grid Points Number

set_number_of_points_in_boundary_layer(value,highlight=1)
get_number_of_points_in_boundary_layer()
set_number_of_points_streamwise(value,highlight=1)
get_number_of_points_streamwise()
set_number_of_points_spanwise(value,highlight=1)
get_number_of_points_spanwise()
set_number_of_points_streamwise_left(value,highlight=1)
get_number_of_points_streamwise_left()
set_number_of_points_streamwise_right(value,highlight=1)
get_number_of_points_streamwise_right()
set_number_of_points_spanwise_up(value,highlight=1)
get_number_of_points_spanwise_up()
set_number_of_points_spanwise_down(value,highlight=1)
get_number_of_points_spanwise_down()

Optimization

set_number_of_optimization_steps_inside_holes(value,highlight=1)
get_number_of_optimization_steps_inside_holes()
enable_skewness_control_inside_holes()
disable_skewness_control_inside_holes()
get_skewness_control_inside_holes()
set_number_of_optimization_steps_arround_holes(value,highlight=1)
get_number_of_optimization_steps_arround_holes()
enable_skewness_control_arround_holes()
disable_skewness_control_arround_holes()
get_skewness_control_arround_holes()

Wake Control

set_upstream_wake_length(value,highlight=1)
get_upstream_wake_length()
set_downstream_wake_length(value,highlight=1)
get_downstream_wake_length()

Holes Line Mesh Shape Control 

set_hole_line_shape_link_to_next_hole_line_shape(value,highlight=1)
get_hole_line_shape_link_to_next_hole_line_shape()
set_hole_line_shape_link_to_previous_hole_line_shape(value,highlight=1)
get_hole_line_shape_link_to_previous_hole_line_shape()

Global Mesh Control

set_preserved_layers_on_lower_side(value,highlight=1)
get_preserved_layers_on_lower_side()
set_preserved_layers_on_upper_side(value,highlight=1)
get_preserved_layers_on_upper_side()
set_intersection_tolerance(value,highlight=1)
get_intersection_tolerance()

Mesh Generation Control
The Mesh Properties dialog box gives access to the mesh generation control parameters, when right-clicking on Solid Body in the configuration tree and selecting the Mesh Properties menu;


Blade to Blade Control
Internal Cooling Wall Streamwise Distribution. 
Near the trailing edge, by default (Optimized option) the grid points distribution along the solid wall of the blade is clustered around the location of the internal cooling wall definition.


If the option Same as blade Wall is selected, the grid points distribution along the internal solid wall will follow the clustering of the blade wall.
The number of points (N) located between the end of the cooling wall and the trailing edge can be modified using the parameters Number of Points at Trailing Edge. When this number is increased, the number of points on both sides of the blade also is increasing.
Number of Points in O-Mesh (Solid Blade Area)
The number of points (N2 in previous figure) in the azimuthal direction defining the width of the blade solid mesh can be modified with the parameters Number of points in O mesh (Solid Blade Area).
The clustering in the azimuthal direction defining the width of the blade solid mesh can be switched off with the parameter Relax the B2B Mesh Clustering. 


Special Configuration: Inserted Cooling Tube
When the configuration is presenting inserted cooling tubes, these entities can be meshed by defining a cooling channel (Internal Offset Shape Control) and a skin wall.


The inserted cooling tube will be considered as a blade including a cooling channel (fluid block) and the skin wall will be used to mesh the fluid area outside of the tube but inside of the real blade.


The clustering near the trailing edge of the cooling wall is no more suitable for inserted cooling tubes. Furthermore, the parameter Internal Cooling Wall Streamwise Distribution must be set to the value Same as blade Wall. 
The boundary shape of the skin mesh around the blade can also be imposed using the Cooling/Add Skin Wall menu when right-clicking on the Main Blade in the configuration tree. A new entity named Skin Mesh Boundary is displayed in the configuration tree. 


The contextual menu Define Geometry when right-clicking on the Skin Mesh Boundary in the configuration tree allows to select a ".geomTurbo" file defining the boundary of the skin mesh. 
After selecting Skin Mesh Boundary in the configuration tree, the skin wall can also be defined using the Import CAD window by linking the blade surfaces, the leading edge and the trailing edge as for the blade definition.
In addition, two control lines (defined in the spanwise direction) can be added into the ".geomTurbo" file to define two local points of the skin wall shape that needs to be captured by the mesh. These grid lines are useful in case of a skin wall that has to be connected (full non matching connection) afterwards with the solid mesh parts of the real blade.
These lines are defined using the following format into the geomTurbo:
trailing_edge_ctrl_lineDown
  XYZ
 17
        
20.8472883616038 260.874260274711 34.1192884895623
        
21.7475411710475 264.244225444529 33.8239451407291
  …
trailing_edge_ctrl_lineUp
  XYZ
  17
  15.6694535592452 261.001553719178 29.429748564263
  16.4764220438766 264.405454725162 29.0497779354983
        
  …


Finally, when the cooling channel and the skin wall are defined, the mesh of the inserted cooling tube area can be meshed after deactivating the option Around the Skin Mesh in the 3D Control as presented in next section.
3D Control
The Activate Mesh Generation parameters control the areas that will be removed from the mesh after the grid generation of the blade holes (Cooling - Blade Holes).
The Span Interpolation (%) in the Mesh Control/Row Mesh Control area of the Quick Access Pad is not available when generating the mesh of the blade solid body.

Blade Class Commands

select()
delete()
set_name(name)
get_name()
basin()
add_basin()
sheet()
hub_gap()
Returns an object of class Gap. If gap does not exist, creates it.
shroud_gap()
Returns an object of class Gap. If gap does not exist, creates it.
add_hub_gap()
		Returns an object of class Gap. If gap does not exist, creates it.
add_shroud_gap()
		Returns an object of class Gap. If gap does not exist, creates it.
hub_fillet()
Returns an object of class Fillet. If fillet does not exist, it is created.
shroud_fillet()
Returns an object of class Fillet. If fillet does not exist, it is created.
add_hub_fillet()
		Returns an object of class Fillet. If fillet does not exist, it is created.
		add_shroud_fillet()
		Returns an object of class Fillet. If fillet does not exist, it is created.
get_hub_fillet()
Returns an object of class Fillet. If fillet does not exist, it returns 0.
get_shroud_fillet()
Returns an object of class Fillet. If fillet does not exist, it returns 0.
hub_partial_gap()
Returns an object of class PartialGap. If partial gap does not exist, creates it.
add_hub_partial_gap()
		Returns an object of class PartialGap.
shroud_partial_gap()
Returns an object of class PartialGap. If partial gap does not exist, creates it.
add_shroud_partial_gap()
		Returns an object of class PartialGap.
get_hub_partial_gap()
get_shroud_partial_gap()
Returns the presence of a partial gap.
wizard_le_te()
zoom_at_leading_edge(level)
zoom_at_trailing_edge(level)
leadingEdgeControl()
Returns an object of class StagnationPoint.
trailingEdgeControl()
		Returns an object of class StagnationPoint.
load_geometry(name)
export_geometry(flowpath,nsections,ninlet,nblade,noutlet,ncst,leadwidth,trailwidth,exportendwall)
link_geometry(surface_names)
Defines the geometry of the blade.
Surface_names should be a list, even if it is composed of only 1 element (use [ ]).
link_pressure(surface_names)
link_suction(surface_names)
link_to_leading_edge(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
link_to_trailing_edge(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
link_to_hub_gap(curve_names)
Defines the geometry of the hub gap. The gap should already be created.
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
link_to_shroud_gap(curve_names)
Defines the geometry of the shroud gap. The gap should already be created.
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
link_to_hub_fillet(surface_names)
Defines the geometry of the fillet surface on a blade at the hub. 
Surface_names should be a list of strings with the geometry surface names, even if it is composed of only 1 element (use [ ]).
link_to_shroud_fillet(surface_names)
Defines the geometry of the fillet surface on a blade at the shroud.
Surface_names should be a list of strings with the geometry surface names, even if it is composed of only 1 element (use [ ]).
set_b2b_topology_type(value)
Value should be either 0 for default topology or 1 for HOH.
get_b2b_topology_type()
copy_topology()
paste_topology()

Stitch Surfaces at LE & TE

set_stitch_surfaces_at_LE_TE(value)
Value should be either 0 if the blade surfaces will not be stitched, 1 for the option inverse lofting or 2 for the option lofting with guide.
get_stitch_surfaces_at_LE_TE()
Returns 0 if the blade surfaces are not stitched, 1 if the option inverse lofting is selected or 2 if the option lofting with guide is selected.

Blade Expansion & Rotation Parameters

expand_at_hub(expansion_factor, extent_offset=0)
expand_at_shroud(expansion_factor, extent_offset=0)
Applies an expansion treatment at hub or shroud (more details in Expand). When the blade is defined with a native ".geomTurbo" format (sectional data) the value of the expansion_factor is a fraction of the normalized spanwise height (0=hub, 1=shroud) and the extent_offset should be set to 0 (i.e. this parameter is not needed). If the blade geometry is imported via CAD, then the expansion treatment requires a distance  value different from zero for both the expansion_factor (Cut offset parameter) and the extent_offset (Extension offset parameter).
apply_rotation(x,y,z,nx,ny,nz,angle)
Applies a rotation of the selected blade and takes as inputs the rotation axis (unit vectors), the anchor point and the rotation angle in degrees (more details in Apply a Rotation). The option can only be used when the blade geometry is defined with sectional data (native ".geomTurbo" file). 
set_hub_treatment(treatmentType, *args) 
Set the hub expansion treatment type and its corresponding arguments.
set_shroud_treatment(treatmentType, *args) 
Set the shroud expansion treatment type and its corresponding arguments.
The expansion treatment at the hub and shroud can be specified with multiple options. For more details on these options see also: Expansion at Hub/ shroud. Every treatment type has an index, which is given as the first argument of the command. Depending on the treatment type, a number of additional arguments may be required, described in the table below. The complete set of arguments is thus made up of the treatment type index, followed by the additional required arguments, if any.



Treatment type index
Treatment type name

Description of required arguments
(in order of appearance)

Total number of arguments




0
Unchanged
None
1


1
Expand

Native .geomTurbo format: expansion factor
CAD format: cut offset, extension offset


Native format: 2
CAD format: 3



2
Treat blend
Radius, minimum angle, extension offset
4


3
Treat blend with offset
Cut offset, extension offset
3


4
Cut fillet
None
1


5 
Section extension
Span cut percentage (from gap)
2



get_hub_treatment() 
Returns the current hub expansion treatment type and its corresponding arguments. The output is a list following the same format as the input for the set_hub_treatment() command described in the table above.
get_shroud_treatment() 
Returns  the current shroud expansion treatment type and its corresponding arguments. The output is a list following the same format as the input for the set_shroud_treatment() command described in the table above.

Blade Duplicate

compute_default_blade_rotation_axis(location)
Computes the rotation axis and the center of rotation of the selected blade.
duplicate(Zangle,bladeangle,n,rotation_center,rotation_axis)
Duplicates the blade. If only the two first arguments are defined, the rotation is applied accordingly to the blade axis of rotation. By default, the center of rotation is set to (0,0,0) and the rotation axis is set along x-axis (1,0,0). But, if the function compute_default_blade_rotation_axis has been called previously, the center of rotation and the rotation axis correspond to the ones computed by this last function.
Zangle is the rotation angle around z-axis in degree.
bladeangle is the rotation angle around blade axis in degree.
n is the amount of duplicates.
rotation_center is the coordinates of the blade rotation axis anchor point (Point Class).
rotation_axis is the direction of the blade rotation axis (Vector Class).
Example: row(1).blade(1).duplicate(10,20,1,Point(0,0,0),Vector(1,0,0))

Blade Geometry Check/Data Reduction

set_geometry_data_reduction_distance_criteria(a)
get_geometry_data_reduction_distance_criteria()
set_geometry_data_reduction_angle_criteria(a)
get_geometry_data_reduction_angle_criteria()
set_geometry_data_reduction(a)
get_geometry_data_reduction()
set_geometry_control_points_redistribution(a)
get_geometry_control_points_redistribution()
set_geometry_control_points_redistribution_npts_at_le(a)
get_geometry_control_points_redistribution_npts_at_le()
set_geometry_control_points_redistribution_npts_on_middle(a)
get_geometry_control_points_redistribution_npts_on_middle()
set_geometry_control_points_redistribution_cst_cells_on_middle(a)
get_geometry_control_points_redistribution_cst_cells_on_middle()
set_geometry_control_points_redistribution_npts_at_te(a)
get_geometry_control_points_redistribution_npts_at_te()
set_geometry_control_points_redistribution_spacing_at_le(a)
get_geometry_control_points_redistribution_spacing_at_le()
set_geometry_control_points_redistribution_spacing_at_te(a)
get_geometry_control_points_redistribution_spacing_at_te()
set_geometry_sewing_tolerance(a)
get_geometry_sewing_tolerance()
check_geometry()
Returns a list containing minimum distance and maximum angular deviation when native geomTurbo or "0"/"1" otherwise.
apply_data_reduction()
Performs an update of the blade geometry, taking into account the current parameters’ value, that can be modified by the "set" functions described above. For CAD file format, only the sewing tolerance has an influence on the geometry update. The function returns "1" in any case. For native geomTurbo file format, all parameters have an influence on the geometry update. The function returns "1" unless there is no surfaces defining suction and/or pressure side (returns "0" in this case).

Blunt, Rounded & Sharp Blade Parameters

set_blunt_treatment_at_leading_edge(a)
get_blunt_treatment_at_leading_edge()
set_blunt_treatment_at_trailing_edge(a)
get_blunt_treatment_at_trailing_edge()
set_sharp_treatment_at_leading_edge(a)
Closes the blunt leading edge by a linear edge.
a = 1, activate sharp treatment at leading edge.
a = 0, deactivate sharp treatment at leading edge.
get_sharp_treatment_at_leading_edge()
set_blend_treatment_at_leading_edge(a)
Closes the blunt leading edge by a circular shape.
get_blend_treatment_at_leading_edge()
set_sharp_treatment_at_trailing_edge(a)
Closes the blunt trailing edge by a linear edge.
get_sharp_treatment_at_trailing_edge()
set_rounded_treatment_at_trailing_edge(a)
Closes the blunt trailing edge by a straight line to obtain a O-mesh around the blade.
get_rounded_treatment_at_trailing_edge()
set_blend_treatment_at_trailing_edge(a)
Closes the blunt trailing edge by a circular shape.
get_blend_treatment_at_trailing_edge()

Default Topology Parameters
Topology Control

set_b2b_default_topology_type(value)
Value should be either 0 for streamwise default topology, 1 for rounded azimuthal default topology or 2 for rounded streamwise default topology.
get_b2b_default_topology_type()
Returns 0 for streamwise default topology, 1 for rounded azimuthal default topology or 2 for rounded streamwise default topology.
set_b2b_default_topology_periodicity_type(value)
Value should be either 0 for non matching periodicity or 1 for matching.
get_b2b_default_topology_periodicity_type()
set_b2b_default_topology_enable_high_staggered_optimization()
set_b2b_default_topology_disable_high_staggered_optimization()
get_b2b_default_topology_disable_high_staggered_optimization()
set_b2b_default_topology_disable_high_staggered_detection()
set_b2b_default_topology_enable_high_staggered_detection()
get_b2b_default_topology_enable_high_staggered_detection()
set_b2b_default_topology_normal_inlet_angle()
set_b2b_default_topology_low_staggered_inlet_angle()
set_b2b_default_topology_high_staggered_inlet_angle()
get_b2b_default_topology_inlet_angle()
get_b2b_default_topology_inlet_staggered_angle()
Returns the type of staggered topology (0 normal, 1 low and 2 high).
set_b2b_default_topology_normal_outlet_angle()
set_b2b_default_topology_low_staggered_outlet_angle()
set_b2b_default_topology_high_staggered_outlet_angle()
get_b2b_default_topology_outlet_angle()
get_b2b_default_topology_outlet_staggered_angle()
Returns the type of staggered topology (0 normal, 1 low and 2 high).
set_b2b_default_topology_throat_control(value)
get_b2b_default_topology_throat_control()
set_b2b_default_topology_throat_projection_type(value)
get_b2b_default_topology_throat_projection_type()
set_b2b_default_topology_throat_projection_inlet_relaxation()
get_b2b_default_topology_throat_projection_inlet_relaxation()
set_b2b_default_topology_throat_projection_outlet_relaxation()
get_b2b_default_topology_throat_projection_outlet_relaxation()

Grid Points Control

set_b2b_default_topology_grid_point_number_azimutal_inlet(value)
get_b2b_default_topology_grid_point_number_azimutal_inlet()
set_b2b_default_topology_grid_point_number_azimutal_outlet(value)
get_b2b_default_topology_grid_point_number_azimutal_outlet()
set_b2b_default_topology_grid_point_number_azimutal_inlet_up(value)
get_b2b_default_topology_grid_point_number_azimutal_inlet_up()
set_b2b_default_topology_grid_point_number_azimutal_outlet_up(value)
get_b2b_default_topology_grid_point_number_azimutal_outlet_up()
set_b2b_default_topology_grid_point_number_azimutal_inlet_down(value)
get_b2b_default_topology_grid_point_number_azimutal_inlet_down()
set_b2b_default_topology_grid_point_number_azimutal_outlet_down(value)
get_b2b_default_topology_grid_point_number_azimutal_outlet_down()
set_b2b_default_topology_grid_point_number_streamwise_inlet(value)
get_b2b_default_topology_grid_point_number_streamwise_inlet()
set_b2b_default_topology_grid_point_number_streamwise_outlet(value)
get_b2b_default_topology_grid_point_number_streamwise_outlet()
set_b2b_default_topology_grid_point_number_streamwise_blade_upper_side(value)
get_b2b_default_topology_grid_point_number_streamwise_blade_upper_side()
set_b2b_default_topology_grid_point_number_streamwise_blade_lower_side(value)
get_b2b_default_topology_grid_point_number_streamwise_blade_lower_side()
set_b2b_default_topology_grid_point_number_leading_edge_index(value)
Value is the grid point number controlling the distribution of the number of points between the inlet and the blade. More details in Grid Point Number Control.
get_b2b_default_topology_grid_point_number_leading_edge_index() 
set_b2b_default_topology_grid_point_number_trailing_edge_index(value) 
Value is the grid point number controlling the distribution of the number of points between the blade and the outlet. More details in Grid Point Number Control.
get_b2b_default_topology_grid_point_number_trailing_edge_index() 
set_b2b_default_topology_grid_point_number_in_boundary_layer(value)
get_b2b_default_topology_grid_point_number_in_boundary_layer()
set_b2b_default_topology_grid_point_number_in_boundary_layer_of_gaps(value)
get_b2b_default_topology_grid_point_number_in_boundary_layer_of_gaps()

Mesh Control

set_b2b_default_topology_skin_block_expansion_ratio_control(value)
Value is the percentage to further improve/control the expansion ratio of the remaining half of the layers of the skin block.
get_b2b_default_topology_skin_block_expansion_ratio_control()
Returns the percentage to further improve/control the expansion ratio of the remaining half of the layers of the skin block.
set_b2b_default_topology_cell_width_at_wall(value)
get_b2b_default_topology_cell_width_at_wall()
set_b2b_default_topology_cell_width_at_wall_at_hub(value)
get_b2b_default_topology_cell_width_at_wall_at_hub()
set_b2b_default_topology_cell_width_at_wall_at_shroud(value)
get_b2b_default_topology_cell_width_at_wall_at_shroud()
set_b2b_default_topology_bnd_layer_width(value)
get_b2b_default_topology_bnd_layer_width()
get_b2b_default_topology_cell_width_at_wall_interpolation()
set_b2b_default_topology_cell_width_at_trailing_edge(value)
set_b2b_default_topology_cell_width_at_leading_edge(value)
set_b2b_default_topology_expansion_ratio_in_bnd_layer(value)
get_b2b_default_topology_expansion_ratio_in_bnd_layer()
set_b2b_default_topology_free_outlet_angle(value)
get_b2b_default_topology_free_outlet_angle()
set_b2b_default_topology_free_inlet_angle(value)
get_b2b_default_topology_free_inlet_angle()
set_b2b_default_topology_fix_outlet_angle(value)
get_b2b_default_topology_fix_outlet_angle()
set_b2b_default_topology_fix_inlet_angle(value)
get_b2b_default_topology_fix_inlet_angle()
set_b2b_default_topology_fix_outlet_mesh(value)
get_b2b_default_topology_fix_outlet_mesh()
set_b2b_default_topology_fix_inlet_mesh(value)
get_b2b_default_topology_fix_inlet_mesh()
set_b2b_default_topology_outlet_angle(value)
get_b2b_default_topology_outlet_angle()
set_b2b_default_topology_inlet_angle(value)
get_b2b_default_topology_inlet_angle()
set_b2b_default_topology_enable_wake_control()
set_b2b_default_topology_disable_wake_control()
get_b2b_default_topology_wake_control()
set_b2b_default_topology_enable_wake_prolongation()
set_b2b_default_topology_wake_control_deviation_angle(value)
get_b2b_default_topology_wake_control_deviation_angle()
set_b2b_default_topology_wake_control_prolongation(value) (New in AutoGrid5 v13.1)
Value should be 0 for no prolongation, 1 for full prolongation, and 2 for partial prolongation.
get_b2b_default_topology_wake_control_prolongation() (New in AutoGrid5 v13.1)
set_b2b_default_topology_enable_leading_edge_zcstline()
set_b2b_default_topology_disable_leading_edge_zcstline()
get_b2b_default_topology_leading_edge_zcstline() 
set_b2b_default_topology_enable_trailing_edge_zcstline()
set_b2b_default_topology_disable_trailing_edge_zcstline()
get_b2b_default_topology_trailing_edge_zcstline()

Intersection Control

set_b2b_default_topology_chord_control_points_number(value)
get_b2b_default_topology_chord_control_points_number()
set_b2b_default_topology_intersection_quality(value)
Value should be either 0 for low quality or 1 for high quality.
get_b2b_default_topology_intersection_quality()
set_b2b_default_topology_intersection_law(value) 
Value should be 0 for curvature or 1 for uniform. Useful only if low quality intersection.
get_b2b_default_topology_intersection_law()
set_b2b_intersection_precision_check_ratio(doubleValue)
doubleValue controls the tolerance of the checks when computing the blade-to-blade high quality intersections. The tolerance is the imposed value (real starting from 1) multiplied by the wall cell width. Useful only if high quality intersection.
get_b2b_intersection_precision_check_ratio() 
set_b2b_default_topology_intersection_control_point_number(value)
Useful only if low quality intersection and intersection law set to uniform.
get_b2b_default_topology_intersection_control_point_number()
set_b2b_blade_reference_angle(value)
get_b2b_blade_reference_angle()

HOH Topology Parameters
Topology Control

set_b2b_hoh_topology_enable_inlet_extension()
			set_b2b_hoh_topology_disable_inlet_extension()
			get_b2b_hoh_topology_inlet_extension()
set_b2b_hoh_topology_enable_outlet_extension()
set_b2b_hoh_topology_disable_outlet_extension()
get_b2b_hoh_topology_outlet_extension()
set_b2b_hoh_topology_inlet_I_extension_type()
set_b2b_hoh_topology_inlet_H_extension_type()
get_b2b_hoh_topology_inlet_H_extension_type()
set_b2b_hoh_topology_outlet_I_extension_type()
set_b2b_hoh_topology_outlet_H_extension_type()
get_b2b_hoh_topology_outlet_H_extension_type()
set_b2b_hoh_topology_inlet_extension_location(value)
get_b2b_hoh_topology_inlet_extension_location()
set_b2b_hoh_topology_outlet_extension_location(value)
get_b2b_hoh_topology_outlet_extension_location()

Grid Points Control

	set_b2b_hoh_topology_inlet_extension_streamwise_npts(value)
get_b2b_hoh_topology_inlet_extension_streamwise_npts()
set_b2b_hoh_topology_outlet_extension_streamwise_npts(value)
get_b2b_hoh_topology_outlet_extension_streamwise_npts()
set_b2b_hoh_topology_npts_in_boundary_layer(value)
	get_b2b_hoh_topology_npts_in_boundary_layer()
set_b2b_hoh_topology_npts_around_boundary_layer(value)
	get_b2b_hoh_topology_npts_around_boundary_layer()
set_b2b_hoh_topology_suction_and_pressure_side_npts(value)
get_b2b_hoh_topology_suction_and_pressure_side_npts()
set_b2b_hoh_topology_H_inlet_azimuthal_npts_1(value)
get_b2b_hoh_topology_H_inlet_azimuthal_npts_1()
set_b2b_hoh_topology_H_inlet_azimuthal_npts_2(value)
get_b2b_hoh_topology_H_inlet_azimuthal_npts_2()
set_b2b_hoh_topology_H_inlet_azimuthal_npts_3(value)
get_b2b_hoh_topology_H_inlet_azimuthal_npts_3()
set_b2b_hoh_topology_I_inlet_azimuthal_npts(value)
get_b2b_hoh_topology_I_inlet_azimuthal_npts()
set_b2b_hoh_topology_H_outlet_azimuthal_npts_1(value)
get_b2b_hoh_topology_H_outlet_azimuthal_npts_1()
set_b2b_hoh_topology_H_outlet_azimuthal_npts_2(value)
get_b2b_hoh_topology_H_outlet_azimuthal_npts_2()
set_b2b_hoh_topology_H_outlet_azimuthal_npts_3(value)
get_b2b_hoh_topology_H_outlet_azimuthal_npts_3()
set_b2b_hoh_topology_I_outlet_azimuthal_npts(value)
get_b2b_hoh_topology_I_outlet_azimuthal_npts()
set_b2b_hoh_topology_I_inlet_periodic_npts(value)
get_b2b_hoh_topology_I_inlet_periodic_npts()
set_b2b_hoh_topology_I_outlet_periodic_npts(value)
get_b2b_hoh_topology_I_outlet_periodic_npts()
set_b2b_hoh_topology_gap_matching_with_main_channel()
get_b2b_hoh_topology_gap_matching_with_main_channel()
set_b2b_hoh_topology_gap_non_matching_with_main_channel()
set_b2b_hoh_topology_gap_azimuthal_O_number_of_points(value)
get_b2b_hoh_topology_gap_azimuthal_O_number_of_points()
set_b2b_hoh_topology_gap_azimuthal_H_number_of_points(value)
get_b2b_hoh_topology_gap_azimuthal_H_number_of_points()
set_b2b_hoh_topology_gap_streamwise_H_number_of_points(value)
		get_b2b_hoh_topology_gap_streamwise_H_number_of_points()
set_b2b_hoh_topology_gap_d1_d2_addition(value)
get_b2b_hoh_topology_gap_d1_d2_addition()
set_b2b_hoh_topology_gap_d1_d2_ratio(value)
		get_b2b_hoh_topology_gap_d1_d2_ratio()
set_b2b_hoh_topology_gap_d3_d4_addition(value)
get_b2b_hoh_topology_gap_d3_d4_addition()
set_b2b_hoh_topology_gap_d3_d4_ratio(value)
get_b2b_hoh_topology_gap_d3_d4_ratio()

Leading Edge Grid Points Distribution Control

set_b2b_hoh_leading_edge_control_type_none()
		set_b2b_hoh_leading_edge_control_type_absolute_distance()
		set_b2b_hoh_leading_edge_control_type_relative_distance()
set_b2b_hoh_leading_edge_control_type_cell_length()
get_b2b_hoh_leading_edge_control_type()
		set_b2b_hoh_leading_edge_control_absolute_distance(value)
get_b2b_hoh_leading_edge_control_absolute_distance()
set_b2b_hoh_leading_edge_control_relative_distance(value)
get_b2b_hoh_leading_edge_control_relative_distance()
set_b2b_hoh_leading_edge_control_cell_length(value)
get_b2b_hoh_leading_edge_control_cell_length()

Trailing Edge Grid Points Distribution Control

set_b2b_hoh_trailing_edge_control_type_none()
set_b2b_hoh_trailing_edge_control_type_absolute_distance()
set_b2b_hoh_trailing_edge_control_type_relative_distance()
set_b2b_hoh_trailing_edge_control_type_cell_length()
get_b2b_hoh_trailing_edge_control_type()
set_b2b_hoh_trailing_edge_control_absolute_distance(value)
get_b2b_hoh_trailing_edge_control_absolute_distance()
set_b2b_hoh_trailing_edge_control_relative_distance(value)
get_b2b_hoh_trailing_edge_control_relative_distance()
set_b2b_hoh_trailing_edge_control_cell_length(value)
get_b2b_hoh_trailing_edge_control_cell_length()	
set_b2b_hoh_blade_points_distribution_smoothing_steps(value)
get_b2b_hoh_blade_points_distribution_smoothing_steps()
set_b2b_hoh_wake_clustering(value)
get_b2b_hoh_wake_clustering()

Mesh Control

set_b2b_mesh_control_bnd_layer_factor(value)
get_b2b_mesh_control_bnd_layer_factor()
set_b2b_mesh_control_bnd_layer_cell_width(value)
get_b2b_mesh_control_bnd_layer_cell_width()

H&I Topology Parameters
Topology Control

set_b2b_HI_topology_H_inlet(value)
get_b2b_HI_topology_H_inlet()
set_b2b_HI_topology_H_outlet(value)
get_b2b_HI_topology_H_outlet()
set_b2b_HI_topology_skin_block(value)
get_b2b_HI_topology_skin_block()
set_b2b_HI_topology_H_full(value)
get_b2b_HI_topology_H_full()

Grid Points Control

set_b2b_HI_topology_grid_point_number_streamwise_blade_inlet_down(value)
get_b2b_HI_topology_grid_point_number_streamwise_blade_inlet_down()
set_b2b_HI_topology_grid_point_number_streamwise_blade_down(value)
get_b2b_HI_topology_grid_point_number_streamwise_blade_down()
set_b2b_HI_topology_grid_point_number_streamwise_blade_lower_side(value)
get_b2b_HI_topology_grid_point_number_streamwise_blade_lower_side()
set_b2b_HI_topology_grid_point_number_streamwise_blade_outlet_down(value)
get_b2b_HI_topology_grid_point_number_streamwise_blade_outlet_down()
set_b2b_HI_topology_grid_point_number_streamwise_blade_inlet_up(value)
get_b2b_HI_topology_grid_point_number_streamwise_blade_inlet_up()
set_b2b_HI_topology_grid_point_number_streamwise_blade_up(value)
get_b2b_HI_topology_grid_point_number_streamwise_blade_up()
set_b2b_HI_topology_grid_point_number_streamwise_blade_outlet_up(value)
get_b2b_HI_topology_grid_point_number_streamwise_blade_outlet_up()
set_b2b_HI_topology_grid_point_number_azimutal_inlet(value)
get_b2b_HI_topology_grid_point_number_azimutal_inlet()
set_b2b_HI_topology_grid_point_number_azimutal_outlet(value)
get_b2b_HI_topology_grid_point_number_azimutal_outlet()
set_b2b_HI_topology_grid_point_number_azimutal_inlet_up(value)
get_b2b_HI_topology_grid_point_number_azimutal_inlet_up()
set_b2b_HI_topology_grid_point_number_azimutal_outlet_up(value)
get_b2b_HI_topology_grid_point_number_azimutal_outlet_up()
set_b2b_HI_topology_grid_point_number_leading_edge_index(value)
set_b2b_HI_topology_grid_point_number_trailing_edge_index(value)

Mesh Control

set_b2b_HI_topology_automatic_clustering_relaxation(value)
get_b2b_HI_topology_automatic_clustering_relaxation()
set_b2b_HI_topology_clustering_relaxation(value)
get_b2b_HI_topology_clustering_relaxation()

Cooling - Conjugate Heat Transfer Parameters

set_solid_body_configuration(type)
Type should be between 0 and 12:
0: disable solid body mesh generation
1: basin+cooling channel
2: basin
3: cooling channel
4: radial holes without basin and without cooling channel
5: solid body alone
6: cooling channel without tip wall
7: pennies at hub
8: pennies at shroud
9: pennies at hub & shroud
10: squealer tip on lower side
11: squealer tip on upper side
12: squealer tip on camber line
	get_solid_body_configuration()

Blade Cooling Holes Control

number_of_holes_lines()
add_holes_line()
holes_line(i)
generate_holes()

Cooling Channel , Radial Hole & Basin Control

solid_body()
solid_body().shroud_gap() to access the meridional definition of the basin.
solid_body().hub_gap() to access the meridional definition of the basin wall.
solid_body().add_basin_hole() to create a radial hole.
cooling_channel()
is_solid_body_parametric()
enable_solid_body_parametric_definition()
disable_solid_body_parametric_definition()
enable_solid_body_shape_blunt_trailing_edge()
disable_solid_body_shape_blunt_trailing_edge()
get_solid_body_shape_blunt_trailing_edge()
set_solid_body_shape_number_of_control_points(value)
get_solid_body_shape_number_of_control_points()
set_solid_body_shape_start_location(value)
get_solid_body_shape_start_location()
set_solid_body_shape_end_location(value)
get_solid_body_shape_end_location()
set_solid_body_shape_start_width(value)
get_solid_body_shape_start_width()
set_solid_body_shape_middle_width(value)
get_solid_body_shape_middle_width()
set_solid_body_shape_end_width(value)
get_solid_body_shape_end_width()
set_solid_body_geometry_from_geomTurbo_file(geomTurbo_file)
set_solid_body_streamwise_distribution_type_same_as_blade()
set_solid_body_streamwise_distribution_type_adapted()
get_solid_body_streamwise_distribution_type()
set_solid_body_number_of_points_azimutal(value)
get_solid_body_number_of_points_azimutal()
set_solid_body_B2B_mesh_relaxation(value)
get_solid_body_B2B_mesh_relaxation()
set_solid_body_keep_blade_solid_mesh(value)
get_solid_body_keep_blade_solid_mesh()
set_solid_body_keep_mesh_around_skin(value)
get_solid_body_keep_mesh_around_skin()
set_solid_body_keep_mesh_in_cooling_channel(value)
get_solid_body_keep_mesh_in_cooling_channel()
set_solid_body_keep_skin_mesh(value)
get_solid_body_keep_skin_mesh()

Basin Holes & Separator Control

number_of_basin_holes()
basin_hole(i)
init_basin_holes_from_external_file(filename)
export_basin_holes_geometry()
export_basin_holes_definition()
number_of_basin_separators()
add_basin_separator()
basin_separator(i)

Pin Fins & Ribs Control

add_pin_fins_channel()

Cooling - Ribs

The ribs are usually located in the cooling channel of the blade and used to promote the turbulence and to exchange heat. These entities can be defined and meshed within AutoGrid5™.


Ribs Properties
The Add Ribs Channel menu available when right-clicking on Cooling Channels adds a ribs channel entity in the configuration tree.


Ribs Box Definition
A ribs channel entity is used to mesh solid ribs lines into a box (cooling channel) defined by the user. The box is a IGG™ block created manually. The block should have a special orientation:

the I direction from front to back (front side being the side where the rib is located),
the J direction from hub to shroud,
the K direction from left to right (left side being at the left when looking in the direction front->back).

This block will be used in a similar way as the matrix mesh used for the blade and end walls holes.
From IGG™ Edit Mode
The Edit menu, available when right-clicking on ribs channel 1 in the configuration tree, allows to start the edit mode. Under this mode, the box can be created using IGG™ functionalities. When closing this edit mode (Close Edit Mode button), the first block created will be considered as the new ribs box.
From 3D View
After selecting the 3D view in AutoGrid5™, a IGG™ mesh (".igg" file) can be imported in the 3D view (File/Import/IGG Project). The desired block representing the cooling channel needs to be activated by left-clicking on it in the 3D view. The Define Box from Active Block menu, available when right-clicking on ribs channel 1 in the configuration tree, allows to link the active block to the ribs channel. After defining the box, the template has to be saved (File/Save Template) and reopened (File/Open Project) otherwise the blocks of the imported IGG™ mesh will stay in the 3D view and conflict with new created blocks in AutoGrid5™.
Ribs Geometry Control
The Define Geometry menu, available when right-clicking on ribs channel 1 in the configuration tree, is used to control the geometry and the mesh of the ribs.


A rib can be seen as a "bar" located in the cooling channel (box). The ribs can be located on only one side of the cooling channel box (called the "front" side, the opposite being the "back" side).
The basic (mandatory) geometry is defined by:

a basic plane (plane origin and normal direction) representing the lower side (Define basic planes button),
a height (Height) representing the upper side (basic plane shifted by height along its normal),
a thickness (Thickness) representing the back side (front side offset of the thickness).

In addition, optional rib geometry extensions are possible:

a left extension (bar extension on the left side with the same height and thickness as the main bar) defined by a plane (Define left extensions button).
a right extension (bar extension on the right side with the same height and thickness as the main bar) defined by a plane (Define right extensions button).
separation(s) (an interruption in the main bar, through which the fluid will pass) defined by two planes (defining the start and the end of the bar cut) (Add separations button).
a Full Channel option allowing to completely fill the channel with ribs, meaning that no fluid can pass perpendicularly to the ribs.

The next figure is illustrating the options in a section of a rib channel.


As mentioned above, the ribs geometry is composed by basic planes defined by an external ".dat" file illustrated below:
SCALE_FACTOR 1000
REVERSE_NORMAL 1
PLANE -0.0001 0.2554 0.0992 -6.1422e-15 -0.866 0.5
PLANE -0.0007 0.2579 0.0984 -3.1258e-14 -0.866 0.4999
PLANE 0.0002 0.2611 0.0988 -7.8737e-15 -0.866 0.4999
...
The first line (optional) allows to impose a scaling factor to the plane coordinates (useful when the planes are not defined in the scale of the cooling channel).
The second line (optional) allows to inverse the plane normal orientation. The plane normal should be oriented from the lower to the upper ribs channel side.
The following lines beginning by the keyword "PLANE" identify the ribs (the number of ribs will correspond to the number of "PLANE" lines). The keyword "PLANE" is followed by the plane origin and normal coordinates.
The file format for the left extension, right extension and separation planes is similar to the one presented above. For the separation definition, the number of planes should be twice the number of ribs as a rib separation is defined by a starting and ending plane.
When separations are positioned in staggered rows of successive ribs, the Alternate separations button improves the mesh quality. This option will insert artificially in a rib the separation of the previous one and in the previous rib the separation of the current one. As these artificial separations are not real, they will be meshed with solid blocks.
Ribs Mesh Control
The Define Geometry menu, available when right-clicking on ribs channel 1 in the configuration tree, is used to control the geometry and the mesh of the ribs.


The mesh will be fully matching in the complete ribs channel. That means that increasing the number of points somewhere will be propagated all over the domain through matching block connections.
The mesh parameters that can be controlled are:

the number of points in the I direction (from front to back) - Number of pts I,
the number of points in the J direction for a rib itself (from bottom to top) - Number of pts J,
the number of intermediate points in J direction between 2 ribs (from bottom to top) - Number of Inter pts,
the number of points in the K direction (from left to right) - Number of pts K,
the clustering by defining the Cell width and the number of constant cells (Number of cst cells).

These values are constant for all the ribs in the channel. The next figure is illustrating the above controls in a section of a rib channel.


Ribs Mesh Generation
The mesh inside the cooling channel including the ribs is automatically computed when selecting the Generate menu when right-clicking on ribs channel 1  in the configuration tree.
When generating the ribs, the cell width defined in the Mesh Control subpad of the quick access pad is taken into account. Using the default cell width of 1e-5 may lead to problems if the geometry is defined in mm.


The final mesh contains solid blocks defining the ribs and fluid blocks around the ribs defining the fluid area of the box (cooling channel). The mesh includes six full non matching connections with only left patches defined. These connections are useful to define the link between the ribs boxes and the surrounding areas such as the blade solid body.

FlowPathSubdivision Class Commands

set_end_parameter(norm_param)
Controls the relative position (norm_param) of the last point of the flow path subdivision or the first point of the next subdivision. Norm_param is relative to the complete control section and not the subdivision (0 for hub and 1 for shroud).
Example:
For instance, if the configuration is including a tip gap, they will be two subdivisions: the main and the tip gap. If the user wants to redistribute the points upstream/downstream the blade, he needs to modify the fixed point linked to the tip gap by using the python command:
row(1).get_inlet_flow_path_control_section().get_main_subdivision().set_end_parameter(0.8)
This will move the fixed point at the boundary between the main and the tip gap subdivisions at 80% of the span height at inlet.
add_fixed_point(index,norm_param)
Adds a fixed point at the grid point index (starting from 1) at the given position norm_param. Norm_param is relative to the complete control section and not the subdivision (0 for hub and 1 for shroud).
remove_fixed_point(index)
Removes the fix point at the grid point index. 
If the user wants to remove the fixed point created with the command:
row(1).get_z_cst_line_flow_path_control_section(1).get_main_subdivision().add_fixed_point(15, norm_param)
He needs to use the following command:
row(1).get_z_cst_line_flow_path_control_section(1).get_main_subdivision().remove_fixed_point(15)
get_number_of_fixed_points()
cluster_uniform(index)
Applies a uniform clustering on the subdivision index of the selected control line subdivision. In the figure below, on the main subdivision of the outlet control line, the index is set to 1 to control the distribution of the subdivision 1 from hub to the fixed point and to 2 to control the distribution of the subdivision 2 from the fixed point to the tip gap.
cluster_start(index,sDist)
cluster_end(index,eDist)
cluster_both_ends2(index,sDist,eDist,nCstCell)
cluster_tanh(index,sDist,eDist)
Example showing the scripted manual flow paths controls:
row(1).get_outlet_flow_path_control_section().get_main_subdivision().add_fixed_point(57, 0.6)
row(1).get_outlet_flow_path_control_section().get_main_subdivision().cluster_tanh(1,0.003,0.003)
row(1).get_inlet_flow_path_control_section().get_main_subdivision().set_end_parameter(0.8)
row(1).get_inlet_flow_path_control_section().get_main_subdivision().cluster_tanh(1,0.003,0.003)
row(1).get_inlet_flow_path_control_section().get_tip_gap_subdivision(1).cluster_uniform(1)


FIGURE 1 Flow path control sections and subdivisions


FIGURE 2 Control sections & subdivisions naming in bypass configuration

3D Technological Effect

A turbomachinery configuration contains usually blade rows and also 3D effects like cooling holes. The solid body of the 3D effects are non-axisymmetric. Their geometries are defined by 3D curves or surfaces (x,y,z coordinates). The 3D effects are always linked to one row. 
The mesh of these configuration entities is generated in 3 steps: 

definition of the new technological effect entities in the configuration database 
geometry definition of the domain defining the technological effect
definition of the 3D mesh:

manual blocking in the 3D space
load an existing template in the effect library


This chapter describes the grid generation of 3D effects. The number of 3D effects is unlimited.

PinFinsChannel Class Commands

select()
delete()
box()
view_mesh(pinfinstype,boxtype,boxside,clear=1)
pinfinstype : 0, 1 for grid, 2 for solid and 3 for both
box type : 0, 1, 2 or 3
box side : 0, 1 or 2.
viewbox(side,rep)
hidebox()
link_geometry(curve_names,surfaces_name)
edit()
stop_edit()
generate()
number_of_pinFins_line()
add_pinFins_line()
pinFins_line(i)
Returns an object of class PinFinsLine.

Snubber Class Commands

select()
Selects the current row snubber item.
delete()
Deletes the current row snubber item.


link_to_meridional_curve_up(curve_names)
link_to_meridional_curve_down(curve_names)
Curve_names should be a list of curve names to link to the upper or lower meridional curve defining the axisymmetric snubber, even if it is composed of only 1 element (use [ ]).
link_to_geometry_on_blade_pressure_side(surface_names)
link_to_geometry_on_blade_suction_side(surface_names)
Surface_names should be a list of surface names to link to the 3D snubber defined on the blade pressure or suction side, even if it is composed of only 1 element (use [ ]).
link_to_leading_edge_on_blade_pressure_side(curve_names)
link_to_leading_edge_on_blade_suction_side(curve_names)
Curve_names should be a list of curve names to link to the 3D snubber leading edge defined on the blade pressure or suction side, even if it is composed of only 1 element (use [ ]).
link_to_trailing_edge_on_blade_pressure_side(curve_names)
link_to_trailing_edge_on_blade_suction_side(curve_names)
Curve_names should be a list of curve names to link to the 3D snubber trailing edge defined on the blade pressure or suction side, even if it is composed of only 1 element (use [ ]).
link_to_fillet_on_blade_pressure_side(surface_names)
link_to_fillet_on_blade_suction_side(surface_names)
Surface_names should be a list of surface names to link to the snubber fillet defined on the blade pressure or suction side, even if it is composed of only 1 element (use [ ]).
set_name(name)
get_name()
set_clustering(value)
get_clustering()
set_skin_expansion_ratio(value)
get_skin_expansion_ratio()
set_leading_edge_relative_control_distance(value)
get_leading_edge_relative_control_distance()
set_trailing_edge_relative_control_distance(value)
get_trailing_edge_relative_control_distance()
set_spanwise_index(value)
get_spanwise_index()
set_skin_number_of_points(value)
get_skin_number_of_points()
set_upstream_number_of_points(value)
get_upstream_number_of_points()
set_downstream_number_of_points(value)
get_downstream_number_of_points()
set_spanwise_number_of_points(value)
get_spanwise_number_of_points()
set_fillet_butterfly_radial_number_of_points(value)
get_fillet_butterfly_radial_number_of_points()

Configuration Commands

switch_to_igg () (New in AutoGrid5™ v13.1)
switch_to_autogrid() (New in AutoGrid5™ v13.1)
a5_open_project (trb_file_name)
a5_open_template(trb_file_name)
a5_save_template(trb_file_name)
a5_save_project(trb_file_name)
a5_save_mesh(mesh_file_name)
a5_save_mesh_V61(mesh_file_name)
a5_save_mesh_V62(mesh_file_name)
a5_save_mesh_V72(mesh_file_name)
a5_save_mesh_V86(mesh_file_name)
a5_save_and_merge_project_mesh()
a5_get_project_path()
Returns the path to the current project. The project path does not contain the name of the project. A directory separator - '/' on Linux and '\' on Windows - is added at the end of the path. This command can be combined with a5_get_project_name() to obtain the location and name of the current project.
a5_get_project_name()
Returns the name of the current project. Only the name of the project is given, without the path to the project. The project name is returned as projectname.trb. This command can be combined with a5_get_project_path() to obtain the location and name of the current project.
a5_html_report_init(save_b2b_view,save_3d_view)
Generates the HMTL report with B2B and 3D views if both arguments are set to 1. Only available on LINUX.
a5_init_html_report_file()
Returns the path to the HTML report. Only available on LINUX.
a5_export_CEDRE(filename)
Exports a mesh in CEDRE format with the specified filename.
a5_export_CEDRE_all_blocks(filename,merging,merged_blockname)
Exports all the blocks of the mesh in CEDRE format with the specified  filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
a5_export_CEDRE_row_by_row(filename,merging,merged_blockname)
Exports all the blocks of the mesh of each row in CEDRE format with the specified  filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1. The name will be composed of this username merged_blockname completed by the rowname (merged_blockname_rowname) depending on the short family names preference.
a5_export_CEDRE_block_group(filename,groupname,merging,merged_blockname)
Exports mesh of a group of blocks groupname in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
a5_export_CEDRE_block_list(filename,blocklist,merging,merged_blockname)
Exports mesh of a list of blocks blocklist in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1. 
a5_export_FLUENT(filename)
Exports a mesh in Fluent format with the specified filename.
a5_export_CFDpp(filename)
Exports a mesh in CFD++ format with the specified filename.
a5_export_CRUNCH_CFD(filename)
Exports a mesh in CRUNCH CFD format with the specified filename
a5_export_OpenFOAM(foldername,branch)
Exports a mesh in OpenFOAM format in the specified folder (foldername). The OpenFOAM branch is optional and can take the value "official" (default) or "extend".
a5_export_Abaqus(filename,elementtype)
Exports a mesh in Abaqus format with the specified filename and the type of element set to "C3D8" or "C3D8I".
a5_export_meridional_mesh(filename,rowlist)
Exports the meridional mesh of the rows in the list rowlist.
a5_export_B2B_mesh(filename,rowlist,spanwiselayer)
Exports the blade-to-blade mesh of the rows in the list rowlist at the specified spanwise layer spanwiselayer in percentage.
a5_export_fluid_mesh()
a5_new_project(bypass)
Creates a new project from scratch. Bypass is a boolean value specifying if the project should contain a bypass.
a5_set_cascade_project(cascade)
            
a5_get_cascade_project()
            
a5_get_bypass_project()
            
Returns 1 if the configuration is bypass (with nozzle).
a5_init_new_project_from_a_geomTurbo_file(geomTurbo_file_name)
a5_set_configuration_units(units, unitsFactor=1)
units is a string as the one appearing in the GUI (e.g. "Meters"). unitsFactor (real) is optional except when selecting units as "User Defined".
a5_get_configuration_units()
a5_get_configuration_units_factor()
a5_set_configuration_number_of_grid_levels(integer)
integer is the imposed number of grid level.
a5_get_configuration_number_of_grid_levels()
a5_generate_3d(list) (New in AutoGrid5™ v13.1)
Generates 3D mesh of  listed entities or generated all entities if the argument is left blank. Listed entities may contain objects of class Row, TechnologicalEffectZR, and TechnologicalEffect3D.
a5_initialize_topology_rows(row_list, layer_percentage) (New in AutoGrid5™ v13.1)
Initializes the topology of a list of row(s) at a specified layer percentage.
	a5_generate_b2b_rows(row_list, layer_percentage) (New in AutoGrid5™ v13.1)
Generates B2B mesh for a list of row(s) at a specified layer percentage.
a5_generate_flow_paths_rows(row_list) (New in AutoGrid5™ v13.1)
Generates flow paths of a list of row(s).
calc_row_meridional_mesh_quality(type, row_list, range_start, range_end, range_number, show=0, show_marker=0, show_cells=1)
Computes the mesh quality in the meridional view. Returns a list giving a spread number of cells as in a bar chart.
Type is either "Expansion ratio" or "Overlap".
calc_row_meridional_mesh_quality_inter_block(type, row_list, range_start, range_end, range_number, show=0, show_marker=0, show_cells=1)
Computes the mesh quality at block boundaries in the meridional view. Returns a list giving a spread number of cells as in a bar chart.
Type is "Expansion ratio" only.
calc_row_2D_mesh_quality(type, row_list, range_start, range_end, range_number, show=0, show_marker=0, show_cells=1)
Computes the mesh quality in the blade to blade space. Returns a list giving a spread number of cells as in a bar chart.
calc_row_pointer_2D_mesh_quality(type,row_pointer_list,range_start,range_end,range_number,show=0,show_marker=0,show_cells=1)
calc_row_2D_mesh_quality_inter_block(type, row_list, range_start, range_end, range_number, show=0, show_marker=0, show_cells=1)
Computes the mesh quality at block boundaries in the blade to blade space. Returns a list giving a spread number of cells as in a bar chart.
delete_row_topology(topology_name)
Deletes from the library the topology identified by its name.
delete_b2b_topology(topology_name)
Deletes from the library the topology identified by its name.
a5_get_row_number()
Returns the number of rows of the machine.
a5_row_at_the_end_of_the_channel()
Adds a row at the end of the machine.
a5_set_support_curve_control_pts(value)
a5_get_support_curve_control_pts()
a5_row_on_the_nozzle_of_the_engine()
a5_row_in_the_bypass()
a5_row_at_the_outlet_of_the_compressor()
row(B):				# indices from 1
Returns an object of class Row.
B can be either a row name or a row index.
select_all_rows()
unselect_all_rows()
select_all()
unselect_all()
z_cst_line(name)
Gives access to meridional control lines. Returns an object of class RSInterface.
get_all_z_cst_lines()
Returns a list of all the z cst lines of the machine, as RSInterface class objects excluding inlet, outlet(s) and rotor/stator interfaces. The ordering in the list is based on the order of creation of the Z cst lines.
get_row_z_cst_lines_upstream(row) (New in AutoGrid5™ v13.1)
get_row_z_cst_lines_downstream(row,layer_index) (New in AutoGrid5™ v13.1)
get_row_z_cst_lines_on_blade(row,layer_index) (New in AutoGrid5™ v13.1)
delete_z_cst_line(RSInterface)
compute_default_z_cst_line(point, channel_curve_type)
Channel_curve_type should be "0" for hub, "1" for shroud or "2" for nozzle (bypass configuration).
z_cst_line = compute_default_z_cst_line(Point(8.2,19,0), 0): this command is creating a new control line on the hub at a location close to the point (Z=8.2,R=19,theta=0).
compute_default_relative_z_cst_line(row_ref,row_location,relative_location)
Row_location should be "0" if control line between inlet and leading edge of the row (row_ref), "1" if between its leading edge and its trailing edge, and "2" if between its trailing edge and outlet or rotor/stator.
b2bCut(B):				# indices from 1
Returns an object of class B2B cut.
B can be either a B2B cut name or B2B cut index.
a5_add_B2B_cut()
set_inlet_bulb_sharp_topology()
set_inlet_bulb_rounded_topology()
set_inlet_bulb_radial_topology()
get_inlet_bulb_topology()
0 for H topology, 1 for C topology, 2 for Radial topology.
set_inlet_bulb_streamwise_number_of_points(value)
get_inlet_bulb_streamwise_number_of_points()
set_inlet_bulb_H_streamwise_number_of_points(value)
get_inlet_bulb_H_streamwise_number_of_points()
set_inlet_bulb_spanwise_number_of_points(value)
get_inlet_bulb_spanwise_number_of_points()
set_inlet_bulb_C_block_number_of_points(value)
get_inlet_bulb_C_block_number_of_points()
set_inlet_bulb_radial_number_of_points(value)
get_inlet_bulb_radial_number_of_points()
set_inlet_bulb_singular_line(value)
get_inlet_bulb_singular_line()
set_inlet_bulb_smoothing_steps(value)
get_inlet_bulb_smoothing_steps()
set_inlet_bulb_butterfly_smoothing_steps(value)
get_inlet_bulb_butterfly_smoothing_steps()
set_outlet_bulb_sharp_topology()
set_outlet_bulb_rounded_topology()
set_outlet_bulb_radial_topology()
get_outlet_bulb_topology()
0 for H topology, 1 for C topology, 2 for Radial topology.
set_outlet_bulb_streamwise_number_of_points(value)
get_outlet_bulb_streamwise_number_of_points()
set_outlet_bulb_H_streamwise_number_of_points(value)
get_outlet_bulb_H_streamwise_number_of_points()
set_outlet_bulb_spanwise_number_of_points(value)
get_outlet_bulb_spanwise_number_of_points()
set_outlet_bulb_C_block_number_of_points(value)
get_outlet_bulb_C_block_number_of_points()
set_outlet_bulb_radial_number_of_points(value)
get_outlet_bulb_radial_number_of_points()
set_outlet_bulb_singular_line(value)
get_outlet_bulb_singular_line()
set_outlet_bulb_smoothing_steps(value)
get_outlet_bulb_smoothing_steps()
set_outlet_bulb_butterfly_smoothing_steps(value)
get_outlet_bulb_butterfly_smoothing_steps()
set_by_pass_configuration_topologyType(value)
Value should be "0" for H-Topology or "1" for C-topology.
get_by_pass_configuration_topologyType()
set_by_pass_configuration_Bnd_layer_Width(value)
get_by_pass_configuration_Bnd_layer_Width()
set_by_pass_configuration_nozzle_index(value)
get_by_pass_configuration_nozzle_index()
set_by_pass_configuration_clustering(value)
get_by_pass_configuration_clustering()
set_by_pass_configuration_numberOfSpanwisePoints(value)
get_by_pass_configuration_numberOfSpanwisePoints()
set_by_pass_configuration_numberOfStreamwisePoints(value)
get_by_pass_configuration_numberOfStreamwisePoints()
set_by_pass_configuration_relativeControlDistance(value)
get_by_pass_configuration_relativeControlDistance()
set_by_pass_configuration_nup(value)
get_by_pass_configuration_nup()
set_by_pass_configuration_ndown(value)
get_by_pass_configuration_ndown()
set_by_pass_configuration_relax_inlet_distribution(value)
Set the inlet distribution relaxation parameter. The input value can range from 0 (no relaxation) to 1 (uniform flow path distribution). For more details, please refer to Bypass Control.
get_by_pass_configuration_relax_inlet_distribution()
Get the current value of the inlet distribution relaxation parameter.
technologicalEffectZR(B):				# indices from 1
Returns an object of class ZR effect.
B can be either a ZR effect name or a ZR effect index.
a5_new_ZR_effect()
a5_get_ZR_effect_number()
zr_techno_effect_compute_default_mesh()
zr_techno_effect_connect_blocks()
zr_techno_effect_automatic_blocking()
zr_techno_effect_delete_blocks()
zr_techno_effect_automatic_z_cst_line()
zr_techno_effect_set_boundary_point(index,point)
Sets the limits of the zr technological effect domain definition by imposing a point on an existing curve.
index is 0 or 1 if first or second side of the zr technological effect domain.
point is the point location on an existing curve used to define the limits of the zr technological effect domain.
Example:zr_techno_effect_set_boundary_point(0,CurvePointNorm(polyline_solid,0.549747301273619))
zr_techno_effect_reset_boundary_point(index)
Resets the limits of the zr technological effect domain definition used for the autoblocking.
index is 0 or 1 if first or second side of the zr technological effect domain.
set_preference(preference_name,argument)
Sets the argument(s) of the preference. The available preference_names are listed below with their corresponding argument(s). 
autogrid5_mode for Expert/Basic Mode with an integer (1/0).
Grid control preferences
numberOfGridLevel for Number of grid levels with an integer value.
numberOfThreads for Number of threads with an integer value.
Autogrid5_import_CAD_streamwise_direction for Import CAD Streamwise Direction with floating values (x,y,z) defining the direction.
Saving preferences

save_bak_file for Backup when saving (.bak) with an integer (1/0).
quality_check_at_saving for Ask quality check when saving with an integer (1/0).
CGNS_format for CGNS file format with values of 0 for ADF and 1 for HDF5 format. (New in AutoGrid5™ v13.1)
CGNS_patch_info_saving for Save CGNS patch info / family name controlwith an integer (1/0).
CGNS_patch_info_saving_ansys for Family name options/Keep row name with an integer (1/0).
Export_short_family_names for Family name options/Short name with an integer (1/0). 
Blade_pressure_suction_sides_family_name for Family name options/Blade pressure/suction sides with an integer (1/0).
save_left_handed for Keep Left Handed Orientation After Saving with an integer (1/0).
Graphics preferences

visibility for Visibility during viewing ops with an integer (1/0). 
lights for Turn On Additional Lights with an integer (1/0). 
edge_normal_width for Edges width/Normal width with a floating value. 
edge_highlight_width for Edges width/Highlight width with a floating value.
grid_line_width for Grid Line Width with a floating value.
geometry_curve_width for Geometry Curve Width with a floating value.
Autogrid5_meridional_channel_shading for Meridional channel shading with an integer (1/0).
Autogrid5_b2b_mesh_optimization_full_visibility for B2B Full Mesh Visibility with an integer (1/0).
Autogrid5_b2b_quality_optimization_full_visibility for B2B Full Quality Visibility with an integer (1/0).
Autogrid5_automatic_mesh_viewing for Automatic 3D Mesh Viewing with an integer (1/0).
Layout preferences

gui_quick_access_pad for GUI/Quick Access Pad with an integer (1/0). 
gui_control_area for GUI/Control Area with an integer (1/0).
gui_balloon_help for GUI/Balloon Help with an integer (1/0). 
gui_progress_status_window for GUI/Progress Status with an integer (1/0). 
gui_smoother_convergence_window for GUI/Optimization Convergence History with an integer (1/0). 
get_preference(preference_name) Returns the value(s) of the preference.
save_preferences() Saves the current preferences into the file "igg.preferences".

Geometry Definition
The geometry of a meridional effects is defined by (z,r) curves displayed in the meridional view. Before starting the definition of a technological effect, the geometry should be defined in the meridional view.
The ".geomTurbo" File
The curves defining the meridional effects are specified in the ".geomTurbo" file using the basic curve format (Geometry Definition).
CAD Import
The solid bodies of the meridional effects can be imported (Import Meridional) from external CAD files using Import CAD window. The curves defining these bodies are selected interactively and projected in the meridional view (Geometry Definition).


FIGURE 3 Import CAD window - Import Meridional
User Defined

AutoGrid5™ provides geometrical features used to create the solid body of meridional effects interactively. New polylines can be created using Geometry Control subpad in the meridional effect edit mode and the steps needed to create these polylines are stored in the template file.


FIGURE 4 Edit mode - geometry control subpad
Notice that the Geometry menu available in the meridional effect edit mode can be used to define the geometry. Nevertheless, the name (Geometry/Modify Curve/Set Name...) of the created curve must contain the keyword "inlet", "outlet", "solid", "solid_rotating", "external" or "rotor_stator" to ensure the automatic definition of the boundary conditions.

Cooling - Basin Holes/Separator

When the blade configuration contains a cooling wall definition, a basin and a basin wall, holes into the basin wall and a solid separator into the basin can be defined within AutoGrid5™.


Basin Holes/Separator Methodology
The blade to blade mesh into the cooling wall area is composed by two blocks. After defining the basin holes and separator, AutoGrid5™ will compute the location of the basin holes and the separator into this mesh and than replace the butterfly topology by a new complex topology capturing the defined holes and separator. The connection between the cooling wall area and the solid body of the blade becomes full non matching.


This process is repeated on each layer from the bottom to the top of the domain. It assumes the same block topology and matching connections between the cooling channel, the basin wall, the basin and the shroud gap area.
Basin Holes Properties
The Add Radial Hole menu available when right-clicking on Solid Body adds a new hole entity in the configuration tree.


The Properties menu available when right-clicking on hole 1 opens a dialog box to control the geometry and the mesh of the selected hole.


 When selecting a solid body configuration with penny, the same dialog box is used to define the penny. However, a rotation around the penny can be specified.
 Geometry Control
Parametric Mode
When the option Use Parametric Definition is active, a parametric location is used to define the basin holes. Two parameters fully define the location of the holes:

Location (% of mean line): this parameter defines the hole center on the mean line by giving a percentage of the mean line length of the cooling wall definition ("A" in next figure).
Location (% of width): once the hole center is located on the mean line, a deviation normal to the mean line can be defined. The amplitude of the deviation is given in % of cooling wall width ("B" in next figure).



Radial cooling holes cannot be generated on the same chord position (same % of mean line).
 The Diameter of the selected basin hole has to be specified.
XYZ Mode
When the option Use Parametric Definition is switch off, the holes geometry is defined in the Cartesian space by an anchor point (Anchor) and an axis vector (Axis).


It is recommended to define an anchor point close to the shroud.
Once a new hole is defined using non-parametric definition, when pressing Generate B2B, the system indicates to the user two layer indices on which Generate B2B must be applied before launching the 3D generation.


The parametrization of the holes is done during these phases and it assumes that the axis given by the user will be followed by the holes. Each time the user wants to modify the hole location (i.e changing the anchor and/or the axis), the same procedure must be performed.
The Diameter of the selected basin hole has to be specified.
The Preview and Hide buttons are used to perform a quick display of the 3D definition of the cylinder used to define the holes. The 3D display is only available if the matrix block is available when the 3D mesh generation of the row has already been completed. Each modification of any hole lines parameter implies an automatic refresh of the display.
Due to the stacking technique used to define the basin holes, the holes are always normal to the surface of the basin and are following the spanwise direction (J-direction) of the blade.
External Holes Definition File
The basin holes geometry can be defined using an external data file through the Init Radial Holes From File menu available when right-clicking on the Solid Body. A file chooser allows to select an external hole file. The file format used to define a basin hole is presented below.


The Export Radial Holes Geometry menu available when right-clicking on the Solid Body is used to export the basin hole definition into an external file.
The data file format is the following:
SCALE_FACTOR 1000
 NI_BEGIN cylinder 
 ORIGIN      -0.00767000036430546 0.314414877301847 0.0786000028177822
 AXIS           7.16351112721767e-14 -1 -2.54702617856629e-14
 RADIUS      0.000250000011874398
 NI_END cylinder 
 NI_BEGIN cylinder 
 ORIGIN      -0.00781000037095512 0.314414877301847 0.0812700029446004
 AXIS           7.16351112721767e-14 -1 -5.09405235713257e-14
 RADIUS      0.000250000011874376
 NI_END cylinder
After the selection, the holes are automatically initialized in the configuration tree and the procedure described in the previous section must be followed to initialize the holes parametrization.
Mesh Control
The mesh inside and around the holes can be controlled using the following parameters.



Number of Point Along Radius: this parameter is used to modify the number of points in the boundary layer of the holes.


Number of Point Along Sides: this parameter is used to modify the number of points around the holes.


Location Bnd Smoothing Steps: this parameter is used to smooth the limit of the blocks at the boundary with the solid body of a hole located between others holes/separator.           


	Optimization Steps: this parameter is global for all the basin holes and controls the number of optimization steps used to optimise the mesh inside and around the holes.
Streamwise Mesh Resolution: this parameter allows the user to increase the default number of points in the streamwise direction. When set to 1, AutoGrid5™ computes automatically the number of points in the streamwise direction for the blocks inserted between holes according to the external grid point distribution. This is not always sufficient to assume a correct expansion ratio.



Basin Separator Properties
The Add Separator menu available when right-clicking on Solid Body adds a new separator entity in the configuration tree.


The Properties menu available when right-clicking on the separator 1 opens a dialog box to control the geometry and the mesh of the selected separator.


The separator location (Location (% chord)) is defined by giving a percentage of the cooling wall mean line arc length (indicated as "A" in the figure of section Geometry Control). The width of the separator is given in absolute value (Width) and the number of points in the streamwise direction (Number of Point Along Stream) controls the mesh into the separator.
Basin Holes/Separator Mesh Generation
The mesh inside the cooling channel is automatically computed during the stacking process of the row. The full non matching connections are automatically created between the solid body and the basin, basin wall, cooling channel and the shroud gap area. 
	No control is given on the streamwise number of points between the holes. AutoGrid5™ tries to keep the same clustering as in the solid body to avoid too high difference of grid points along the full non matching connections.

Mesh of End Wall Solid Body

By default, AutoGrid5™ creates the fluid core flow around the blade and the boundary condition with the solid body of the end walls is set to solid. The contextual row menu items Cooling/Add Hub Wall and Cooling/Add Shroud Wall can be used to mesh a part of the end walls automatically within AutoGrid5™. The items Hub Wall and Shroud Wall are automatically added into the configuration tree.


The hub/shroud end walls are not available for blade with blunt/sharp leading or trailing edge, for multi-bladed row and HOH/H&I B2B topologies.
Geometry Definition
The Properties menu available when right-clicking on the Hub Wall and/or Shroud Wall in the configuration tree opens a dialog box used to control the width of the selected end wall.


The end walls representation is automatically displayed in the meridional view.


Topology Definition
The Properties menu available when right-clicking on the Hub Wall and/or Shroud Wall in the configuration tree opens a dialog box used to control the number of points used to mesh the end wall in the spanwise direction and the width of the end wall.


The mesh is created using a matching connection between the core flow and the solid body of the end wall and therefore no more parameters are needed to control the mesh generation.
The Generation Type allows to control the mesh generation in the end walls: normal to the wall or along Z-cst lines (Radial (Z cst)).
3D Mesh Generation
The Generate menu available when right-clicking on the Hub Wall and/or Shroud Wall in the configuration tree is used to start the 3D generation of the selected end wall. The 3D mesh of the selected end wall will only be generated if the 3D mesh of the core flow is already available.



The option Generate End Wall available when pressing the Generate 3D button of the top menu bar can also be activated to involve the grid generation of the end wall after the mesh generation of the selected row.

Blade Holes Project Management

As explained at the beginning of the section Geometry Definition, the blade hole(s) meshes are inserted into the matrix block of the default mesh computed by AutoGrid5™ (skin block around the blade). Therefore, before starting the blade holes mesh generation, the default mesh inside the row must have been computed using Generate 3D button. This mesh is usually called the matrix mesh. It is strongly advised to save and store this mesh on disk (File/Save Project As) before starting the blade holes generation. Once the matrix mesh has been generated and saved into a matrix project, the blades holes definition can be modified and saved using the menu File/Save Template. 
Using this method, the template on disk contains the new holes definition and the matrix mesh. Each time the user wants to modify the holes definition and regenerate a new mesh, the matrix project can be reloaded, the holes definition changed and the holes mesh generation started without regenerating the default row mesh (matrix).
By default, the mesh (matrix) generated inside the solid body of the blade contains two blocks (butterfly topology at the trailing edge - Blade to Blade Control). Due to the mesh generation method, the matrix mesh is different if trailing edge holes or grooves must be generated. The butterfly topology is degenerated into a single O-block. Therefore, if a new line of holes of these types is added after having generated the matrix, the system will prompt the user to regenerate the matrix before starting the holes line. The same behavior can be observed if the matrix has been generated with trailing edge holes or grooves defined that are removed afterwards.

Topology Management
3D effect library
When an effect has been created, the mesh definition process can be stored in a dynamic library. 


FIGURE 4 3D effect library management
The contextual menu item Library opens the dialog box 3D Technological Effect Library. This dialog box contains the list of the available topology. The selected topology can be loaded and apply to the selected 3D effect using the button Load. The selected topology can be remove from the list using the button Remove. The topology of the active 3D effect can be stored in the library using the button Save: the dialog box Save 3D Topology is opened allowing the user to define a new 3D topology or to overwrite an existing one.
The selected topology can be applied simultaneously to several similar 3D effect. If the geometry of the effect is already loaded, the mesh is automatically generated using the selected topology.
Copy/Paste Feature
The 3D mesh topology of the selected 3D effect can be copied into a buffer and apply to other effect using the contextual menus Copy Topology and Paste Topology. Several similar effects can be selected to apply simultaneously the topology stored in the buffer using the Paste Topology options. 


FIGURE 5 Topology copy & paste on several effects

Geometry Control
The Properties and Geometry Control subpads of the Quick Access Pad provides respectively the rotation speed of the rotating geometry (i.e. solid polyline rotating) and six options to add polylines. These curves are eventually used to close the domain defined by the solid body or to create the separation line in case of multiple connections (see Multiple Connections). 
It is not required to add a curve at the connection between the blade channel (hub or shroud) and the meridional effect. Automatically the hub and shroud curves will be used as limit of the meridional effect.
When a button is pressed, an interactive tool is started waiting for points input:

Left-click to confirm the creation of a new control point of the polyline. 
Right-click to finish the creation process and stop the tool. 

During the creation process, automatic attraction is done on the curve display in the graphics area. 


FIGURE 6 Geometry generation
The type of the polyline can be inlet, outlet, external, solid, solid rotating or rotor/stator. The type is chosen according to the CFD requirement.
It is not recommended to have a meridional effect covering a rotor/stator control line in the blade channel.


FIGURE 7 Meridional effect vs. rotor/stator interface
When creating a separation line, a rotor/stator polyline must be used. 
If a cavity (ZR technological effect) is composed by one fluid block and one solid block (CHT), in order to limit the position of the solid block, no solid curve should be used inside the ZR effect definition. This is also true between two fluid blocks.

NIConfigurationEntities Class Commands

select()
unselect()
meshConfigurationDomain()
select_configuration()
unselect_configuration()
parent()

Blade Holes Mesh Generation
Once the matrix and the holes definition are completed, the Cooling/Generate Holes menu available when right-clicking on the Main Blade in the configuration tree allows to start the holes mesh generation without regenerating the row mesh.


The option Generate Blades Cooling Holes available when pressing the Generate 3D button of the top menu bar can also be activated to mesh the holes after the selected row mesh generation.

Template & Mesh Files

To manage complete mesh generation, AutoGrid5™ integrates the concept of project. An AutoGrid5™ project involves template files and mesh files: 
Mesh Files
The mesh files contains the multiblock mesh topology, geometry, grid points, patch grouping and the boundary condition types:

new_prefix.bcs: boundary conditions files,
new_prefix.cgns: grid points files (CGNS format described in IGG™ User Manual - Input & Output Files),
new_prefix.geom and new_prefix.xmt_txt: geometry files,
new_prefix.igg: topology file,
new_prefix.qualityReport: mesh quality report file,
new_prefix.config: mesh configuration file used for the grouping in FINE™ GUI and for the SubProject (more details in FINE™ User Manual).

These files can be loaded into the structured multiblock grid generation system IGG™ and by the CFD integrated environment FINE™/Turbo.
The hub and shroud curves definition are saved in the .cgns file. These data are read within CFView™ and used to define both blade-to-blade and meridional views.
The mesh quality file is saved at the end of the grid generation. If the new project has not yet been saved before launching the 3D generation, no grid quality report file will be saved because the system is not able to determine automatically the file location.
Template Files
The files when saving the template contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™:

new_prefix.geomTurbo and new_prefix.geomTurbo.xmt_txt: the geometry files (geomTurbo format),
new_prefix.trb: the template file containing the grid generation parameters,
new_prefix.info: the information file,
new_prefix_b2b.png: a picture of the blade to blade view only available on LINUX,
new_prefix_merid.png: a picture of the meridional view only available on LINUX.

Topology Control
The domain defining a technological effect must be filled by several structured 2D blocks. The block edges are mapped on the geometry. The Topology Control subpad provides the tools to create and control the blocks.


FIGURE 8 Topology definition
The Topology Control subpad is subdivided in three sections:

Automatic section allows to perform an automatic blocking of the technological effect.
Manual section provides tools used to create and control manually the blocks topology.
Detection Tools section provide tools used to detect automatically unmapped edges and the connection type between the technological effect and the blade channel.

Automatic Blocking



To perform the automatic blocking of a technological effect, the steps to follow are:

adapt the solid wall cell width at the wall in Mesh Control subpad, used as reference during the domain definition and the automatic blocking processes,
define the limits of the technological effect with the Domain Definition button,
adapt the automatic blocking expert parameters (optional),
start automatic blocking with the Automatic Blocking button.

Domain Definition
Before using the Automatic Blocking button, the limits of the technological effect should be specified to define a closed domain. This is the aim of the button Domain Definition. 
To define the limits of the technological effect:

Left-click on the button Domain Definition. A tool opens that allows to select a point on the existing zr effect curves.
Left-click in the graphics area on a zr effect curve. From this point, a set of curves starting from the selected point and joining the channel curves is highlighted in yellow. If channel connection curves cannot be found, the domain definition will fail (most likely the problem is located where the highlight stops) with an error message. If the selected zr effect has only one connection with the channel, the domain definition is completed and right-click to leave the tool.
If the zr effect has a double connection with the channel, a second point has to be selected on a still unhighlighted curve of the zr effect. Once again, starting from this point and joining the channel curves, a set of curve is highlighted in yellow. From there, the domain definition is completed. Right-click to leave the tool or left-click to restart the domain definition if incorrect.



When the domain is failing, the automatic blocking cannot be performed. The domain may fail because of gaps (higher than a tenth of the solid wall cell width) or overlaps between zr effect curves or a curve sharing its start or end point with more than one curve or no curve (in the next example each solid polyline is not sharing its end point with a curve).


The domain selection works only for single or double connection with the channel. In the next example each single element should be considered as a separate technological effect.


Automatic Blocking
The automatic blocking algorithm needs a reference parameter that is representative of the technological effect geometry size. The solid wall cell width in the Mesh Control subpad is used as reference parameter.
If the solid wall cell width is far too low or too high compared to the geometry size, the automatic blocking process may need a lot of memory and lead to an emergency save of the interface.
When clicking on Automatic Blocking button, the following steps are performed to impose an automatic blocking in the selected domain:

Compute the skeleton of the domain boundaries,
Compute a first blocking based on the skeleton curves,
Modify and/or delete some blocks for better mesh quality,
Modify/split some blocks to catch boundaries discontinuities.

For blades with blunt configuration at LE/TE and technological effect(s) connected right at this blunt location, if the user wants a matching connection with the channel, vertices of the blocks in the technological effect at the connection have to be manually moved on a dot. These dots are automatically drawn in the technological effect edit mode for each blunt blades.
In case of a technological effect with a double connection to the channel, a rotor/stator polyline should be added manually and the automatic blocking algorithm tries to catch the polyline (separation line) by splitting the blocks passing through it. The polyline should be placed so that it passes through only 2 blocks, otherwise the rotor/stator polyline will most likely not be automatically mapped. The location will most likely be good if placed in a long, thin and straight channel of the technological effect. However, in some cases, this might still not be sufficient.


When the technological effect is just representing the far field and the connection is matching between the technological effect and the blade channel, it is recommended to create manually the blocking by just using one block for the whole far field per row instead of using the automatic blocking that will generate a topology with more blocks. When more than one block, mesh generation problems may occur in the zr effect because the blade channel mesh will be extruded in the far field zr effect block(s).
When the automatic blocking is performed, the Manual section provides a few tools to adapt the proposed blocking.
Expert Parameters
The expert parameters H Topology Around Corners and H Topology Around Thin Films (activated by default) allow to control which topology will be used in T-shaped and L-shaped parts of the domain. 
H Topology Around Corners option allows to get a topology with higher orthogonality, but the topology leads to some propagation of the solid wall clustering. This may lead to convergence issues for the flow solver.


H Topology Around Thin Films option allows to avoid blocks of high section variation, which will most likely lead to a very high number of points compared to the block's lowest section size. It also give a better orthogonality, but the topology may lead to some clustering propagation as well.


Manual Blocking



Create & Modify New Block



The icon starts the block creation tools. When moving the mouse into the graphics area a default block geometry appears. Left-click twice to select the location of two opposite corners of the block and left-click again to confirm the creation. The four vertices defining the corners of the block are displayed. These vertices can be selected interactively (left-click) and mapped (attracted) onto the geometry. The block edges are automatically mapped on the geometry curves if their vertices are mapped on an underlying curve.
To fill or adapt manually the geometry defining the meridional effect the following rules should be respected:

When the edge mapping is not performed as required, a vertex needs to be inserted.




The 2D blocks should be connected to the shroud or hub with only one face.




A block connected to the channel should not have a multisegment edge otherwise some UND may appear if a FNMB or a matching connection is imposed.


When the meridional effect has several connections with the main blade channel, specific rules have to be respected and are presented in section Multiple Connections.

Delete Existing Blocks
The icon opens the dialog box used to delete several existing block.





FIGURE 9 Delete block(s)
Select the block interactively (left-click on an edge) and press the button Delete into the dialog box Delete blocks. Confirm the deletion into the confirmation box.
Insert New Control Vertices



The icon is used to insert a new control vertex on a edge. It is needed when the edge must be mapped on multiple curves: a vertex must be added at each boundary of the mapped curves.
Use the short-cut <i> to activate this command in a faster way.
Grid Points Clustering



The icon opens the Clustering dialog box use to control manually the grid points clustering along each edge of the blocks to adapt the automatic default mesh (Mesh Control subpad). The dialog box can also be accessed when right-clicking on the desired edge and selecting the Distribution menu.
Fixed Point Control - Multi-Segments Edge
An edge can be split in several segments by attaching a fixed point to an existing vertex. To attach a fixed point to a vertex:

The vertex must first exist. If this is not the case, create one vertex as indicated in previous section.
Right-click on the vertex to pop-up the menu.
Select the Attach Fixed Point menu item.
The vertex and fixed point markers are merged as a diamond, indicating that the vertex is attached to the fixed point.
The fixed point can now be moved by moving its vertex.

A fixed point is defined by an index (grid point index) on the edge to which it belongs. The index of a fixed point directly affects the number of points of its surrounding segments. To change the index of a fixed point:

Move the mouse to the desired fixed point. The index (indices) of the fixed point will appear when it can be selected.
Right-click to pop-up a menu for the fixed point.
Select the menu item corresponding to the index that will be changed.
Enter the new index in the keyboard input area and press <Enter>.

Changing the index of the fixed point automatically changes the number of points controlled by its surrounding segments.
To delete a fixed point:

Move the mouse to the desired fixed point. The index of the fixed point will appear when it can be selected.
Right-click to pop-up a menu for the fixed point.
Select the Delete menu item to delete the fixed point.

Blocks in the technological effect connected to the blade channel (except if periodic fnmb connection) or the rotor/stator polyline (separation line) should not present multi-segments edge. 
Grid Point Number Control
The number of points on each edge can be controlled manually through the dialog box Set Number of Points to adapt the automatic default mesh (Mesh Control subpad). Right-click on the desired edge to access the contextual menu and select the item Set Number of Points.
Enter the new number of points in the Set Number of Points area and press Apply.
The Propagate option indicates whether segment resizing should also be applied to the blocks connected to the active block. We recommend to keep propagation always active.
The Preview button evaluates the effect of a segment resizing on the active block and all the blocks connected through a segment connection. The segments affected by the evaluation will be highlighted in yellow.


FIGURE 10 Control the number of points
At the bottom of the dialog box, the warning is informing that multi-segment edges are allowed in the technological effect. If the number of points are adapted manually on segments or edges the user has to check manually that the imposed number of points propagated on concerned edges and segments is still respecting the number of grid level imposed. 
Connect Blocks Tool
If blocks have been added in a ZR effect, it is necessary to connect these new blocks. The button Default Mesh in Mesh Control subpad will generate and connect these new blocks but will also delete all the existing distributions made manually.
When creating manually a ZR effect or adding/adapting blocks in existing ZR effect, the button Connect Blocks allows to enforce the connections of all blocks in the ZR effect without applying a default mesh and thus keeping all manual adaptations performed by the user.
As a consequence, before performing the Connect Blocks the edges of the blocks to be connected have to present the same number of points and distribution. Otherwise,

if the edge distributions are different clicking on Connect Blocks will connect these two edges and apply the distribution of one of these 2 edges to the other.
if the edge number of points are different (except at the RS polyline interface), the 3D mesh generation will not be completed.

Detection Tools
The button Detect Unmapped Edges is used to visualize the face edge unmapped on an existing meridional curves. Check the vertices linked to the edges. The unmapped edges are displayed in the view and the number of detected unmapped segments appears in the message area.


FIGURE 11 Visualize unmapped edges
The button Toggle Rotating Boundaries is a toggle used to highlight the rotating boundaries (Solid Polyline Rotating and imported rotating basic curves) of the meridional effect.


FIGURE 12 Visualize rotating boundaries
The buttons Detect Channel Matching/FNMB Connection are used to detect the type of connection between the meridional effect and the blade channel (more details in Connection Types) according to an absolute connectivity tolerance (Matching Tolerance) by default set to 1e-8.


FIGURE 13 Visualize channel matching connection

Cooling - Pin Fins

The pin fins are usually located in the cooling channel of the blade and used to promote the turbulence and to exchange heat. These entities can be defined and meshed within AutoGrid5™.


Pin Fins Properties
The Add Pin Fins Channel menu available when right-clicking on Cooling Channels adds a pin fins channel entity in the configuration tree.


Pin Fins Box Definition
A pin fins channel entity is used to mesh solid pin fins lines into a box (cooling channel) defined by the user. The box is a IGG™ block created manually or imported from an external block data file. The block orientation I and J must correspond respectively to the pin fins axis and the pin fine line direction. This block will be used in a similar way as the matrix mesh used for the blade and end walls holes.
From IGG™ Edit Mode
The Edit menu, available when right-clicking on pin fins channel 1 in the configuration tree, allows to start the edit mode. Under this mode, the box will be created using IGG™ functionalities. When closing this edit mode (Close Edit Mode button), the first block created will be considered as the new pin fins box.
From External Block File
The Define from Box File menu, available when right-clicking on pin fins channel 1 in the configuration tree, opens a file chooser used to select an external IGG™ block coordinate file. Once the file selected, a dialog box prompts the user to specify how much points must be used in the I, J and K directions to create the box using the geometry of the imported block file.
Pin Fins Lines Definition
The Add Pin Fins Line menu, available when right-clicking on pin fins channel 1 in the configuration tree, is used to add a new pin fins line into the configuration tree.


The pin fins lines management is similar to the blade holes management presented in the previous sections. The Properties menu available when right-clicking on pin fins 1 opens a dialog box to control the geometry and the mesh of the selected hole.      


The holes geometry and mesh controls are similar to the ones presented for the blade holes in the Blade Holes Properties section.
In addition to the holes control parameters, the pin fins can have a fillet defined in the Dimension panel. The Minimum Fillet Angle avoids a zero skewness angle (orthogonality) of the cell connected with the boundary of the box.
The grid points distribution can be imposed for the entire pin fins line but not for only one pin fin of the line in order to ensure matching connection.
Pin Fins Mesh Generation
The mesh inside the cooling channel including the pin fins is automatically computed when selecting the Generate Pin Fins menu when right-clicking on pin fins channel 1 in the configuration tree.
When generating the pin fins, the cell width defined in the Mesh Control subpad of the quick access pad is taken into account. Using the default cell width of 1e-5 may lead to problems if the geometry is defined in mm. 


The final mesh contains solid blocks defining the pins fins and fluid blocks around the pin fins defining the fluid area of the box (cooling channel). The mesh includes six full non matching connections with only left patches defined. These connections are useful to define the link between the pin fins boxes and the surrounding areas such as the blade solid body.
In addition the Mesh properties menu when right-clicking on pin fins channel 1 in the configuration tree, opens a dialog box providing to the user easy ways to:

Revert the fluid and solid block.
Define inlet boundaries at the left or right side of the pin fins.
Preserved mesh boundary on the left and right side of the pin fins.

BasicCurve Class Commands
This class gives access to parameters of basic curves defining the channel, nozzle and ZR effects.

delete()
set_discretisation(i)
get_discretisation()
set_rotating_property(i)
get_rotating_property()
check_geometry()
set_data_reduction(reduction, min_dist=1e-6, max_angle=80)
get_data_reduction()
get_data_reduction_minimal_distance()
get_data_reduction_maximum_angle()

EndWall Class Commands

select()
delete()

End Wall Generation Control

generate()
generate_holes()

End Wall Parameters Control

set_width(value)
get_width()
set_number_of_connected_layers(value) (New in AutoGrid5™ v13.1)
get_number_of_connected_layers() (New in AutoGrid5™ v13.1)
set_number_of_optimization_steps(value)
get_number_of_optimization_steps()
enable_multigrid_optimization(value)
disable_multigrid_optimization(value)
get_multigrid_optimization_status()
set_generation_type(value) (New in AutoGrid5™ v13.1)
get_generation_type() (New in AutoGrid5™ v13.1)
number_of_holes_lines()
add_holes_line()
holes_line(i)

3D Generation & Persistence
The mesh generation is performed by the Generate 3D button. All the selected 3D effects are generated after the selected rows and the selected meridional effects.


FIGURE 6 3D mesh of the technological effect
The 3D effect generation is stored into the template file (".trb") using python script format:
NI_BEGIN 3d effect
  NAME			3d techno effect 1
NI_BEGIN ni3dlayer_recorder
NI_BEGIN ni3dlayer_record
effect_techno3d_Block_1=new_block(Point(0.0710714235901833,0.169539034366608,-0.071651391685009),Point(0.0710714235862563,0.169539034370535,-0.0786721184810469),Point(0.0710714235811796,0.175077691649889,-0.071651391681911),Point(0.0710714235772526,0.175077691653816,-0.0786721184779489),Point(0.0836308076926963,0.169539034346191,-0.071651391692034),Point(0.0836308076887693,0.169539034350118,-0.0786721184880719),Point(0.0836308077017,0.175077691670305,-0.071651391688936),Point(0.083630807697773,0.175077691674232,-0.0786721184849739))
move_vertex(vertex("effect_techno3d_Block_1",2,1,2),CurvePointNorm("surface1_bnd_3",0.326043824876047))
move_vertex(vertex("effect_techno3d_Block_1",2,1,1),CurvePointNorm("surface1_bnd_3",0.710139595042077))
move_vertex(vertex("effect_techno3d_Block_1",2,2,1),CurvePointNorm("surface1_bnd_1",0))
move_vertex(vertex("effect_techno3d_Block_1",2,2,2),CurvePointNorm("surface1_bnd_3",0.157843756497119))
move_vertex(vertex("effect_techno3d_Block_1",1,2,1),CurvePointNorm("curve1",1))
move_vertex(vertex("effect_techno3d_Block_1",1,2,2),CurvePointNorm("curve1",0.162994599914628))
move_vertex(vertex("effect_techno3d_Block_1",1,1,1),CurvePointNorm("curve1",0.728237079858547))
move_vertex(vertex("effect_techno3d_Block_1",1,1,2),CurvePointNorm("curve1",0.431818181829508))
NI_END   ni3dlayer_record
NI_END   ni3dlayer_recorder
NI_END 3d effect

When making a 3D effect in AutoGrid5™, it may be necessary to create some additional curves. The steps creating these curves are recorded in the template but the template cannot be replayed without manual modification as the curve names vary per IGG™ session. Therefore the user should either import an external CAD file with pre-defined names or the user should (re)name the curve immediately after creation in the interface, otherwise because of the curves and surfaces naming, the project may fail.
If the user modifies (number of points, clustering,...) an existing block created automatically by AutoGrid5™ in IGG™ or in a 3D effect in AutoGrid5™, the corresponding faces are reinterpolated . Due to this, the benefit of the smoothing is lost and the face may not lie on the geometrical surface anymore. 
Blocks created in a 3D effect (by creation or splitting an existing block) are still present even if the mesh of the row is regenerated. For instance, if a 3D effect is used in order to split the blocks and if the user asks to mesh again only the row, then the final mesh will contain the initial block and the two blocks resulting from the splitting of the block. This leads to undefined patches since some patches of the split blocks are not connected.

Blade Sheet Class Commands

select()
delete()
lower_zone()
upper_zone()
set_type(value)
Value should be either 0 for lower side, 1 for upper side or 2 for both sides.
get_type()
set_width(value)
get_width()
set_distance_from_leading_edge(value)
get_distance_from_leading_edge()
set_distance_from_trailing_edge(value)
get_distance_from_trailing_edge()
set_npts_near_leading_edge(value)
get_npts_near_leading_edge()
set_npts_near_trailing_edge(value)
get_npts_near_trailing_edge()

Configuration Management
The Rows Definition subpad of the Quick Access Pad contains features used to control the meridional effects. New effects can be added into the configuration tree and managed through their contextual menus.


FIGURE 2 Meridional effect management
The option Add ZR Effect creates a new entity in the configuration database and displays it into the Meridional Techno Effects list of the tree. Right-click on this new items of the tree opens the contextual menu of the meridional effects. It gives access to the editing mode allowing the user to define the new effects or to delete the selected effects. 
The effects can be renamed by double-clicking on their name into the tree. An interaction area prompts to enter a new name for the selected effect.

EndWallHole Class Commands

select()
delete()
setName(value)
getName()

Hole Location Control
XYZ Mode	

set_x_location(value,highlight=1)
get_x_location()
set_y_location(value,highlight=1)
get_y_location()
set_z_location(value,highlight=1)
get_z_location()

MTheta Mode

set_m_location(value,highlight=1)
get_m_location()
set_theta_location(value,highlight=1)
get_theta_location()

Hole Axis Control
Parametric Mode	

set_streamwise_angle(value,highlight=1)
get_streamwise_angle()
set_spanwise_angle(value,highlight=1)
get_spanwise_angle()

XYZ Mode	

set_x_axis(value,highlight=1)
get_x_axis()
set_y_axis(value,highlight=1)
get_y_axis()
set_z_axis(value,highlight=1)
get_z_axis()

Hole Dimension Control
Circular Shape

set_holes_diameter(value,highlight=1)
get_holes_diameter()

Rectangular/Oval Shape

set_holes_width(value,highlight=1)
get_holes_width()
set_holes_heigth(value,highlight=1)
get_holes_heigth()

Quadrilateral Shape (4-Sided)	

set_holes_p1x(value,highlight=1)
get_holes_p1x()
set_holes_p2x(value,highlight=1)
get_holes_p2x()
set_holes_p3x(value,highlight=1)
get_holes_p3x()
set_holes_p4x(value,highlight=1)
get_holes_p4x()
set_holes_p1y(value,highlight=1)
get_holes_p1y()
set_holes_p2y(value,highlight=1)
get_holes_p2y()
set_holes_p3y(value,highlight=1)
get_holes_p3y()
set_holes_p4y(value,highlight=1)
get_holes_p4y()

Hole Dimension Control

set_orientation_angle(value,highlight=1)
get_orientation_angle		()

B2B Cut Class Commands

delete()
select()
set_name(name)
get_name()
create()
set_width(value)
get_width()
set_location(value)
get_location()

Mesh Control


The Mesh Control subpad of the Quick Access Pad provides options to control the default mesh (ZR Mesh Settings section) and the type of connection with the blade channel and at the rotor/stator polyline (3D Mesh Settings section).
ZR Mesh Settings
Default Mesh

AutoGrid5™ provides a feature to set up automatically the number of points and the grid points clustering. 
Starting AutoGrid5™ v13.1, the number of points is reduced by imposing the expansion ratio in the boundary layer only on a limited number of cells in the boundary layer, then a higher expansion ratio (along boundary or general) is used. The distribution created by this new technique does not correspond to a classical distribution. Therefore a new distribution type ZR Effect Boundary Layer has been created. It would appear only in ZR effect edition mode and cannot be applied manually to a segment. (New in AutoGrid5™ v13.1)
When moving manually vertices or fixed points, new distribution type will not be recomputed but simply rescaled.
Expansion ratio can be higher than before after propagating channel number of points.
Before starting if necessary the manual editing of the grid point number and the grid point clustering, described in Manual Blocking, an automatic setting must be performed. The defaults are computed with the Default Mesh button according to two parameters and four advanced parameters:

Solid Wall Cell Width: the first cell width in the boundary layer.
the number of grid level respecting the number of grid level of the project (more details in Mesh Control Subpad) when the concerned zr effect has been created. It should respect the constraints related to the multigrid treatment within FINE™ GUI (default level is set to 3 and means that we have minimum 3 grid levels: 000, 111 and 222).
the Default Mesh Expert Parameters button opens a dialog box controlling the advanced parameters of the default mesh:



Max. Expansion Ratio In Boundary Layer: the maximum expansion ratio of the cells in the boundary layer.
Max. Expansion Ratio Along Boundary: the maximum expansion ratio of the cells along the solid boundaries of the zr effect.
Max. Expansion Ratio General: the maximum expansion ratio of the cells where both previous expansion ratios are not relevant.
Clustering Relaxation Angle: the angle to propagate clustering from an edge to the opposite one. Maximum value allowed is 10.




FIGURE 14 Default grid points clustering when changing expert parameters
The buttons Default Mesh or Connect Blocks (Connect Blocks Tool) should be pressed once in order to establish the connection between the blocks.
Each time the button Default Mesh is pressed, all the manual settings are erased by the new default. To avoid that, the button Connect Blocks (Connect Blocks Tool) is available.
Optimize Mesh
The Optimization Steps parameter allows the user to specify the number of iteration done by the optimization system. Before AutoGrid5™ v9.0, the smoother used is highly dependent of the original mesh quality. This smoother type was intended to give a smoothed mesh with an orthogonality as close as possible to the unsmoothed one, which explains this dependency. Starting AutoGrid5™ v9.0, the smoother used for newly created zr effects is the same as the one used in the blade-to-blade view.
The Optimize Mesh button allows to display the optimized mesh.
Add Matching Z Cst Lines
Once the user has created the technological effect topology, clicking on the button Add Matching Z Cst Lines allows to automatically add the control lines in the blade channel at the connection points with the blocks of the technological effect and to impose the right control line cell width (based on the solid wall cell width imposed in the technological effect) to obtain a matching connection between the blade channel and the technological effect. If a control line is already existing, no new control line is created at this location and the cell width is not adapted.
Created control lines are created with a default shape in exactly the same way as when the user adds a control line manually. These control lines may thus not be optimally shaped and may also cross other previously defined control lines. The user has thus to check the control lines shape and properties and modify them manually if necessary.
For blades with blunt configuration at LE/TE and technological effect(s) connected right at this blunt location, no control line is added at TE/LE and user needs still to add it manually.
3D Mesh Settings
Radial Expansion & Far Field Smoothing Steps
When the effect simulate the expansion of the main blade channel mesh to the far field (wind turbine), the Radial Expansion option activates full optimization of the far field mesh to avoid high clustering of the mesh in this region of the domain. The Far Field Smoothing Steps parameter controls the number of optimization steps that will be applied.
Connection With Channel: FNMB:Periodic & Theta Number Of Points
When the FNMB:Periodic option is active, the full non matching connection of the meridional effect with the channel mesh will not follow the shape of the blade to blade mesh. That allows to reach a better mesh quality in the meridional effect. In FIGURE 15, the blocks of the meridional effect connected to the channel mesh are twisted when the option is not active and that may damage the grid quality. 


FIGURE 15 FNMB:Periodic option
When the meridional effect is connected to the channel with a full non matching connection, the FNMB:Theta Number Of Points parameter controls the azimuthal number of points in the meridional effect. When the value is set to 0 (default), the azimuthal number of points in the meridional effect is currently the one at the inlet of the connected row.
When the meridional effect is connected to the channel with a matching connection, the FNMB:Theta Number Of Points parameter will have no effect.
Connection With Channel: Propagate Theta Deviation
When the Propagate Theta Deviation option is active, when the number of blocks is above 2 in the ZR effect, the angle deviation of the connected mesh will be propagated and allow in specific cases to avoid mesh with bad orthogonality.


FIGURE 16 Propagate Theta Deviation option
RS Interface Connection
When the ZR effect is containing a rotor/stator polyline (Multiple Connections), the type of connection at the rotor/stator polyline can be enforced if the connections with the main blade channel are related to the same row.
If the connections with the main blade channel are related to different rows, the connection at the rotor/stator polyline will be a rotor/stator interface except if the different rows are presenting the same periodicity.
If the connections with the main blade channel are related to the same row or rows with same periodicity, the connection at the rotor/stator polyline will be:

non-matching periodic if RS Interface Connection is set to Periodic except if the theta deviation between the two sides of the effect is low enough and/or mesh of both faces very similar (distribution & number of points), then the connection may be non-matching, matching or periodic matching.
enforced full non-matching periodic if RS Interface Connection is set to FNMB.
enforced matching periodic if RS Interface Connection is set to Periodic and Matching.
enforced matching if RS Interface Connection is set to Matching.



FIGURE 17 Connection type at rotor/stator polyline

To enforce periodic matching or matching connection at the rotor/stator polyline, the connected blocks at the rotor/stator polyline should present same number of points in azimuthal and "spanwise" directions. When connections with the main blade channel are matching, the B2B grid points of the row and the streamwise number of points in the channel should manually be adapted to ensure same number of points at both sides of the rotor/stator polyline otherwise matching connection at the rotor/stator polyline won't be enforced and a warning will appear: "connection at rotor-stator interface is not matching".

PinFin Class Commands

select()
	delete()
getName()

Pin Fin Location
Parametric Mode	

set_first_spanwise_parametric_location(value,highlight=1)
get_first_spanwise_parametric_location()
set_last_spanwise_parametric_location(value,highlight=1)
get_last_spanwise_parametric_location()
set_streamwise_location(value,highlight=1)
get_streamwise_location()

XYZ Mode	

set_x_location(value,highlight=1)
get_x_location()
set_y_location(value,highlight=1)
get_y_location()
set_z_location(value,highlight=1)
get_z_location()

UV Mode	

set_U_location(value,highlight=1)
get_U_location()
set_V_location(value,highlight=1)
get_V_location()

Pin Fin Axis Control
Parametric Mode	

set_streamwise_angle(value,highlight=1)
get_streamwise_angle()
set_spanwise_angle(value,highlight=1)
get_spanwise_angle()

XYZ Mode	

set_x_axis(value,highlight=1)
get_x_axis()
set_y_axis(value,highlight=1)
get_y_axis()
set_z_axis(value,highlight=1)
get_z_axis()

Pin Fin Dimension Control

set_depth(value,highlight=1)
get_depth()

Circular Shape	

set_diameter(value,highlight=1)
get_diameter()
set_diameter2(value,highlight=1)
get_diameter2()

Rectangular/Oval Shape	

set_width(value,highlight=1)
get_width()
set_heigth(value,highlight=1)
get_heigth()

Quadrilateral Shape (4-Sided)	

set_holes_p1x(value,highlight=1)
get_holes_p1x()
set_holes_p2x(value,highlight=1)
get_holes_p2x()
set_holes_p3x(value,highlight=1)
get_holes_p3x()
set_holes_p4x(value,highlight=1)
get_holes_p4x()
set_holes_p1y(value,highlight=1)
get_holes_p1y()
set_holes_p2y(value,highlight=1)
get_holes_p2y()
set_holes_p3y(value,highlight=1)
get_holes_p3y()
set_holes_p4y(value,highlight=1)
get_holes_p4y()

Pin Fin Orientation Control

set_orientation_angle(value,highlight=1)
get_orientation_angle()

Configuration Management
The Rows Definition subpad of the left Quick Access Pad contains features used to control the 3D effects. New effects can be added into the configuration tree and managed through their contextual menus.
A 3D effect belongs to a row. The related row must be selected before creating a new effect. The option Add 3D Effect creates a new entity in the configuration database and display it into the row selected in the tree. Right-click on this new items of the tree opens the contextual menu of the 3D effects. It gives access to:

Edit : the editing mode allowing the user to define mesh of the new effects 
Load Geometry : the geometry definition. A file chooser is used to select the geometry data file containing the curves and surfaces defining the effect body.
Delete Effect(s) : the effect deletion tools
Library : the effect library
Copy/Paste Topology : the copy/paste topology feature allowing the user to apply to an effect the topology of another.

The effects can be renamed by double clicking on their name into the tree. A interaction area prompts to enter a new name for the selected effect.


FIGURE 1 3D effect management

Viewing Commands


a5_tclUpdate() is used to update the remaining part of the AutoGrid5™  GUI.
hoops_Update() is used to update all the views of the AutoGrid5™ GUI.
a5_update_dialog_box() is used to update the opened dialog boxes
a5_waitLeftClick() is used to stop the execution of the script until user left click
a5_switch_to_wizard_mode()
a5_switch_to_basic_mode()
a5_switch_to_expert_mode()
a5_focus_ZR_view()
a5_focus_B2B_view()
a5_focus_importCAD()
Focus on the Import CAD window. This command allows the creation and manipulation of geometry inside the Import CAD window by using Python commands, such as creating, importing, or modifying a curve. The command does not open the Import CAD window, but any actions performed after applying the focus will become visible once the user opens the Import CAD window. If the user has opened the Import CAD window, calling the command a5_focus_importCAD() will set the active view to this window.
a5_focus_3D_view()
a5_full_view()
Set in full view mode the focused view.
a5_multi_view()
a5_focus_b2b_view_on_active_rows()
Sets the focus on the B2B view and fit the view around the selected rows.
a5_view_b2b_repetition_number(number)
a5_view_b2b_repetition()
a5_hide_b2b_repetition()
a5_print_b2b_png(file_name)
a5_print_3D_png(file_name)
a5_print_ZR_png(file_name)
a5_enable_full_display_smoothing_mode()
Updates the interface after each B2B smoothing step. Only working with default topology.
a5_disable_full_display_smoothing_mode()
a5_enable_full_display_quality_mode(type)
Updates the interface after each B2B smoothing step and computes quality in B2B view according to type criterion.
a5_disable_full_display_quality_mode()
a5_view_3d_mesh(coarseLevel,pointOfView,zoom,grid,row_list)
a5_remove_Cooling_Wall_B2B_Rep(blade)
zoomFromAt(centerx1,centery1,centerz1,centerx2,centery2,centerz2,zoom1,zoomstep,nstep)
a5_view_3d_mesh_default()
a5_view_3d_mesh_fixed()
a5_view_3d_mesh_fixed_repet()
a5_hide_3d_mesh()
a5_toggle_b2b_mesh()
a5_toggle_b2b_grid_point()
a5_toggle_b2b_edges()
a5_merge_fnmb(name1,name2,sens)

HolesLine Class Commands

select()
delete()
hole(i)
setName(value)
getName()
preview3D()
hide2D()

External File Control

exportGeometry()
exportDefinition()
defineGeometry(file_name)

Hole Line Geometry Control
Holes Number

set_holes_number(value,highlight=1)
get_holes_number()		

Hole Shape

set_circular_shape(highlight=1)
set_rectangular_shape(highlight=1)
set_oval_shape(highlight=1)
set_trailing_edge_groove_shape(highlight=1)
set_trailing_edge_circular_hole_shape(highlight=1)
set_quadrilateral_shape(highlight=1)
get_shape(highlight=1)

Hole Location

set_location_to_blade_upper_side(highlight=1)
set_location_to_blade_lower_side(highlight=1)

		Parametric Mode	

enable_parametric_holes_location(highlight=1)
set_first_spanwise_parametric_location(value,highlight=1)
get_first_spanwise_parametric_location(highlight=1)
set_last_spanwise_parametric_location(value,highlight=1)
get_last_spanwise_parametric_location()
set_streamwise_location_on_meridional_chord	(value,highlight=1)
set_streamwise_location_from_leading_edge(value,highlight=1)
set_streamwise_location_from_trailing_edge(value,highlight=1)
set_first_streamwise_location_on_meridional_chord(value,highlight=1)
get_first_streamwise_location_on_meridional_chord()
set_first_streamwise_location_from_leading_edge(value,highlight=1)
get_first_streamwise_location_from_leading_edge()
set_first_streamwise_location_from_trailing_edge(value,highlight=1)
get_first_streamwise_location_from_trailing_edge()
set_last_streamwise_location_on_meridional_chord(value,highlight=1)
get_last_streamwise_location_on_meridional_chord()
set_last_streamwise_location_from_leading_edge(value,highlight=1)
get_last_streamwise_location_from_leading_edge()
set_last_streamwise_location_from_trailing_edge(value,highlight=1)
get_last_streamwise_location_from_trailing_edge()

XYZ Mode	

enable_xyz_holes_location(highlight=1)
set_x_location(value,highlight=1)
get_x_location()
set_y_location(value,highlight=1)
get_y_location()
set_z_location(value,highlight=1)
get_z_location()
set_x2_location(value,highlight=1)
get_x2_location()
set_y2_location(value,highlight=1)
get_y2_location()
set_z2_location(value,highlight=1)
get_z2_location()

RTHZ Mode	

enable_mtheta_holes_location(highlight=1)
set_r_location(value,highlight=1)
get_r_location()
set_theta_location(value,highlight=1)
get_theta_location()
set_z_location(value,highlight=1)
get_z_location()
set_r2_location(value,highlight=1)
get_r2_location()
set_theta2_location(value,highlight=1)
get_theta2_location()
set_z2_location(value,highlight=1)
get_z2_location()

Hole Axis
		Parametric Mode	

enable_parametric_holes_axis(highlight=1)
set_streamwise_angle(value,highlight=1)
get_streamwise_angle()
set_spanwise_angle(value,highlight=1)
get_spanwise_angle()

		XYZ Mode	

enable_xyz_holes_axis(highlight=1)
set_x_axis(value,highlight=1)
get_x_axis()
set_y_axis(value,highlight=1)
get_y_axis()
set_z_axis(value,highlight=1)
get_z_axis()

		RTHZ Mode	

enable_rthz_holes_axis(highlight=1)
set_r_axis(value,highlight=1)
get_r_axis()
set_theta_axis(value,highlight=1)
get_theta_axis()
set_z_axis(value,highlight=1)
get_z_axis()

Hole Dimension

set_depth(value,highlight=1)
get_depth()

		Circular Shape	

set_diameter(value,highlight=1)
get_diameter()

		Rectangular/Oval Shape	

set_width(value,highlight=1)
get_width()

	Grooves (Parametric Mode)	

set_heigth(value,highlight=1)
get_heigth()

		Quadrilateral Shape (4-Sided)	

set_holes_p1x(value,highlight=1)
get_holes_p1x()
set_holes_p2x(value,highlight=1)
get_holes_p2x()
set_holes_p3x(value,highlight=1)
get_holes_p3x()
set_holes_p4x(value,highlight=1)
get_holes_p4x()
set_holes_p1y(value,highlight=1)
get_holes_p1y()
set_holes_p2y(value,highlight=1)
get_holes_p2y()
set_holes_p3y(value,highlight=1)
get_holes_p3y()
set_holes_p4y(value,highlight=1)
get_holes_p4y()

Hole Orientation

set_orientation_angle(value,highlight=1)
get_orientation_angle()

Hole Line Mesh Control
Grid Points Number

set_number_of_points_in_boundary_layer(value,highlight=1)
get_number_of_points_in_boundary_layer()
set_number_of_points_streamwise(value,highlight=1)
get_number_of_points_streamwise()
set_number_of_points_spanwise(value,highlight=1)
get_number_of_points_spanwise()
set_number_of_points_streamwise_left(value,highlight=1)
get_number_of_points_streamwise_left()
set_number_of_points_streamwise_right(value,highlight=1)
get_number_of_points_streamwise_right()
set_number_of_points_spanwise_up(value,highlight=1)
get_number_of_points_spanwise_up()
set_number_of_points_spanwise_down(value,highlight=1)
get_number_of_points_spanwise_down()

Optimization

set_number_of_optimization_steps_inside_holes(value,highlight=1)
get_number_of_optimization_steps_inside_holes()
enable_skewness_control_inside_holes()
disable_skewness_control_inside_holes()
get_skewness_control_inside_holes()
set_number_of_optimization_steps_arround_holes(value,highlight=1)
get_number_of_optimization_steps_arround_holes()
enable_skewness_control_arround_holes()
disable_skewness_control_arround_holes()
get_skewness_control_arround_holes()

Wake Control

set_upstream_wake_length(value,highlight=1)
get_upstream_wake_length()
set_downstream_wake_length(value,highlight=1)
get_downstream_wake_length()

Holes Line Mesh Shape Control 

set_hole_line_shape_link_to_next_hole_line_shape(value,highlight=1)
get_hole_line_shape_link_to_next_hole_line_shape()
set_hole_line_shape_link_to_previous_hole_line_shape(value,highlight=1)
get_hole_line_shape_link_to_previous_hole_line_shape()

Global Mesh Control

set_preserved_layers_on_lower_side(value,highlight=1)
get_preserved_layers_on_lower_side()
set_preserved_layers_on_upper_side(value,highlight=1)
get_preserved_layers_on_upper_side()
set_intersection_tolerance(value,highlight=1)
get_intersection_tolerance()

Geometry Definition
The geometry of a 3D effects is defined by (x,y,z) curves and/or surfaces displayed in the XYZ   view when editing the effect. Before starting the definition of the mesh of a technological effect, the geometry can be defined through: 
External Data File
The curves and surfaces defining the solid body of one effect are stored into one file. The contextual menu item Load Geometry opens a file chooser to select this file.
CAD Import
The solid bodies of the 3D effects are stored in multiple data files. The Geometry Definition/Import and Link CAD menu opens the Import CAD window allowing the user to select and link data curves and surfaces defining the solid body of the selected effect in the tree.
All the grid generation process of the 3D effect is stored into a python script. During the grid generation, the names of the geometry entities are used to identify the topology links. As the name of each geometry entity must be unique, it is impossible to reuse the grid generation method of one effect to another without respecting the following rule: the name of each entity must be composed with a prefix and a suffix separated by a # character. The prefix is used to identify the effect and the suffix is used to make the link with the topology (i.e.: effect1#curve1).

Definition of Meridional Mesh

Application Field
The button Generate 3D of the top toolbar applies to all the selected entities of the tree. Three types of entity can be selected: the row, the meridional technological effect and the 3D technological effect. The button Select All is used to select all the entities of the tree. The button Select All Rows is used to select all the rows of the tree.


FIGURE 2 Selection of the application field of the button Generate 3D
The meridional effects are connected to several rows and must be generated together with these row(s) if these ones are not yet generated. If the 3D meshes of the connected row(s) are already generated, the effects can be generated alone excepted if the configuration of the row (generation parameters) has been changed after their generation.

A 3D technological effect belongs to a row. If the selection does not include the row containing a selected 3D effect, AutoGrid5™ prompts to confirm the 3D generation of the row.

Blade Holes Properties
The Cooling/Add Holes Line menu available when right-clicking on Main Blade adds a new hole line entity in the configuration tree. By default a new hole line contains a single hole that is automatically displayed in the meridional view.


The Properties menu available when right-clicking on the holes line 1 opens a dialog box to control the geometry and the mesh of the selected line of holes.


The Preview 3D and Hide 3D buttons (as the Preview/Hide 3D Location menus) are used to perform a quick display of the 3D definition of the cylinder used to define the holes. The 3D display is only available if the matrix block is available when the 3D mesh generation of the row has already been completed. Each modification of any hole lines parameter implies an automatic refresh of the display.
 Geometry Control
In the Blade Cooling Holes Line Definition, the Geometry thumbnail gives access to the parameters controlling the geometry of the line of holes.
Holes Number Control
The number of holes in a line can be modified through the parameter Number of Hole on the Line.


Holes Shape Control
Seven different types of holes can be defined: circular, rectangular, oval, circular at trailing edge (trailing edge holes), groove at trailing edge, 4 sided and oval at trailing edge.


For each type, the parameters controlling the geometry are different. 
The trailing edge grooves are only available for mesh with blunt cooling wall.
Holes Location Control
The location of a hole is defined by the 3D anchor point of its axis. Three modes can be used to define this point.


Parametric Mode
Using the Parametric mode, the side (Upper Side/Lower Side) of the blade where the holes must be located is selected as well as the Spanwise Location and the Streamwise Location.
The Spanwise Location is defined by the meridional starting (Start) and ending (End) point of the line. These locations are given in percentage of span. The holes are automatically redistributed using an equidistant distribution.
The Streamwise Location can be entered using three modes:

% of meridional chord: the streamwise location is computed in the meridional plane by giving a percentage of the distance between the leading edge and the trailing edge.
% of arc length from LE: the streamwise location is computed in the 3D space by giving a percentage of the arc length along the blade definition starting from the leading edge.
% of arc length from TE: the streamwise location is computed in the 3D space by giving a percentage of the arc length along the blade definition starting from the trailing edge.

When using the % of meridional chord mode, the quick display will be an approximation of the hole location. 
XYZ Mode (Px,Py,Pz)
Using the Px,Py,Pz mode, the axis anchor point location of each hole of the line is directly entered in absolute Cartesian coordinates.
RTHZ Mode (Pr,Pth,Pz)
Using the Pr,Pth,Pz mode, the axis anchor point location of each hole of the line is directly entered in absolute cylindrical coordinates.
The Parametric mode is applied to the entire holes line. Each modification of a parameter affects all the holes of the line. To modify a single hole location, first the parametric mode is used to define globally the hole line, than the mode can be switched to XYZ (Px,Py,Pz) or RTHZ (Pr,Pth,Pz) mode to relocate the selected hole.
Holes Axis Control
The axis of each hole can be controlled separately and/or globally for all the holes belonging to a line using three different modes.
Parametric Mode
The axis is controlled by giving the spanwise (Alpha) and the streamwise (Beta) deviation from the blade surface normal.


XYZ Mode (Vx,Vy,Vz)
The axis is given by entering the three absolute Cartesian coordinates of the vector (Vx,Vy,Vz).
RTHZ Mode (Vr,Vth,Vz)
The axis is given by entering the three cylindrical coordinates of the vector (Vr,Vth,Vz).
The Parametric mode is applied to the entire holes line. Each modification of a parameter affects all the holes of the line. To modify a single hole axis, first the parametric mode is used to define globally the hole line, than the mode can be switched to XYZ (Vx,Vy,Vz) or RTHZ (Vr,Vth,Vz) mode to change the axis of the selected hole.
Holes Dimension Control
The dimension of the holes depends of the shape chosen in Holes Number Control.
Circular Shape
When circular shape is selected, the diameter and the depth of the holes can be imposed (each hole can be controlled separately).
When a cooling wall is defined, the depth is only used for quick visualization of the hole location.
Rectangular & Oval Shapes
When rectangular or oval shape is selected, the width, the height and the depth of the holes can be imposed (each hole can be controlled separately).
When a cooling wall is defined, the depth is only used for quick visualization of the hole location.


Trailing Edge Groove Shape
When the location of the groove is defined using the Parametric mode, the height of the groove must be entered.


4-Sided Shape
The four points coordinates defining the shape of the quadrilateron must be entered.



Holes Orientation Control
For rectangular, oval and 4-sided shapes, the holes height is aligned with the spanwise direction. The rotation angle around the normal to the blade surface can be specified (Angle).


External Holes Definition File
The hole geometry can be defined using an external data file through the Load Geometry File menu available when right-clicking on the holes line 1. A file chooser allows to select an external hole line file. The file formats used to define hole line are presented in next sections.
The Export Holes Geometry menu available when right-clicking on the holes line 1 is used to export the hole line definition into an external file. The name of the file is automatically chosen according to the grid configuration and the project file name. Therefore, before exporting a hole line geometry, the project must be saved. For example, when exporting the "holes line 5" of a project named "moduleCHT-section_2", the name of the data file will be "moduleCHT-section_2_row_2_Main_Blade_holes_line_5.dat" and it will be located where the project was saved.
Data File for Circular Shape Holes Line
  NAME                        holes line 1
  SCALE_FACTOR                1
  SHAPE                       CIRCULAR
NI_BEGIN NIHole
  NAME                        hole 1
  POINT                       0.2721 0.014104 0.0718381
  AXIS                        0.0563309 -0.996603 -0.0600856
  DIAMETER                    0.0011
NI_END   NIHole
...
Data File for Rectangular Shape Holes Line
  NAME                        holes line 2
  SCALE_FACTOR                1
  SHAPE                       SQUARE
NI_BEGIN NIHole
  NAME                        hole 1
  POINT                       0.272459 0.00174071 0.0691802
  AXIS                        -0.00578617 0.90566 0.423965
  SIZE1                       0.0011
  SIZE2                       0.0011
  ORIENTATION_ANGLE           0
NI_END   NIHole
…
Data File for Oval Shape Holes Line
  NAME                        holes line 3
  SCALE_FACTOR                1
  SHAPE                       OVAL
NI_BEGIN NIHole
  NAME                        hole 1
  POINT                       0.272459 0.00174071 0.0691802
  AXIS                        -0.00578617 0.90566 0.423965
  SIZE1                       0.0011
  SIZE2                       0.0011
  ORIENTATION_ANGLE           0
NI_END   NIHole
…
Data File for Trailing Edge Groove Holes Line
  NAME                        holes line 4
  SCALE_FACTOR                1
  SHAPE                       GROOVE_AT_TRAILING_EDGE
  SIDE                        LOWER_SIDE
NI_BEGIN NIHole
  NAME                        hole 1
  POINT                       0.270542 0.0428518 0.112722
  AXIS                        0 0 0
  POINT2                      0.271642 0.0428532 0.112722
NI_END   NIHole
…
Data File for Trailing Edge Circular Holes File
  NAME                        holes line 5
  SCALE_FACTOR                1
  SHAPE                       CIRCULAR_AT_TRAILING_EDGE
NI_BEGIN NIHole
  NAME                        hole 1
  POINT                       0.2725 0 0.112722
  AXIS                        0 0 0
  DIAMETER                    0.0011
NI_END   NIHole
...
Data File for 4-Sided Shape Holes Line
  NAME                        holes line 6
  SCALE_FACTOR                1
  SHAPE                       QUADRILATERAL
NI_BEGIN NIHole
  NAME                        hole 1
  POINT                       0.272459 0.00174071 0.0691802
  AXIS                        -0.00578617 0.90566 0.423965
  POINTS                      -0.0011 -0.0011 0.0011 -0.0011 -0.0011 0.0011 0.0011 0.0011
  ORIENTATION_ANGLE           0
NI_END   
...
The SCALE_FACTOR is optional. It is used to convert the data if it is not specified in meter (i.e.: data in millimeter needs to set the SCALE_FACTOR to 0.001).
 Mesh Control
In the Blade Cooling Holes Line Definition, the Mesh Control thumbnail gives access to the parameters controlling the mesh topology around and inside the holes. 


Grid Points Distribution
The grid point distribution panel allows the user to change the grid point number (by left-clicking on the it when highlighted in red) around the holes. According to the shape of the holes, the parameters to define can be different.


 When defining a hole line in the end walls, additional parameters Upper/Lower clustering relaxation allow to relax the clustering on the top and bottom. When the value is set to 0 the clustering is fully relaxed otherwise the value entered by the user is used to set up a cluster at both ends distribution.


Optimization Control
The number of smoothing steps around (Optimization Steps Around Hole) and inside (Optimization Steps Inside Holes) the holes can be modified. The type of smoothing can also be chosen with or without skewness control (Skewness Control Around/Inside Holes option). 


 For the trailing edge grooves, only the smoothing steps inside the holes can be controlled.


Wake Control
The size of the mesh upstream and downstream can be controlled by Upstream/Downstream Normalized Distance. These parameters allow the user to change the upstream and downstream length of the area where the mesh around the holes will be created.
The upstream and downstream length is calculated in the parametric space of the surface built from the skin mesh. The hole size is then measured and multiplied by the normalized parameters. By adding the value calculated to the hole center, the upstream and downstream distance is obtained. The final distance in physical space is approximately proportional to Upstream/Downstream Normalized Distance  since it is calculated in the parametric space.


Mesh Shape Control
When two lines of holes are close to each other and one of the holes line spanwise shape must drive the shape of the mesh of the second holes line, the option Holes Line Mesh Shape Control can be applied on the second holes according to the holes line spanwise shape configuration.


 Global Control

By default, when lines of holes are defined, AutoGrid5™ will first divide the matrix block in spanwise direction near the hub and near the shroud to keep as much as possible of the end wall boundary layer of the matrix mesh. The indices of division can be controlled by the user in the thumbnail Global Control.
The tolerance used to compute the intersection of the holes with the matrix block can be modified by modifying the Holes Intersection Tolerance available in the Expert page.
Because the preview using Preview 3D button can be slightly different from the final computed location, the Preview Tube Mesh button is used to display the real location of the holes.

Cooling - End Wall Holes

In the section Mesh of End Wall Solid Body, the grid generation of the end walls solid body is presented. In addition, lines of holes located on the end walls can be defined and meshed within AutoGrid5™.


End Wall Holes Methodology
The method is similar to the grid generation of blade line holes describes in the section Cooling - Blade Holes. As for the blades line holes, the grid generation of the line of holes on the end walls is based on the insertion of the mesh around the holes into a matrix mesh. This matrix mesh is created automatically by AutoGrid5™. It consists in two H blocks used to mesh the solid body of the end wall and the connected fluid boundary layer.


The Properties menu available when right-clicking on Hub Wall or Shroud Wall opens a dialog box to control the mesh generation of the matrix. The blade to blade visualization of the H block can be controlled using the menu View B2B Mesh and Hide B2B Mesh.
The user can control the smoothing steps (Hole Matrix Optimization Steps) and the multigrid acceleration (Hole Matrix Multigrid Optimization) to optimize the H block of the matrix. The number of layers on which the end walls holes block will be extended into the fluid boundary layer is controlled by the Connected Layers parameters.


End Wall Holes Properties
The Add Holes line menu available when right-clicking on Hub Wall or Shroud Wall adds a new holes line entity in the configuration tree.


The holes geometry and mesh controls are similar to the ones presented for the blade holes in Blade Holes Properties. 
A quick display of the end walls holes is also available in the blade to blade view but it appears only if the active blade to blade layer corresponds to the hub or the shroud.
Due to the matrix concept which is using a H block, the grid quality in the hub wall boundary layer can be downgraded compared to the default topology.
Due to the location of the matrix, it is not obvious to define holes in front of the leading edge.
End Wall Holes Mesh Generation
Once the matrix, the end walls and the holes definition are completed, the Generate Holes menu, available when right-clicking on Hub Wall or Shroud Wall in the configuration tree, allows to start the holes mesh generation without regenerating the row mesh.


The options Generate End Wall and Generate End Wall Cooling Holes available when pressing the Generate 3D button of the top menu bar can also be activated to mesh the holes after the selected row mesh generation. 


When cooling holes on end walls, the generated mesh is composed by two parts: one part with default topology and a second part with several H blocks on the end wall. The first part is respecting the default span orientation (J) while the others have the span orientation along I.

RSInterface Class Commands

select()	
copy_left_meridional_distribution()
copy_right_meridional_distribution()
paste_left_meridional_distribution()
paste_right_meridional_distribution()
merge_meridional_distribution()
set_name(value)
get_name()
streamwise_number_of_points(value)
get_streamwise_number_of_points()
streamwise_index(value)
get_streamwise_index()
enable_b2b_control()
disable_b2b_control()
get_b2b_control()
geometry_is_fixed()
geometry_is_not_fixed()
get_geometry_is_fixed()
cell_width_in_streamwise_direction(value)
get_cell_width_in_streamwise_direction()
set_clustering_relaxation_location(value)
Value should be "None", "Hub", "Shroud" or "Mid_Span"
get_clustering_relaxation_location()
set_clustering_relaxation_factor(value)
get_clustering_relaxation_factor()
set_linear_shape()
set_curvilinear_shape()
set_user_defined_shape()
set_default_shape()
set_z_cst_shape(value)
set_r_cst_shape(value)
get_shape()
Returns the shape of the control line: 0 if linear, 1 if curvilinear, 2 if defined shape, 3 if default, 4 if R constant and 5 if Z constant.
get_r_cst_value()
get_z_cst_value()
set_relative_location(value)
Sets the default shape control line at a relative streamwise position (relative to the row). The value is a float between 0 and 1. The lower the value, the more upstream the control line will be located. The relative position is given either between inlet (or rotor-stator) and the blade leading edge, or between the blade trailing edge and outlet (or rotor-stator).
set_external_curve(filename)
	link_geometry(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
export_geometry(filename)
get_curve()
Returns the geometry curve of the RSInterface, as a Curve class object.
set_reference_frame_relative()
set_reference_frame_absolute()
get_reference_frame()
get_relative_location()
get_reference_row()
get_reference_row_location()
move_control_point(i,point)


get_number_of_control_points()
Returns the number of control points in the control line.


get_control_point(i)
Returns the control point i (class Point with x = z coordinate, y = radius, z = 0). i is the index of the control point starting at 0.

Mesh Quality
After the grid generation, the menu item Grid/Grid Quality Report () displays the characteristics of the mesh in terms of minimum and maximum of the expansion ratio, the aspect ratio and the cells skewness (orthogonality). These data are available for the entire mesh or by configurations entity (row, technological effect, bulb). Negative cells are detected and indicated on top of the histogram. The number of multigrid levels of each entity (row and technological effects) is listed in the Nb levels column.


FIGURE 3 Grid quality report
After each 3D generation, all the data of the grid quality report are stored in a report file (".qualityReport"). This file is stored beside the template file (".trb"). If the project has not yet been saved, the report file creation is aborted.
The quality of the 3D mesh can also be analysed block per block using the Grid/Grid Quality, Grid/Negative Cells () and View/Sweep Surfaces () tools (Graphical User Interface).
Finally, the Grid/Grid Quality Report (HTML) menu (not available on Windows) allows to automatically write a mesh quality report. When selecting the menu, a window enables to select the images that will be inserted into the report and provides disk usage necessary for the report and images (refer to Grid Quality Report (HTML)) for more details).

EndWallHolesLine Class Commands

select()
delete()
number_of_holes()
hole(i)
setName(value)
getName()

External File Control

exportGeometry()
exportDefinition()
defineGeometry(file_name)

Hole Line Geometry Control
Holes Number

set_holes_number(value,highlight=1)
get_holes_number()		

Hole Shape

set_circular_shape(highlight=1)
set_rectangular_shape(highlight=1)
set_oval_shape(highlight=1)
set_quadrilateral_shape(highlight=1)
get_shape(highlight=1)

Hole Location	
Parametric Mode	

enable_parametric_holes_location(highlight=1)
set_first_theta_location(value,highlight=1)
get_first_theta_location(highlight=1)
set_last_theta_location(value,highlight=1)
get_last_theta_location(highlight=1)
set_streamwise_location	(value,highlight=1)
get_streamwise_location(highlight=1)

XYZ Mode	

enable_xyz_holes_location(highlight=1)
set_x_location(value,highlight=1)
get_x_location()
set_y_location(value,highlight=1)
get_y_location()
	set_z_location(value,highlight=1)
get_z_location()

MTheta Mode	

enable_mtheta_holes_location(highlight=1)
set_m_location(value,highlight=1)
get_m_location()
set_theta_location(value,highlight=1)
get_theta_location()

Hole Axis
		Parametric Mode	

enable_parametric_holes_axis(highlight=1)
set_streamwise_angle(value,highlight=1)
get_streamwise_angle()
set_spanwise_angle(value,highlight=1)
get_spanwise_angle()

		XYZ Mode	

enable_xyz_holes_axis(highlight=1)
set_x_axis(value,highlight=1)
get_x_axis()
set_y_axis(value,highlight=1)
get_y_axis()
set_z_axis(value,highlight=1)
get_z_axis()

Hole Dimension
		Circular Shape	

set_holes_diameter(value,highlight=1)
get_holes_diameter()

		Rectangular/Oval Shape	

set_holes_width(value,highlight=1)
get_holes_width()
set_holes_heigth(value,highlight=1)
get_holes_heigth()

		Quadrilateral Shape (4-Sided)	

set_holes_p1x(value,highlight=1)
get_holes_p1x()
set_holes_p2x(value,highlight=1)
get_holes_p2x()
set_holes_p3x(value,highlight=1)
get_holes_p3x()
set_holes_p4x(value,highlight=1)
get_holes_p4x()
set_holes_p1y(value,highlight=1)
get_holes_p1y()
set_holes_p2y(value,highlight=1)
get_holes_p2y()
set_holes_p3y(value,highlight=1)
get_holes_p3y()
set_holes_p4y(value,highlight=1)
get_holes_p4y()

Hole Orientation

set_orientation_angle(value,highlight=1)
get_orientation_angle()

Hole Line Mesh Control
Grid Points Number

set_number_of_points_in_boundary_layer(value,highlight=1)
get_number_of_points_in_boundary_layer()
set_number_of_points_streamwise(value,highlight=1)
get_number_of_points_streamwise()
set_number_of_points_azimutal(value,highlight=1)
get_number_of_points_azimutal()
set_number_of_points_streamwise_left(value,highlight=1)
get_number_of_points_streamwise_left()
set_number_of_points_streamwise_right(value,highlight=1)
get_number_of_points_streamwise_right()
set_number_of_points_azimutal_up(value,highlight=1)
get_number_of_points_azimutal_up()
set_number_of_points_azimutal_down(value,highlight=1)
get_number_of_points_azimutal_down()
set_up_clustering_relaxation(value,highlight=1)
get_up_clustering_relaxation()
set_down_clustering_relaxation(value,highlight=1)
get_down_clustering_relaxation()

Optimization

set_number_of_optimization_steps_inside_holes(value,highlight=1)
get_number_of_optimization_steps_inside_holes()
enable_skewness_control_inside_holes()
disable_skewness_control_inside_holes()
get_skewness_control_inside_holes()
set_number_of_optimization_steps_arround_holes(value,highlight=1)
get_number_of_optimization_steps_arround_holes()
enable_skewness_control_arround_holes()
disable_skewness_control_arround_holes()
get_skewness_control_arround_holesc


Wake Control

set_upstream_wake_lenght(value,highlight=1)
get_upstream_wake_lenght()
set_downstream_wake_lenght(value,highlight=1)
get_downstream_wake_lenght()

Holes Line Mesh Shape Control 

set_hole_line_shape_link_to_next_hole_line_shape(value,highlight=1)
get_hole_line_shape_link_to_next_hole_line_shape()
set_hole_line_shape_link_to_previous_hole_line_shape(value,highlight=1)
get_hole_line_shape_link_to_previous_hole_line_shape()

Global Mesh Control

set_preserved_layers_on_lower_side(value,highlight=1)
get_preserved_layers_on_lower_side()
set_preserved_layers_on_upper_side(value,highlight=1)
get_preserved_layers_on_upper_side()
set_intersection_tolerance(value,highlight=1)
get_intersection_tolerance()

²


RowWizard Class Commands

initialize(machine_type,row_type,rotationSpeed,periodicity)
Machine_type should be between 1 and 13:
1: wind turbine
2: axial turbine
3: Francis turbine
4: Kaplan turbine
5: inducer
6: axial compressor
7: centrifugal impeller
8: centrifugal diffuser
9: return channel
10: contra rotating fan
11: centrifugal pump
12: axial fan	
13: marine propeller
Row_type : 0 for stator and 1 for rotor
get_wizard_type()
Returns the machine_type.
initializeChannel(shroudRmax,hubRmin,Zmin,Zmax,RFarField,radialPtsNr,cstCellsNr)
shroudRmax : relative shroud distance to the real tip of the blade (default 1)
hubRmin : relative hub distance to the real hub of the blade (default 0)
Zmin : relative inlet length (in blade height unit) (default -4)
Zmax : relative outlet length (in blade height unit) (default 10)
RFarField : relative far field expansion height (in blade height unit) (default 5)
radialPtsNr : number of points in far field expansion (default 33)
cstCellsNr : % of constant cell number in far field expansion (default 33)
copy()
paste()
generate()
set_blade_tip_rounded_topology(value)
Allows to activate the rounded tip topology when running the marine propeller wizard (more details in Row Wizard). Value is an integer type (0 or 1).
get_blade_tip_rounded_topology()
set_reset_hub_shroud(value)
get_reset_hub_shroud()
set_R_far_field(value)
get_R_far_field()
set_hub_location(value)
get_hub_location()
set_shroud_location(value)
get_shroud_location()
set_upstream_channel_location(value)
get_upstream_channel_location()
set_downstream_channel_location(value)
get_downstream_channel_location()
set_grid_level(value)
get_grid_level()
set_flow_path_number(value)
get_flow_path_number()
set_flow_path_number_far_field(value)
set_cst_cell_number_far_field(value)
get_cst_cell_number_far_field()
set_R_far_field(value)
get_R_far_field()
get_number_of_points()
set_full_matching_topology(value)
get_full_matching_topology()
set_row_cell_width_at_wall(value)
get_row_cell_width_at_wall()
hub_gap_is_asked(value)
is_hub_gap_asked()
tip_gap_is_asked(value)
is_tip_gap_asked()
hub_fillet_is_asked(value)
Allows to activate hub fillet creation in row wizard (more details in Gap/Fillet Definition). Value is an integer type (0 or 1).
Example: row(1).row_wizard().hub_fillet_is_asked(1)
is_hub_fillet_asked()
tip_fillet_is_asked(value)
is_tip_fillet_asked()
Allows to activate shroud fillet creation in row wizard (more details in Gap/Fillet Definition). Value is an integer type (0 or 1).
Example: row(1).row_wizard().tip_fillet_is_asked(1)
set_hub_gap_width_at_leading_edge(value)
get_hub_gap_width_at_leading_edge()
set_hub_gap_width_at_trailing_edge(value)
get_hub_gap_width_at_trailing_edge()
set_tip_gap_width_at_leading_edge(value)
get_tip_gap_width_at_leading_edge()
set_tip_gap_width_at_trailing_edge(value)
get_tip_gap_width_at_trailing_edge()

Blade Holes Methodology
When adding a cooling hole in the blade, the following steps will be performed to create the mesh in the blade hole and around the blade hole:


The intersections between the hole (or hole line) and the matrix are computed by AutoGrid5™.


The intersection curves are projected in the parametric space of the matrix.


A default mesh topology inside and around the hole definition is created.



The topology is composed by eight blocks surrounding the holes, a butterfly topology inside the holes and a O block defining the boundary layer around the hole.

A default mesh is created using the row mesh clustering based on the parameters selected in the Mesh Control/Row Mesh Control area of the Quick Access Pad.
The mesh is optimized.


The hole mesh is projected in the 3D space and the matrix block is divided. The hole meshes replace some of the divided matrix areas.
The connection between the matrix area and the core flow becomes full non matching.
The connection between the internal cooling area (cooling channel, basin, basin wall) and the solid body of the blade becomes full non matching.
The matrix is divided in spanwise direction near the hub and the shroud to preserve the boundary layer of the main channel. The connection between the upper part of the matrix and the middle part becomes full non matching. The connection between the lower part of the matrix and the middle part becomes full non matching.
The matrix is divided in meridional direction according to the hole line mesh location. The connection between the hole line mesh and the matrix becomes full non matching.

Cooling - Blade Holes

The meshes generated by AutoGrid5™ using the default topology contain one block surrounding the blade, called the skin block. This block is used to generate high grid quality in the boundary layer. The solid body of the blade contains also a similar O-block connected to the skin block using a matching connection in configurations where a cooling wall has been defined, 
These blocks will take an important place in the methodology used to create the mesh in the blade holes and around the blade holes. They will be called matrix blocks in the following sections.
It is suggested to freeze the skin mesh in the Optimization Properties dialog box (Skin Mesh Control) with the introduction of cooling holes, in order to improve the quality of the full non matching (FNMB) connection between the skin block and the core flow. The option is not available for a blunt leading or trailing edge.
 	The fillet with butterfly topology is not compatible with cooling holes on the blade.
 	The non-axisymmetric end walls are not compatible with cooling holes on the blade.
The cooling blade hole is not compatible with a double blunt blade.

Commands Description

Commands are classified by categories and by classes. Several classes are defined in AutoGrid5™ to group functions related to generic entities: Row, Blade, Gap, RSInterface, StagnationPoint, TechnologicalEffect,...
The organization charts shown below aim to provide a global overview of how the different classes are organized in dependent levels and how they interact with each other. 
Example
To access a meridional control line the command z_cst_line(i) can be used and the actions as listed in RSInterface Class Commands can be applied:
z_cst_line(1).get_clustering_relaxation_location()





Class commands 
Access commands


Level 1
 





B2B Cut Class Commands



b2bCut(i)




RSInterface Class Commands



z_cst_line(i)




TechnologicalEffectZR Class Commands



technologicalEffectZR(i)





Example
To access a rotor/ stator interface, an access command like inlet() can be used and the actions as listed in RSInterface Class Commands can be applied:
row(1).inlet().get_shape()








Class commands 
Access commands


level 1
 level 2
level 3
 level 4
 





Row Class Commands


 
 
 

row(i)



 

 RowWizard Class Commands

 
 

row_wizard()



 

 TechnologicalEffect3D Class Commands

 
 

effect3D(j)
new_effect3D()
num_effect3D()



 

RSInterface Class Commands


 
 

inlet()
outlet()
outlet2()



 

 EndWall Class Commands

 
 

hub_end_wall()
shroud_end_wall()



 

EndWallHolesLine Class Commands

 

hole_lines(j)



 


EndWallHole Class Commands


hole(k)



 

FlowPathControlSection Class Commands


 
 

get_inlet_flow_path_control_section()
get_outlet_flow_path_control_section()
get_outlet2_flow_path_control_section()
get_z_cst_line_flow_path_control_section()



 


FlowPathSubdivision Class Commands


 

get_hub_gap_subdivision()
get_main_bypass_subdivision()
get_main_subdivision()
get_tip_gap_subdivision()
get_upstream_bypass_subdivision()






Example
To access the hub gap of the first blade of the second row the access command row(2).blade(1).hub_gap() can be used. Actions as listed in Gap Class Commands can then be applied, e.g.: 
row(2).blade(1).hub_gap().set_width_at_leading_edge(value)










Class commands
Access commands


level 1
 level 2
 level 3
level 4
level 5
level 6 
 





Row Class Commands


 
 
 
 
 
 


 

Blade Class Commands


 
 
 
 

blade(j)
blade(j).solid_body()



 
 
 BasinHole Class Commands
 
 
 

basin_hole(k)
basin_separator(k)



 
 

Cooling Channel Class Commands


 
 
 

cooling_channel()



 
 
 

PinFinsChannel Class Commands


 
 

pinFinsChannel(k)



 
 
 
 
PinFinsLine Class Commands

 

pinFins_line(l)



 
 
 
 
 
PinFin Class Commands


pinFin(m)



 
 

Blade Sheet Class Commands


 
 
 

sheet()



 
 

Fillet Class Commands


 
 
 

hub_fillet()
shroud_fillet()



 
 

Gap Class Commands


 
 
 

hub_gap()
shroud_gap()



 
 

Partial Gap Class Commands


 
 
 

hub_partial_gap()
shroud_partial_gap()



 
 

StagnationPoint Class Commands


 
 
 

leadingEdgeControl()
trailingEdgeControl()



 
 

WizardLETE Class Commands


 
 
 

wizard_le_te()



 
 

HolesLine Class Commands


 
 
 

holes_line(k)



 
 
 

Hole Class Commands


 
 

hole(l)






When using commands requiring file names as input, the specification of the full path is required.
On Windows:
The specification of path names must be performed using a Linux style coding. This practically means that / should be used as separator between directories instead of \ and path names should be written between quotes:              "/usr/people/test.trb".

Start Edit Mode
The meridional mesh of a technological effect is built into the edit mode available through the Edit menu item of the contextual menu open when right-click on a ZR technological effect of the tree. The Quick Access Pad is updated to access the features needed to create the meridional mesh. The graphical area displays the meridional view of all the curves defining the meridional solid body of the turbomachinery. The button Close Edit Mode of the top menu bar is used to quit the edit mode. All the actions performed during an editing session are stored in the template file (".trb") and can be replayed on similar geometries.
The Quick Access Pad is divided into five main areas (subpad):

the Properties is used to impose the rotation speed of the rotating boundaries of the ZR effect.
the Geometry Control provides options used to create polyline. 
the Topology Control is used to fill the domain of the effect with several structured 2D blocks.
the Mesh Control is used to set up automatically the grid points clustering into the defined blocks
the View is used to control the visualization inside the graphics area.



FIGURE 5 Edit mode

Meridional Technological Effect

A turbomachinery configuration contains usually blade rows and also meridional effects like seal leakage, bleed or cavities. The solid body of the meridional effects is axisymmetric. Their geometry is defined by meridional curves (z,r coordinates). The domain of a meridional effect must always be connected to one or more blade row(s). 


FIGURE 1 Blade row with meridional effect
The mesh of these configuration entities are generated in five steps: 

definition of the meridional geometry defining the technological effect,
definition of the new technological effect entities in the configuration database,
choice of the connection type with the main blade channel,
definition of the meridional mesh:

blocking in the meridional space,
automatic settings of the mesh point clustering in the meridional space,

3D mesh generation obtained by the combination of the meridional blocking and the mesh at the connection(s) with the blade row(s).

This chapter describes the grid generation of the meridional effects. The number of meridional effects is unlimited.

Solid Body Configuration
Depending of the type of the solid body, the configuration tree will automatically updated. Indeed, the entries controlling the basin depth, the basin wall width, the cooling channel, the tip wall width will be automatically introduced into the Solid Body folder in the configuration tree. In addition, shroud gap and or hub gap entry can also be added or removed automatically when changing the type of solid body. Following sections describes the twelve available types of solid body and their corresponding configuration tree.
When the solid body configuration is not default, the Hub & Shroud Gap Interpolation is not applied.
Solid Body Configuration (Default)



In this configuration, the blade solid body is meshed using a butterfly topology like in the shroud/hub gap. The connection between the solid body and the fluid area is matching (FIGURE 1). 
Solid Body + Spanwise Holes Configuration


In this configuration, the blade solid body is meshed and spanwise holes are allowed. A shroud gap or hub gap can be defined.



Solid Body + Cooling Channel Configuration



A shroud gap must be defined in this configuration. The blade solid body is meshed and a tip wall and a cooling channel are defined. Spanwise tip wall holes and blade holes are allowed. 



Similar configuration with hub gap is not available
Solid Body + Basin Configuration



A shroud gap must be defined in this configuration. The blade solid body is meshed and a basin is defined. Spanwise holes are allowed.



Similar configuration with hub gap is not available
Solid Body + Basin + Cooling Channel Configuration



A shroud gap must be defined in this configuration. The blade solid body is meshed and a cooling channel, a basin and a basin wall are defined. Spanwise basin wall holes and blade holes are allowed.



Similar configuration with hub gap is not available
Solid Body + Cooling Channel Configuration



In this configuration, the blade solid body is meshed and a cooling channel is defined. Blade holes are allowed. A shroud gap or hub gap can be defined but the tip wall has no width.



Solid Body + Penny Configuration



A shroud and/or hub gap must be defined in this configuration. The blade solid body is meshed and a penny is defined at hub and/or shroud. Spanwise tip wall holes and blade holes are not allowed.



The location and the diameter of the penny can be controlled in a way similar to the basin hole.
Solid Body + Squealer Tip Configuration



A shroud gap must be defined in this configuration. The blade solid body is meshed and a squealer tip is defined. Spanwise tip wall holes and blade holes are not allowed. Three types of squealer tips are available.



Similar configuration with hub gap is not available

StagnationPoint Class Commands
This class gives access to parameters of blade leading and trailing edge in blade to blade view (only accessible in default topology). The following commands can be applied to the leading or trailing edge. Thus, these commands must always be preceded by leadingEdgeControl() or trailingEdgeControl(), respectively.

set_distribution_type_absolute_distance()
set_distribution_type_relative_distance()
set_distribution_type_cell_length()
get_distribution_type()
set_distribution_absolute_distance(value)
get_distribution_absolute_distance()
set_distribution_relative_distance(value)
get_distribution_relative_distance()
set_distribution_cell_length(value)
get_distribution_cell_length()
enable_distribution_from_expansion_ratio()
disable_distribution_from_expansion_ratio()
get_distribution_from_expansion_ratio()
desired_expansion_ratio(value)
get_desired_expansion_ratio()
set_percentage_cst_cell(value)
get_percentage_cst_cell()
set_parametric_location(value)
Set the parametric location of the leading or trailing edge.
The parametric location of the leading and trailing edge can range between -1 and 1. The original leading edge is located at a parametric distance 0, while the original trailing edge is located at a parametric distance 1 (or -1). A positive value of the parametric location indicates a position on the upper side of the blade, whereas a negative value indicates a position on the lower side of the blade.


FIGURE 3 Parametric location of the leading and trailing edges in B2B view
get_parametric_location() 
Get the parametric location of the leading or trailing edge.

3D Generation
The 3D generation of the meridional effect must be performed together with the generation of the row(s) connected with them. Select the row(s) and their attached meridional effects and press the Generate 3D button of the top menu bar.


FIGURE 24 3D mesh of the technological effect
During the ZR effect mesh generation:

the block rotation speed in the ZR effect derives automatically from the row to which the ZR effect is connected. This information is propagated to connected blocks till a rotor/stator is encountered.

Block rotation speed is computed automatically but are not interfaced per block. Therefore if some blocks of a ZR effect are modified after 3D generation (block splitting, transformation,...) the rotation speed may be lost.

If the mesh is loaded in IGG™ and resaved, it will still be correct because block rotation speed comes from the configuration which has been reread. However if the mesh is loaded in AutoGrid5™ and resaved, block rotation speed still comes from configuration but which is recomputed, and therefore block rotation speed will be null.

the boundary (patch) rotation speed in the ZR effect is imposed under Properties in the QAP and is applied if the patch belongs to a rotating geometry. The geometry curve is considered as rotating if created as Solid Polyline Rotating in the ZR effect edit mode or if imported and defined as "rotating" basic curve.

3D Mesh Generation
The 3D mesh of the rows of a turbomachinery configuration is generated using a stacking method. The flow paths are used to create the surfaces of revolution (layers) on which the blade to blade meshes are projected. The stacking method is divided into two phases: the computation of intersection between the blade(s) and the layers, and the generation and optimization of the blade to blade mesh. 
To reduce the generation time, it is possible to reduce the number of layers on which the mesh must be optimized using the parameter Span Interpolation (%).
The order of generation of the selected entities is:

3D mesh generation of the selected rows,
3D mesh generation of the selected meridional effects,
3D mesh generation of the selected 3D technological effects. 

3D Blocks Naming
The name of each block is built using the name of the related configuration entities. 

A limitation to the block name length to 32 characters due to the CGNS format used to perform the persistence implies that AutoGrid5™ changes automatically the name of the block exceeding 32 characters, stored in the CGNS file into 'domain<block number>'.
Row Mesh
The name of each block is built using the name of the row and the name of the related blade.
Default Topology - H&I Topology - HOH Topology
The block orientation I,J,K is related respectively to the azimuthal, spanwise and streamwise direction. The names of the blocks of a row named 'row 1' around the blade named 'Main Blade' are:

row_1_flux_1_Main_Blade_inlet (not in H&I topology when blade sharp at inlet)
row_1_flux_1_Main_Blade_outlet (not in H&I topology when blade sharp at outlet)
row_1_flux_1_Main_Blade_up (not in HOH and H&I topology)
row_1_flux_1_Main_Blade_down (not in HOH topology)
row_1_flux_1_Main_Blade_skin (not in H&I topology when blade double blunt and/or sharp)
row_1_flux_1_Main_Blade_skin_up (only for O4H topology when blade double blunt and/or sharp)
row_1_flux_1_Main_Blade_hubgap1 (if a hub gap is defined)
row_1_flux_1_Main_Blade_hubgap2 (if a hub gap is defined)
row_1_flux_1_Main_Blade_hubgap3 (if a O2H topology hub gap is defined)
row_1_flux_1_Main_Blade_shroudgap1 (if a shroud gap is defined)
row_1_flux_1_Main_Blade_shroudgap2 (if a shroud gap is defined)
row_1_flux_1_Main_Blade_shroudgap3 (if a O2H topology shroud gap is defined)
row_1_flux_1_Main_Blade_upStream (if a upstream control line is defined)
row_1_flux_1_Main_Blade_downStream (if a downstream control line is defined)

In case of bypass configuration, the mesh of the fan is split in two fluxes and therefore the blocks are also duplicated and named using the suffixes "flux_1"and "flux_2".
Mesh in Bulb
If an inlet bulb (hub->R=0) region is detected, the following blocks are added to the 3D mesh:

bulb_at_inlet_C (if rounded topology is chosen)
bulb_at_inlet_H1 (if rounded or sharp topology is chosen)
bulb_at_inlet_H2 (if rounded or sharp topology is chosen)
bulb_at_inlet_butterfly_1 (if rounded topology without singular line or radial topology is chosen)
bulb_at_inlet_butterfly_2 (if rounded topology without singular line or radial topology is chosen)
bulb_at_inlet_butterfly_1_2 (if radial topology is chosen)
bulb_at_inlet_butterfly_2_2 (if radial topology is chosen)

Mesh around Nozzle (Bypass)
If a C topology is chosen to mesh the region around the nozzle of a bypass configuration, a new block named "C_block_around_nozzle" is added.
Mesh in Meridional Technological Effect
When the mesh of a meridional effect named 'zr techno effect 1' is generated, following blocks are added into the 3D database:

zr_techno_effect_1_zr_effect__Block_1_3d
zr_techno_effect_1_zr_effect__Block_2_3d

Mesh in 3D Technological Effect
When the mesh of a 3d effect named '3d techno effect 1' and belonging to the row named 'row 1' is generated, a prefix 'row_1_3d_techno_effect_1_' is added to each block name of the blocks generated in the 3d effect.
3D Boundary Condition Patches
Generation
At the end of the 3D generation, all the faces of the 3D blocks are automatically divided into patches. Each patch type is defined automatically (INL, OUT, SOL, PER, PERNM, CON, ROT, EXT,...) according to the turbomachine configuration. The boundary conditions are stored in the ".bcs" and in the ".cgns" files.
Patch Naming
Solid patches contain the name of their related entities and the location (hub,shroud,nozzle,skin_blade). Following is the list of the solid patches created for the 'row 1' around the 'Main blade' with a default topology:

row_1_flux_1_Main_Blade_inlet__hub_identifier_
row_1_flux_1_Main_Blade_outlet__hub_identifier_
row_1_flux_1_Main_Blade_up__hub_identifier_ 
row_1_flux_1_Main_Blade_down__hub_identifier_
row_1_flux_1_Main_Blade_skin__hub_identifier_ 
row_1_flux_1_Main_Blade_inlet__shroud_identifier_
row_1_flux_1_Main_Blade_outlet__shroud_identifier_
row_1_flux_1_Main_Blade_up__shroud_identifier_
row_1_flux_1_Main_Blade_down__shroud_identifier_
row_1_flux_1_Main_Blade_skin__shroud_identifier_
row_1_flux_1_Main_Blade_skin_blade_(aap-ps)
row_1_flux_1_Main_Blade_skin_blade_(aap-ss)

Block Order
As the blocks are created after each call to the Generate 3D button relatively to the user selection, the block order in the final block list depends strongly on the sequence of the user interaction. To obtain similar order for similar configuration, the entire mesh must be generated using the same interactive sequence of calls to the Generate 3D button (not easy to manage). Another way to ensure a same block order is to set up the configuration and to start the full mesh generation (Select All+Generate 3D). The batch mode ensures also the same block order.
Generate Full Mesh
By default, the mesh is generated for 1 main blade passage. The option Number Of Meshed Passages in the dialog box Row Properties can be changed to generate more than one main blade passage. The mesh is obtained by repetition of the first blade passage.
Number of Mesh Points
The Mesh Control subpad displays and updates continuously an approximation of the total number of grid points of the selected entities in the Row Definition subpad. After the grid generation, the real grid points number is displayed in the information area (lower left corner of the interface).

Mesh Quality Checks
In the ZR effect edit mode, the Grid/Grid Quality... menu or the icon  in the toolbar give access to a tool for performing an analysis of the grid quality of the technological effect 2D mesh before generating the 3D mesh.


FIGURE 23 Mesh quality in technological effect
The dialog box contains two pages, one dedicated to analyse the grid quality on whole block cells, and the second to the grid quality at the block boundaries (boundary faces), including matching connections with adjacent blocks. The dialog box is similar to the one used for the grid quality of the blade-to-blade mesh. More details are available in section Patch Browser.

Mesh of Blade Solid Body
The menu item Cooling/Add Solid Body in the blade contextual menu can be used to activate the generation of the solid body of the blades. A new item is automatically added into the configuration tree indicating that the solid body generation is activated.


The mesh into the blade is created using a butterfly topology like in the shroud/hub gap. The connection between the solid body and the fluid area is matching.


FIGURE 1 Mesh of the blade solid body
Once the solid body generation has been activated, right-clicking on the new item in the tree opens a contextual menu of the solid body. 



This menu gives access to:

Delete: deletes the solid body entry from the configuration tree.
Configuration: opens a dialog box to choose one of the twelve solid body configurations. Click on the desired image to choose the solid body configuration.



FIGURE 2 Blade solid body configuration
By default, the blade solid body configuration () type is chosen. All the other choices imply the definition of an internal offset shape of the blade. This is used to define the basin, the squealer tip, the cooling channel area or the area inside which spanwise holes are defined. In such cases, the mesh topology covering the solid body area of the blade is divided into four blocks: two blocks for a butterfly topology covering the area inside the internal offset shape and two blocks defining another butterfly topology in the area between the offset and the blade definition.


The blade solid body is not applicable:

for multisplitter configuration (except for the default blade solid body configuration)
for blunt blades (except for the default blade solid body configuration)

Geometry Import Commands

a5_set_import_geometry_rotation_axis(orig, stream_direction,span_direction)
Defines the rotation axis for CAD import.
a5_import_geometry_file(file_name)
Imports a geometry file, either CATIA, Parasolid™, .dat, .geom, .geomTurbo 4 & 5 or IGES formats.
a5_import_and_replace_geometry_file(file_name)
a5_get_import_geometry_repository()
a5_clean_import_geometry()
Deletes all the geometry entities already loaded.
a5_link_to_hub(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
a5_link_to_hub_surface(row,surface_names) 
Surface_names should be a list, even if it is composed of only 1 element (use [ ]).
This is used to link a surface selection to the active row of the configuration in case of non-axisymmetric hub.
a5_link_to_shroud(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
a5_link_to_shroud_surface(row,surface_names) 
Surface_names should be a list, even if it is composed of only 1 element (use [ ]).
This is used to link a surface selection to the active row of the configuration in case of non-axisymmetric shroud.
a5_link_to_tip_gap_surface(row,surface_names) 
Surface_names should be a list, even if it is composed of only 1 element (use [ ]).
This is used to link a surface selection to the tip gap of the configuration in case of non-axisymmetric shroud gap.
a5_link_to_nozzle(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
a5_link_to_basic_curve(curve_names)
Imports the curves specified by their names in the meridional space by creating basic curves.
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
a5_link_to_basic_curve

a5_define_hub(point_list)
a5_define_shroud(point_list)
a5_define_nozzle(point_list)
basic_curve(name)

Snubber Control
A snubber on a blade is controlled through the dedicated dialog box. It allows to control the meshing parameters of the snubber.


FIGURE 28 Snubber dialog box

            The snubber configuration is only available:
             with default topology, matching and not staggered,with  the same streamwise number of points imposed on both blade pressure and suction sides,with double rounded blade. When launching the row wizard, AutoGrid5™ does not apply the staggered topology if a snubber is detected in the configuration.

Topology Type: H. This topology is kept for backward when loading old project with a configuration fin on fan (bypass) generated before AutoGrid5™ v11.1. For the geometry and the meridional controls of the snubber (H-topology type), more details are presented in sections Snubber and Specific Cases: Bypass, Snubber & Bulb. When H-topology, the only meshing parameters in the Snubber Properties dialog box are the Spanwise Index and the Cell Width.

When starting a new project, the H-topology is not available and the O-topology will be automatically applied.

Topology Type: O. This topology is automatically applied when starting a new project. In this approach a first mesh is generated without the snubber. Then the mesh is post-processed by splitting blocks and adding a skin block around the snubber (on each side of the blade) that will capture the snubber 3D geometry.

The IJK orientation of the skin blocks in the snubber will be the same as for the blade skin block: I perpendicular to the snubber wall, K around the snubber and J azimuthal.
When a snubber (O-topology type) is defined, an additional block is created in the meridional view to control the flow paths. Its number of points is controlled in the Snubber Properties dialog box with the parameters Spanwise Index (the middle of the snubber block) and the spanwise number of points in the graphic.


FIGURE 29 Flow paths control
The block boundaries can be moved and controlled manually in the meridional view using the button Manual Edit of the Row:Flow Paths Control dialog box (more details in Flow Paths Manual Editing).
When using the O-topology, the cell width at the wall is not propagated in the streamwise direction.

Spanwise Index controls the index of the flow path corresponding to the stagnation point of the snubber. It is automatically recomputed when doing a reset default topology or launching a row wizard. The index corresponds to the number of flow paths divided by 2 (then adapted to respect multigrid levels). 

In case of a bypass configuration it is computed such that it will be always above the nozzle (nozzle index + (number of flow paths - nozzle index)/2).

Cell Width controls the cell size imposed at the snubber.
Expansion Ratio controls the expansion ratio in a default number of skin block layers, about half of them, starting from the snubber that will be constrained to respect the imposed expansion ratio together with the orthogonality to the snubber when the hard-coded smoothing (300 steps for full multigrid and fine grid optimization) is applied during the post-processing to include the snubber.

It is recommended to optimize the mesh (before the snubber post-processing) using the full multigrid and fine grid optimization in the Optimization Properties dialog box.

Leading/Trailing Edge Relative Control Distance. A snubber can be seen as a blade and its streamwise points distribution will be controlled from leading edge to trailing edge. On some distance at leading and trailing edge, a uniform distribution with a spanwise number of points is applied. This distance is controlled independently at leading and trailing edge with these parameters.
Fillet Butterfly Radial Number of Points. When the 3D geometry of the snubber is including a fillet, a first mesh is generated considering the snubber without fillet. Then the snubber skin block is split at a computed azimuthal layer, the block in the fillet area is replaced by a butterfly topology respecting the imported fillet geometry.

The Fillet Butterfly Radial Number of Points parameter controls the radial number of points in buffer blocks of the butterfly topology. By default the value is set to 0 to allow AutoGrid5™ to compute an optimized value. When the value is imposed by the user, the streamwise number of points in the inner block of the butterfly topology will be the difference between the snubber skin block number of points and the Fillet Butterfly Radial Number of Points.


If the snubber fillet is thicker than the snubber skin mesh, the surrounding blocks must be modified as well. This is done by adapting each grid line in azimuthal direction separately such that it starts at the fillet surface.


FIGURE 30 Fillet on snubber
When increasing the Fillet Butterfly Radial Number of Points parameter, the cell size in the middle of the fillet surface will increase while the total number of points on the fillet surface will decrease and at some moment the orthogonality in the fillet will start to decrease because of quite dissymmetric fillet section (a side is largely wider than the other). More details at the end of the Blade Fillet.

Graphic allows to control the number of points in the snubber streamwise and spanwise direction. The number of points are automatically recomputed when doing a reset default topology or launching a row wizard. In the streamwise direction, AutoGrid5™ tries to distribute the points to reflect the geometrical snubber streamwise position. E.g. if the snubber is centered on the blade and its streamwise length is about a third of the blade streamwise length, a uniform streamwise points distribution of about 33% upstream, 33% on snubber, 33% downstream will be obtained. 

The repartition of the streamwise number of points upstream, on and downstream the snubber can be controlled by clicking on the blue numbers in the graphic. However, the total streamwise number of points cannot be changed in the Snubber Properties dialog box and corresponds to the one of the blade that can be increased in the Define B2B Topology For Active Blade dialog box. 
When increasing the blade number of points, the streamwise number of points on the snubber is increasing while the streamwise upstream and downstream number of points are kept.
As the generated mesh will be fully matching, the streamwise distribution in the snubber should reflect as much as possible the snubber geometric size and positioning compare to the blade. Some deviation is allowed but deviating too much from the ideal distribution (computed by AutoGrid5™ when initializing topology & grid points distribution or running the row wizard) will decrease the mesh quality. This distribution is automatically computed when initializing topology & grid points distribution or running the wizard.

Tandem Row

Within AutoGrid5™, turbomachines presenting tandem row can be meshed by activating Tandem Row in the Row Properties dialog box of the concerned row(s). 
Configuration is considered as tandem when it is presenting two rows (main blade with or without splitter(s)) without overlap in the streamwise direction (Tandem Row set to With Next/With Previous).


The tandem configuration is applied on only two successive rows.
In order to be able to obtain full matching mesh between both rows, the number of flow paths and the flow paths distribution at the rows interface must be equal. This will lead to continuous flow paths between row 1 and row 2.
To obtain full matching mesh in the B2B plane, two unfixed control lines are required upstream and downstream the interface of the rows. 


The B2B mesh topology used for each blade row must be the O4H or the H&I topology.


In addition, the number of point in the azimuthal direction at the interface between both rows must be the same. In the Grid Points section of the dialog box Define B2B Topology for Active Blade, a message indicates to the user the number of points at the connection in both rows. 
When left-clicking on the button Initialize Topology & Grid Points Distribution of the top menu bar, the process does not perform checks and grid manipulation to assume correct linking of tandem rows. The user has to manually check and change the grid point distribution to assume same azimuthal grid point number at the interface between both rows otherwise a warning appears.
To ensure a full matching mesh, the optimization parameters of both rows are strictly linked together.

Optimization Control
This section describes the optimization parameters available in the dialog box Optimization Properties.
Optimization Steps on Fine Grid
The first fields Optimization Steps on Fine Grid and Gaps and/or CHT Optimization represent the number of iteration the elliptic smoother will perform respectively in the channel mesh and in the gap. This number depends on the skewness (orthogonality) level of the original mesh and can be highly reduced if the Multigrid Acceleration is activated. By default both optimization steps are set to 100.
Full Multigrid Optimization Steps
The field Full Multigrid Optimization Steps represents the number of iteration the smoother will performed on all coarse grids to optimize each coarser grid before performing optimization steps on finest grid level (Optimization Steps on Fine Grid) with or without Multigrid Acceleration.
The full multigrid smoother allows to accelerate the blade-to-blade smoothing process especially when dealing with fine mesh or mesh requesting high amount of iteration steps on fine grid to reach a good mesh quality (initial mesh far from final mesh, e.g. configuration with large skin block). The full multigrid smoother reduces the kinks in the spanwise direction. By default full multigrid optimization steps are set to 0.
This option is not recommended for coarse meshes having few multigrid levels for which fine grid smoothing is already quite fast.
As full multigrid smoother produces already a quite good mesh, therefore a reduced number of iteration steps on fine grid is needed after.
The full multigrid smoother is not applied in gaps and if Skewness Control is set to Medium or Full.
The full multigrid smoother as the fine grid smoother may lead to angular deviation problems if the mesh is including non-matching and/or non-matching periodic connections.
The full multigrid smoother is not recommended when dealing with rounded leading/trailing edge blade and H&I topology without skin block.
Skewness Control
By default the Optimization Steps on fine grid control the orthogonality of the cells only near the solid wall. The parameters Skewness Control/Skewness Control In Gaps set to Full force the optimization to increase cells orthogonality everywhere respectively into the blade-to-blade channel mesh and into the blade-to-blade gap mesh.
When the parameters Skewness Control/Skewness Control In Gaps are set to Medium, the first half of iterations are done without skewness control and the remaining second half with skewness control.


FIGURE 60 Optimization with skewness control 
Theoretical Aspect
Two source term computations have been implemented (Theoretical Aspect). 
The first one, with the Skewness Control set to No, computes source terms only in the neighbourhood of boundary layers, taking into account the expansion ratio provided by the user. The main drawback of this implementation is that it is easy for the user to enter conflicting inputs that will make the smoother diverge. For example, requiring a very small cell size on boundary with a small expansion ratio while the boundary spreads on a large distance with few cell points cannot be achieved and is a typical case of the smoother divergence.
The second one, with the Skewness Control set to Full, computes source terms everywhere on the mesh and does not have expansion ratio as input. The boundary layers are not privileged which leads to better orthogonality in the central regions but decrease orthogonality near the boundary layers. Moreover, mesh concentrations outgoing from boundary layers propagate all over the mesh.
The main difference between the two methods can be seen in FIGURE 61.


FIGURE 61 Smoothing without (left) and with (right) skew flag
Orthogonality Control
The parameter Orthogonality controls the level of cells orthogonality near the wall or everywhere in the mesh depending of the Skewness Control parameter value. By default the orthogonality control parameter is set to 0.5.


FIGURE 62 Orthogonality control
The parameter Gap Orthogonality is used when a large variation is observed in the first cell width in the gap compared to the blade width. In case of smaller wall cell width, increase the Gap Orthogonality to increase the orthogonality and for larger wall cell width, reduce the Gap Orthogonality to avoid overlapping cells in the gap. By default the gap orthogonality value is set to 0.5.
Theoretical Aspect
When the source terms become too high, typically when expansion ratio are too large (>> 2) or angles are too small, the numerical scheme that solves the elliptic equation becomes unstable and the smoother diverges. The source terms are therefore clipped in order to be kept below a certain value depending on the smoother type.
When aspect ratio are large on the boundary layer while both orthogonality and expansion ratio almost fit CFD requirements, the source terms also become large and clipping them to ensure robustness of the smoother leads to low orthogonality in the boundary layers. Fortunately, experience has shown that clipping can be proportional to the square root of the aspect ratio. The Orthogonality slider controls the proportionality factor and allows to obtain good orthogonality and low expansion ratio in the boundary layers. When set to "0.000", there is no overclipping and robustness is ensured but there is a risk of decreasing the orthogonality in the boundary layer. When set to "1.000", orthogonality constraint increases as well as the probability that the smoother diverges. The default "0.500", in most of the cases, provides a good boundary layer after a smooth convergence.
Note that this overclipping method also allows the second type source term computations to privilege boundary layers (details in Theoretical Aspect).

Theoretical Aspect
The aim of this functionality is to optimize both orthogonality and expansion ratio all over the mesh. If we consider an initial mapping 



 from computational space [0,m]x[0,n] to the mesh coordinate domain.
The leading equation for the elliptic smoother is given by:




When the source terms, P = Q = 0, the mesh will converge to an uniform spacing grid without taking account of orthogonality or boundary conditions (clustering at wall for example). Therefore, the implementation consist in calculating these source terms in order to maximize orthogonality and to minimize expansion ratio while taking into account all boundary condition types available in AutoGrid5™.

Basic Curves
Basic curves are 2D meridional curves which can be used to define channel curves (hub, shroud or nozzle) and meridional technological effects. They are defined as general NURBS curves and then discretized to be used as polylines.
Creation
Basic curves can be created through the ".geomTurbo" file (more details in Import -> geomTurbo) or through the import CAD facility (more details in Import CAD).
Properties
Basic curves can be discretized through the right-click popup menu Properties. The following dialog box will appear:


In the Discretisation field, enter the number of discretization points desired between each basic curve control points. Several basic curves can be selected to change the discretization in one time. All channel curves using the modified basic curve will be updated and all rotor/stators and control lines recomputed if necessary.
The Rotating option when active allows to define the selected basic curve (channel curves and meridional technological effects) as rotating to automate corresponding block and patch (extension "_rotating") settings.
Deletion
Basic curves can be deleted through the right-click popup menu when basic curve highlighted in meridional view.



Check Geometry
Basic curves can be checked through a Channel Geometry Check dialog box. This meridional geometry checking process helps to check the completeness of the geometry as well as the validity of the end walls, before starting the mesh generation when clicking on Check button. It is also useful as it could repair the curves wherever it is required by clicking on Apply Data Reduction button after imposing the Control Points Distance/Angle Criteria.


The option Check All Meridional Curves allows to perform the operations with the buttons Check, Apply Data Reduction and Reset Original Data to all meridional curves, otherwise it is applied to the last selected curve in the meridional view.
The Check button checks the curves quality according to the current values of their data reduction and control points distance/angle criteria without modifying their values.
The Apply Data Reduction button applies the data reduction on the meridional curve(s), checks their quality and remove points if needed according to control points distance/angle criteria values.
The Reset Original Data button resets the copy of the set of points equal to the original set of points, and checks the curves quality.

Overview
The HOH topology is defined with three blocks named respectively the inlet, O and outlet blocks. The topology is controlled through the dialog box Define B2B Topology for Active Blade. 


FIGURE 42 HOH topology
This topology is not suitable for all the turbomachinery types. This feature is not applicable:

for blade with blunt leading edge and/or blunt trailing edge,
for row with splitter blade(s),
for blade to blade geometrical configuration with blade chord length lower than the pitch angle,
for row with control line defined on the blade.

Hub/Shroud Gaps Control
Gaps are controlled through their dedicated dialog box. It allows to control the geometry and the meshing parameters of the gap.



Topology. The O2H topology allows to impose a higher number of points at the trailing edge than at the leading edge to better capture the wake. (New in AutoGrid5™ v13.1)



FIGURE 22 OH vs. O2H gap topology
 	The O2H topology is not available when HOH blade-to-blade topology, blade blunt configuration or blade cooling module. 

Defined Shape. This button is activated if the gap curve was defined by an external curve. An external curve can be imposed by selecting a simple ".dat" file through the button Select Geometry File.The file is a curve defined by a set of points from leading to trailing edge. More details on the format in section Curve data files of IGG™ User Manual.

 	When generating the flow paths, one flow path will respect the full imported curve. It is thus recommended to have a curve covering the meridional minimum and maximum of the blade and without overlap in the meridional space. 
 	The imported gap curve cannot intersect any control lines defined outside the blade. 

Width At Leading Edge - Width At Trailing Edge. It allows to specify the size of the gap at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values. If the gap curve is externally defined, these values are purely for information and cannot be changed.
Cell Width controls the cell size imposed at the blade extremity (at the hub or shroud according to the gap type).
Percentage of Mid-flow Cells controls the number of cells of constant size in the gap region of the channel.
Number of Points controls the number of points in the gap in the spanwise direction.

The  buttons Show/Hide allow to preview the user defined curve used for the gap before generating the flow paths.
The button Generate Flow Paths is used to regenerate the flow paths in the gap row respecting the modifications done in the dialog box.
 	When the row is composed by several blades including different gap width or fillet radius, the specified grid points between the various blade gap or fillet definition should remain in proportion with the difference in width or radius (e.g. a bigger width or radius should have more grid points, so as to have a reference flow path positioned at a higher index and avoid too much distortion when connecting the fillet or gap blocks of the various blades).

Rotor/Stator
Rotor/stators define the limits of a row, either the interface between two rows or the inlet or outlet of a row. They are created automatically when initializing the configuration (defining the rows) and can be controlled once the geometry is defined. They are displayed in blue in the meridional view.
A rotor/stator is defined by a set of control points which are allowed to move on a "support curve". There are two means to control a rotor/stator: directly through the control points or through the dedicated dialog box. 


FIGURE 4 Rotor/stator control points
To display the control points, simply left-click on a rotor/stator (FIGURE 4) and then left-click to move them. To open the dialog box (FIGURE 5), right-click on it and select Properties in the popup menu.


FIGURE 5 Rotor/stator properties dialog box
Properties
The dialog box is divided in two main parts, allowing to control the shape of the rotor/stator and other properties.
The Reference frame allows to specify the frame on which the position of the rotor/stator depends. For consistency reasons, when switching to relative to channel frame, the rotor/stator shape is switched to curvilinear.

Absolute. The rotor/stator control points are absolute (i.e. R/Z constant or defined from geometry file).
Relative to Channel. The rotor/stator control points are relative to the channel (i.e. the hub and shroud).
Relative to Row. The rotor/stator control points are relative to the rotor/stator neighboring rows (i.e. the trailing edge of the previous row and the leading edge of the following row).

The shape frame contains four buttons. Each modification in the shape frame updates automatically the rotor/stator and its control points in the graphical area.

Linear. Impose a linear shape. Additionally the rotor/stator can be located at a R or Z constant position by activating the corresponding button and entering the desired value.
Curvilinear. Just for information, does not change the current shape, it indicates that a control point was moved manually.
Defined Shape. This button is activated if the rotor/stator was defined by an external curve. An external curve can be imposed by selecting a simple ".dat" file through the button Select Geometry File. When imposed by a file, the location of the rotor/stator will be defined in a totally absolute position. It also means that if the hub or shroud changes, it should still intersect the user defined rotor/stator.

The specified geometry should be inside the domain bounded by the hub and shroud limits.

Default. Optimized shape computed, i.e. a straight line between hub and shroud when the rotor/stator is the machine inlet or outlet, otherwise a curve located at midway between two rows.

The second part of the dialog box specifies several properties; only the first one Cell width is useful for a rotor/stator, it imposes the cell size in the blade to blade mesh at the rotor/stator location. A default optimized value is always computed, symbolised by "0.0" in the dialog box.
Control Points Editing
Each control point of a rotor/stator can be moved on a "support curve" automatically created, which shape is fixed and cannot be changed (this "support curve" is not displayed). The number of control points is fixed and cannot be changed neither.
To move a control point:

Move the mouse to the desired control point. It will be highlighted when close enough. Then left-click.
Subsequent mouse movement will move the control point. The rotor/stator is automatically updated. The control point can be moved from the upstream row trailing edge to the downstream row leading edge. If there is no upstream or no downstream row, the limit is a straight line going from the hub extremity to the shroud extremity.
Left-click again to fix the control point position.

A specific (R,Z) position can also be imposed for a control point:

Move the mouse to the desired control point. It will be highlighted when close enough. Then right-click.
The following dialog box will be opened. Enter the desired (R,Z) values. The control point and the rotor/stator will be updated.



FIGURE 6 Control point (R,Z) control
Once the dialog box is opened, another control point can be selected to change its (R,Z) coordinates. Simply left-click on it, its current coordinates will be updated in the dialog box.
Close the dialog box.

Export Curve
Right-click on a rotor/stator, an inlet or an outlet and select Export Curve in the popup menu to export the selected rotor/stator in an output file (".dat"). 
The output file is composed by the ZR coordinates of the control points of the rotor/stator curve. This file format can be directly read when defining a rotor/stator from external curve using the Defined Shape/Select Geometry File button.
The file name of the output file is specified by the user via a dialog box.

HOH Topology

Copy - Merge Distributions

Besides the flow paths generation row by row, the copy-merge options allow to obtain matching flow paths in the spanwise direction at row interfaces.
Copy/Paste are used to copy a distribution from a rotor/stator to another one or to a meridional control line.
Merge is used to compute a common distribution from the left and right distributions at a rotor/stator. This option is only available for a rotor/stator interface with both hub and shroud gap: e.g. where the left row has a hub gap and the right row a shroud gap (or the opposite).
Clear is used to clean copy/merge operations on selected control line.
Copy/Merge/Clear are accessible through the right-click popup menu on a rotor/stator or meridional control line:



To copy a distribution, move the cursor on the desired rotor/stator from which the user wants to copy, right-click and press Copy Left Distribution or Copy Right Distribution according to the side the user wants to copy. Then move the cursor on the desired rotor/stator where the user wants to change the distribution, right-click and press Paste Left Distribution or Paste Right Distribution according to the side the user wants to modify. To modify the distribution on a meridional control line, just press Paste Distribution.
To merge a distribution, move the cursor on the desired rotor/stator the user wants to merge, right-click and press Merge Distributions.
To delete all copy/merge operations done on a rotor/stator or meridional control line, right-click and press Clear Distribution(s).

Conditions of Use

Flow paths need to be generated before copying or merging.
The distributions to be copied or merged should have the same number of points.
For the by-pass case with C-mesh topology for the nozzle, the distributions of the fan outlets cannot be copied neither merged, as illustrated on the next picture.



FIGURE 31 Forbidden copy-merge operations
Representation
Copy-merge operations are symbolized in the meridional view by a text marker on the middle of the rotor/stators or meridional control lines:

C -> L means that the distribution on the left side of the rotor/stator was copied.
C -> R means that the distribution on the right side of the rotor/stator was copied.
<- C -> means that the distribution on both sides of the rotor/stator was copied.
M means that distributions on the rotor/stator were merged.
C means that the distribution on the meridional control line was copied.



FIGURE 32 Copy-merge meridional representations

Intersection Control Options

In AutoGrid5™, the dialog box Define B2B Topology For Active Blade contains a page Intersection Control.


FIGURE 40 Intersection control parameters
These parameters allow in specific cases to control the intersection between the blade and the flow paths performed during the transformation made from 3D space to 2D blade-to-blade space and from 2D domain to 3D space. This intersection is defined by control points (with a certain distribution along the blade) and a number of points in between each control points. This curve describing the blade in 2D blade-to-blade space is then used to create the mesh and then transformation to 3D domain is made. After these two transformations using intersection curves, there may be some (very) small differences between the original 3D geometry and the geometry obtained. In AutoGrid5™ the differences in geometry are so small that in general the impact on the solution is much smaller than the use of discretization in a mesh due to the size of cells and the location of the grid points. Nevertheless AutoGrid5™ allows to use more points to compute the intersection and in that way to reduce these differences even more. This is at the cost of a much longer mesh generation process.
In few words the Intersection Control parameters control the way the intersections are defined between the geometry of the blade and any axisymmetric surface defined by the flow path.
The Intersection Quality parameter allows to choose the algorithm used to compute the intersections: 

Low mode is only available when the row blades geometry is defined by a native format (pressure and suctions sides defined by a set of sections in the ".geomTurbo" file). This mode uses SISL library.
High mode uses Parasolid™ library. This mode is very precise but maybe more time consuming.

The Intersection Number of Points parameter controls the number of discretization points between control points defining the intersection curve. This parameter is not used in Low mode with Curvature distribution.
When Low mode is selected, the Points Distribution Law parameter controls how the discretization points are distributed along the intersection curve. The Uniform law is recommended.
When High mode is selected, new checks are added when computing the blade-to-blade high quality intersections. The Intersection Precision Check Ratio parameter controls the tolerance of these checks. The tolerance is the imposed parameter multiplied by the wall cell width.
The checks are performed during the intersection process steps: the curve discretization, the grouping of all intersection curves together at some tolerance (grouping may fail because of holes between curves) and for double rounded blade, the closure on itself at some tolerance of the grouped intersection curve.
If a check fails, it makes fail the whole blade-to-blade intersection and if during the mesh generation, the generation is stopped. If we are in the blade rounded tip topology generation process, it may also stop, depending at which step the intersection fails.
If one of the checks on the grouping or the closure fails, a corresponding error message appears in the shell or terminal with an advice to increase the tolerance parameter to apply. In case of a too wide gap in the final grouped intersection curve, the measured gap is also displayed, allowing the user to adapt accordingly the Intersection Precision Check Ratio by default set to 5.
If the geometry is not very well defined and contains some small discontinuities, then it is recommended NOT to use a Curvature distribution. Because this type of distribution will result in a concentration of control points in the small area of the discontinuity, leading to not enough control points left for a good representation of the rest of the geometry.
If after the mesh generation, the mesh is presenting high value of angular deviation, the Low mode used by default for native ".geomTurbo" file can be switch to High mode before regenerating the mesh.
In bypass configuration, the High mode intersection should be applied on the row on the nozzle if any.
When High mode intersection, for blunt blades, there is no check to verify that the intersection is complete at the blunt. If a piece between the start/end of the curve and the blunt is missing, it is not detected.
Furthermore, the Blade Section Reference Angle allows for multiblade (one or more splitters) configuration to project the blade section correctly into the M-theta plane by specifying an angle of reference (by default set to 0). This angle can be specified manually or automatically using the Compute For Row button. It can happen that for some configuration this angle when set to 0 is no more suitable for all the blades, leading to a M-theta projection shifted by 2.PI for some blade as presented below. Changing the Blade Section Reference Angle of all the blades to a value up to +2PI or down to -2PI (according to the azimuthal distribution) solves this problem. The Compute For Row button automatically calculates the reference angle for all the blades of the row to obtain the right blade ordering.


FIGURE 41 Modify reference angle of all the blades to correct the projection

When using the Compute For Row button, AutoGrid5™ assumes that all blades are either aligned at leading or at trailing edge. It might fail if this is not the case.

Finally, the Number of Points Used To Define the Chord allows to control the number of control points used to generate the chord in the blade to blade view (by default set to 33). Usually this number of points is unchanged but in specific cases (i.e. when the blade is deformed), it is required to increase this parameter.

Machine Dedicated Settings
According to the type of machine, the defaults settings described above can be changed.
Wind Turbine Settings


The wizard of the wind turbine is composed of the following steps controlling the main parameters of the mesh generation of the wind turbine:

Geometry check (optional)
Dedicated pseudo shroud and upstream and downstream limit definition (the pseudo-shroud should intersect the tip of the blade),
Gap and fillet definition,
Blade flow paths definition,
Dedicated far field limit and far field flow path definition,
Blade-to-blade mesh accuracy definition,
3D mesh generation.

Control Upstream and Downstream limits 
When the wizard is launched, the Channel Control dialog box allows to control the pseudo shroud location and the upstream/ downstream limits. 


The parameter Reset Hub & Shroud allows to reset the hub & shroud, i.e. it allows to keep the existing entities or to create new ones. The parameter is activated by default and not shown if either the hub or shroud is not defined (which is needed to pursue the wizard). If the parameter Reset Hub & Shroud is deactivated, all other entries controlling channel are disabled.
After imposing a reset hub and shroud, if Next>> is pressed they become the new hub and shroud that will be considered when reset hub and shroud is deactivated. It is thus not possible to come back to the original hub and shroud of the imported geomTurbo if Cancel is pressed at any step of the same wizard.

When the parameter Reset Hub & Shroud is activated, AutoGrid5™ creates automatically a horizontal pseudo shroud and/ or hub located at a radius (Rhub/shroud) defined by:
Rshroud= BladeRadiusMin + (BladeRadiusMax-BladeRadiusMin) x (Shroud Location - 1e-5)

Rhub= BladeRadiusMin + (BladeRadiusMax-BladeRadiusMin) x (Hub Location) 
with BladeRadiusMin = maximum of the minimum blade radii computed on leading and trailing edge and BladeRadiusMax = minimum of the maximum blade radii computed on leading and trailing edge.


The normalized parameters Upstream Location and Downstream Location are used to located the inlet and outlet of the domain using the blade location (Zref= average(ZMIN,LE, ZMAX,LE, ZMIN,TE, ZMAX,TE)) and the minimum of the maximum blade radii computed on leading and trailing edge (BladeRadiusMax) as normalization value:
Lupstream = abs(BladeRadiusMax x Upstream Location) 
Ldownstream = abs(BladeRadiusMax x Downstream Location)
When Upstream Z < Downstream Z:
Upstream Z  = Zref-Lupstream
Downstream Z = Zref+Ldownstream
When Upstream Z > Downstream Z:
Upstream Z  = Zref+Lupstream
Downstream Z = Zref-Ldownstream


In the dialog box, information on absolute upstream and downstream channel locations (Upstream/Downstream Z) is displayed.
Gap and Fillet Definition
The Gap and Blending Control dialog box allows to impose and control a hub fillet, and to adapt the width of a tip gap if any defined in the row configuration before launching the first time the row wizard. 
Control Far Field Domain
The Far Field Control dialog box is used to control the domain up to the blade (far field).


The far field limit is controlled by the parameter Far Field Thickness normalized with the BladeRadiusMax (minimum of the maximum blade radii computed on leading and trailing edge):
H = Far Field Thickness x BladeRadiusMax


In addition, the number and the distribution of the layers in the far field can be modified.
In the dialog box, information on Far Field Radius and Spanwise Expansion Ratio in the far field  is displayed.
Automatically, at the end of the wizard procedure, a ZR effect named <Row name> far field is created to control the grid generation process of the domain up to the blade.
The following dedicated settings are changed automatically:

The rounded azimuthal default topology (Rounded Azimuthal) is activated automatically if the blade solid angle at mid span is higher than 60°.




A rounded treatment is applied to the topology at trailing edge (Rounded Streamwise and Rounded Azimuthal default topologies).
The optimization steps is set to 5000.
	The multigrid acceleration is set to off.
The free inlet and outlet angle are set to off.
The straight boundary initialization is set to on.
	The interpolation level is set to 10%.
The rounded bulb topology without singular line is applied when the configuration is presenting a bulb.

Axial Turbine Settings


In case of a rotor, a tip gap is defined by default.
Francis Turbine Settings



A rounded treatment is applied at the blunt trailing edge.




The throat control is active.
The rounded bulb topology without singular line is applied when the configuration is presenting a bulb.

Kaplan Turbine Settings



A rounded treatment is applied at the blunt trailing edge.
The throat control is active.
The rounded bulb topology without singular line is applied when the configuration is presenting a bulb.
In case of a rotor, a tip gap is defined by default.
The "shroud gap interpolation" option is automatically activated in case a tip gap is present. The spanwise starting point of the interpolation will be computed to be twice the gap width at inlet.

Inducer Settings



A tip gap is defined by default.
When defining the geometry using a geomTurbo native format, leading and trailing edge fitting is active
The throat control is active.
The default number of points at grid level 0 is set to 129 on the blade.
The free inlet and outlet angle are set to off and mesh is frozen.
The mesh relaxation at inlet/ outlet is active.
The optimization steps is set to 1500.
The rounded bulb topology without singular line is applied when the configuration is presenting a bulb.

Axial Compressor Settings


In case of a rotor, a tip gap is defined by default.
Centrifugal Impeller Settings



The H&I topology is automatically activated.
The "untwist outlet" option is automatically activated in case the downstream block streamwise length is greater than the blade spanwise height. The streamwise location will be computed to be located at one blade height from blade trailing edge.

Radial Diffuser Settings


No dedicated settings applied.
Return Channel Settings


No dedicated settings applied.
Contra Rotating Fan Settings


The mesh generation set up of the contra rotating fan is similar to the wind turbine set up: 

Geometry check (optional)
Dedicated pseudo shroud and upstream and downstream limit definition (the pseudo-shroud should intersect the tip of the blade). The parameter Reset Hub & Shroud is deactivated by default,
Gap and fillet definition,
Blade flow paths definition,
Dedicated far field limit and far field flow path definition,
Blade-to-blade mesh accuracy definition,
3D mesh generation.

The following dedicated settings are changed automatically:


Four control lines are added: two curvilinear unfixed ones close to the blade and two fixed lines at constant z at a much larger distance.

The untwist inlet/ outlet options are automatically activated when no bulb and in case the upstream/ downstream block streamwise length is greater than the blade spanwise height.

Centrifugal Pump Settings



The throat control is active.
The default number of points at grid level 0 is set to 129 on the blade.
The free inlet and outlet angle are set to off and mesh is frozen.
The optimization steps is set to 500.
The straight boundary initialization is set to on.

Axial Fan Settings



The new topology (Rounded Azimuthal) is used automatically if the blade solid angle at mid span is higher than 60° and the number of blades (periodicity) below 5.
A rounded treatment is applied at the blunt trailing edge.
The optimization steps is set to 500.
The free inlet and outlet angle are set to off and mesh is frozen (if the blade solid angle is lower than 45°).
The straight boundary initialization is set to on.
The rounded bulb topology without singular line is applied when the configuration is presenting a bulb.

Marine Propeller Settings


The mesh generation set up of the marine propeller is similar to the wind turbine set up: 

Geometry check (optional)
Dedicated pseudo shroud and upstream and downstream limit definition (the pseudo-shroud should intersect the tip of the blade),
Gap and fillet definition,
Blade flow paths definition,
Dedicated far field limit and far field flow path definition,
Blade-to-blade mesh accuracy definition,
3D mesh generation.

The following dedicated settings are changed automatically:

Four control lines are added: two curvilinear unfixed ones close to the blade and two fixed lines at constant z at a much larger distance.
Depending on the units, the row clustering is adapted.
For high staggered topology, the hub layer instead of the midspan layer is considered as reference section to initialize the blade-to-blade number of points.
Matching gap mesh is enforced.

                Frozen inlet and outlet angles.
            
Relax inlet and outlet clusterings.
Smoothing steps are set to 200 on fine grid and to 300 on full multigrid.
If bulb configuration, the untwist inlet and/or outlet treatment is applied.

 
The option Blade Tip Rounded Topology allows to impose a specific topology adapted for the rounded tip configuration. 
The option Blade Tip Rounded Topology is only applicable to double rounded blade (no blunt) and is under license. 
When the option is active, the shroud will be located above the blade to have some space to put the new butterfly topology and a shroud gap is automatically imposed. The blade is expanded with the section extension approach (more details in Blade Expansion). 
Finally at the end of the mesh generation, the skin block is split in the spanwise direction at the gap layer, keeping the lower part and modifying the upper part to create a new topology more adapted to the rounded blade tip. In the upper part, the skin block is first divided perpendicularly to the blade and the outer part is kept unchanged. The inner part is further divided in spanwise direction: the top skin part is converted into an H topology and the lower part is modified into a butterfly topology. The location of the spanwise division should respect multigrid levels and lead as much as possible to a uniform skin block width around the blade. This new topology allows to decouple the shroud cell width from the outer skin block cell width to obtain a good quality on the shroud layer. 



If the option Blade Tip Rounded Topology is active while the blade tip is not rounded (i.e. the tip is not defined geometrically by surfaces), the topology is adapted to have a butterfly topology above the blade instead of an H block: the flat tip topology.


When the propeller configuration is presenting a small hole at the tip, the option Blade Tip Rounded Topology may not work because the hole is too small such that the flat tip topology cannot be used as well.


When running the marine propeller wizard with the option Blade Tip Rounded Topology is active, the blade expansion may fail with the following error:

"sorry, row wizard initialization failed: blunt leading or trailing edge not compatible with rounded tip topology" because a blunt leading/ trailing edge has been detected. In case a blunt is only detected due to geometry tolerance, the options force blunt at leading/trailing edge can be deactivated into the blade expansion dialog box (Blade Expansion);
"sorry, row wizard initialization failed: blade cannot be expanded" because the loaded blade geometry is not intersecting the hub. To solve the issue, the expansion at hub settings can be adapted into the blade expansion dialog box (Blade Expansion);
"sorry, row wizard initialization failed: blade cannot be expanded" because no valid blade sheet can be created (reported in the shell or terminal). The sewing tolerance can be increased into the blade expansion dialog box (Blade Expansion); 
"sorry, row wizard initialization failed: blade cannot be expanded" because gap intersection contains too high angular deviation (reported in the shell or terminal). The check ratio can be increased into the blade-to-blade controls dialog box (Intersection Controls).

Geometry Check

When launching the row wizard, AutoGrid5™ warns the user that mesh generation parameters will be modified by the wizard and prompts the user to continue. This reset will keep the modifications performed by the user in the row wizard but will reset to the default value the parameters modified in Expert Mode. Then AutoGrid5™ proposes to check the geometry.


If a geometry check is asked (Yes button), a dialog box displays the geometry status. If the geometry is OK, a button Next prompts the user to continue the wizard.


Only one row must be selected before launching the wizard. If no row or multiple rows are selected, AutoGrid5™ warns the user and quits the wizard.

Blade to Blade Topology Management
Overview
The selection of the predefined blade to blade topology is controlled through the dialog box available through the menu Mesh Control/Row Mesh Control/B2B Mesh Topology Control in the Quick Access Pad.




FIGURE 3 Define B2B Topology
All the changes performed in this dialog box apply to the active blade(s).
Topology Selection

On the top of the Define B2B Topology for Active Blade dialog box, the topology of the selected blade can be selected between the three predefined types available in AutoGrid5™(O4H, HOH and H&I) or in the blade to blade topology library.
When defining the blade topology from scratch using a predefined topology (O4H, HOH and H&I), after imposing the setup of the project, AutoGrid5™ will create an optimized topology according to some geometrical criterion and the grid level (Number Of Grid Levels in the menu Mesh Control/Grid Level/Detailed Control) when using the button Initialize Topology & Grid Points Distribution of the top menu bar.
Afterwards, the options Streamwise Weights in the menu Mesh Control/Grid Level/Detailed Control allow to increase the number of grid points in the streamwise direction respectively at the inlet, on the blade and the outlet of the optimized topology. The feature consists in multiplying the number of grid points at inlet, on the blade and at outlet by the streamwise weights when using the button Initialize Topology & Grid Points Distribution. This option is only available for O4H and H&I topology.


Finally, the user can interact to adapt the optimized blade to blade topology defined by AutoGrid5™ by changing the parameters in the Define B2B Topology for Active Blade dialog box (from Default Topology (O4H Topology)  to 7-5) and in the Optimization Properties dialog box (Blade to Blade Optimization).
In addition, the topology library on the top of the Define B2B Topology for Active Blade dialog box (FIGURE 3) can be used or an existing topology can be copied (Copy/Paste Topology).
This library contains all the previous saved topologies. The library is managed using the following features:

Select a topology: to load a predefined topology, select it in the list and press the button Load. A warning prompts the user to regenerate and display the mesh in the blade to blade view.
 Save a topology: To save the topology of the current active blade, press the button Save. The dialog box Save B2B Topology is opened.



In this dialog box, the user can overwrite a topology selected in the list or create a new item in the library by switching on the button New B2B topology name. In this case, a new topology name must be entered in the related area and the topology will appear in the topology library and will be saved in "~/.numeca/tmp/" (in the folder "/_NITurboB2BTopologyLibrary/" and in the file "NIbladeToBladeTemplateLibraryFiles").

Remove a topology from the list (Remove button)
Preview the selected topology (Preview button): this feature opens a new window inside which a picture of the selected topology is displayed.

Furthermore, in the popup menu of the row, a row topology library is available through the Topology/Library menu. 


FIGURE 4 Save a B2B topology
In this dialog box, the topology of the selected row can be selected from the blade to blade row topology library. This library contains all the previous saved row topologies. The library is managed using the following features:

Select a topology: to load a predefined topology, select it in the list and press the button Load. A warning prompts the user to regenerate and display the mesh in the blade to blade view.
 Save a topology: To save the topology of the current active row, press the button Save. The dialog box Save Row Topology is opened. In this dialog box, the user can overwrite a topology selected in the list or create a new item in the library by switching on the button New Row topology name. In this case, a new topology name must be entered in the related area and the topology will appear in the topology library and will be saved in "~/.numeca/tmp/" (in the folder "/_NITurboRowLibrary/" and in the file "NRowTemplateLibraryFiles").
Remove a topology from the list (Remove button)
Preview the selected topology (Preview button): this feature opens a new window inside which a picture of the selected topology is displayed.

The blade to blade library is used to apply the topology from one row to another. To copy the blade to blade topology from one blade to another, the Topology/Copy and Topology/Paste options of the blade menu should be used (see Copy/Paste Topology).
The predefined topology applied from scratch or selected in the library or copied on the blades of the active row(s) is (re)initialized using the button Initialize Topology & Grid Points Distribution. An optimized blade to blade topology is chosen and the grid points distributions are (re)computed based on the setup of the project, the grid level and the geometrical criterion.
Copy/Paste Topology
The blade to blade topology applied around a blade row or a row can be copied into the active buffer and applied to other blade row or row using the copy/paste feature available through the contextual menu of the blade and the row.


FIGURE 5 Blade & row contextual menu
Using this feature, In multistage configuration, the blade to blade topology can be set up for one blade or row and applied to all the other similar blades or rows. 
For the rows, the following settings will be copied:

the meridional topology;
the  flow paths settings;
the optimization settings;
the row clustering;
the span interpolation;
the desired accuracy and number of points.

For the blades, the following settings will be copied: 

the blade sheet settings;
the tip and hub gap settings;
the tip & hub fillet settings;
the blade-to-blade topology;
the blade clustering.

To copy the blade to blade topology from one blade to another, use the Topology/Copy and Topology/Paste options of the blade menu.
The predefined topology applied from scratch or selected in the library or copied on the blades of the active row(s) is (re)initialized using the button Initialize Topology & Grid Points Distribution. An optimized blade to blade topology is chosen and the grid points distributions are (re)computed based on the setup of the project, the grid level and the geometrical criterion.

Initialization End

When previewing the mesh (Preview B2B button in B2B Control dialog box or Update B2B View in Mesh Control subpad) or finishing the initialization (Finish button in B2B Control dialog box), AutoGrid5™ imposes automatically cell width around the inlet and outlet limit of the row to ensure streamwise continuity through the rotor stator line. The minimum value between two successive blades is chosen.
When clicking on the button Finish, AutoGrid5™ proposes to start the 3D mesh generation of the selected row by clicking on yes.


Selecting no stops the 3D mesh generation process and allows the user to view the blade-to-blade mesh on another active layer (Mesh Control subpad) or to switch in Expert Mode to verify and control the mesh parameters set by AutoGrid5™mesh wizard. When the parameters are well defined, clicking on Generate 3D button in the toolbar will start the 3D mesh generation process.
The 3D generation of the meridional effect (far field of the wind turbine, propeller and contra rotating fan machine type) must be performed together with the generation of the row(s) connected with it.

Automatic Settings

Bypass Control
For the geometry control of the by-pass, more details are presented in section Specific Cases: Bypass, Fin & Bulb. Two topologies are available for by-pass: H or C mesh around the nozzle (also called radial splitter or splitter nose). A specific dialog box is dedicated to by-pass ():

Topology Type allows to choose the H or C topology.
Nozzle Cell Width controls the cell size imposed at the nozzle.
Nozzle Index controls the index of the flow path corresponding to the stagnation point of the nozzle, i.e. it controls the proportion of the flow paths below and above the nozzle.
Inlet Distribution Relaxation allows the user to relax the flow path clustering coming from the nozzle at the inlet. The inlet distribution relaxation is controlled by a parameter, ranging from 0 to 1. If the parameter is set to 0 (default), the same spacing as on the nozzle is maintained. If the parameter is set to 1, the flow paths will be placed according to a uniform distribution at the inlet. In practice, small values of the inlet distribution relaxation parameter, typically below 0.5, will enable a sufficiently relaxed inlet distribution. The inlet relaxation is propagated up to the inlet or rotor/ stator interface of the row directly upstream of the nozzle. With the relaxation enabled, wall cell sizes on the hub and shroud will still be respected.



FIGURE 25 Bypass dialog box with H topology


FIGURE 26 Bypass dialog box with C topology
For the C topology, a various number of points can be changed by left-clicking on their representation in the dialog box. An entry box like the following one will popup, press <Enter> to validate the new number of points or <Esc> to close the box and leave the number of points unchanged.



Besides the number of points, two additional controls are available: the C mesh thickness and the spacing between meridional control lines on the nozzle, both are expressed as a percentage. For the C mesh thickness, it is a percentage of the spanwise size below the nozzle, for the spacing between control lines, it is a percentage of the nozzle thickness (nozzle thickness is a dimension automatically computed according to the geometry).
The dialog box also displays information about the total number of flow paths in the by-pass: number of flow paths before the nozzle, downstream and upstream from the nozzle. It allows an easier generation of a matching mesh (matching flow paths) with downstream rows. 
The button Preview Flow Paths is used to regenerate the flow paths around the nozzle to display the modifications done in the dialog box.


FIGURE 27 C-mesh (left) & H-mesh (right) topology around nozzle

Skin Mesh Control
The Freeze Skin Mesh selection box is used to freeze the skin block (mesh and boundaries) during the optimization process. It is suggested to freeze the skin mesh with the introduction of cooling holes, in order to improve the quality of the full non matching (FNMB) connection between the skin block and the core flow.
The option is not available for a blunt leading or trailing edge.

Topology for High Staggered Blades
Overview
In several turbomachinery types, the blades are highly staggered. If the solid angle at the inlet (outlet) of the machine becomes greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading edge (trailing edge) of the blades, then the O4H topology is not suitable anymore: the cells located near the inlet (outlet) boundary becomes very skewed.


FIGURE 29 High staggered blade

To improve this unexpected behavior, AutoGrid5™ uses the High Staggered Blade Optimization in the Topology page of the dialog box Define B2B Topology for Active Blade (FIGURE 31).
High Staggered Blade Topology Optimization


FIGURE 30 C topology at inlet
When the topology is (re)initialized using the button (Initialize Topology & Grid Points Distribution, AutoGrid5™ detects if the two conditions described in the FIGURE 29 are reached. In this case, AutoGrid5™ automatically adapts the default topology to optimize the grid quality: if the solid angle at inlet is lower than 0, the H upper block becomes a C-block.
The high staggered blade topology optimization is controlled in the page Topology of the dialog box Define B2B Topology for Active Blade. The optimization can be switch off through the option High Staggered Blade Optimization to retrieve the default topology (FIGURE 29). The automatic search of the two geometric conditions can be switch off through the button Automatic High Staggered Blade Detection. In this case, the user has to specify manually which are the inlet and/or outlet geometrical configuration: Normal, Low Angle or High Angle (FIGURE 29 is presenting a low inlet angle test case).


FIGURE 31 High staggered optimization control
The next figure is presenting the description of the different types of geometrical configuration and their corresponding inlet and outlet types.


FIGURE 32 Blade types
Grid Points - Periodic Boundary - Gap Control
When a C-mesh is defining the upper block at inlet, the grid point number on the upper side of the blade and the grid points number at the inlet of the upper side are linked.
The number N1 cannot be greater than N2. When a periodic matching boundary is requested, the number of points N1 is always different of N3. Therefore, if a gap mesh is defined, a non-matching connection will be automatically used to create the connection between the H-block and the O-block inside the butterfly mesh.


FIGURE 33 High staggered topology & periodic boundary

Blade to Blade Control


The 3D mesh created by AutoGrid5™ is obtained by stacking blade to blade meshes on the surfaces of revolution (layers) created by rotation of the flow paths defined in the meridional view of the turbomachinery. 
The blade to blade meshes are created in the (dm/r,theta) space: the cross-sections of the blades with the active layers are projected in the blade to blade space and the mesh is created around the blade sections according to the pitch angle and the inlet and outlet boundaries of the row (more details in Meshing Fundamentals). 


FIGURE 1 Blade to blade mesh
The blade to blade meshes are created using a two dimensional multiblock structured topology. Each block have four edges along which grid points are distributed. The grids inside the blocks are created by transfinite interpolation and finally optimized using an elliptic multiblock smoother.


FIGURE 2 five blocks topology and grid point clustering
AutoGrid5™ provides predefined topologies for which grid points clustering is chosen automatically according to some geometrical criteria and grid level. The predefined topologies have been developed to obtain high quality grid without any user interaction. They are divided in three main types: HHOHH (O4H), HOH and H&I. The O4H type ensures full automatic meshing for all kinds of turbomachinery while the HOH and H&I types give very high quality grids but are not suitable for all the applications. Afterwards, the user can interact to change the resulting topology.
For all topologies, the template approach of AutoGrid5™ ensures reusability of the automatic or manual settings on similar geometries. 
This chapter describes first how to set up a predefined topology and how the user can interact to change the optimized blade to blade topology defined by AutoGrid5™. Finally, the optimization controls are described.

Channel Control



AutoGrid5™ automatically creates support channel curves to define the location of the control lines including inlet, outlet and rotor-stator. The number of points of the support curves is automatically computed by AutoGrid5™. If necessary, when the default control lines are not well defined on hub and shroud, the number of points can be adapted by the user.

Topology for High Staggered Blades


FIGURE 58 High staggered topology at inlet

By default, AutoGrid5™will detect automatically if the blade is staggered. When detected at inlet and/or outlet, the main H block is deviated from streamwise direction to theta direction in order to create a kind of C topology at the inlet and/or outlet). More details can be found in section Topology for High Staggered Blades.
The topology for high staggered blades is presenting full matching connections in the high staggered area.

Geometry Control

Multisplitter Control
The Multisplitter Control selection box is used to control the mesh initialization (ordering) for multisplitter configuration. By default the parameter is not active and is active when a new multisplitter template is initialized.

Meridional Control Lines
Control lines can be added in meridional space to control the meridional mesh (spanwise flow paths distribution), to change the topology of the 3D mesh (additional H block created upstream or downstream the control line) or to impose a z constant line in the meridional space (i.e. to capture corner). They are displayed in blue in meridional view.


FIGURE 7 Meridional control line example
Using this feature, the seal leakage defined at the trailing edge of a blunt centrifugal impeller can now be connected using matching connection (see Meridional Technological Effect).
Adding two or more consecutive unfixed geometry control lines in upstream or downstream block does not make sense and when combined with fixed geometry control line(s) that may lead to clustering in azimuthal direction and non smooth boundaries in the concerned block.
Creation
A tool is dedicated to the creation of meridional control lines ( or ).
Once activated, move the mouse on a channel curve (hub, shroud or nozzle) in the meridional view. When close enough, a point is displayed on the channel curve. Left-click to create a meridional control line at this position. This operation can be repeated until the tool is quit by right-clicking.
Deletion
Right-click on a meridional control line to popup the Delete menu item.
Editing
Meridional control lines are very similar to rotor/stators. They are also defined by a set of control points which are allowed to move on a "support curve". Therefore they can be edited in the same manner as for rotor/stators: directly through the control points by left-clicking on it or through the dedicated dialog box (FIGURE 5) by right-clicking on it and select Properties in the popup menu.
Properties
The properties of a meridional control line can be controlled through the dedicated dialog box, the same as for rotor/stators.


FIGURE 8 Control lines properties dialog box

The dialog box is divided in two main parts. For Reference frame, when it is set to Relative to Row, the control points are relative to a row and their reference depends on the position of the control line. Either the control points are relative to the row inlet and its blade leading edge, either to the leading and trailing edge, or to the blade trailing edge and the row outlet. When it is set to Relative to Channel, the control points are relative to the channel (i.e. the hub and shroud). Finally when set to Absolute, the control points are defined in absolute.

The second part of the dialog box allows to control the properties of the meridional control line:

Cell width imposes the cell size in the blade to blade mesh at the control line location in streamwise direction. A default optimized value is always computed, symbolised by a zero in the dialog box.
Relaxation Location/Relaxation Factor are used to relax the streamwise clustering along a control line. If "c" is the cell width imposed on control line and "e" the relaxation factor:
None: no relaxation of the clustering is applied,
Hub: the clustering is left unchanged at shroud (c) and relaxed towards hub (c*e),
Shroud: the clustering is left unchanged at hub (c) and relaxed towards shroud (c*e),
Mid Span: the clustering is unchanged at hub and shroud (c), and relaxed towards the middle of the control line (c*e). 

The relaxation is interesting for z constant lines used to get a matching connection between the channel and a zr effect where a clustering is applied on the whole z constant line to respect the zr effect cell width at wall, giving a clustering wall in the final channel mesh.
The option is not available for inlet/outlet of a row, control lines involved in bulb, in nozzle and in a snubber (H-topology type) on fan definition.

Streamwise Index is used when the control line is located on a blade and specifies the index (streamwise index) of the mesh line corresponding to the control line location in the blade to blade view. It corresponds to the vertex index from the beginning of the inlet block along the periodic face. The H block upstream the O4H (default) topology is not taken into account.
Streamwise Npts is used when the control line is not located on a blade and specifies the number of streamwise points in the H block upstream or downstream the control line in the blade to blade view if, respectively, the control line is upstream or downstream from the blade.
B2B control specifies if the meridional control line should also be a blade to blade control line:
None: the meridional control line is not affecting the blade to blade mesh and allows to control the flow paths,
Full: the meridional control line is affecting the blade to blade mesh and the flow paths,
Partial: the meridional line is affecting partially the blade to blade. This approach is useful for row with non-uniform tip gap.



FIGURE 9 Control lines upstream and downstream from the blade


FIGURE 10 Control line located on the blade
When meshing a row with non-uniform tip gap, the radial lines in the tip gap are really skewed. This is due to the stacking method which is based on m-theta projection according to the m-value along each flow path. In this case, in the tip gap, the m-theta value is distorted from a flow path to another due to the difference of flow path length.


FIGURE 11 Non-uniform tip gap configuration

To control the mesh on the blade in the spanwise direction, control lines with B2B control set to Partial are added on the blade. When using the B2B control: Partial, AutoGrid5™ computes automatically two references indices along the blade mesh (one for the pressure side and one for the suction side) to link the spanwise mesh with the shape of the Zcst line. This affects only the mesh on the blade and therefore can be safely used in any case.
As the mesh reference indices are computed on the active layer before the 3D generation, the final mesh depends of the active layer. In case of tip gap, it is highly advised to choose 100% for the active layer before launching the 3d generation.


FIGURE 12 Reference indices on active layer
This option is available with default topology and is not available with control lines on blade in full control mode, with cooling module, for blade on bypass.
When meshing a row with non-uniform tip gap, to improve the skewness in the tip gap the option "hub/shroud gap interpolation" can be used instead of adding control lines on the blade with B2B control set to Partial.

Fixed Geometry specifies if the blade to blade control line should be a z constant line or can be relaxed and have the shape obtained by the optimizer (blade to blade control line is considered as a z cst line instead of a normal connection).



FIGURE 13 Control line blade to blade geometry
Export Curve
Right-click on a meridional control line and select Export Curve in the popup menu to export the selected control line in an output file (".dat"). 
The output file is composed by the ZR coordinates of the control points of the control line curve. This file format can be directly read when defining a control line from external curve using the Defined Shape/Select Geometry File button.
The file name of the output file is specified by the user via a dialog box.
Specific Cases: Bypass, Snubber & Bulb
Meridional control lines are created automatically in three specific cases to capture discontinuity generated by a bypass engine, a snubber (H-topology type) on fan and/or bulbs. In these three cases, the specific meridional control lines cannot be deleted and some control points cannot be moved.
A bulb is a specific region of a machine where the hub has a zero radius. A machine can have a bulb at its inlet and/or its outlet.
Bulbs are automatically detected, the condition being that the hub has a zero radius at one point (not a line). The domain is automatically extended from this point at zero radius to the shroud axial position extremity. One or two meridional control lines are automatically created, the first one representing the machine inlet (outlet), the second one to capture either the zero radius point for sharp topology (H-topology) or the limit between the radial and the axial domain for radial topology. The hub extension allows to move the meridional control lines before the bulb. The rotor/stator (inlet) of the row following the bulb is positioned after the control line capturing the zero radius point or the limit between the radial and axial domain, and should not be moved before it (the opposite if the bulb is at the outlet of the machine). The zone between the entry control line and the rotor/stator is the bulb region and its meshing is controlled through a specific dialog box dedicated to the bulb.
The type of bulb topology is automatically imposed by AutoGrid5™ depending of the value of two angles. More details in section Bulb Control.


FIGURE 14 Bulb case


FIGURE 15 Bypass case


FIGURE 16 Snubber (H-topology type) case
If a control line is added between the fan and the nozzle, the user can unfix the geometry. Nevertheless undefined or non-matching instead of matching connections can be detected at the connection between the downstream blocks. In case of problems (non-matching or undefined patches) the additional control line must be fixed again.
 In case of a geometry defined in "millimeter", the tolerance used to define the connection in the Patch Selector dialog box (Grid/Boundary Conditions menu) can be increased to obtain matching connections.
In bypass configuration, it is mandatory to have an inlet fan upstream of the nozzle.

            The control lines involved in the C block generation of the nozzle must have the B2B control set to Full.

            
When a snubber (H-topology type) is defined, the two control lines defining the leading and the trailing edge of the fin must be defined with a unique cell width and must be kept fixed.

Bulb Control
For the mesh control of the bulb, more details are presented in Specific Cases: Bypass, Fin & Bulb. Two specific dialog boxes are dedicated to bulbs, one for the inlet, the other one for the outlet, both dialog boxes being totally similar ( and ). Three topologies are available for bulbs: sharp, rounded or radial.



The type of bulb topology is automatically imposed by AutoGrid5™ depending of the value of two angles:

the angle formed by the segment between the first/last point of the hub and the intersection point between the leading/trailing edge of the blade and the hub curve.
the angle formed by the two first/last points of the hub with axis of rotation.

If the first angle is greater than 80 degrees, then the topology is radial. If it is not the case, then the second angle is used. If it is lower than 45 degrees, the sharp topology is used otherwise the rounded topology is used.

With the sharp topology, the mesh in the bulb area is divided into two blocks limited by the inlet of the row and the bulb domain limit and separated by the stagnation line. This topology leads to a mesh presenting a singular line in front of the stagnation point.


With the rounded topology, the bulb area can be meshed with a singular line (triangular cells) or a butterfly topology. The mesh is then divided into respectively 3 or 5 blocks limited by the inlet of the row and the bulb domain limit. 
The Butterfly Smoothing Steps controls the number of iterations to smooth the butterfly bulb area.
The Smoothing Steps controls the number of iterations for flow paths smoothing in the bulb.


With the radial topology, the mesh in the bulb area is divided into two butterfly topology: a butterfly topology for the radial area of the bulb domain and one for the streamwise area of the domain.
The Butterfly Smoothing Steps controls the number of iterations to smooth the butterfly bulb area.



The various number of points can be changed by left-clicking on their representation in the dialog box. An entry box like the following one will popup, press <Enter> to validate the new number of points or <Esc> to close the box and leave the number of points unchanged.



The number of points in azimuthal direction is controlled by the blade-to-blade mesh of the row upstream/downstream the bulb (if bulb at respectively outlet/inlet). Grid points (in Define B2B Topology For Active Blade dialog box) at respectively outlet or inlet of the row (if bulb at outlet/inlet) will control the azimuthal number of points in bulb and it is recommended to impose middle value (leading/trailing edge control) as 8n+1 to guarantee 3 grid levels.
The button Preview Flow Paths is used to regenerate the flow paths in the bulb respecting the modifications done in the dialog box.
 If meridional control lines are added in the bulb, the number of points is controlled in addition through the dialog box Row Interface Properties (FIGURE 5). The Streamwise Npts is controlling, if the meridional control line is respectively at inlet or outlet, the streamwise number of points down or up to the meridional control line.

Flow Paths Manual Editing
Manual editing allows to control directly the block faces which are used to construct flow paths. Edges can be moved, segments can be created or modified and grid points distribution on segments can be controlled. As block faces need to be created for editing, flow paths of the row to be controlled should be generated before activating the tool.
The manual editing tool is started by pressing the button Manual Edit of the Row:Flow Paths Control dialog box (). It is stopped by right-clicking in the meridional view or by closing the dialog box. Once activated, all edges, vertices and fixed points of the rows for which flow paths are generated appear.
Following operations are available:

face selection. Left-click on face edges to select the face,
vertex displacement on rotor/stators and meridional control lines. Left-click on a vertex to select it, move it, left-click again to fix its new position.



FIGURE 19 Vertex displacement on vertical edge

fixed point insertion. Right-click on a vertical edge to popup the Divide edge menu item. It will launch the fixed point insertion tool.
fixed point deletion. Right-click on a fixed point to popup the Delete menu item.
fixed point displacement on vertical edges. Left-click on a fixed point to select it, move it, left-click again to fix its new position.



FIGURE 20 Fixed point insertion on vertical edge

fixed point index change. Right-click on a fixed point to popup the Change index menu item.
control of the segment distribution on vertical edges. Right-click on an vertical edge to popup the Distribution menu item. It will open the Clustering dialog box.



FIGURE 21 Manual editing activated
After each operation, faces mesh are regenerated basically (i.e. without smoothing) to display directly the changes on flow paths shape. To regenerate completely the faces (including smoothing), regenerate the flow paths of the row.
Some vertices and fixed points cannot be moved, they are displayed in blue to indicate it.
All manual edit operations can be deleted for a row by pressing the button Clear Manual Operations in the Row:Flow Paths Control dialog box (FIGURE 4). Then flow paths generation becomes the default one again.

Machine Characteristics Definition
After the geometry check, the Blade row type dialog box is opened. 


At this stage, the machine type is specified: Wind Turbine, Axial Turbine, Francis Turbine, Kaplan Turbine, Inducer, Axial Compressor, Centrifugal Impeller, Centrifugal Diffuser, Return Channel, Contra Rotating Fan, Centrifugal Pump, Axial Fan and Marine Propeller. By default no blade type is selected.
The user must also define the row periodicity, the rotation status (rotor or stator) and the rotation speed. 

According to the machine type, AutoGrid5™ will choose and adapt the most appropriated mesh generation parameters available in AutoGrid5™ expert mode.
Only the centrifugal impeller wizard is designed for multi-bladed row. All the others, when used for multi-bladed rows, may lead to improper H&I topology.

Default Topology (O4H Topology)
The default topology is selected through the top left selection button of the dialog box Define B2B Topology For Active Blade.


FIGURE 6 Default topology selection

Default Topology Control
As mentioned previously in this chapter, the default topology is composed by 5 blocks:

an O block around the blade named skin block,
a H block upstream the leading edge of the blade named inlet block,
a H block downstream the trailing edge named outlet block,
a H block up to the blade section named up block,
a H block down to the blade section name down block.



FIGURE 7 Defaults blocks & grid points
When using the row wizard for the wind turbine, marine propeller, axial fan or contra rotating fan, new types of default topology are available in addition to the default one named Streamwise: Rounded Streamwise and Rounded Azimuthal.




FIGURE 8 Default topology types
The Rounded Streamwise topology is imposing a rounded topology at the trailing edge and is similar to the Streamwise topology when rounded treatment at blunt trailing edge is applied or when the blade is not blunt. Only the block boundaries are slightly different at the trailing edge.
The Rounded Azimuthal topology is similar to the Rounded Streamwise topology rotated by 90°. This topology is automatically activated when using the wind turbine or the axial fan row wizard:

if the blade solid angle at mid span is higher than 60° for the wind turbine;
 if the blade inlet/outlet angle at mid span is detected as high-low or low-high and if the periodicity is smaller than 5 for the axial fan.

Control Number of Grid Points
The grid points number depends of the grid level and the streamwise weights chosen in the quick access pad page Mesh Control/Grid Level before performing the initialization (Initialize Topology & Grid Points Distribution). 


These optimized grid points numbers can be changed in the Grid Points page of the dialog box Define B2B Topology For Active Blade (FIGURE 7). To change a number, left-click on it, enter the new number of points in the locally displayed input area and <Enter> to confirm or <Esc> to cancel the action.





FIGURE 9 Grid points distribution
To display the new blade to blade mesh, press the button of the top menu bar Generate B2B.


FIGURE 10 Default mesh
Control Periodic Boundary Condition Type
As shown in FIGURE 10, the periodic boundary of the default mesh is non-matching. 
To obtain a matching periodic boundary condition: 

Switch on the check button Matching Periodicity in the Topology page of the dialog box Define B2B Topology For Active Blade. 
Press the button Initialize Topology & Grid Points Distribution or Generate B2B.
In case of splitter blades (multi-blade configuration) notice that the previous two steps also ensure a matching connection between the blades. The matching connections will remain enforced if the grid points distribution or the blunt treatment are adapted manually.



FIGURE 11 Control the periodic connection

Points of attention for  multi-blade configurations with a matching periodicity:

When modifying the inlet, the blade or the outlet number of points of one of the blades in the splitter(s) configuration, the changes will automatically be propagated to the other blade(s) in the same region. Additional blue control boxes allow to control the grid points distribution (more details in section Grid Point Number Control).
If the option Matching Periodicity is only activated after the initialization any change in grid points will not be propagated in the multiblade configuration. So it is essential to activate first Matching Periodicity before pressing Initialize Topology & Grid Points Distribution.
If the number of grid points on the blade up or down side is changed, this could lead to a non-matching gap.
The propagation is deactivated if there are two consecutive blades in the azimuthal direction of the multiblade configuration  with one having low inlet and outlet angles, and the other one high inlet and outlet angles.


Control Skin Mesh Clustering around the Blade
The O-block around the blade is used to optimize the control of the boundary layer on the blade. It is created using an hyperbolic mesh. 


FIGURE 12 Hyperbolic mesh around the blade
Grid Point Number Control
The number of grid points along the solid wall is controlled within the page Grid Points of the dialog box Define B2B Topology For Active Blade. The grid points clustering along the solid wall is split in four pieces controlling the leading edge, the trailing edge, the upper side and the lower side of the blade.


FIGURE 13 Grid points number control
If the high staggered topology (more details in section Topology for High Staggered Blades) is not used, additional blue control boxes are available to modify the distribution of the number of points between the inlet, the outlet and the blade.


FIGURE 14 Grid points distribution control
Leading Edge & Trailing Edge Clustering Control
The clustering near the leading edge and/or the trailing edge can be fully controlled through the dialog box Blade Clustering Control. When moving the mouse near the leading edge or the trailing edge, the piece of clustering controlled is automatically highlighted. The length of the piece is named "control distance". The inlet/outlet grid points are uniformly distributed along this distance.


FIGURE 15 Leading edge control distance
Right-clicking when a control distance is highlighted opens a contextual menu. The menu Properties opens the dialog box Blade Clustering Control. 


FIGURE 16 Blade clustering control
The control distance along which the grid points are distributed can be modified by selecting the mode of specification and the distance value:

Absolute Control Distance: the distance is given in absolute units and remain the same for each layer.
Relative Control Distance: the distance is given in relative units (normalized with the blade width).
First Cell Length: the distance is equal to the product of the cell width given by the user and the number of nodes.

The control distance is combined with a percentage of cells along the blade that will present a constant size (Percentage Cst Cells).
Another feature of this dialog box gives the control of the maximum expansion ratio of the cells in the streamwise direction along the wall. Switch on the button Desired Expansion Ratio implies that the number of grid points on the upper and lower side of the blade will be recomputed to ensure that the expansion ratio remain lower than the target value. The total number of points around the blade is then continuously updated.
Move Leading Edge & Trailing Edge Location
When moving the mouse near the leading or trailing edge, the control distance is highlighted indicating that it is ready for selection. Left-click (without release) and drag it on the desired location then release. The mesh of the skin block is continuously updated during the moving process.


FIGURE 17 Move stagnation point location
Control Boundary Layer in the Skin Mesh.
The skin block is created using a hyperbolic mesh. The width of the boundary layer in the initial mesh before optimization is controlled by the cell width at the wall, the expansion ratio and the number of points in it. These parameters can be modified in the page Mesh and Grid Points of the dialog box Define B2B Topology.
During the optimization step, the smoother will modify the grid points distribution of the blade-to-blade mesh layers to reach a higher mesh quality. The parameter Skin Block Expansion Ratio Control (%) allows to bring additional constraints to the smoother to better control the skin block layers.

When the parameter is set to 0 (corresponding to the behavior before this parameter was introduced), a default number of skin block layers, about half of them, starting from the blade, will be constrained to respect the imposed expansion ratio together with the orthogonality to the blade. 
When the parameter is set to 100, the remaining skin block layers will be constrained not to exceed the imposed expansion ratio.

The parameter Skin Block Expansion Ratio Control (%) applies only to the skin block, therefore it will have no influence on blunt boundary layers, neither on H&I topology without skin block.
For rounded topology at trailing edge (i.e. Kaplan or Francis turbine wizard), when the parameter Skin Block Expansion Ratio Control (%) is set to 0, the additional constraints to the smoother are applied to all the layers in the skin block except the last three ones.


FIGURE 18 Boundary layer control

When AutoGrid5™ detects that the boundary layer width is too big for the geometry configuration, it prompts the user to confirm the automatic reevaluation of the expansion ratio to a correct value.
When the blade section has a curved shape, crossing grid lines in the hyperbolic mesh can be detected by AutoGrid5™ and it automatically prompts the user to change the expansion ratio manually to avoid crossing section.
When activating the option Cell Width at Wall Interpolation, AutoGrid5™ allows to impose a cell width different at the hub & shroud of the machine, especially when the speed of the flow becomes very different at the hub and at the shroud of the machine.


The user inputs the cell width at the hub and the shroud and the boundary layer width. For each layer, AutoGrid5™ computes the local cell width (Celllocal) and the local expansion ratio (ERlocal) using a linear interpolation between the hub and the shroud. The variable used to compute the interpolation is the relative spanwise location (from 0 to 1) of the layer at the leading edge.
Celllocal = 10pow(log10(cell hub)+(log10(cell shroud)-log10(cell hub))*spanwiseLocation)
Bnd. Layer Width = (1+ERlocal+ERlocal²+…+ERlocaln-2)xCelllocal
with n equal to the number of cells in the boundary layer.
When the option is active, the Expansion ratio and the Cell Width at Wall field are not available for modification. Each time the button Generated B2B is pressed, these fields show the local cell width and the local expansion ratio used to compute the blade-to-blade mesh on the active layer.
Control Hub/Shroud Gap Mesh
When full or partial gap(s) has been defined, AutoGrid5™ adds automatically new blocks to mesh the domain up or down to the blade(s). The mesh inside a gap has a butterfly topology: a H block (Topology:OH) or 2 H blocks (Hub/Shroud Gaps Control) surrounded by a O block are used to discretize this area. When the gap is partial (only available with OH Topology) the two blocks are split in maximum five blocks.
By default, the gap meshes matches the skin mesh around the blade. Therefore, the only control gives to the user is the number of points inside the O-block that can be modified in the page Grid Points of the dialog box Define B2B Topology for Active Blade.
If the number of points on the upper side and on the lower side of the blade is changed and if a gap has to be defined, the change is canceled automatically by AutoGrid5™ when pressing the button Generate B2B to ensure a matching connection between the gap meshes and the skin mesh around the blade.
When imposing sharp (Blend/Sharp/Rounded Treatment at Leading/Trailing Edge) at the blunt blade leading/trailing edge (i.e. inducer), a H topology will be automatically used. The H topology is not available if the number of points is not equal on the pressure and the suction side of the blade.


FIGURE 19 Butterfly mesh in gap
Blend/Sharp/Rounded Treatment at Leading/Trailing Edge
In case of blunt blades, AutoGrid5™ automatically detects the bluntness of the blade and the option to blend, sharp the blunt blade leading/trailing edge or rounded the blunt blade trailing edge appear in the Topology page of the Define B2B Topology for Active Blade dialog box.


FIGURE 20 Blend/ sharp/ rounded treatment option at leading/ trailing edge
The selection of the options Sharp Treatment At Leading Edge and Sharp Treatment At Trailing Edge replaces the local topology by two H blocks. The option is recommended for inducer configuration.


FIGURE 21 Effect of sharp leading/ trailing edge treatment
The selection of the options Blend the Blade At Leading Edge and Blend the Blade At Trailing Edge automatically closes the blunt edges by a circular shape edges as shown in FIGURE 22. When these treatments are activated in the GUI, the keywords "BLENT_AT_LEADING_EDGE" and "BLENT_AT_TRAILING_EDGE" are saved  in the ".geomTurbo" file. 


FIGURE 22 Effect of blend treatment at leading/ trailing edge
The selection of the option Rounded Treatment At Trailing Edge replaces the local H-mesh topology by an O-mesh around the blade.


FIGURE 23 Effect of rounded treatment at leading/ trailing edge

The sharp/rounded options are saved in the ".trb" file as a mesh option.
The blend option modifies the geometry and is thus saved in the ".geomTurbo" file, this has a consequence when redefining the geometry in an existing project:

if the option is active in the current project, whatever the new geometry the option remains active,
if the option is not active in the current project, it depends on the value contained in the new ".geomTurbo" file.


Grid Points in Throat
AutoGrid5™ allows an automatic control of the number of grids points in the throat by setting the Number of Points In Throat to 1. This parameter can be modified in the page Grid Points of the dialog box Define B2B Topology for Active Blade and is controlling part of the number of points along the blade as presented on next figure.


FIGURE 24 Number of points in throat
For example, when dealing with inducer configuration, in the Define B2B Topology for Active Blade dialog box:

The Matching Periodicity and the High Staggered modes with High-Low or Low-High Inlet/Outlet Type are imposed in the Topology page,
The Number of Points in Throat is set to 1 to optimize the blade to blade mesh by an automatic control of the blade points distribution in the throat. 

 Throat control is not applicable for multiblade (one or more splitters) configuration.
 Backward is ensured with the previous releases in which the grid points were imposed manually in the throat.
When Number of Points In Throat is set to 1, the leading and trailing edge clustering is projected on the opposite side of the blade using an algorithm using the blade staggered angle. When the staggered angle is significantly different at inlet and outlet, the option Accurate throat projection can be activated to improve the projection location.
This option projects the leading and trailing edge on the other blade. When the throat angle is important and the pitch angle relatively large compare to the blade length, there may be simply no intersection or very close to the leading or trailing edge. This is resulting to a poor quality mesh or a too high concentration of points at leading/ trailing edge.
The parameters Inlet/Outlet Projection Relaxation can be used to relax the clustering at the projection location especially when the blade is blunt. It allows to control manually the projection points clustering of the blade by multiplying the default clustering with the value specified in the entry.


Wake Control
The direction of the mesh downstream the trailing edge can be controlled to capture the wake. By default the wake control is switch off. When the Wake Control check box is selected, the Wake Relative Angle can be imposed in the page Mesh of the dialog box Define B2B Topology for Active Blade. The edges of the outlet block are created using straight lines. The angle between these straight lines and the dm/r axis is equal to the solid angle + the wake relative angle specified in the dialog box. FIGURE 25 describes the geometrical detail and the mesh control when modifying the wake relative angle feature.


FIGURE 25 Wake control - relative angle
Furthermore, the Wake Prolongation when set to Full allows to propagate the wake in the downstream H-block (created when a control line is added downstream the trailing edge of the blade). It improves the quality of the mesh downstream of the trailing edge.
 If the wake control is activated, the outlet angular position is indirectly fixed and the outlet angle cannot be imposed anymore.
Starting AutoGrid5™ v13.1, the Wake Prolongation has an additional Partial option. Partial wake prolongation propagates the wake angle from the unfixed control line to the next fixed control line where it becomes horizontal. (New in AutoGrid5™ v13.1)


Inlet & Outlet Boundary Control
The inlet and outlet boundaries of the blade to blade mesh are located at theta positions computed automatically using a parabolic function. If the blade is twisted, the computed values are different for each layer. Therefore the inlet and the outlet surfaces of the 3D mesh can be also twisted.


FIGURE 26 Twist of the inlet 3D boundary
The angle deviation at the inlet and/or the outlet is important and the mesh quality can be seriously affected along the spanwise direction. To avoid this phenomenon at the inlet/outlet boundary limit of the mesh, new controls have been added in the Mesh page of the dialog box Define B2B Topology for Active Blade. If the Free Inlet/Outlet Angle mode is switched off, the user can freeze the inlet/outlet angle and mesh using respectively the Frozen Inlet/Outlet Angle and the Frozen Inlet/Outlet Mesh options. These options constrain the inlet/outlet optimization and force the mesh at the boundary.



When Frozen Inlet/Outlet Angle and  Frozen Inlet/Outlet Mesh modes are switched off, the initial mesh before smoothing will be imposed at constant theta position with a uniform distribution of grid points along theta but when smoothing, the inlet/outlet patch boundaries and mesh can move.
When Frozen Inlet/Outlet Angle mode is switch on and Frozen Inlet/Outlet Mesh mode is switched off, the initial mesh before smoothing will be imposed at constant theta position with a uniform distribution of grid points along theta but when smoothing the inlet/outlet patch boundaries stay fixed and only the distribution of grid points along theta may change.
When Frozen Inlet/Outlet Angle and  Frozen Inlet/Outlet Mesh modes are switched on, the initial mesh before and after smoothing will be imposed at constant theta position with a uniform distribution of grid points along theta. 



FIGURE 27 Inlet and outlet boundary control
Relax Inlet & Outlet Clustering
When Z cst lines are defined upstream or downstream to the blade, upstream and downstream H-blocks are created. By default the azimuthal clustering at the control line is extended up to the inlet or the outlet in the blade-to-blade mesh.
In case Z cst lines are defined upstream or downstream to the blade, AutoGrid5™ automatically detects the control lines and new options are available in the Mesh page in the Define B2B Topology for Active Blade dialog box.


The Relax Inlet/Outlet Clustering options allow to relax the clustering in the azimuthal direction starting from the control line up to the inlet or the outlet.


Blunt at Leading/Trailing Edge
In case of blunt blades, AutoGrid5™ automatically detects the bluntness of the blade and new options are available in the Mesh page in the Define B2B Topology for Active Blade dialog box.
This option is not available for staggered topology.

ZCst line at Leading Edge: Selection of this option defines a Z constant line at the leading edge. 
ZCst line at Trailing Edge: Selection of this option defines a Z constant line at the trailing edge.

 Zcst line at the leading edge or trailing edge cannot be combined with respectively high staggered topology at the leading or trailing edge.
 Zcst line should be added at the leading or trailing edge location in the meridional view to ensure that the flow paths are respecting the shape of the hub and shroud at the leading or trailing edge. The B2B control option of this control line should be deactivated.

Cell Width At Leading Edge: This entry allows the user to specify the width of the cell at the blunt leading edge. By default the value is set to the cell width value imposed under Mesh Control/Row Mesh Control in the Quick Access Pad or in the Row Wizard. When the value is set to -1, the value will be calculated from a uniform distribution on this edge using the leading edge number of points.
Cell Width At Trailing Edge: This entry allows the user to specify the width of the cell at the blunt trailing edge. By default the value is set to the cell width value imposed under Mesh Control/Row Mesh Control in the Quick Access Pad or in the Row Wizard. When the value is set to -1, the value will be calculated from a uniform distribution on this edge using the trailing edge number of points.



FIGURE 28 Effect of Z constant line in case of blunt leading and trailing edges

Hub/Shroud Partial Gaps Control
Partial gaps are controlled through their dedicated dialog box. It allows to control the geometry and the meshing parameters of the gap. To consider the partial gap, a mesh is first generated considering a full gap (same spanwise parameters as in Hub/Shroud Gaps Control) and then the mesh in the gap is split in the streamwise direction (streamwise parameters) and some blocks removed to consider the solid part of the partial gap.


FIGURE 23 Partial Gap dialog box
Several limitations are due to the fact the generated mesh has to be matching (e.g. the number of points on the blade have to be the same on lower and upper part) when adding a partial gap:

partial gap only available for blade with default O4H topology,
partial gap only available for rows with only one blade,
partial gap only available for blade with following topology: high staggered at inlet and low staggered at outlet or low staggered at inlet and high staggered at outlet or normal at inlet and outlet.

If this condition is not fulfilled, the partial gap will not be generated and an entire gap will be generated instead. The following warning will appear:
Different number of points on upper/lower parts of blade <Main Blade> not available with partial gap. Full gap generated.
No control line on blade is allowed if this blade contains a partial gap. In such a case, the partial gap will not be generated and an entire gap will be generated instead.
The throat control of a blade can not be activated if this blade contains a partial gap. In such a case, the partial gap will not be generated and an entire gap will be generated instead.
Limitations linked to full gap are applicable to partial gap except compatibility with fillet. Partial gap is not allowed with butterfly topology fillet.
The dialog box is divided in two main parts, a first part controlling flow paths spanwise distribution and a second part controlling the streamwise parameters.

Spanwise Parameters:Defined Shape. This button is activated if the partial gap bounding curve was defined by an external curve (from leading to trailing edge). An external curve can be imposed by selecting a simple ".dat" file through the button Select Geometry File. More details on the format in section Curve data files of IGG™ User Manual.

 	When generating the flow paths, one flow path will respect the full imported curve. It is thus recommended to have a curve covering the meridional minimum and maximum of the blade and without overlap in the meridional space. 
 	The imported partial gap bounding curve cannot intersect any control lines defined outside the blade. 

Spanwise Parameters:Width At Leading Edge - Width At Trailing Edge. It allows to specify the size of the partial gap at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values. If the gap curve is externally defined, these values are purely for information and cannot be changed.

 	When the row is composed by several blades including different gap spanwise width or fillet radius, the specified grid points between the various blade gap or fillet definition should remain in proportion with the difference in width or radius (e.g. a bigger width or radius should have more grid points, so as to have a reference flow path positioned at a higher index and avoid too much distortion when connecting the fillet or gap blocks of the various blades).

Spanwise Parameters:Cell Width controls the cell size imposed at the blade extremity (at the hub or shroud according to the gap type).
Spanwise Parameters:Percentage of Mid-flow Cells controls the number of cells of constant size in the gap region of the channel.
Spanwise Parameters:Number of Points controls the number of points in the gap in the spanwise direction.
Streamwise Parameters:Graphic controls the streamwise bounds of the partial gap and the number of points in streamwise direction. The bounds are defined from the leading/trailing edge as a distance in percentage of the mean line length, with mean line being the middle curve between the suction and pressure sides.




If the LE/TE partial gap length is the same between hub and shroud, AutoGrid5™ will use automatically the same number of LE/TE points on both hub and shroud partial gap.
If the sum of the leading and trailing edge distance reaches 100% of the mean line length, then the gap mesh is generated as a classic gap.

A pop-up message will appear if the sum of the two number of points is higher than the number of points on blade. When changing the number of points on blade in Define B2B Topology For Active Blade dialog box, then the partial gap will not be generated and a full gap will be generated instead. The following warning will appear:
Number of points on LE/TE parts of hub partial gap exceeds total number of points on blade <Main Blade>. Full gap generated.


In the next figure, one can clearly see on this picture the inlet points that are projected on the blade. When defining a partial chord gap, if the leading edge distance is too low, so that the gap blocks should be cut in the inlet points projection area, the mesh can not be generated. In such case, if the defined partial mean line length is too low, it is automatically reset to 0 (i.e. no partial gap at inlet), and a warning message appears to inform the user. The same comment can be done for the trailing edge region and the outlet points projected on the blade.


When two partial gaps have been defined on the same blade, the associated number of points and the leading/trailing edge distances must fulfill some restrictions (if not respected, warning will pop up):

When hub partial gap leading edge distance > shroud partial gap leading edge distance, hub partial gap leading edge number of points > shroud partial gap leading edge number of points.
When hub partial gap leading edge distance < shroud partial gap leading edge distance, hub partial gap leading edge number of points < shroud partial gap leading edge number of points.
When hub partial gap trailing edge distance > shroud partial gap trailing edge distance, hub partial gap trailing edge number of points > shroud partial gap trailing edge number of points.
When hub partial gap trailing edge distance < shroud partial gap trailing edge distance, hub partial gap trailing edge number of points < shroud partial gap trailing edge number of points.


Streamwise Parameters:  Define By Cylinder allows the user to define a cylinder, according to which the partial gap will be generated. The cylinder is defined by specifying a diameter, origin, and axis. The solid part of the blade will be inside its defining cylinder.



 The partial gap will follow the curvature of the cylinder, as can be seen in the following figure:


If the option is deactivated, then the partial gap is not respecting the cylinder definition and is generated using the classical algorithm: the same chord length percentages for all layers.
The partial chord lengths in the graphic are updated each time a cylinder parameter is modified. In some cases, this may take some time since the flow paths have to be generated for this operation.

In case the algorithm fails to compute an intersection between the cylinder and the reference flow path surface of revolution, a warning message appears at the bottom of the dialog box: 
Invalid input. Please Check Cylinder Parameters

In order to generate a partial gap defined by a cylinder, there has to be an intersection of the cylinder with both sides of the blade for all spanwise layers of the partial gap. If this is not the case, an error message will appear, warning the user that the imposed cylinder is not suitable. In this case, the partial gap will be generated using straight edges.


Generating a partial gap defined by a cylinder is not compatible with z constant lines with partial B2B control. If these are found, a  pop-up message and a warning message are displayed and the partial gap is generated using straight edges. If the B2B control of these z constant lines is set to 'None', the partial gap can be generated following the shape of the cylinder.
 
Warning: z constant line(s) on blade with partial B2B control detected. Straight gap will be generated.

Streamwise Parameters:Cell Width controls the cell size imposed at the both walls of the partial gap in the streamwise direction (at the hub or shroud according to the gap type).

If the number of LE/TE points is the same between hub and shroud, the streamwise cell width on both hub and shroud is driven only by the width defined for hub gap.

Streamwise Parameters:Clustering Relaxation controls the relaxation of the partial gap streamwise clustering on layers not involved in the partial gap definition. By default the expansion factor is set at 1 (minimum value) and means the partial gap cell width "w" will not be expanded. When expansion factor is set to "i", on the layer on which the relaxation is maximal, the imposed cell width will be "w*i".

The cell width expansion may lead to bad mesh quality if there is not enough space on blade to expand the partial gap cell width with the given expansion factor. Reasonable expansion factor with respect to the geometry should therefore be defined.
The  buttons Show/Hide allow to preview the user defined bounding curve used for the gap before generating the flow paths.
The button Generate Flow Paths is used to regenerate the flow paths in the gap row respecting the modifications done in the dialog box.

Butterfly Mesh Topology for Hub/Shroud Gap
The mesh on the hub/shroud gap is created using a butterfly topology. Grid Points page provides new parameters to control the gap mesh.


FIGURE 48 Gap controls
The parameters can be changed by selection in the graphics control area. By default the connection with the main mesh is matching and a non-matching connection is created between the H and O block inside the gap. In non-matching mode, the non-matching connection is located at the interface between the main mesh and the mesh of the gap.
 	When using the matching mode (non-matching connection is created between the H and O block inside the gap) it is not recommended to use the optimization in the clearance. In some cases that may work but most of the time it will not give any better result.

Multigrid Acceleration
This functionality allows a faster convergence of the smoother but should nevertheless be carefully used. Indeed, in this case, the multigrid scheme presents an additional difficulty: the fields that are computed, restricted and prolonged are the mesh points themselves. The expansion ratio is thus highly increased on each grid coarsening as well as the resulting source terms. As discussed in the Orthogonality Control section, the stability of the numerical scheme therefore decreases on each coarsening and few examples (i.e. when very small expansion ratio on the finest grid) have successfully converged using such multigrid approach. The compromise that has been found and implemented in the current version is to restrict source terms (just copy from the finest mesh) instead of computing them. In such a case, the smoother converges but the solution obtained with the multigrid acceleration can be somewhat different that the one obtained with a single grid computation.

Intersection Control Options
The parameters in the Intersection Control page allow in specific cases to control the intersection between the blade and the flow paths performed during the transformation made from 3D space to 2D blade-to-blade space and from 2D domain to 3D space. More details about the parameters are provided in the Intersection Control Options section.

Control Lines & Blade to Blade Mesh
The control lines are defined in the meridional view to capture discontinuities of the hub and/or of the shroud. These lines can be defined upstream, downstream or on the blade(s) definition.


FIGURE 34 Control lines
By default, the control lines are taken into account in the blade to blade meshing process. The intersection between the flow paths and the control line is performed to obtain m locations in the (dm/r,space). The control line implies that vertical grid lines must be defined at the computed m locations.


FIGURE 35 Blade to blade mesh with control lines
Right-click on a control line in the meridional view gives access to a contextual menu. The menu item Properties opens a dialog box used to control the parameters of the control line. The parameters B2B Control: None in this dialog box are used to switch off the blade to blade control of the control lines.


FIGURE 36 Control line control
Upstream & Downstream Control Lines.
Upstream and downstream control line implies that new H blocks will be added before the inlet or after the outlet of the O4H topology. The number of points in the azimuthal direction is implicitly defined by the connection with the blocks of the O4H topology. The number of points in the streamwise direction n1 and n2 (FIGURE 37) are controlled by the parameter Streamwise Npts in the dialog box Row Interface Properties (FIGURE 36) or by right-clicking on the H block in the blade to blade view and selecting the Number of Pts Streamwise menu.


FIGURE 37 Upstream & Downstream H-blocks
Adding two or more consecutive unfixed geometry control lines in upstream or downstream block does not make sense and when combined with fixed geometry control line(s) that may lead to clustering in azimtuthal direction and non smooth boundaries in the concerned block.
Control Line on Blade
When a control line is defined on a blade, the parameters Streamwise Index of the dialog box Row Interface Properties (FIGURE 36) controls the index of the grid points along the blade distribution linked to the control line (FIGURE 38). By default, its value is equal to "0" and the new control line is not taken into account. When new control line has to be defined on the blade, it is advised to perform the Initialize Topology & Grid Points Distribution process which computes default value for the streamwise index of the new control line.


FIGURE 38 Control line on blade
Cell Width around Control Line

The parameter Cell width of the dialog box Row Interface Properties (FIGURE 36) controls the cell width in the streamwise direction around the control line. By default the value is set to "0.0" and AutoGrid5™ computes the most appropriated value automatically.
The parameters Relaxation Location/Relaxation Factor of the dialog box Row Interface Properties (FIGURE 36) control the relaxation of the cell width in the streamwise direction around the control line. By default the relaxation is not applied (Relaxation Location set to None).
Mesh Quality Improvement with Control Line
For high staggered blades, new topology is automatically select by AutoGrid5™ if two conditions are reached (FIGURE 29). When the upstream domain and/or the downstream domain are large, the second condition is not reached and the high staggered optimization not selected. A method to ensure the selection of the high staggered optimization consists of creating control lines upstream the blade near the leading edge and downstream the blade near the trailing edge. In this condition, AutoGrid5™ will choose the high staggered optimization. By adding these new control lines, we add also constraints into the blade to blade mesh definition (vertical grid lines for each control line). These constraints can be suppressed by switching off the Fixed Geometry option in the dialog box Row Interface Properties (FIGURE 36).


FIGURE 39 Control lines improve mesh quality

Hub - Shroud - Nozzle
Once defined, all these channel curves can be controlled interactively to change their shape and/or orientation. The control is accessible from the Edit Hub - Edit Shroud - Edit Nozzle menus of the Quick Access Pad Geometry Definition subpad or directly by right-clicking on a basic curve.


The control is done through the editing of an edge and its vertices.


FIGURE 1 Shroud editing
Vertices can be:

added. Use the <i> shortcut,
deleted. Right-click on an intermediate vertex to popup the corresponding menu,
moved. Left-click on a vertex to select it, move it and left-click again to fix it.



FIGURE 2 Vertices options
Once the edge is correctly positioned, right-click to quit the editing tool. All the channel is recomputed according to the modification as shown in the following figure:


FIGURE 3 Channel regenerated
When hub/shroud/nozzle are not completely mapping the basic curves, there are represented by a green dashed line

Blade to Blade Optimization


FIGURE 59 Blade to blade mesh optimization control
The blade to blade mesh of each row are optimized using an elliptic multiblock smoother. The parameters controlling the optimization are available in the dialog box Optimization Properties. This dialog box is opened through the option Mesh Control/Row Mesh Control/Optimization Control of the Quick Access Pad.

Mesh Control

After defining the setup of the project, AutoGrid5™ will define for each selected row the number and the distribution of the flow paths automatically when using the button Initialize Topology & Grid Points Distribution of the top menu bar or when running the row wizard. 
Afterwards, the flow paths are mainly controlled row by row and some interactions are available between rows.
All the row parameters for flow paths control, including the number of flow paths, are accessible through the dialog box by left-clicking on Flow Paths Control in Mesh Control subpad.


FIGURE 18 Flow Paths Control

Blade-to-Blade Mesh Definition
The last stage of the wizard is used to set up all the blade-to-blade parameters for the mesh generation. All the expert parameters are set automatically according to the type of machine and the blade-to-blade geometry configuration.



The Number of Points (Level) of the mesh can be increased or decreased with the buttons << and >>. AutoGrid5™ automatically changes the number of grid points in all the area of the mesh. An estimation of the total number of grid points is continuously updated and displayed after each user changes.


In addition, the option Skewness (orthogonality) and Expansion Ratio can be used to display the quality color contour.


If the machine type is not an inducer, a Kaplan turbine or a centrifugal pump and the high staggered blade optimization is high at inlet, low at outlet or low at inlet and high at outlet, a full matching mesh can be imposed between the channel and the gap when a hub or tip gap is defined with the option Full Matching Mesh.


A non-matching connection could be created in the gap if the throat control is activated automatically during the setup of the expert parameters. If Full Matching Mesh is active, the throat control will not be activated.

Meridional Control

The meridional space allows first to control the geometry of a machine and the related parameters:

Basic curves: these are general 2D meridional curves.
Channel curves: hub, shroud, nozzle. They are based on basic curves, i.e. lying on them.
Rotor/stator curves. They define the row domain in the streamwise direction.
Meridional control lines. Optional control lines geometrically similar to rotor/stator. They can have a role in all meshes (meridional, blade to blade and 3D).

The meridional space allows also to control the flow paths used to create the 3D revolution surfaces for the final mesh.

HOH Blade to Blade Mesh Control
The HOH blade to blade mesh topology is controlled through the parameters available in the dialog box Define B2B Topology for Active Blade. The dialog box is divided into five areas.


In the Topology page, the user control the mesh topology of the inlet and the outlet extension of the mesh. The O-block is running around the blade and can be extended by upstream and downstream H or I blocks. In Mesh page, the user is allowed to change the orthogonality and the cell width at the wall through the parameters Boundary Layer Factor and Cell Width at Wall, respectively. The blade points clustering can also be controlled. In the Grid Points page, the interactive graphical area shows the mesh topology in terms of number of points. The user can customize the grid size by changing the number of points displayed in this area. Each label can be selected and modified using the mouse. When clicking on a number of points, a string input area appears prompting the user to change this number. When modification have been done inside the dialog box, the button Generate B2B can be used to compute and display the mesh according to the new settings.
Upstream & Downstream Extension Control
As described in the previous section, the Define B2B Topology for Active Blade dialog box gives access to the upstream and downstream control.


FIGURE 43 Upstream & downstream controls
By default, the upstream and downstream extension blocks are activated (1), the inlet and outlet block type is set to I (2).
As shown in FIGURE 44, H inlet type allows the user to set up full matching meshes. If the I inlet type is chosen, the periodic boundaries at the inlet are non-matching. 


FIGURE 44 H&I upstream topology
The Inlet Position and Outlet Position entered by the user is used to compute the distance between the leading edge and the connection boundary. The specified value is a ratio between the pitch angle and the computed distance.


FIGURE 45 Inlet & outlet location
Number of Points Control
The grid points number depends on the grid level chosen in the quick access pad page Mesh Control/Grid Level before performing the initialization (Initialize Topology & Grid Points Distribution). 


Afterwards, the interactive graphics area of the Define B2B Topology for Active Blade dialog box allows the user to change the number of points used to defined the blade to blade mesh. The mouse can be used to select a grid point number by left-clicking on it. A string input area is automatically displayed, prompting the user to specify a new grid point number.


FIGURE 46 HOH number of points
When the values imposed do not allow to obtain 3 grid levels on leading and trailing edges, a warning appears and suggests to adapt automatically the number of grid points on leading and trailing edges to guarantee 3 grid levels.
Blade Clustering Control
The page Blade Points Distribution opens an area allowing the user to control the clustering near the leading edge and near the trailing edge of the blade


FIGURE 47 Blade Points Distribution
Four blade points clustering types are available for the leading and/or the trailing edges:

(1) None: the grid points are clustered according to the projection of the clustering on the external boundaries of the block.
(2) Absolute Control Distance: a uniform distribution is set along a distance given by the user.
(3) Relative Control Distance (Default): a uniform distribution is set along a distance computed by multiplying the blade width near the leading edge and a factor given by the user.
(4) First Cell Length: first cell length is given by the user

In addition the obtained clustering can be smoothed (5) and the grid point clustering down to the blade in the azimuthal direction can be controlled by the Drag Clustering factor (6): the cell length near the trailing edge is propagated until the boundary between the O and the outlet H block.

Flow Paths Definition
The fourth stage of the wizard controls the cell width at the wall and the number of flow paths. The spanwise expansion ratio is continuously updated after each user's change. The flow paths are automatically displayed and updated into the meridional view.


By default, the number of flow paths is set to 57. If tip and/or hub gap/fillet are defined previously in the Gap and Blending Control dialog box, the number of flow paths is increased by 16 or 32 (73 or 89 flow paths).
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically updated as well as the percentage of constant cells:

the flow paths in the gap or fillet will be 25 for N>=129, 21 for N>=97, 17 for N>=65, 13 for N>=33 and 9 for N<33 (N is the number of flow paths).
the percentage of constant cells will be 80 for N'>=157, 70 for N'>=129, 60 for N'>=97, 50 for N'>=81, 40 for N'>=65, 30 for N'>=33, 0 for N'<33 (N' is the number of mid flow paths corresponding to N - gap/fillet flow paths).

Flow Paths Control
The dialog box is divided in two main parts, a first part controlling flow paths spanwise distribution and a second expert part allowing to tune some parameters, useful in some specific cases. All parameters are applied for the selected rows.

Number of Flow Paths controls the number of flow paths in the selected row.
Cell width at Hub controls the cell size imposed at the hub.
Cell width at Shroud controls the cell size imposed at the shroud.
Percentage of Mid-flow Cells controls the number of cells of constant size in the main part of the channel (excluding gaps).
View Flow Path allows to visualize the grid used to generate the flow paths. Deactivate the button to display the grid.


Number of Flow Paths Control Points controls the streamwise number of points of the grid used to generate the flow paths. Can be increased if the machine is very long. This number of points will also be the number of control points of the flow paths.
Number of Intermediate Points controls the number of discretization points between each control point of the flow paths.
Smoothing Steps controls the number of iterations for flow paths smoothing.
Hub & Shroud Distribution Smoothing Steps controls the number of iterations for points distribution smoothing.



The dialog box contains four buttons at the bottom:

Generate allows to generate the flow paths of the selected rows.
Clear Manual Operations cleans all manual operations performed through the manual edit mode for the selected rows (does not include copy/ merge distributions).
Manual Edit starts the flow paths manual editing tool. It is activated for all the rows. 
Close closes the dialog box.

Row Wizard

After defining the geometry, the row wizard offers an easy way to set up the mesh generation parameters according to the type of the machine:

wind turbine,
axial, Francis, Kaplan turbine,
inducer,
axial compressor,
centrifugal impeller,
centrifugal diffuser,
return channel,
contra rotating fan,
centrifugal pump,
axial fan,
marine propeller.

The row wizard is available using the button Row Wizard of the top menu bar in Basic Mode or using the button Row Wizard through the Mesh Control/Grid Level page of the Quick Access Pad in Expert Mode.


The wizard is composed be a set of dialog boxes. Each dialog box is related to the set up of a set of mesh generation parameters. They contains buttons Cancel, OK, <<Back, Skip>>, Next>> or Finish to control the set up process.

The Cancel button suppresses all the parameters already set by the wizard.
The OK button is used to quit the wizard and keep the parameters already set.
The <<Back button is used to return to the previous dialog box.
The Skip>> button is used to skip the settings of the dialog box.
The Next>> button is used to go the next dialog box.
The Finish button is used to quit the wizard and launch the 3D mesh generation.

The wizard is divided in 6 steps. Two additional sections describe the MultiStage Management and the Automatic Settings:

Meridional Curve Checks

During loading or importing of ".trb" or ".geomTurbo" files, AutoGrid5™ automatically checks the hub, shroud or nozzle curves. It also checks the curves, which are imported from the Import CAD window. If it detects any discontinuity in the curve of more than 80°, a warning message appears.
A Channel Geometry Check dialog box is also accessible from the Check Meridional Curves button in the Geometry Definition subpad of the Quick Access Pad or directly by right-clicking on the curves and selecting the Check Geometry menu. This meridional geometry checking process helps to check the completeness of the geometry as well as the validity of the end walls, before starting the mesh generation. It is also useful as it could repair the curves wherever it is required.


FIGURE 17 Channel geometry check
Selection of the Check All Meridional Curves check box allows to check all the meridional curves at once, otherwise the selected meridional curve can be checked one by one. The Check button application computes the Minimum Distance and the Maximum Angular Deviation between two curve control points either for all the curves or for the selected curve. While computing for all the meridional curves, the name of the curve also appears on which the minimum distance and maximum angular deviation exist as shown in FIGURE 4.
Also the potential failures due to coincident points and/or discontinuity on channel curves using the Apply Data Reduction button. This option removes the coincident points or discontinuity based on the Control Points Distance Criteria and Control Points Angle Criteria provided by the user.
The Reset Original Data button resets the copy of the set of points equal to the original set of points, and checks the curves quality.
 	Meridional curve checking process cannot detect the discontinuity between two curves defined in the meridional plane.

MultiStage Management
The row wizard is useful for a quick setup of the mesh for all the rotors and stators of a multistage turbomachine:

the row wizard is applied on the first rotor and on the first stator
the first rotor is selected and the button Copy Row Wizard Settings pressed
all the other rotors are selected and the button Paste Row Wizard Settings pressed to apply the same wizard parameters to the other rotors.
the first stator is selected and the button Copy Row Wizard Settings pressed
all the other stators are selected and the button Paste Row Wizard Settings pressed to apply the same wizard parameters to the other stators.

Non-Matching Control
The Non-Matching Control slider controls the orthogonality at the non-matching periodic boundaries when Matching Periodicity is deactivated (See Control Periodic Boundary Condition Type). In that case, the smoothing is performed in two stages. During the first one, the orthogonality is fixed on the periodic boundaries and released during the second stage. The slider controls the proportion of iteration performed in the first and the second stage.
This option can be unstable when it is used together with the multigrid acceleration.
This option must be switched off when kink along spanwise grid lines are observed in the 3D mesh.

Global Settings
Upstream & Downstream H blocks Definition

AutoGrid5™ automatically is adding and unfixing upstream and downstream control lines following the blade leading and trailing meridional shapes. These lines are created for all the machine types and are useful to activate the high staggered blade topology optimization.
The number of points in the streamwise direction before the upstream control line (N1) and after the downstream control line (N3) is computed automatically based on the length and the number of points (N2) in the streamwise direction between the control lines.
N1 = 0.5*N2*L1/L2
N3 = 0.5*N2*L3/L2


Blade-to-Blade Topology
The default matching O4H topology is used by the wizard. When the row geometry contains splitter blades or if the machine type is a centrifugal impeller, the H&I topology is automatically activated.
In case of a rotor, a tip gap is defined by default in the Gap and Blending Control dialog box.
High Staggered Topology
According to the blade solid angle (Topology for High Staggered Blades) computed on the hub (βhub) and shroud (βshroud) layer, the high staggered topology optimization is automatically activated.
The topology is highly staggered if:

βhub>35° and βshroud>35°
βhub>60° and βshroud>-20°
βshroud>60° and βhub>-20°
βshroud>50° and βhub>-10°
βshroud>45° and βhub>=-1°
βhub>45° and βshroud>=-1°

Blade-to-Blade Grid Points
For grid level 0, the default number of points on the blade is set to 81. When decreasing or increasing the grid level the number of points on the blade is set to ensure 3 multigrid levels. The number of points in the blade-to-blade mesh is controlled by the number of flow paths (N):

The number of points in the skin block: 9 if N<49, 17 if N<97, 25 if N<129 and 33 if N>=129.
The number of points at leading edge and trailing edge: 9 if N<57, 17 if N<89, 25 if N<105 and 33 if N>=105.
The number of points in the gap boundary layer: 9 if N<49, 17 if N<97 and 25 if N>=97.
The number of points in inlet and outlet blocks along streamwise direction: 9 if N<65, 17 if N<105, 25 if N<129 and 33 if N>=129.
The number of points in up and down blocks along azimuthal direction:9 if N<49, 17 if N<97, 25 if N<129 and 33 if N>=129.

In addition when high staggered mode is active, the number of points is computed in up & down blocks to obtain a high quality mesh. The method also ensures at least 3 multigrid levels.

The number of points along the blunt leading or trailing edge is automatically updated to reduce the expansion ratio to 1.6 for grid level <=2, 1.4 for grid level <=4 and 1.2 for grid level >4.

For H&I topology, the number of points is automatically computed according the grid level and AutoGrid5™ imposes variation of the streamwise weight to recompute grid points distribution.
Throat Control
The throat control is automatically activated when:

the machine type is a Kaplan turbine, inducer, centrifugal pump or Francis turbine,
the high staggered mode is high and low or low and high and the throat angle is < 60° at hub, shroud and mid-span.

The throat control is deactivated if the throat angle is larger than 90° for all the machine types otherwise it would lead to a projection error.


Sharp & Rounded Treatment
The sharp treatment is automatically activated for blunt blade edge angle lower than 25 degrees. If the blade is not blunt, the blade edge angle should be lower than 90 degrees to activate the sharp treatment
The rounded treatment is automatically activated for blunt blade of Kaplan and Francis turbines.
B2B Mesh Parameters

The free outlet and inlet angle are activated.
The minimum expansion ratio is computed automatically.
The leading and trailing edge clustering is set to the cell width at wall for blunt blade.
The interpolation level is set to 2%.

Optimization Parameters

The number of smoothing steps is set to 200.
The number of smoothing steps in the gap is set to 100.
The skewness control is set to off.
The skewness control in the gap is set to off. 
The multigrid acceleration is set to on.
The orthogonality level is set to 0.5.
The orthogonality level in the gap is set to 0.5.
The multisplitter control flag is set to off.
The number of boundary smoothing steps is set to 0.

Hub to Shroud Mesh Control


The two Hub to Shroud Control parameters at Inlet and Outlet in the Mesh page of the Define B2B Topology for Active Blade dialog box act to reduce fluctuation of the solid angle computed to initialize the blade to blade mesh using HOH topology. In linear mode the angles are equal to the linear interpolation between the hub and the shroud angle values. To see a big difference, the blade should present the same solid angle on the hub and the shroud and different at mid span. It is used to avoid big fluctuation of the mesh in the spanwise direction due to big fluctuation of the solid angles.
 	To avoid a kink, the parameter Hub to Shroud Control should be kept down or equal to 0.5 when the solid angles are changing of sign from hub to shroud.

H&I Topology

Intersection Control Options
These parameters allow in specific cases to control the intersection between the blade and the flow paths performed during the transformation made from 3D space to 2D blade-to-blade space and from 2D domain to 3D space. These parameters are detailed in section Intersection Control Options.

Overview
The H&I topology is used to obtain better mesh quality with multiblades (one or more splitters) configuration. The H&I topology is controlled through the dialog box Define B2B Topology for Active Blade.


FIGURE 49 H&I topology
The H&I topology will present leading and trailing edges clustering projected on neighboring blades, meaning that a non matching connection or a non matching periodic connection will be present at inlet and outlet.


FIGURE 50 H&I topology - Projection points
The H&I topology is composed by:

One block to mesh the blade passage, contrary to the default topology which creates a mesh around the blade.
An optional skin block around the blade with two H blocks before and after the skin block.

The topology is not suitable for all turbomachinery types. This feature is not applicable:

for bypass configuration,
for configuration presenting a Z constant line on blade,
for configuration presenting cooling features (holes, basin, ribs,...),
for full mesh generation with geometry periodicity different than 1,
for configuration requiring a wake control,
for multisplitter configuration where leading or trailing edges are crossing each other.

Advice to Users
Try to avoid large expansion ratio (>2) along the blade in the streamwise direction when setting up the number of points required along the blade.
When the user needs a coarse mesh with large expansion ratios and hence, the previous advice cannot be followed, do not select the Multigrid Acceleration option.
Always check the mesh quality on both hub and shroud blade-to-blade views before starting a 3D mesh generation

Boundary Optimization
The parameter Bnd Optimization Steps allows to optimize the shape of the block boundaries of the initial mesh before applying the Optimization Steps. In specific cases, the option avoids the periodic boundaries to cross the blade or cells overlaps in the blade-to-blade view resulting in mesh optimization divergence when Optimization Steps applied.


FIGURE 64 Periodic boundaries optimization
The Bnd Straight Control selection box allows to impose a straight (linear) shape to the periodic
boundaries of the initial mesh before applying the Optimization Steps.

Blade Fillet
Fillets are controlled through their dedicated dialog box. It allows to control the geometry and the meshing parameters of the fillet.
The dialog box is divided in three main parts, a first part controlling flow paths spanwise distribution, a second part controlling the mesh topology in the fillet and a third part controlling the fillet geometry creation.


FIGURE 24 Fillet dialog box

Spanwise Parameters:Defined Shape. This button is activated automatically if the fillet is defined by surfaces in Import CAD window (Link to Hub/Shroud Fillet) or an external curve imposed by selecting a simple ".dat" file through the button Select Geometry File. More details on the format in section Curve data files of IGG™ User Manual.
 	When generating the flow paths, one flow path will respect the full imported curve. It is thus recommended to have a curve covering the meridional minimum and maximum of the blade and without overlap in the meridional space.
 	The imported spanwise bounding curve cannot intersect any control lines defined outside the blade. 
Spanwise Parameters:Radius At Leading Edge - Radius At Trailing Edge. It allows to specify the size of the fillet at the leading and trailing edge of the blade. The fillet spanwise bounding curve is then constructed as a linear offset of the hub (or the shroud) according to these values. If the curve or surfaces are externally defined, these values are purely for information and cannot be changed.
 	When the row is composed by several blades including different gap spanwise width or fillet radius, the specified grid points between the various blade gap or fillet definition should remain in proportion with the difference in width or radius (e.g. a bigger width or radius should have more grid points, so as to have a reference flow path positioned at a higher index and avoid too much distortion when connecting the fillet or gap blocks of the various blades).
 	When the fillet is incorporated in the blade definition (either in native ".geomTurbo" or through Import CAD window (Link to Blade)), the specified radii or meridional curve should be imposed in the area of the blade-fillet junction (can be approximative).

Spanwise Parameters:Cell Width At Leading/Trailing Edge controls the cell size imposed at the junction between the straight blade and the fillet (at the hub or shroud according to the fillet type) on all the control lines before the leading edge (Cell Width At Leading Edge) and on all the control lines after the trailing edge (Cell Width At Trailing Edge). By default set to 0.0 to allow AutoGrid5™ to compute an optimized value at the leading and trailing edge.
Spanwise Parameters:Percentage of Mid-flow Cells controls the number of cells of constant size in the fillet region of the channel.
Spanwise Parameters:Number of Points controls the number of points in the fillet in the spanwise direction.
Topology:Butterfly. This button is activated to mesh the fillet with a butterfly topology. In this approach a first mesh is generated considering a straight blade. Then the skin block is split at the fillet meridional layer, the block in the fillet area is replaced by a butterfly topology respecting the created or imported fillet geometry. If the skin block of the O4H default mesh is thicker than the fillet, the endwall is partly included in the butterfly topology and the same treatment is applied everywhere. While if the fillet is thicker than the skin block, the butterfly topology is applied in the skin block and out of this block a non-axisymmetric treatment is performed.


Topology:Butterfly Radial Number of Points controls the radial number of points in buffer blocks of the butterfly topology. By default the value is set to 0 to allow AutoGrid5™ to compute an optimized value. When value imposed by the user, the spanwise number of points in the inner block of the butterfly topology will be the difference between the Spanwise Parameters:Number of Points and the Topology:Butterfly Radial Number of Points. 



The Butterfly Radial Number of Points parameter directly influences the grid quality in general and the grid point distribution on the fillet in particular. It determines in the fillet the number of points and therefore the distances marked by the curly brackets in the following figure. To keep the matching connection with the surrounding blocks, the grid point distribution on the two corresponding edges is not changed by the generation of the butterfly topology.


When increasing the Butterfly Radial Number of Points parameter, the cell size in the middle of the fillet surface will increase while the total number of points on the fillet surface will decrease as presented in the figures below. This total number of points corresponds to the number of points in the inner block of the butterfly topology.


When increasing the Butterfly Radial Number of Points parameter, at some moment the orthogonality in the fillet will start to decrease because of quite dissymmetric fillet section (a side is largely wider than the other) as presented in the following figure.


The number of points in the fillet butterfly topology is also controlled by the number of points imposed in the skin block in the Define B2B Topology For Active Blade dialog box (Default Topology (O4H Topology)).
The butterfly topology is not compatible with blunt blade. Even if the fillet geometry is imported through the Import CAD window, the radii at the leading and trailing edges will not be respected. It will be redefined automatically by AutoGrid5™ using the computed values instead. 
The butterfly topology is not compatible with cooling options (e.g. blade holes, basin, radial holes,...), blade sheet, partial gap and HOH/H&I(without skin block) topologies.
The fillet without butterfly topology is not allowed with the rounded treatment at leading/ trailing edge (Blend/Sharp/Rounded Treatment at Leading/Trailing Edge) and thus not allowed for HOH topology on a blade with a blunt at leading/ trailing edge.

Wake Control Level
This option is meaningful only if the Wake Control is activated. In that case, the smoothing is performed in two stages. During the first one, the wake is fixed and released during the second stage. The Wake Control Level slider controls the proportion of iteration performed in the first and the second stage.


FIGURE 63 Wake control level

Gap/Fillet Definition
The next step of the wizard is used to define the gaps and the blade fillets if needed.



In case of inducer, axial compressor, axial turbine or Kaplan turbine with rotor mode active, the first time the wizard is executed, AutoGrid5™ automatically defines a tip gap into the mesh configuration. If hub and/or tip gap or hub and/or tip fillet already exists in the project configuration, the user can keep unmodified their definition by pressing the button Skip>>. 
At this stage, the meridional view display the gap or fillet definition. The user can control the gap or fillet width at leading and trailing edge. By default, the widths are set equal to the blade height divided by 20.
When gap or fillet is already existing in the project configuration before launching the wizard, its width is used as wizard parameters instead of the default.
When selecting the hub gap or tip gap option, the respective hub fillet or tip fillet option  is automatically frozen and reversibly.
When pressing the button Next>>, a message warns the user if the fillet does cut the limit of the domain.

3D Mesh Control

The 3D mesh of the rows of a turbomachinery configuration is generated using a stacking method. The flow paths are used to create the surfaces of revolution (layers) on which the blade to blade meshes are projected. The stacking method is divided into two phases: the computation of intersection between the blade(s) and the layers, and the generation and optimization of the blade to blade mesh.
To modify this stacking method, 3D mesh controls are available to improve the mesh quality in specific configurations. They are accessible through the dialog box available in Mesh Control/Row Mesh Control/3D Mesh Control from the Quick Access Pad or the icon from the toolbar as shown in  FIGURE 1.


FIGURE 1 3D Mesh Control


FIGURE 2 3D Mesh Control dialog box

Span Interpolation (%)
To reduce the generation time, it is possible to reduce the number of layers on which the mesh must be optimized. The parameter Span Interpolation (%) is used to specify the spanwise space between 2 consecutive layers on which the optimization must be done. By default the optimization is done on all the layers. A value of 25% implies that the mesh will be optimized on five layers (0%, 25%, 50%, 75%, 100%) and interpolated between them to obtain the entire mesh.
Untwist Inlet & Outlet
When Z cst lines are defined upstream or downstream to the blade, upstream and downstream H-blocks are created. In some cases, mainly centrifugal machines, blade trailing edge shows some theta spanwise twist, propagating till the outlet, the total spanwise twist being even more important at the outlet (in radial configurations). This leads to an outlet block with a poor orthogonality all over its extend, while the orthogonality could reach 90 degrees at the outlet.
The options Untwist Inlet/Untwist Outlet allow the user to impose outlet/inlet faces with straight bounds at constant theta and to propagate the modification along a streamwise length (Streamwise Starting Point (%)) defined in percentage starting from the control line close to trailing/leading edge and respectively outlet/inlet.
This option is active if the control lines have their B2B control not set to None.
When combined with wake prolongation, due to the untwisting method, the wake angle imposed by the user is no more respected and the difference may be highly different depending of the twisting of the original mesh outlet patch.
This option is not available for row just upstream the bypass nozzle.


FIGURE 3 Untwist outlet on centrifugal machine
Hub & Shroud Gap Interpolation
If a hub and/or shroud gap with a high width variation is defined on a blade, e.g. Kaplan turbine, then the generated 3D mesh will contain huge spanwise angular deviation in all the blade blocks, in the layers around the gap(s). This is inherent to the 3D stacking process and cannot be avoided. 
The Hub/Shroud Gap Interpolation options provide a post-treatment which can be applied on the original 3D mesh. This post-treatment will reduce the spanwise angular deviation by re-interpolating all blocks of the row between two layers.
The reference layer (Spanwise Starting Point (%)) that is chosen has to embrace the hub/shroud and the hub/shroud gap layer. It has to be located far enough from the gap layer in order to treat the kinks on both sides (under and above) of the gap layer. However, it should not be too far otherwise the interpolation process could lead to some negative cells generation and/or decrease the mesh quality in the re-interpolated layers. When using the Kaplan Turbine wizard, if a tip gap is present, then the post-treatment is applied and the Spanwise Starting Point (%) is computed as twice the gap width (in %), this gap width being the span % of the gap flow path at inlet. 


FIGURE 4 Shroud gap interpolation on Kaplan turbine
In case the leading/trailing edge of the blade is too curved in the zone where the treatment will be applied, this postprocess may lead to generation of cells with high expansion ratio on the nodes mapped on the blade. It may also lead to overlapping blocks, e.g. inlet/outlet block passing through the blade surface.
If overlaps are detected when generating the flow paths, control lines with B2B control set to None should be added on the blade.
The gap interpolation is only compatible with O4H (default) topology.
The gap interpolation is not applied when the solid body configuration is not default (Solid Body Configuration).
Enforce Cell Width At Blade Wall

For some of the projects in AutoGrid5™, the cell width at blade walls on the 3D mesh can deviate from the cell width imposed by the user. One reason is that a constant cell width is used to generate the blade-to-blade mesh while the radius can vary a lot along the corresponding flow path. 
The Enforce Cell Width At Blade Wall option is introduced to minimize the difference between the expected cell width and the measured one. Two treatments are applied when this option is activated:

in the blade-to-blade mesh generation, a variable cell width is imposed on the blade wall in function of the radius.
3D mesh is postprocessed to respect cell width on the blade, i.e. modifications of the skin block.

The 3D postprocess assumes that the cell width varies continuously around the blade. Therefore, if there are discontinuities in the cell width of the blade, the postprocess tends to produce huge kinks.
The 3D postprocess is not applied around the snubber and in gap blocks. In gap blocks, it may lead to an increase of the inter-block expansion ratio between for example the skin block and the gap blocks.
This development is available for O4H (default) and H&I topologies. 
When Cell Width at Wall Interpolation option is activated in the blade-to-blade mesh controls, this post-treatment will be deactivated automatically.
Swap Blade Patches Name
The Swap Blade Patches Name option is introduced to allow the user to swap the pressure side and the suction side definition (used in the patch names) of each row to respect the physics. By default in AutoGrid5™, considering the rotation axis Z, the convention of the pressure/suction sides is presented in FIGURE 5.


FIGURE 5 Pressure side (PS)/suction side (SS) convention in AutoGrid5™
Starting AutoGrid5™ v9.1-1, to respect same convention for all types of configuration, the pressure/suction sides will be reversed for double blunt configuration.
In addition a new preference Family name options/Blade pressure/suction sides is available for CEDRE/CGNS export to split the blade family name into a pressure side "_PS" and a suction side "_SS" family names.

H&I Topology Control
As mentioned previously in this chapter, the H&I topology is composed by maximum 4 blocks:

a H block to mesh the blade passage
an optional O block around the blade (skin block)
an optional H block upstream the leading edge of the blade if a skin block around the blade
an optional H block downstream the trailing edge of the blade if a skin block around the blade

By default, the H&I topology will present a full matching connection in the blade passage area and a non matching connection (FIGURE 51) or a non matching periodic connection (FIGURE 52) in the inlet and outlet region.
However, a small part just before the leading edge and after the trailing edge will be matching to avoid a non matching connection in these critical regions (FIGURE 52).


FIGURE 51 H&I topology - non matching connection


FIGURE 52 H&I topology connections

The number of points involved in the matching connection at the leading and trailing edges is automatically imposed by AutoGrid5™ and cannot be adapted manually. These number of points are provided as info in the Grid Points page.


The matching connection in these critical regions is ensured except if the grid points number modified by the user at inlet and/or outlet is lower than the number of points set automatically by AutoGrid5™ in the matching connection. For example, in  previous figure if the inlet grid points number (set by default to 53) is set to a value down or equal to 29, the matching connection will not be ensured at the leading edge.


The options H topology: Inlet/Outlet have to be activated in the Topology page in order to ensure a full matching connection at respectively inlet or outlet when the blade is not detected highly staggered at inlet or outlet. To apply these options, the button Initialize Topology & Grid Points Distribution should be pressed.
When the blade is detected highly staggered at inlet and/or outlet, the full matching connection will be automatically ensured at respectively the inlet and/or outlet (Topology for High Staggered Blades) and the options  H topology: Inlet/Outlet should not be activated.


FIGURE 53 H&I topology - H Inlet/Outlet
The option H topology: Full has to be activated in the Topology page in order to enforce full matching connections in the whole blade-to-blade mesh including in the gap. To apply this option, the button Initialize Topology & Grid Points Distribution should be pressed (i.e. staggered topology is reset to normal).


FIGURE 54 H&I topology - H Full
The H&I topology can be limited to H block to mesh the blade passage by deactivating the option Skin Block.


FIGURE 55 H&I topology - without Skin Block
Control Number of Grid Points
The grid points number depends of the grid level and the streamwise weights chosen in the quick access pad page Mesh Control/Grid Level before performing the initialization (Initialize Topology & Grid Points Distribution). 


These optimized grid points numbers can be changed in the Grid Points page of the dialog box Define B2B Topology For Active Blade. The number of grid points can be adapted as well as the grid points distribution (number on top of arrows) from the inlet to the outlet. In the next figure, when modifying the grid points distribution from 53 to 45 at the leading edge, the grid points number at inlet will be reduced to 45 and the number of points on the blade will be increased to (61 + (53-45-1)).
To change a number, left-click on it, enter the new number of points in the locally displayed input area and <Enter> to confirm or <Esc> to cancel the action. To display the new blade to blade mesh, click-left on the button Generate B2B.


When modifying a number of grid points, in order to preserve the matching connections of the H&I topology, all the numbers of grid points will be automatically adapted. For a configuration presenting splitter(s), when modifying the grid points numbers on one blade (main blade or splitter) of the row, the changes will be automatically applied on all the blades composing the row.
Control Skin Mesh Clustering around the Blade
The O block around the blade is used to optimize the control of the boundary layer on the blade. It is created using an hyperbolic mesh and can be adapted using the options presented in section Control Skin Mesh Clustering around the Blade. When the option Skin Block is deactivated (no O block around the blade), a clustering at both ends will be applied in the H block in the channel.
Control Hub/Shroud Gap Mesh
When gap(s) has been defined, AutoGrid5™ adds automatically blocks to mesh the domain up or down to the blade(s). More details can be found in the Control Hub/Shroud Gap Mesh section. 
Blend/Sharp/Rounded Treatment at Leading/Trailing Edge
In case of blunt blades, AutoGrid5™ automatically detects the bluntness of the blade and the option to blend, sharp or rounded the blunt blade leading/trailing edge appear in the Topology page of the Define B2B Topology for Active Blade dialog box. More details can be found in the Blend/Sharp/Rounded Treatment at Leading/Trailing Edge.
However, when the blade is considered as blunt or sharp at both leading and trailing edges, the skin block (O block) will be removed.
Control Boundary Layer in the Skin Mesh.
The skin block is created using a hyperbolic mesh. The width of the boundary layer is controlled by the cell width at the wall, the expansion ratio and the number of points in it. These parameters can be modified in the page Mesh and Grid Points of the dialog box.
Control Clustering at Projection Points
The H&I topology will present leading and trailing edges clustering projected on neighboring blades. It means that by default the clustering imposed at the leading and trailing edges will be applied on the corresponding projected point.


FIGURE 56 H&I topology - Projection Point
AutoGrid5™ allows to relax the clustering of the projected point manually or automatically using the parameters available in the Mesh page.




FIGURE 57 H&I topology - Projection Point Clustering Automatic Relaxation
The Automatic Clustering Relaxation (projections) option allows to relax automatically the clustering on all projection points simultaneously.This method allows to impose automatically different clustering relaxation depending of the projection point. For example, if the blade is presenting a blunt at trailing edge, the corresponding projection point clustering will be more relaxed compared to the leading edge projection point clustering as presented in FIGURE 57.
The Relaxation Clustering (projections) option allows to control manually the projection points clustering of the blade by multiplying the default clustering with the value specified in the entry. This method will impose the same relaxation factor to all the projection points.
When combining the two relaxation methods, first the automatic relaxation will be applied and then the user defined relaxation clustering factor will be applied in addition.
Inlet & Outlet Boundary Control
The inlet and outlet boundaries of the blade to blade mesh are located at theta positions computed automatically using a parabolic function or defined manually. More details can be found in the Inlet & Outlet Boundary Control section.
Relax Inlet & Outlet Clustering
The Relax Inlet/Outlet Clusteringoptions allow to relax the clustering in the azimuthal direction starting from the control line up to the inlet or the outlet. 
Blunt at Leading/Trailing Edge
In case of blunt blades, AutoGrid5™ automatically detects the bluntness of the blade and new options ZCst line at Leading/Trailing Edge are available in the Mesh page in the Define B2B Topology for Active Blade dialog box. More details can be found in the Blunt at Leading/Trailing Edge section.

Mesh Quality Checks
When the meridional view is active (red border), the menu Grid/Grid Quality allows to control the quality of the flow paths.

Geometry Definition


In addition to define the geometry using a ".geomTurbo" file, the geometry definition can be performed interactively through the Import CAD window. Geometry data can be imported from several CAD file formats, interactively selected and linked to configuration entities in an AutoGrid5™ project. 
The user can build a test case starting from scratch and using CAD data in an interactive way. The blade geometry is defined by selecting one or more surfaces while the definition of other configuration features such as the leading edge, the trailing edge, the hub, the shroud, is performed by selecting one or more curves and attaching that curve selection to the required feature.

Rows Definition Subpad
The rows definition subpad is used to control the machine configuration through project management buttons and a tree. All the turbomachinery entities, rows or technological effects (seal leakage, cooling holes,...) composing a project are symbolically displayed into the tree.


FIGURE 46 Row definition subpad
Project Management Buttons
These buttons are used to select or add entities into the tree.
TABLE 13 Project Management buttons






Icon


Description









Select all the entities of the tree: rows, meridional effects (bleed, seal leakage,...) and 3d effects (cooling holes,...). 







Select all the rows of the project.







Add a meridional effect (seal leakage, bleed,...) into the tree of the project.







Add a 3d effect (cooling holes,...) into the tree of the project. 







Add a row at the outlet of the machine. When the project has a configuration with bypass, the row is added before the nozzle.







Available only if the project has a configuration with bypass. Add a row (arm) on the nozzle.







Available only if the project has a configuration with bypass. Add a row near the outlet of the by-pass.







Available only if the project has a configuration with bypass. Add a row near the outlet of the compressor in the core engine.







Add a B2B Cut into the tree of the project.




Configuration Tree
The configuration tree is used to navigate through the project configuration, to select and modify the configuration entities.


FIGURE 47 Configuration Tree
The turbomachinery entities defining a project are:

The rows containing the blade(s), the upstream and downstream boundaries (inlet & outlet).
The meridional effects defining seal leakage, bleed... Their domain is axisymmetric and define in the meridional plane (ZR).
The 3D effects defining cooling holes,... Their domain is define in the XYZ space. These entities are considered as sub-entities of the rows.
The solid mesh of end walls and/or the blade.
The basin, cooling channel with pin fins and/or ribs in the blade.
The cooling holes in the end walls and/or the blade.

The selection of the entities and navigation through the tree is performed using left-click. Multiple selection is allowed. It can be performed by keeping the <Shift> or <Ctrl> button pressed during the selection process. 
Contextual Popup Menu of Tree Items
The entities of the tree can be managed with the features available through their related quick access popup menu. After selection, right-click displays these menus. For quick access, they appears above the mouse location and allows the user to add, remove or modify the properties of all selected entity.


FIGURE 48 Contextual popup menus

First Time Use
Basic Installation
When using AutoGrid5™ for first time it is necessary that AutoGrid5™ is properly installed according to the installation note. The installation note provided with the installation software should be read carefully and the following points are specifically important:

Hardware and operating system requirements should be verified to see whether the chosen machine is supported.
Installation of AutoGrid5™ according to the described procedure in a directory chosen by the user and referenced in the installation note as 'NUMECA_INSTALLATION_DIRECTORY'.
A license should be requested that allows for the use of AutoGrid5™ and the desired component and modules (see Required Licenses for all available licenses). The license should be installed according to the described procedure in the installation note.
Each user willing to use AutoGrid5™  or any other NUMECA software must perform a user configuration as described in the installation note.

When these points are checked the software can be started as described in the installation note or section How to Start AutoGrid5™ Interface of this users guide.
Expert Graphics Options
Graphics Driver
The graphics area of AutoGrid5™ interface uses by default an OPENGL driver that takes advantage of the available graphics card. When the activation of OPENGL is source of issues, AutoGrid5™ uses an X11 or OPENGL2 driver (on Linux) or MSW driver (for Windows) instead.
It is possible to explicitly change the driver used by AutoGrid5™ through a registry key or through preferences:

when launching AutoGrid5™ from FINE™ (through the Modules menu), the graphic driver will be read from the registry key. Changing the preference will have no effect on it,
when launching AutoGrid5™ alone, the graphic driver will be read from the preferences. The registry key will have no effect on it.

Define Driver Through A Registry Key
On Linux
in csh, tcsh or bash shell:
setenv NI_DRIVER X11 (or OPENGL2)
in korn shell:
NI_DRIVER=X11 (or OPENGL2)
export NI_DRIVER
The selection will take effect at the next session.
On Windows (when FINE™/Turbo installed)

Log in as Administrator.
Launch regedit from the Start/Run menu.
Go to the HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International/Fine# or AutoGrid# register.
Modify the DRIVER entry to either OPENGL or MSW.

The selection will take effect at the next session.
Define Driver Through Preferences
The driver used in AutoGrid5™ when launched alone can be controlled in the File/Preferences menu in the Graphics page.
The selection will take effect at the next session.
Background & Foreground Colors
The background and foreground colors of the graphics area can be adapted through File/Preferences menu available within IGG™ in the Colors page.

Leading/Trailing Edge Wizard
The leading and trailing edge curves can be defined by the user by adding a wizard to the blade through the blade menu Geometry/Add Wizard LE TE. This menu will add an item Wizard LE TE in the blade configuration tree. 


The wizard is started when selecting the menu Start after right-clicking on the new item. The wizard is composed be a set of dialog boxes. Each dialog box is related to the setup of a set of parameters and contain buttons Cancel, OK, <<Back, Next>> or Finish to control the set up process:

The Cancel button suppresses all the parameters already set by the wizard.
The OK button is used to quit the wizard and keep the parameters already set.
The <<Back button is used to return to the previous dialog box
The Next>> button is used to go the next dialog box.
The Finish button (only in last dialog box) is used to quit the wizard and launch the 3D generation.

Control Layers Definition 
When starting the wizard, the dialog box controlling the layers is opened and the default layers are displayed in the meridional view.


Control Layer Limits
The default layer limit can be controlled through the parameters Upstream control layer limit and Downstream control layer limit. Their values are given in relative arc length location on the hub.


A visual control should be performed in the meridional view to ensure that the layer cover the domain of the blade definition.
Control Layer Clustering
The clustering at hub and shroud (Hub clustering/Shroud clustering) is controlled by giving a ratio of the cell width corresponding to a uniform distribution of the layer.

AutoGrid5™ uses a geometrical progression to define the layer from hub to shroud. In addition, the user can control the percentage of cell of constant width (% of Constant Cells), the number of layers and the number of control points used to defined each layer.


Global Layer Control
When the blade has a very high staggered angle close to 90°, the technology that uses dm/r minimum and maximum value is no more suitable. The options Very low leading edge angle and Very high leading edge angle allow the user to switch to a more suitable technology (using theta minimum and maximum).
When the blade does not cut the hub and/or the shroud, the user can specify that the first and the last control layer must not be taken into account to compute the leading and the trailing edge by deactivating respectively the options Use First Control Layer and Use Last Control Layer.
Expert Layer Control


The tolerance used to create the chord at leading or/and trailing edge can be decreased especially in case of blade with a large width at leading and/or trailing edge.
The number of iterations steps and the number of points used to create the chord can also be controlled.
Leading/Trailing Edge Location Definition 
When the button Next>> is pressed in the Leading Edge & Trailing Edge: Control Layer dialog box, default leading edge and trailing edge locations are computed and displayed in the XYZ view and the dialog box Leading Edge & Trailing Edge: Edges Control is opened.


Active Layer
By default, all the layers are activated (displayed in yellow). The Active layer (0:all) parameters can be used to select the layer on which the values of the following parameters will be applied. When the value is not equal to 0, the active layer is automatically displayed in yellow and the others ones in blue.
Edge Location Control


By default, AutoGrid5™ computes a location for the leading and trailing edge in 8 steps:

Generation of the control layer in the meridional plane,
Intersection between the control layer and the blade definition,
Projection of the intersection in the blade-to-blade plane (dm/r,theta),
Generation of the chord using as limit the dm/r minimum and maximum value by default,
Limit the chord using the blade width as reference cut distance,
Extend the chord to obtain a first location of the leading and trailing edge,
Repeat steps 4 to 6 to refine the location of the leading and trailing edge.
Finally, cspline curves (joining all the leading edge and trailing edge points defined from the projection in the XYZ space of the points defined in the B2B space) are created and expanded using first order prolongation.

The parameters Leading Edge Location and Trailing Edge Location allow the user to modify the default location by giving a deviation of its parametrical position on the blade intersection. The parameters can vary from 0 to 1.


Edge Expansion Control
The parameters Hub Expansion and Shroud Expansion control the expansion of the leading edge and trailing edge curves in percentage of the spanwise height.
View B2B & Solid Body
The option View B2B switch the visualization from the 3D view in a blade-to-blade view.


The option View Solid Body allows to visualize the solid body of the blade in the 3D view.
The button Finish is used to replace the current definition of the leading and trailing edge curves by the one created by the wizard. The options Update Leading Edge and Update Trailing Edge are used to choose if the leading, trailing or both edges must be replaced.
The wizard is not available for blunt leading and trailing edge.

Mesh Domain Definition
A turbomachinery configuration domain is defined by the space located between the hub, the shroud and the blades of the machine. Additional domains can be added to the configuration to mesh technological effects (bleed, seal leakage, cooling holes)


FIGURE 1 Turbomachinery domain
Hub & Shroud Definition
The hub & shroud are defined by their meridional trace (ZR coordinates). They define the spanwise boundaries of the domain. The 3D blade to blade domain is meshed on surface of revolution located between the hub and the shroud definition. The geometry of the hub and the shroud are defined using curves in (x,y,z), (r,theta,z) or (r,z).
Row Definition
The turbomachine is composed by rows defined by one type of blade (main blade) or several (main blade & splitter(s)).
Blade Definition
The blades are defined (x,y,z coordinates) by several surfaces and two curves defining their leading and trailing edge locations. During the mesh generation the blades surfaces are intersected by surfaces of revolutions defined from the hub to the shroud.
Inlet & Outlet Limits
The inlet and outlet limits of the domain are by default automatically defined by AutoGrid5™ using two straight lines joining the limits of the hub and shroud definitions. The shape and the location of the inlet and outlet boundaries can be interactively modified in the meridional view. In case of multistage configuration (multiple rows), the location of the rotor/stator mixing plane is also automatically defined by AutoGrid5™. Their default location are set at the average streamwise location between the upstream trailing edge and the downstream leading edge. Furthermore, the shape and the location of the rotor/stator can be interactively modified in the meridional view.
Technological Effects
The technological effects are divided in two types: the meridional and the 3d effects. They define additional domains stuck to the main channel domain. 
Meridional Technological Effects
The seal leakages, the cavities and the bleed belong to the meridional effect types. The meridional effect is axisymmetric and its geometry is defined by meridional curves (z,r coordinates). The domain of a meridional effect must always be connected to one or more blade row(s).
The mesh of these configuration entities are generated in 3 steps: 

manual blocking in the meridional space
automatic settings of the number of grid points and the clustering in the meridional space
3D mesh generation obtained by the combination of the meridional blocking and the mesh at the connection(s) with the blade row(s).

More details are presented in Meridional Technological Effect and in the Meridional Effect tutorial.
3D Technological Effects
The draft tube, pipe diffuser, volute belong to the 3D technological effects. These effects are defined by 3D surfaces or 3D curves (x,y,z coordinates). Their meshes are created manually using the structured multiblock grid generation system IGG™. The steps used to create the mesh (more details in IGG™ user manual and in dedicated tutorial) are automatically saved and can be replayed on similar geometry.
Cooling & Conjugate Heat Transfer
AutoGrid5™ allows the mesh generation of the blade and the end wall solid bodies (Conjugate Heat Transfer module). Furthermore, the cooling module allows the mesh generation of basin, basin holes, blade holes, end wall holes, cooling channel with or without pin fins and ribs. More details are presented in Cooling & Conjugate Heat Transfer Modules.

File Menu



Open Project

The menu item File/Open Project allows to open an existing AutoGrid5™ project. When clicking on File/Open Project a new window will appear, which allows to confirm. Click yes to confirm and to open the Open Turbo Project Wizard window presented in Open Existing Template/Project.
New Project
The menu item File/New Project allows to create a new AutoGrid5™ project. When clicking on File/New Project a new window will appear, which allows to confirm. Click yes to confirm and to open the project initialization window presented in Create New Template/Project section. 
Save Project / Save Project As
The File/Save Project or File/Save Project As menu item stores the project file (template and mesh) on disk. When clicking on File/Save Project As a new window will appear, which allows to:

Save the project (template and grid) under a new name when clicking on the icon Select a new Project File Name. 
Save the project (template and grid) under an existing name selected in the list when clicking on the icon Overwrite the Selected Project.
Add information to the project in the Enter Project Info area. 



White spaces should be avoided in the file name.
Save Template / Save Template As
The File/Save Template or File/Save Template As menu item stores the template files (template ".trb" and geometry ".geomTurbo") on disk. When clicking on File/Save Template As a new window will appear, which allows to:

Save the template under a new name when clicking on the icon Select a new Template File Name. 
Save the template under an existing name selected in the list when clicking on the icon Overwrite the Selected Template.
Add information to the project in the Enter Template Info area. 



White spaces should be avoided in the file name.
Quit
	File/Quit is used to end the interactive session. A dialog box is inserted to confirm the end of the session. Please notice that the current work is NOT automatically saved when exiting AutoGrid5™.

Viewing Buttons
The viewing buttons allow the user to perform viewing manipulations on the geometry data. They are all inherited from the IGG™ technology.



From left to right, the viewing buttons are the following: 

X, Y, and X projection buttons.
Coordinate axis
Scrolling
3D viewing button
Rotate around X, Y or Z axis
Zoom in/out
Region zoom
Fit button
Original button
Cutting plane

For further details, please refer to Viewing Buttons.

Control Area
The menu is described in detail in section Control Area.

Non-Axisymmetric Shroud Gap

In AutoGrid5™, meshing a multiblade (one or more splitters) configuration with different tip gap heights is possible at the condition that tip gap meridional profiles do not intersect and that there is enough space between each of them to be able to insert mesh layers (flow paths).
In order to overcome this limitation, a technique similar to hub and shroud non-axisymmetric treatment (more details here) is available for non-axisymmetric tip gap. 


FIGURE 15 Non-axisymmetric shroud gap
When the real tip gap is defined by non-axisymmetric surfaces, the mesh is obtained in two steps:

generate a mesh with an axisymmetric tip gap,
axisymmetric mesh adaptation to the specified non-axisymmetric tip gap.

The axisymmetric gap curve should be lower than the non-axisymmetric surfaces in order that the gap mesh intersects these surfaces. Otherwise gap spanwise grid lines should be extended to intersect these surfaces and it will lead to a non matching connection with the channel mesh.
In addition to the axisymmetric curve defining the shroud gap, 3D surfaces defining the non-axisymmetric shroud gap must be defined. These can be directly specified in the ".geomTurbo" file or imported through the Import CAD window of AutoGrid5™.

To obtain a correct behavior, the non-axisymmetric surface(s) defining the shroud gap:

                 should cover all the domain (blades + channel parts),
                 should cross all the blades including the non-axisymmetric shroud gap.


From ".geomTurbo" File
The non-axisymmetric surfaces are stored in external IGG™ data file and specified into the ".geomTurbo" file using the following format:
NI_BEGIN NINonAxiSurfaces tip_gap
  NAME			   non axisymmetric tip gap
  REPETITION  			3
  EXTERNAL
  nonaxitipgap.dat
NI_END   NINonAxiSurfaces tip_gap
Any type of surface created and stored by IGG™ can be used to defined the non-axisymmetric shroud gap.
From Import CAD
The non-axisymmetric surfaces can be imported from external CAD files. The contextual menu of the import window allows the user to link imported surfaces to the shroud gap definition.


FIGURE 16 Import CAD contextual menu for non-axisymmetric shroud gap
Mesh Generation Control
The non-axisymmetric shroud gap generation is controlled into the Row Properties dialog box.


FIGURE 17 Row properties dialog box
The option Non-Axisymmetric Shroud Gap is used to enable or disabled the mesh adaptation on the specified non axisymmetric surfaces. 
The option Repair Non-projected Points allows to correct non-well projected points (i.e. when the mesh points on boundaries are close to hub or shroud surface limits).
The option Display Non-Axisymmetric Shroud Gap is used to display the surfaces in the 3D view.
To obtain a correct behavior, the surfaces must cover all the domain (blades + channel parts) of the axisymmetric mesh. If the specified surfaces do not cover the entire domain, the Geometry Repetition option allows the user to repeat the surfaces by rotation until the new surfaces cover the domain.
At the end of the 3D blade row generation, the mesh adaptation is performed automatically. The axisymmetric mesh is adapted by hub to shroud grid points redistribution along the curve obtain by intersecting the surfaces with the hub to shroud grid lines.

Meshing Fundamentals


AutoGrid5™ has been developed to ensure a quick management of the grid generation process of turbomachinery configurations. The software is able to take into account the most used components of a turbomachinery. These components are divided into five types:

the blade rows
the meridional technological effects (seal leakage, bleed,...)
the 3d technological effects (volute, cooling holes,...)
the solid mesh
the cooling holes, cooling channel and basin

The software provides a highly interactive user interface (Graphical User Interface) and a mesh wizard (Row Wizard) allowing an easy setup of the mesh generation process for complex geometries. Based on a template approach, it ensures reusability of the interactive work on similar geometries through the full batch mode capability.
The application field of AutoGrid5™ covers all the turbomachinery types:

axial and centrifugal machine
multistage machine
turbine, compressor
multisplitters
tandem rows
return channel
inducer 
airplane engine compressor stages with fan and by-pass

Import ".geomTurbo" File

Within AutoGrid5™, the ".geomTurbo" file format  can be imported in different ways:

when creating a new project (File/New Project ()), a Create a new Project window appears that allows to initialize a new project from an existing ".geomTurbo" file. Then a File Chooser window is available for browsing through the file system and to select a file. When clicking on OK (Open) the geometry is loaded in AutoGrid5™.




in the Quick Access Pad Geometry Definition subpad, the Import Geometry File menu (in Expert Mode) and the Init From a GeomTurbo File menu (in Basic Mode) allows to select and load geometry file (IGES, IGG™ geometry, Parasolid™ coupled with ".dat", ".geomturbo", CATIA V5 files) to define or replace the geometry of the entities found in the file.




in the Quick Access Pad Rows Definition subpad, the popup menu on rows allows to load a ".geomTurbo" file to define or replace the geometry of the selected entities found in the file. After row(s) selection, right-click displays this menu. Define Geometry item replaces only the geometry of the row (blades, shroud/hub gap, cooling wall,...) selected. To import a new hub or shroud, the Import CAD window must be used.




AutoGrid4™ ".geomTurbo" file can be loaded within AutoGrid5™. When AutoGrid4™ geometry file loaded, a warning will appear before loading and the geometry is always replaced whatever the row or blade name.



In AutoGrid5™ "geomTurbo" (native format without import CAD) when using an existing template for different geometry, it is not sufficient to rename the template as the ".geomTurbo" file (as in AutoGrid4™). It is mandatory to use a ".geomTurbo" file presenting the same row and blade names as the ones used in the template. When using a new ".geomTurbo" for a row containing several blades, only the geometrical entities with the same naming as the ones used in the template file will be replaced.
In AutoGrid5™ "geomTurbo" (with import CAD), all surfaces and curves whatever row or blade name in the file will replace the corresponding entity name in original row or blade. Note that if original row or blade name cannot be found in ".geomTurbo", warning will be issued even if some geometry is replaced.
The ".geomTurbo" File Format
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row(s) definitions. Following is a example of a ".geomTurbo" file format structure for a turbomachinery with three blade rows respectively named impeller, diffuser and return channel.


The UNITS-FACTOR parameter allows to select the "units" of the imported geometry in order to apply an internal scaling and tolerance adaptation transparent for the user that will ensure correct treatment during the grid generation when computing for example the intersection. If the global geometry size is below 100 it is recommended to keep the default settings (UNITS-FACTOR set to 1), otherwise the value should be adapted to the geometry units.
The SCALE-GEOMETRY-FACTOR is an optional parameter. It allows to scale the imported geometry when defined in native .geomTurbo file.
The bypass parameter must be set to yes in case of a project configuration with bypass (airplane engine,...)
The cascade parameter must be set to yes in case of a cascade configuration.
Channel Format
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud, seal leakage, bleed,...). It is defined by two types of curves:

The basic curves defined by a set of points. 
The channel curves defined as a composite of basic curves.



The number of basic curves is unlimited. 
The ".geomTurbo" file must contain two channel curves named respectively hub and shroud.
Basic Curves
The basic curve format is used to defined a curve and project it in the meridional space (z,r). The curve is defined by a name, an interpolation method (c-spline or polyline), the coordinate type, the number of control points and the points coordinates:


The coordinate types are identified by the following keyword: ZR, XYZ, RTHZ, ZRTH, THRZ, RZTH,... where X,Y and Z are the 3 Cartesian coordinates and R,TH and Z are the 3 cylindrical coordinates.
A basic curve name cannot contain the keyword "rotating" if its properties are set to non rotating, because corresponding patch name will finally contain the keyword "rotating".

By default a c-spline interpolation between the control points is applied. The keyword polyline can be added beside the coordinate type (ZR) to switch off the c-spline interpolation. In this case, the basic curve is defined by straight lines joining the control points.



The DISCRETISATION number is the number of points defined between each control points of the c-spline. 
The DATA_REDUCTION when set to 1 allows to perform a data reduction of the basic curve based on DATA_REDUCTION_ANGLE and DATA_REDUCTION_DISTANCE. 
Channel Curves
The channel curves are used to define the hub, the shroud and possibly the nozzle in case of bypass configuration. A channel curve is a composite of defined basic curves. It is defined by a name and vertices. Each vertex belong to a basic curves and is defined by its parametric location (normalized arc length).


The name of the channel curve is part of the format definition and should stay "hub", "shroud" or "nozzle" by using lower case letters.
The nozzle curve is defined starting from the lower radius side from the outlet to the "inlet" (reverse hub direction) and then on the upper radius side from the "inlet" to the outlet (shroud direction).


FIGURE 1 Nozzle curve orientation
Row(s) Definition Format
The row format contains the geometry definition of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s):


A row name should not end with the name of another row. For example "row 1" and "row 11" are allowed but not "row1" and "uprow1".
Row Type
The row type is used to specify the row location in case of bypass configuration. Four types, identified by the keyword normal, on nozzle, in bypass and down bypass, are respectively used to locate the row before the nozzle (inlet fan), on the nozzle (arm), in the bypass and in the compressor. 
Row Periodicity
The periodicity defines the number of main blades in the row.
Row Rotation Speed
The row rotation speed will always be read from ".trb" file, but it will be saved in both ".trb" and ".geomTurbo" files to avoid loosing this data in ".geomTurbo" file. However when initializing a project from a ".geomTurbo" file, the rotation speed can be read from ".geomTurbo" if keyword "ROTATION_SPEED" available. 
Blade Definition
The blade(s) and possibly the splitter(s) are defined by a name and two surfaces defining the pressure and the suction side. The surfaces are identified by the keywords pressure and suction:


The gap and/or fillet can be defined and are saved in both ".geomTurbo" and ".trb" files. The info provided in the ".geomTurbo" will have the priority if different from the info in ".trb" file.
The pressure side and the suction side are defined by a set of cross sections of the blade at several spanwise location. Each section is defined by a set of points:


The coordinate types of each sections are identified by the following keyword: ZR, XYZ, RTHZ, ZRTH, THRZ, RZTH,... where X,Y and Z are the 3 Cartesian coordinates and R,TH and Z are the 3 cylindrical coordinates.
In AutoGrid5™ the rows and blades can be named by the user. These names are appearing in the ".geomTurbo" file and are used in the ".trb" file. In case the user wants to use a template for different ".geomTurbo" files, the row and blade names should be the same.
When the surfaces defining the blade are physically ruled and that the blade is defined through a set of sections within the ".geomTurbo" file, user must take care to select the same number of points to define each section. In addition, when using the keyword uniform_parametrization, the ith point of the first section will be connected to ith point of the second section.
Example:
 
Section_1

XYZ uniform_parametrization 
36 
0.5 0.3 0.1
...
Section_2

XYZ uniform_parametrization 
36 
0.55 0.35 0.11
...
When having a blunt leading and trailing edges, "BLENT_AT_LEADING_EDGE" and "BLENT_AT_TRAILING_EDGE" keywords are saved in the ".geomTurbo" file if the blend treatments are activated in the GUI.


Control Lines Format (Optional)
The definition of the control lines as inlet, outlet, rotor-stator or additional control lines can be defined as polylines by the user by adding a section in the ".geomTurbo" file after the channel definition and before the row(s) definition.

Introduction

What is AutoGrid5™
AutoGrid5™ is an automatic meshing system for turbomachinery configurations developed to ease pre-processing for numerical computations on such configurations. Pre-processing consists of defining the geometrical description of the to-be-studied model and the discretization (mesh generation) of the to-be-studied domain. The number of computational nodes needed increases rapidly with the detail in the model. For 3D geometries, this easily reaches from 100,000 to 1,000,000 nodes and even higher. This vast number of nodes, along with the description of the complex geometries, necessitates the use of a powerful mesh generator that allows providing a computational mesh with sufficient quality in an automatic way. AutoGrid5™ enables to deal with complex geometries resulting in a structured mesh of high quality.
Features
The advanced tools of AutoGrid5™ enable to create mesh for a large range of gas turbines, fans and compressors:

turbofan, turboprop, turboshaft,
turbojet and after burning turbojet,
axial or centrifugal, 
single or multistage,
including or not bulbs on the hub,
with one or multiple splitter blades (centrifugal), 
with hub or shroud clearances, 
with bypass,
with seal leakages,
with meridional or 3D technological effects.

Structured vs. Unstructured
Depending on the geometry complexity, the user should define the requested mesh type: structured or unstructured. Structured meshes are to be preferred for reasons of accuracy in cases of aligned flow even if their generation can sometimes be difficult and cumbersome. Unstructured meshes can be easily generated independently of the geometrical complexity and owing to their nature generally tend to generate less points than in the structured case. For turbomachinery design, because of a request of high accuracy, it is recommended to use AutoGrid5™ which enables to provide adapted structured meshes. 
Users requiring an unstructured mesh may consider the use of the NUMECA automatic hexahedral mesh generation software HEXPRESS™ or automatic hybrid mesh generation software HEXPRESS™/Hybrid.
Approach
To obtain fully automatic or semi-automatic grids with an optimal quality control, AutoGrid5™ takes advantage of the characteristics of turbomachinery configurations by creating blade to blade grids onto surfaces of revolution. The generation based on a conformal mapping between the 3D Cartesian space (XYZ coordinates) and the cylindrical surfaces of the 2D blade to blade space (dm/r-θ plane) follows 4 main steps:

Definition of the geometry:

The blade surface description.
The curves for the definition of the hub and shroud surfaces of revolution.
The additional data needed to handle special features such as splitters, meridional or 3D technological effects.

Generation of meridional flow paths. These flow paths define the meridional trace of the surfaces of revolution on which the 3D mesh will be built.
Generation and control of 2D meshes on spanwise surfaces. This 2D generation enables the user to control the mesh topology, the grid clustering and the mesh orthogonality along the solid walls.
Generation of the final 3D mesh. This generation combines the meridional flow paths and the 2D blade to blade meshes to create the mesh on surfaces of revolution. The use of the conformal mapping between the 3D Cartesian space and the 2D blade to blade space ensures conservation of quality in terms of orthogonality and clustering for each axisymmetric surface mesh. 

The settings used to create a mesh are controlled interactively through dialog boxes. At the end of the grid generation process, all the parameters can be saved in a template file (".trb"). Meshes for similar geometries can be created automatically using this file.
Project Management
To manage complete mesh generation, AutoGrid5™ integrates the concept of project. An AutoGrid5™ project involves template files and mesh files: 
Mesh files
The mesh files contains the multiblock mesh topology, geometry, grid points, patch grouping and the boundary condition types:

new_prefix.bcs: boundary conditions files
new_prefix.cgns: grid points files (CGNS format described in IGG™ User Manual - Input & Output Files)
new_prefix.geom and new_prefix.xmt_txt: geometry files
new_prefix.igg: topology file
new_prefix.qualityReport: mesh quality report file
new_prefix.config: mesh configuration file used for the grouping in FINE™ GUI and for the subProject (more details in FINE™ User Manual)

These files can be loaded into the structured multiblock grid generation system IGG™ and by the CFD integrated environment FINE™/Turbo.
The mesh quality file is saved at the end of the grid generation. If the new project has not yet been saved before launching the 3D generation, no grid quality report file will be saved because the system is not able to determine automatically the file location.
Template files
The files when saving the template contain the parameters and the geometry needed to reproduced the mesh with AutoGrid5™:

new_prefix.geomTurbo and new_prefix.geomTurbo.xmt_txt: the geometry files (geomTurbo format)
new_prefix.trb: the template file containing the grid generation parameters.
new_prefix.info: the information file
new_prefix_b2b.png: a picture of the blade to blade view only available on LINUX
new_prefix_merid.png: a picture of the meridional view only available on LINUX



FIGURE 1 Example of file management for an AutoGrid5™ project

Blade Expansion
The Blade Expansion dialog box is accessed by right-clicking on the selected blade in the main graphics area and by selecting Geometry/Expand from the list of commands. An alternate method consists in right-clicking over the Main Blade (splitter) in the Rows Definition subpad of the Quick Access Pad, then in selecting Geometry/Expand from the list of commands.


FIGURE 10 Blade Expansion dialog box
Force Blunt at Leading Edge
Force blunt at leading edge is used to specify whether or not the blade geometry has to be considered as blunt in the region of the leading edge.
Force Blunt at Trailing Edge
Force blunt at trailing edge is used to specify whether or not the blade geometry has to be considered as blunt in the region of the trailing edge.
Stitch surfaces at LE & TE
Stitch surfaces at LE & TE is used when a blade geometry is defined by a native ".geomTurbo" file to fit leading and trailing edge of pressure and suction sides along the spanwise direction when the leading and/or trailing edge are very curved (i.e. inducer, twisted blade,...) and the blade is defined by few sections in ".geomTurbo". In such cases, a discontinuous shape in the blade-to-blade view may result when reconstructing the section. This option is by default set to None and to Lofting with guide if a fillet has its geometry creation from meridional curve.
Two approaches Inverse lofting and Lofting with guide are proposed to fit leading and trailing edge. The Inverse lofting approach is fixing a common leading and trailing edge curves for pressure and suction sides and then a lofting is performed in streamwise direction. While the Lofting with guide approach is after fixing a common leading and trailing edge curves for pressure and suction sides performing a lofting in spanwise direction. This last approach is respecting more the original blade definition especially when blade defined by few sections in native ".geomTurbo" and is active when the keyword "blade_tangential_definition" is set to 1 in the blade definition in the ".geomTurbo".
Apply a Rotation
Apply a rotation is used to rotate the blade around a user-defined axis, but is only available for native ".geomTurbo" blades. The axis and anchor point fields expect three floating point coordinates while the angle value is given in degrees.


This item is not available if the blade has been linked by mean of the CAD import tool.
Sewing Tolerance
Sewing tolerance is used to define a tolerance value during CAD import, in order to sew the surfaces that define the blade. The default tolerance value is set as 1e-006. Too small values may leave many unwanted holes/gaps, while too large values can result in the unwanted deletion of some faces, and can also lead to unwanted gaps.
Expansion at Hub/ shroud
An optional expansion can be applied when the blade geometry has to be extended towards the hub and/ or shroud surface of revolution. Four options are available.
Unchanged
This choice is the default and leaves the original blade surfaces unchanged or restores the original surfaces when another option was previously activated.
Expand
An expansion can be specified by the user when the blade geometry has to be extended towards the hub and/ or shroud surface of revolution so that the blade intersects the hub/ shroud definition.

In case of native "geomTurbo" format, the input value is treated as an expansion factor.
In case of geometry definition through CAD import, two input boxes appear: Cut offset and Extension offset. These inputs allow respectively to define the absolute hub/ shroud offset to cut the blade and the absolute blade extension over the hub/ shroud.



FIGURE 11 Definition of blade offset from hub with schematic sketch
Treat blend 
When the blade geometry and the hub/ shroud surface of revolution connect tangentially by mean of a blend, a special treatment needs to be applied in order to ensure proper intersection computation between the blade and the hub/ shroud.
The method used to handle such cases can be summarized as follows:

Creation of a virtual hub/ shroud by offsetting the hub/ shroud surface of revolution according to user specified parameter(s).
Intersection of the blade and the virtual hub/ shroud.
Extension of the blade geometry towards the hub/ shroud surface of revolution starting from these intersection curves. The extension is performed tangentially to the blade geometry and ensures that the new blade geometry and the hub/ shroud do intersect.
The blade geometry is replaced by this new definition and any dependent configuration entity is updated, e.g. the leading and trailing edges are modified to remain consistent with the new blade geometry definition.

With this input method, the cutting offset is built from the curvature radius of the blend and the minimum angle at which the blade should intersect the hub/ shroud.
Treat blend with offset
This treatment consists in the same steps as treat blend, but the cutting offset is input directly as a distance.
Cut fillet
This treatment is automatically used and only used when defining a fillet on blade without geometry creation (only for fillet butterfly topology (Blade Fillet) when the fillet definition is included in the blade definition) to cut the blade at the fillet layer (specified radius in Fillet Properties dialog box), remove the fillet part (keeping it for fillet meshing) and expand the resulting straight blade towards the channel.
Section extension
This treatment is automatically used and only used when defining a blade with rounded tip topology using the marine propeller row wizard. This blade extension method is based on a section translation:

the blade is intersected at the gap layer.
the blade is intersected at a second layer above the gap layer defined by the parameter Span Cut Percentage (from gap). This parameter  defines the relative distance from 0 to 1 between the gap layer and the leading/trailing edge end point where the blade will be intersected the second time.
this second intersection is translated above the shroud.
the original blade is split at the first intersection and the upper part is removed.
lofted surfaces are created between the first and the translated second intersection.
lofted surfaces are added to the split blade definition to obtain the final geometry.



FIGURE 12 Section extension method
The section extension method is not valid for native geomTurbo format and is only applicable for geometries linked by mean of the CAD import tool.

Project Persistence
The project persistence is performed using the menu items of the File menu. The name and the location of the project files are entered through the dialog box Save Project available through the top menu item File/Save Project.


FIGURE 12 Save Project dialog box
Create New Project
The button Select a new Project File Name opens a file chooser used to specify the location and the prefix use to save the new project files. The new prefix is automatically added in the project library.
Overwrite Existing Project
The button Overwrite the Selected Project overwrites all the project files of the project selected in the project library. 
Project Library
The project library is the list of all projects saved previously. It is ordered using alphabetical order and a quick search can be performed using the Search interaction area.
Project Info
The interaction area Enter Project Info is used to specify or modify text information about the saved project. When scanning the library, the interaction area is automatically updated with the text of the selected project.
Project Files

Two types of files are saved by AutoGrid5™: the mesh and the template files. 
Mesh files
The mesh files contain the multiblock mesh topology, geometry, grid points, patch grouping and the boundary condition types:

new_prefix.bcs: boundary conditions files,
new_prefix.cgns: grid points files (CGNS format described in IGG™ User Manual - Input & Output Files),
new_prefix.geom and new_prefix.xmt_txt: geometry files,
new_prefix.igg: topology file,
new_prefix.qualityReport: mesh quality report file,
new_prefix.config: mesh configuration file used for the grouping in FINE™ GUI and for the subProject (more details in FINE™ User Manual).

These files can be loaded into the structured multiblock grid generation system IGG™ and by the CFD integrated environment FINE™/Turbo.
The mesh quality file is saved at the end of the grid generation. If the new project has not yet been saved before launching the 3D generation, no grid quality report file will be saved because the system is not able to determine automatically the file location.
Template files
The template files contain the parameters and the geometry needed to reproduced the mesh with AutoGrid5™:

new_prefix.geomTurbo and new_prefix.geomTurbo.xmt_txt: the geometry files (geomTurbo format),
new_prefix.info: the information file,
new_prefix.trb: the template file containing the grid generation parameters,
new_prefix_b2b.png: a picture of the blade to blade view only available on LINUX,
new_prefix_merid.png: a picture of the meridional view only available on LINUX.

In some cases, the Parasolid™ file (".xmt_txt") is also needed in AutoGrid5™ to replay the template (using ".geomTurbo.xmt_txt") or to load the project (using ".xmt_txt"):
        If the Import CAD window is used with Parasolid™ or CATIA V5 entities. For IGES and IGG™ native files the Parasolid™ file is not needed as these are stored in the ".geomTurbo" file.If AutoGrid5™ creates additional surfaces/curves in the available options, these are stored in Parasolid™ file as well. For example, if the Import CAD window is used to define the geometry, the expansion is treated in Parasolid™ and the resulting surfaces are Parasolid™ entities, even if the initial geometry was IGES or native IGG™.
Open Project File
Open an existing project is performed using the menu item Open Project of the top menu File. The geometry, the parameters and the existing mesh are loaded during this process. The project is opened by selecting its template file (".trb" extension). The template file of the project can be selected through a file chooser or through the project library of the Open Turbo Project Wizard.
The Open Project Turbo Wizard is divided into three areas presented on FIGURE 13.
Select Project File
This button opens a file chooser used to select a template file (".trb" extension).
Project File Library
All the previously generated projects can be selected in the list and opened using the button Open. The last opened project becomes the active project of the list.
Project Information Area
The button Info>> opens the information area containing two pictures of the selected project, the userdefined and global information of the project. This information are automatically updated when scanning the projects of the list. 


FIGURE 13 Open turbo project wizard

Quick Access Pad
The Quick Access Pad is located on the left of the Import CAD window. It contains one subpad Geometry including the Geometry Groups page allowing the creation, the deletion and the visualization of geometry groups, which can contain curves and/or surfaces.
When importing CATIA V5 data, a geometry group is automatically created for each solid model contained within the file. The name of the group is the name of the corresponding solid model.
For further details, please refer to section View Subpad.

Graphics Area Interaction
Overview
The Import CAD window allows the user to define the geometry for a configuration by importing external geometry files. The curves and surfaces in the geometry repository can be interactively selected by the user. Once selected, geometry entities can be linked to a configuration entity such as the hub, the shroud, the blade,...
The Check Surfaces option allows to automatic check the geometry when linking the blade surfaces, blade leading/trailing edges. The status of the checks is displayed into a Blade Geometry Check dialog box.



When the blade is defined by multiple surfaces, a single body will be created using a tolerance to fill the potential holes between the surfaces defining the blade. When clicking on the Check button, AutoGrid5™ checks if the body can be created within the specified tolerance. If not, the tolerance is automatically adapted and the user can manually increase the tolerance in case of failure.


"Link to..." Description
In the graphics area of the Import CAD window, the capabilities of linking geometry curves and surfaces to configuration entities, whether in meridional representation or in 3D-space, are accessed by pressing the right mouse button after selecting the curves and surfaces (highlighted in yellow) in the graphics area.
All operations on a body (edge reversing, transformation,...) in import CAD should be done before the first link involving some entities of this body.
The operation is linking a geometry to a specific entity of the configuration that should be selected in the configuration before performing the link otherwise the user may be requested to specify the entity. For example when linking curve to leading edge of the blade, the concerned blade should be selected in the configuration.


Link to Hub
Link to Hub is used to link a curve selection to the hub of the configuration. The meridional representation of the hub is updated to display the new hub geometry.
When importing a single curve, the orientation of the curve will be taken into account.
When importing several curves, the Z minimum from all the end points of the imported curves will be set as the starting point of the meridional curve whatever the orientation of the curves is. This may lead to a reversed hub/shroud curve that needs to be manually reversed. Merging the curves in a single curve in the Import CAD window allows to control the curve orientation before importing it.
Link to Shroud
Link to Shroud is used to link a curve selection to the shroud of the configuration. The meridional representation of the shroud is updated to display the new shroud geometry.
When importing a single curve, the orientation of the curve will be taken into account.
When importing several curves, the Z minimum from all the end points of the imported curves will be set as the starting point of the meridional curve whatever the orientation of the curves is. This may lead to a reversed hub/shroud curve that needs to be manually reversed. Merging the curves in a single curve in the Import CAD window allows to control the curve orientation before importing it.
Link Non Axi to Hub
Link Non Axi to Hub is used to link a surface selection to the active row of the configuration in case of a non-axisymmetric hub. 
Link Non Axi to Shroud
Link Non Axi to Shroud is used to link a surface selection to the active row of the configuration in case of a non-axisymmetric shroud. 
Link Non Axi to Shroud Gap
Link Non Axi to Shroud Gap is used to link a surface selection to the tip gap of the configuration in case of a non-axisymmetric shroud gap. 
Link to Nozzle
Link to Nozzle is used to link a curve selection to the nozzle of the configuration. The meridional representation of the nozzle is updated to display the new nozzle geometry. This item only appears in case of bypass configuration
Import Meridional
Import Meridional is used to import the geometry selection in the meridional representation.
Geometry selection may contain surfaces but those will not be taken into account by the import process. Only the curves in the geometry selection will effectively be imported and displayed in the meridional representation.
Link to 3D Effect
Import 3D is used to import the geometry selection and link it to the selected 3D effects. 
Link to Blade
Link to Blade is used to link a surface selection to the active blade. That surfaces set will thus compose the blade surface geometry. The meridional representation of the blade is updated in order to display the new blade representation.
Link to Pressure/Suction Side
Link to Pressure Side/Link to Suction Side is used to link a selection of surfaces respectively to the pressure/suction side of the active blade. The blade is assumed blunt at both edges and is not compatible with Link to Blade. In particular, this link overrides the link to the blade geometry.
Link to Leading Edge
Link to Leading Edge is used to link a curve selection to the leading edge of the active blade. The meridional representation is updated in order to display the new leading edge geometry.
For a blunt leading edge, only one leading edge curve of the two blade sides should be selected.
Link to Trailing Edge
Link to Trailing Edge is used to link a curve selection to the trailing edge of the active blade. The meridional representation is updated in order to display the new trailing edge geometry.
For a blunt trailing edge, only one trailing edge curve of the two blade sides should be selected.
Link to Hub Gap
Link to Hub Gap is used to link a curve selection to the hub gap geometry for the active blade. The curve orientation must be from leading to trailing edge. The meridional representation is updated in order to display the hub gap geometry. 
Link to Shroud Gap
Link to Shroud Gap is used to link a curve selection to the shroud gap geometry for the active blade. The curve orientation must be from leading to trailing edge. The meridional representation is updated in order to display the shroud gap geometry.
Link to Hub Fillet
Link to Hub Fillet is used to link a surface selection to the active blade including a fillet at hub. That surfaces set will thus compose the blade fillet surface geometry. Before linking fillet geometry, a fillet should be added on the blade with Gap/Fillet / Define Hub Fillet menu in the Row Definition subpad (Quick Access Pad).
In this configuration in the Fillet Properties dialog box (Blade Fillet), the fillet is automatically set with a Butterfly topology, and is specified as Defined Shape and the corresponding meridional curve (where the skin block will be split) is automatically computed at linking.
Link to Shroud Fillet
Link to Shroud Fillet is used to link a surface selection to the active blade including a fillet at shroud. That surfaces set will thus compose the blade fillet surface geometry. Before linking fillet geometry, a fillet should be added on the blade with Gap/Fillet / Define Shroud Fillet menu in the Row Definition subpad (Quick Access Pad).
In this configuration in the Fillet Properties dialog box (Blade Fillet), the fillet is automatically set with a Butterfly topology, and is specified as Defined Shape and the corresponding meridional curve (where the skin block will be split) is automatically computed at linking.
Link to Inlet
Link to Inlet is used to link a curve selection to the inlet geometry of the active row.
Link to Outlet
Link to Outlet is used to link a curve selection to the outlet geometry of the active row.
Link to Outlet Up
Link to Outlet Up is used to link a curve selection to the second outlet (upper outlet) geometry of the active row. Therefore the active row should be the row just before or on the nozzle. This item only appears in case of bypass configuration.
All link operations replace the previous link, if any. If the entity is composed of multiple curves or surfaces, a multiple selection is therefore required (using <Shift> - left-click) before the link operation is applied. For instance, the two sides surfaces of a blade must be selected before invoking the link command.
Link to Snubber
Link to Snubber... is used to link a geometry selection to the active snubber. Before linking the snubber geometry, a snubber should be added on the row with Add Snubber menu in the Row Definition subpad (Quick Access Pad). 
Only one snubber can be defined per row.


The snubber can be defined by a 2D or a 3D geometry:

If the geometry is of revolution, it is possible to link only 2 meridional curves, an upper and lower one. The system will automatically create the corresponding 3D axisymmetric geometry. Link to Snubber... > Meridional Curve Up/Down is used to link a curve selection respectively to the upper/lower curve of the active snubber. 

Curves used to define meridional curve up and down parts should be defined from inlet to outlet and not as B-splines.

If the geometry is 3D, three snubber parts should be defined: the snubber surfaces, the snubber leading and trailing edge. If the snubber geometry is created in a blade passage, there is then only one link per part and it should be linked on the blade pressure side: Link to Snubber... > Surfaces on Blade Pressure Side/Leading Edge on Blade Pressure Side/Trailing Edge on Blade Pressure Side.If the snubber geometry is created on each side of the blade, there will be two links per part, one link for the blade pressure side (Link to Snubber... > Surfaces on Blade Pressure Side/Leading Edge on Blade Pressure Side/Trailing Edge on Blade Pressure Side) and one for the blade suction side (Link to Snubber... > Surfaces on Blade Suction Side/Leading Edge on Blade Suction Side/Trailing Edge on Blade Suction Side).

When the snubber geometry is created on each side of the blade, the distinction between pressure and suction sides is not important, both sides can be inverted, only the separation is important.
The possible closing surfaces at the snubber periodic side should not be part of the geometry definition.
The snubber surfaces should clearly and completely intersect blade geometry even if it may work if lying completely on blade surface.
When the snubber is defined by a 3D geometry, a fillet can be added on the snubber on both blade sides. Link to Snubber.... > Fillet on Blade Pressure/Suction Side is used to link a surface selection to the active snubber including a fillet on respectively the blade pressure and suction side. That surfaces set will thus compose the snubber fillet surface geometry. 
When the fillet geometry is added on each side of the blade, the side should be coherent with the snubber geometry definition.

Project Selection

Together with the AutoGrid5™ interface, a Open Turbo Project Wizard window is opened, which allows to open an existing template with or without the corresponding mesh. See Open Existing Template/Project for description of this window. After use of this window it is closed. To create or open a template or a project is also possible using the File menu. 
Create New Template/Project
To create a new template or project when launching the AutoGrid5™ interface: 

close the Open Turbo Project Wizard window.
select File/New Project or click on the New Project icon (). A new window will appear, which allows to confirm. Click yes to confirm. 
A project initialization window appears to assign a geometry to the new project. There are two or four possibilities in respectively Basic Mode or Expert Mode:to start a new project presenting no bypass and no cascade configuration from scratch.to start a new project presenting a bypass (if license key) from scratch only in Expert Mode.to start a new project presenting a cascade configuration from scratch only in Expert Mode.to initialize a new project from an existing ".geomTurbo" file. Then a File Chooser window is available for browsing through the file system and to select a file. When clicking on OK (Open) the geometry is loaded in AutoGrid5™.

Open Existing Template/Project
If the Open Turbo Project Wizard window is closed, select File/Open Project. A new window will appear, which allows to confirm. Click yes to confirm.


To open an existing project the following possibilities are available in the Open Turbo Project Wizard window:

Click on the icon Select a Project File. A File Chooser will appear that allows to browse to the location of the existing template. Automatically the filter in the File Chooser is set to display only the files with extension ".trb", the default extension for a template file. If the option Load Mesh is active, the corresponding mesh will also be loaded.
Select a Project in the List by left clicking on it, this list contains all projects available in the local AutoGrid5™ library. To view all information on the selected template, click on Info>>. To remove the selected template from the list, click on Hide. To open the selected template click on Open Template or double-click on the selected template. To open the selected project (the template with the corresponding mesh) click on Open Project.

Blade Geometry Check
Check Geometry
Once the properties of the blade geometry are defined, the user can check the correctness of the definitions of the blade geometry using the Blade Geometry Check dialog box. This dialog box is available from the Geometry/Check option in the contextual menu, and appears by right-clicking on the Main Blade or Splitter in the Rows Definition subpad of the Quick Access Pad. When the dialog box is opened, the blade sections and orientations are automatically displayed in the 3D view.



The progress status displays a report about the blade definition status when the Check button is selected. During the geometry check of a blade, AutoGrid5™ performs the following operations:

check blade definition.
check orientation of the blade section curves.
loop detection into the blade section curves.
loop detection between the blade sections.

Blade Definition Check
Using this checking criterion, blade surface definition is checked. 
In addition, when the blade is defined by multiple surfaces using Import CAD window, a single body will be created using a tolerance to fill the potential holes between the surfaces defining the blade. When clicking on the Check button, AutoGrid5™ checks if the body can be created within the specified tolerance. If not, the tolerance is automatically adapted and the user can manually increase the tolerance in case of failure. 
Streamwise Orientation Check
The blade sections must be streamwise oriented. If the hub and shroud are defined, AutoGrid5™ warns the user if the blade section is not correctly oriented.
 This checking is available for ".geomTurbo" native format only.
Loop Detection - Distance Check
The distance check in loop detection process warns the user if the Control Points Distance Criteria is reached. The default value of the distance between 2 consecutive blade sections control points is 1e-006.
 This checking is available for ".geomTurbo" native format only.
Loop Detection - Angle Check
The angle check in loop detection process warns the user if the Control Points Angle Criteria is reached. The default value of the angle between 3 consecutive blade sections control points is 90.0.
 This checking is available for ".geomTurbo" native format only.
Adapt Geometry
Once the blade geometry is checked, the blade definition can be adapted by performing the following actions:

data reduction, so as to remove potential loops,
blade rotation around the Z axis,
re-orientation of the blade sections,
data reduction using the distribution of control points.

Data Reduction
A data reduction of the blade sections curve is performed if the Data Reduction option is selected. The points detected in the loop search process are removed from the blade section definition. 
This process is available for ".geomTurbo" native format only.
Blade Sections Interpolation Loops
A second check is done on intermediate blade section curve to see if the interpolation of the sections does not contain loops. 
If the loops are detected in the intermediate curve section, then the loop locations are displayed in the 3D view. A warning indicates that interpolation is wrong and contains loops. Problem of interpolation often arises due to the way the sections are defined and in particular the control points distributions on the sections. It is strongly advised to define the control points as smooth as possible. If this process does not work, the Blade Geometry Check dialog box can be used to redistribute the control points on each section by activating the option Control Points Redistribution. When the option is checked, the blade sections are automatically recomputed based on a user-defined control point distribution. The parameters controlling the distribution are the following:

	Control Points Number on the Leading Edge.
	Control Points Number on the Middle.
	Control Points Number on the Trailing Edge.
	Number Of Constant Cells on the Middle.
	Control Points Spacing at Leading Edge.
	Control Points Spacing at Trailing Edge.



FIGURE 27 Control points redistribution settings
A geometric progression is used to assume minimum expansion ratio between the control points to minimize the risk of loops after sections interpolation. In 99% of the test cases, after selecting the Check button and discovering interpolation loop for one time, the default values provided by AutoGrid5™ gives appropriated results. 
This option can also be really useful in case of very accurate data entered for each section by the user. This can be a reason of the slowness of the intersection process. To improve, Control Points Redistribution option can be tried.
This process is available for ".geomTurbo" native format only.
Blade Rotation
A blade section rotation is applied around the Z-axis using the angle specified in the Original Blade Data Rotation Angle input data field.
 This option is available for ".geomTurbo" native format only.

Blade to Blade Control

The 3D row meshes generated with AutoGrid5™ are obtained by stacking blade to blade meshes created in the (dm/r,theta) space. Each blade to blade mesh is related to a flow path. The "m" coordinate is equal to the curvilinear coordinate along this flow path. A blade to blade mesh is generated in four steps: 


The button Initialize Topology & Grid Points Distribution (Expert Mode) and the button Preview B2B in the B2B Control dialog box (row wizard) perform automatically these steps. Afterwards, the user is able to modify manually the default settings proposed by AutoGrid5™ in Expert Mode.
Conformal Mapping
The flow paths defined in the meridional space are used to create surfaces of revolution named layers. These surfaces are intersected by the blade(s) definition to obtain 3d sections projected into the (dm/r,theta) space. The projection, named conformal mapping, preserves the angles and ensures reciprocity of the distances. 


FIGURE 5 Blade cross section 
Blade to Blade Mesh Initialization
The blade to blade mesh initialization is divided in 3 steps:

Definition of a default topology around the cross sections projected in the (dm/r,theta) space. 
Initialization of the grid point clustering.
Initialization of the mesh by transfinite interpolation.

Default (O4H) Blade to Blade Topology
The default B2B topology computed by AutoGrid5™is composed by 5 Blocks:


FIGURE 6 Default mesh topology
The inlet, outlet, upper and lower blocks use a H-topology. The skin block around the blade uses a O-topology. 
The Initialize Topology & Grid Points Distribution settings algorithm can change the upper and/or the lower blocks topologies from H to C-topology if one of the following criteria is reached:

The inlet solid angle of the blade becomes higher than 45 degrees and the distance between the inlet and the stagnation points (in the (dm/r,theta) space) becomes smaller than the pitch angle divided by 4.
The outlet solid angle of the blade becomes higher than 45 degrees and the distance between the outlet and the trailing edge (in the (dm/r,theta) space) becomes smaller than the pitch angle divided by 4. 

This mesh topology adaptation is called high staggered blade topology optimization:


FIGURE 7 Mesh topology for high staggered blade
Beside the default (O4H) topology (5 blocks), AutoGrid5™ allows the use of HOH and H&I topology. 
The topology can be modified through the dialog box Define B2B Topology For Active Blade. This dialog box is available through the menu item Mesh Control/Row Mesh Control/B2B Mesh Topology Control in Expert Mode.
Grid Points Clustering
The feature Initialize Topology & Grid Points Distribution or the row wizard compute the most appropriated grid points clustering on each block edge of the default topology (and possibly the HOH or H&I topology) according to either the chosen grid level or the type of the turbomachine and the expected number of points for the row wizard.


The grid point number can be modified through the dialog box Define B2B Topology For Active Blade. This dialog box is available through the menu item Mesh Control/Row Mesh Control/B2B Mesh Topology Control in Expert Mode.
Initial Mesh
The initial mesh is computed using transfinite interpolation techniques inside all the blocks of the default topology except in the skin block inside which a hyperbolic mesh is generated. 


FIGURE 8 Initial mesh for a normal blade
The parameters used to control the initial mesh can be modified through the dialog box Define B2B Topology For Active Blade. This dialog box is available through the menu item Mesh Control/Row Mesh Control/B2B Mesh Topology Control in Expert Mode.
Blade to Blade Mesh Optimization
The optimization system is based on a multiblock elliptic smoother with source terms. All the blocks of the initial mesh (all edges included except the solid wall) are optimized to increase the cells orthogonality and to reduce the cells expansion ratio


FIGURE 9 High staggered mesh optimization
The parameters used to control the optimization can be modified through the dialog box Optimization Properties. This dialog box is available through the menu item Mesh Control/Row Mesh Control/Optimization Control in Expert Mode.
Blade to Blade View Control
The blade to blade view is used to display and control the quality of the blade to blade mesh of the rows. The blade to blade mesh quality can also be controlled using the menu Grid/Grid Quality... or the corresponding icon ()
Display Update
After each modification of the blade to blade topology, the grid points number, the initial mesh or the optimization parameters, the blade to blade view of the active row(s) can be updated using the top menu bar button Generate B2B in Expert Mode or the button Preview B2B in the B2B Control dialog box in the row wizard. 
Active Layer
The blade to blade view of the row is related to an active layer. By default, the active layer is the hub of the machine (and mid-span when starting row wizard). The interaction area Mesh Control/Active B2B Layer is used to change the active layer on which the blade to blade mesh is computed and displayed.


FIGURE 10 Active layer set to 100% (shroud) of the span
In multistage configuration, the user controls row by row the blade to blade display. A particular attention must be focused on the undesirable behavior obtained when different blade to blade row meshes are displayed for different active layers: as the blade to blade view abscissa is the arc length on the active layer, the blade to blade mesh of different rows could overlap if they are displayed on different layers. To avoid this and retrieve a correct display, all the rows must be selected and the top menu bar button Generate B2B in Expert Mode or the button Update B2B View in the Mesh Control/Active B2B Layer area in Basic Mode, applied after selecting the new active layer.

Tools Menu
The Tools menu includes tools to measure distance or angle in the graphics area.
Distance
Tools/Distance is useful to measure the distance between two points or between a point and a line. The following dialog box will appear, showing the distances computed along principal directions between the two points:



The following prompt appears, asking to enter the first point:
Enter first point (toggle selection: a = points, c = curves, s = surfaces, l =distance to line)
Once the first point (or line) is entered, a second prompt appears, asking to enter the second point:
Enter second point (toggle selection: a = points, c = curves, s = surfaces, l =distance to line)
To measure the distance between two points, simply select the points with the mouse or enter the coordinates with the keyboard. For example, to measure the distance between (0,0,0) and (1,1,1), enter the sequence '0 0 0' in the graphics area, followed by <Enter>. Then enter '1 1 1' followed by <Enter>. The distance is indicated in the graphics area and in the information area.
To select an existing point, attraction features are available, allowing attraction to points, curves and surfaces. To activate the attraction to points, press <a> in the graphics area, then move the cursor to the desired point. Similarly, to activate the attraction to curves or surfaces, press respectively <c> or 
, then move the cursor to the desired curve or surface. The attraction works on:

end points of the curves,
visible Cartesian points,
visible curves,
visible surfaces,
block vertices and fixed points.

In this last case, the attraction cannot be deactivated. When there is attraction, the corresponding point is highlighted. Simply press the left mouse button to select it.
To measure the distance between a point and a line, press <l> in the graphics area. Then enter a line origin (with the mouse or the keyboard) and direction (this one must be entered with the keyboard). The attraction features are also available for the line origin.
Enter line origin (toggle selection: a = points, c = curves, s = surfaces)
Enter line direction (keyboard only)
>> 1 1 1
This option can be activated before or after having entered the first point. The distance is measured perpendicularly to the line.
Once a distance is calculated, another distance can be measured by selecting other points.
To quit this tool, press <q> or the right mouse button.
Angle
Tools/Angle is useful to measure the angle between two points projected in a specified plane.
The following prompt appears, asking to enter the origin of the angle (origin of the plane):
Enter origin (o = (0,0,0))
The origin can be specified in the keyboard input area or by left-clicking in graphics area (with attraction on curves, surfaces and edges) or with the shortcut <o> to impose the origin at (0,0,0).
Once the origin is specified, a second prompt appears asking to enter the plane normal:
Enter normal (<1> = view plane normal; <x>,<y> or <z> to select axis)
The plane normal can be specified in the keyboard input area or by left-clicking in graphics area (with attraction on curves, surfaces and edges) or with the shortcuts <x>, <y> or <z> to impose normal respectively along X, Y or Z.
The following prompt appears, asking to enter the first point:
Enter start point
The point can be specified in the keyboard input area or by left-clicking in graphics area (with attraction on curves, surfaces and edges).
Once the first point is entered, a last prompt appears, asking to enter the second point:
Enter end point
The point can be specified in the keyboard input area or by left-clicking in graphics area (with attraction on curves, surfaces and edges).
The resulting angle is displayed in the graphics area and in the information area. The angle is expressed in degrees in the range [0,180] and with a sign according to the normal direction (+ sign if moving first point on second point leads to a crossproduct of same direction as normal).

Control Area
The control area is composed of seven major areas:

Message area
Keyboard input area
Mouse coordinates
Information area
Grid parameters area
Generation Status area
Viewing buttons

Each one is described in the following sections.
Message Area
This area has several display functions:

Display of warning messages notifying the user
Display of request messages asking the user for inputs from Keyboard input area or Graphics area
Display of general information messages (current function options,...)

Keyboard Input Area

To mesh 3D technological effects, AutoGrid5™ gives access to the structured multiblock grid generation module IGG™. Some of the options in IGG™ require numerical inputs from the user. For example, rotating a curve around a given line requires to specify the direction of the line, its origin and the rotation angle.
The keyboard input area is provided to allow such inputs. When an option requires numerical inputs, a message is indicated in the Message area. Without leaving the graphics area, the user can then type the required data. The keystrokes are automatically echoed in the keyboard input area and the user has the possibility to modify the inputs. The input is acknowledged after pressing <Enter>.
Entering scalar values: a scalar value is specified by a floating number followed by <Enter>. Valid values are 5  1.32323    -0.1234    1.4E-5.
Entering vectors: a vector is specified by typing its three components separated by a blank and followed by <Enter>.
The Keyboard input area can also be used to select the active block, face, edge or segment. Simply enter the related indices separated by blanks and press <Enter> to make the corresponding entity active. This obviously causes the update of the Grid parameters area.
Mouse Coordinates
This area displays the mouse cursor coordinates in the Graphics area. If the cursor is out of it, it indicates the last cursor position in it.
Information Area
This area gives general informations (about edges, curves,...). For example, when moving a vertex and attracting it to a curve, the name of that curve is displayed in this area.
Grid Parameters Area


This area shows very useful information about the grid:

Active Block, Face, Edge and Segment indices
Number of grid blocks, active block faces, active face edges, active edge segments
Block:

Number of active block points
Number of grid points
Name of the block
Number of points in each block direction

Face: constant direction and the corresponding index
Edge: constant direction according to the active face and the corresponding index
Segment: number of points on the segment
The maximum multigrid level available in the I, J and K direction

If the name of the active block is "invalid", it means that any block has been created yet or all the blocks have been deleted.
Generation Status Area
During grid generation process, the status of each steps is displayed in this area. 
When left-clicking in this area, playing with keyboard arrows or mouse wheel allow to access all progress content especially to check history of the warnings and find origin of problems.
In addition a pop-up window can also be displayed to control the progress status of all the generation steps. The window is optional and can be deactivated by toggle the button Show this next time.


FIGURE 28 Progress status & Optimization status windows
Viewing Buttons
The Viewing buttons are used to perform viewing manipulations on the active view, such as scrolling, zooming and rotating. The manipulations use the left, middle and right buttons of the mouse in different ways. The sub-sections below describe the function associated with each mouse button for each viewing button.
For systems that only accept a mouse with two buttons, the middle mouse button can be emulated for viewing options by holding the <Ctrl> key with the left mouse button.
During viewing operations, AutoGrid5™ automatically removes from the active view all 'heavy' graphics representations such as solid model or color shading. This is done to keep a reasonable speed during rotation, translation or zoom operations. The complete picture is restored after a viewing operation is finished. A 'full visibility' can be explicitly requested during viewing operations by calling the Autogrid Preferences dialog box and setting the visibility flag to Full in the Graphics page. 
Viewing manipulations can be done while another action is already undertaken (for example, a vertex displacement). That action is temporarily stopped until the viewing operation is finished; then, the action can be performed just like before the viewing. This is useful when operations have to be executed in very distant areas of the model.
X, Y & Z Projection Buttons



These buttons allow to view the graphics objects on X, Y or Z projection plane.

Left : press this mouse button to project the view on an X, Y or Z constant plane. If the same button is pressed more than one time, the horizontal axis sense changes at each press.

Coordinate Axis
The coordinate axis button acts as a toggle to display different types of coordinate axis on the active view using the following mouse buttons:




Left : press to turn on/off the display of symbolic coordinate axis at the lower right corner of the view.
Middle : press to turn on/off the display of scaled coordinate axis for the active view. The axis surrounds all objects in the view and may not be visible when the view is zoomed in.
 Right : press to turn on/off the display of IJK axis at the origin of the active block (in Block Viewing Scope) or of all the blocks (in Grid Viewing Scope). (For more information about the viewing scope, see the View/Grid page of the Quick Access Pad).

Scrolling



This button is used to translate the contents of active view within the plane of graphics window in the direction specified by the user. Following functions can be performed with the mouse buttons:

Left: press and drag the left mouse button to indicate the translation direction. The translation is proportional to the mouse displacement. Release the button when finished. 
The translation magnitude is automatically calculated by measuring the distance between the initial clicked point and the current position of the cursor.


Middle : press and drag the middle mouse button to indicate the translation direction. The translation is continuous in the indicated direction. Release the button when finished. 
The translation speed is automatically calculated by measuring the distance between the initial clicked point and the current position of the cursor.

3D Viewing Button



This button allows to perform viewing operations directly in the graphics area. Allowed operations are 3D rotation, scrolling and zooming.
After having selected the option, move the mouse to the active view, then:

Press and drag the left mouse button to perform a 3D rotation
Press and drag the middle mouse button to perform a translation
Press and drag the middle mouse button, while holding the <Shift> key, to perform a zoom
To select the centre of rotation, hold the <Shift> key and press the left mouse button on a geometry curve, a vertex or a surface (even if this one is visualized with a wireframe model). The centre of rotation is always located in the center of the screen. So, when changing it, the model is moved according to its new value.

This 3D viewing tool is also accessible with the <F1> key.
Rotate Around X, Y or Z axis



The rotation buttons are used to rotate graphical objects on the active view around the X, Y or Z axis. The rotations are always performed around the centre of the active view. Following functions can be performed with the mouse buttons:

Left : press and drag the left mouse button to the left or to the right. A clockwise or counterclockwise rotation will be performed, proportional to the mouse displacement. Release the button when finished.
Middle : press and drag the middle mouse button to the left or to the right. A continuous rotation will be performed, clockwise or counterclockwise. Release the button when finished.

Zoom In/Out



This button is used for zooming operations on the active view. Zooming is always performed around the centre of the view. Following functions can be performed with the mouse buttons:

Left : press and drag the left mouse button to the left or to the right. A zoom in - zoom out will be performed, proportional to the mouse displacement. Release the button when finished.
Middle : press and drag the middle mouse button to the left or to the right. A continuous zoom in - zoom out will be performed. Release the button when finished.

Region Zoom



This button allows to specify a rectangular area of the active view that will be fitted to the view dimensions. After having selected the button,

Move the mouse to the active view
Press and drag the left mouse button to select the rectangular region
Release the button to perform the zoom operation
These operations can be repeated several times to perform more zooming.
Press <q> or the right mouse button to quit the option.

This tool is also accessible with the <F2> key.
Fit Button



The fit button is used to fit the content of the view to the view limits without changing the current orientation of the camera (which can be interpreted as the user's eyes).
Original Button



The original button is used to fit the content of the view and to give a default orientation to the camera.
Cutting Plane



This option displays a movable plane that cuts the geometry and the blocks of the mesh. The plane is symbolically represented by four boundaries and its normal, and is by default semi-transparent. After having selected the button,

Press and drag the left mouse button to rotate the plane
Press and drag the middle mouse button to translate the plane
Press <x>, <y> or <z> to align the plane normal along the X, Y or Z axis
Press <n> to revert the plane normal
Press <t> to toggle the transparency of the plane (to make it semi-transparent or fully transparent). It is highly advised to deactivate the plane transparency when using X11 driver to increase the execution speed.

Main Menu Bar

The menu bar contains a part of available options of AutoGrid5™. Menu items can be activated using click and drag or click and release modes.

Mesh Generation Steps
The mesh generation of a turbomachinery configuration is divided into 6 main steps:


FIGURE 2 Mesh generation steps
Additional steps can be defined to mesh technological effects.

Basic Mode GUI


FIGURE 3 
AutoGrid5™ Graphical User Interface (Basic Mode)
An overview of the complete layout and all items in the AutoGrid5™ Basic Mode interface are described in more detail.

Geometry Definition
The geometry curves and surfaces defining the turbomachinery domain can be entered using two different ways: 

".geomTurbo" native files (NUMECA turbomachinery geometry file format)
external CAD files (Parasolid™, CATIA V5, IGES format, ".geomTurbo" native, ".dat" files)

The ".geomTurbo" File Format 

The ".geomTurbo" native file is containing the surfaces and the curves defining the blades and the meridional contour of the turbomachinery that can be imported within AutoGrid5™.
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row(s) definitions. More details are available on The ".geomTurbo" File Format section.


External CAD Format
AutoGrid5™ is able to import the geometry defining the domain from various external CAD format (IGES, CATIA V5, Parasolid™). The files containing the surfaces and the curves defining the blades and the meridional contour of the turbomachinery are loaded and displayed. Easy selection of the geometrical entities can be operated interactively and linked to the project configuration through contextual menu (see Geometry Definition for more details). The blade channel must be defined by a set of curves (i.e. axisymmetric boundary of a surface of revolution). The blade(s) of each row are defined by a set of surfaces and two curves defining the leading and the trailing edges. As long as these curves are not defined, AutoGrid5™ is not able to create the inlet, outlet and mixing plane boundary of the domain.
Parasolid™ and CATIA V5 import is not available on specific platforms. Please refer to the installation note for more details.

Geometry Menu
All menus are described in detail in the dedicated IGG™ User Manual - Geometry Menu. This menu is only available when selecting the 3D view or when adding a 3D technological effects  For Blade-to-Blade and Meridional views, only the Distance tool is available.

Snubber on Blade

In AutoGrid5™, a snubber can be added to the row. The snubber is added on the active row in the Add Snubber menu by right-clicking on the selected row in the Row Definition subpad (Quick Access Pad). 




Only one snubber can be defined per row.
The snubber configuration is not available with splitter configurations.
The channel orientation should be mainly streamwise otherwise problems may occur during the 3D smoothing.
The snubber should not be too close to the blade leading and/or trailing edge, which could lead to mesh generation failure. Similarly, when the snubber is including a fillet, there must always remain a distance between the blade leading and trailing edges and the fillet surfaces. These surfaces must not reach the blocks at the leading and trailing edge marked by the red dots in the following figure.
            
The snubber fillet surfaces must not cover the whole snubber in azimuthal direction. The fillet surfaces must intersect or touch the straight snubber surfaces before the periodic boundary is reached.
Geometry Control
The snubber geometry is defined in 2D using meridional curves or in 3D using surfaces and curves of the full 3D geometry. These can be directly specified in the ".geomTurbo" file or imported through the Import CAD window of AutoGrid5™ (more details in Import CAD). When the snubber is defined in 3D, a fillet can be added to the snubber.
Example of ".geomTurbo" when the snubber 3D geometry is created in a blade passage and the snubber fillet on both blade sides.


Even for a 3D snubber geometry, the snubber meridional curves "upper_curve" and "lower_curve" are needed for the flow paths generation. Therefore AutoGrid5™ computes them automatically from the intersection between the snubber pressure surfaces and the blade surfaces.
For a non-axisymmetric snubber, the periodicity of the snubber geometry has to be equal to the one of the blade
Mesh Generation Control
A popup menu is available in the Rows Definition subpad of the Quick Access Pad when right-clicking on the snubber item allowing to modify the settings of the snubber (Properties) or to delete the snubber (Delete).
The snubber generation is controlled into the Snubber Properties dialog box (more details in Snubber Controls).


FIGURE 20 Snubber Properties dialog box

Blade Geometry Export
The Geometry/Export is a very useful feature to export blade geometry definition in ".geomTurbo" format. The created file contains the blade defined by two surfaces (pressure and suction side). Each surface is defined by a set of cross sections (set of control points). This file can be also used as a pre-processor of the blade fitting process of AutoBlade™ in case of blades defined by external CAD data files.
The user can access the Geometry/Export option from the contextual menu, available by right clicking on Main Blade or Splitter in Rows Definition subpad of the Quick Access Pad. It opens the Export Blade Geometry dialog box.


FIGURE 28 Export Blade Geometry dialog box
The dialog box consists of the following features:

Selection of Use Flow Path Definition check box allows to compute one blade section on each flow path defined in the meridional view.
Selection of Export Original Data check box allows to export the original data available in the ".geomTurbo" file.

 This option is available only if the original blade geometry data exists in a "geomTurbo" format.

Set the Number Of Sections to define the number of blade sections to be computed in the exported ".geomTurbo" file.
Set the Number Of Points Near Leading Edge to define the number of control points at the leading edge.

 This option is not taken into account for blunt or sharp leading edge.

Set the Number Of Points On Blade Sides to define the number of control points on pressure and suction sides of the blade.
Set the Number Of Points Near Trailing Edge to define the number of control points at the trailing edge.

 This option is not taken into account for blunt or sharp trailing edge.

The clustering law between the leading edge area and the trailing edge area is defined by:

	The Number of Cst Cells. This number has to be less than the number of control points on the blade sides defined in the Number Of Points On Blade Sides data input field.
	The Clustering At Leading Edge, defined as the normalized length of the leading edge area.
	The Clustering At Trailing Edge, defined as the normalized length of the trailing edge area.

Selection of Export End Wall Definition check box allows to save the end wall definitions, such as, hub and shroud flow paths polyline definition.

The Preview button is used to display in the 3D view the computed sections of the blade geometry to be exported.
The Export button allows to export the computed sections in a ".geomTurbo" file. The file is saved in the parent directory where the project or template is saved. The name of the file is computed automatically using the name of the template, the name of the row, the name of the blade and the parameters use to define the sections. This assumes that a unique name is used for any kind of export process.

 If there is any blank space in the parent directory path, AutoGrid5™ does not allow to export the ".geomTurbo" file and displays an error message.

Blade Editing

How to Start AutoGrid5™ Interface
In order to run AutoGrid5™, the following command should be executed:
On  Linux
igg# -autogrid5 <Enter> where # refers to the version (131).
On Windows

click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or in Start/Programs/NUMECA Software/AutoGrid# (where # refers to the version). Then AutoGrid5™ is accessible through the menu Modules/AutoGrid5.
alternatively AutoGrid5™ can be launched from a dos shell by typing:<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe -autogrid5 <Enter> or<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe -autogrid5 <Enter>where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in Basic Installation and # is the version.

Cascade Configuration

By default, AutoGrid5™ is generating a mesh in an axisymmetric configuration turbomachine. When creating a new project (File/New Project), a cascade configuration can be generated after activating the Cascade option.


This type of configuration is defined by a translation periodicity instead of a rotation periodicity.
The geometry can be defined through Import CAD window in the same way as for an axisymmetric configuration after defining the geometry reference axis and origin (Edit/Geometry Axis...).


By default, the stream and span directions are respectively the Z- and X-directions.
In addition, the cascade configuration geometry can be defined using a ".geomTurbo" file, where the channel and blades are defined similarly as for an axisymmetric configuration after setting the cascade parameter to yes on the top of the file. 
When the geometry is defined, in the row Properties contextual menu, a rational value for the pitch distance between two successive blades (Periodicity) can be defined instead of the number of blades imposed for an axisymmetric configuration.


FIGURE 25 Cascade Configuration - Periodicity
The mesh controls and generation are similar to the method used for an axisymmetric configuration.


FIGURE 26 Cascade Configuration - 3D Mesh

Hub/Shroud Partial Gap
In some configurations a blade can be rotated on itself. For that purpose the blade is attached to a penny (at hub and/or shroud) which represents the rotation axis. In order to avoid that the blade intersects the channel during its rotation, a partial gap is created before and/or after the penny, depending on the penny size and location.


The Partial Gap Properties dialog box (more details in Hub/Shroud Partial Gaps Control) is accessed by right-clicking on the selected blade in the main graphics area and by selecting Gap/Fillet/Define Hub Part Chord Gap or Gap/Fillet/Define Shroud Part Chord Gap from the list of commands. An alternate method consists in right-clicking over the Main Blade (splitter) in the Rows Definition subpad of the Quick Access Pad.


FIGURE 14 Partial Gap Properties dialog box
When the partial gap has been added, popup menu is available in the Rows Definition subpad of the Quick Access Pad when right-clicking on Hub partial gap or Shroud partial gap items allowing to modify the settings of the partial gap or to delete the partial gap.

View Subpad
When the blade-to-blade view active, the View subpad contains five buttons allowing viewing operations on the blade to blade grid. The selected rows define the scope of the buttons.
TABLE 16 View buttons






Icon


Description









Toggle the vertices of the blade to blade blocks of the selected row(s).







Toggle the fixed points of the blade to blade blocks of the selected row(s).







Toggle the grid points of the blade to blade blocks of the selected row(s).







Toggle the edge of the blade to blade blocks of the selected row(s).







Toggle the face grid of the blade to blade blocks of the selected row(s).




When the 3D view active, the View subpad provides commands and tools that allow viewing operations on the geometry and the grid. In particular, the three first pages provide options permitting the creation and the visualization of geometry and block groups. The four pages of this subpad are described in the following sections.
Geometry Groups Page
Geometry groups are powerful means of classifying geometrical entities by grouping them under the same name. This tool proves to be essential as soon as the input geometry gets a little complicated. Using groups, the user can easily perform selective visualization of parts of interest and focus on the current region being meshed.
The geometry group page allows the creation, the deletion and the visualization of geometry groups, which can contain curves and/or surfaces. Different groups can contain the same curve(s) or surface(s).


FIGURE 54 Geometry Groups page
All the existing geometry groups are listed by name in the browser of the page. Each group name is preceded by two buttons. Left-clicking on the first one toggles the list of curves and surfaces of the corresponding group in the Quick Access Pad. Left-clicking on the second one toggles the display of curves and surfaces of the group in the graphics area.
Each item in a group is also preceded with a check button that allows to individually show or hide the item.
The page contains four buttons at the bottom:

Create Group. Before pressing this button, curves and surfaces that will be put in the new group must be selected (see the Geometry/Select menu in IGG™ User Manual). The following dialog box will be opened:


Simply enter the new group name and press the Create button to create the new group.
Delete Group. It opens the following dialog box:


All existing geometry groups are listed in the box. Simply select a group by left-clicking on its name and press the Delete button to delete it (this will not delete the related geometrical entities).
Show All. This button shows all the geometry in the graphics area: curves, surfaces and Cartesian points.
Hide All. This button hides all the geometry in the graphics area: curves, surfaces and Cartesian points.

Two pop-up menus are also accessible by right-clicking on a group name or on a geometry entity in the page browser:


The first menu contains three items:

Add Selection. This adds the currently selected curves and surfaces to the group.
Remove Selection. This removes the currently selected curves and surfaces of the group. If some selected curves or surfaces are not in the group, the removal of these entities will have no effect on the group.
Delete. This deletes the geometry group.

The second menu allows to remove of the group the geometry entity from which the menu is opened.
Block Groups Page
This page allows the creation, deletion and the visualization of block groups. Different groups can contain the same block(s).


FIGURE 55 Block Groups page
All the existing block groups are listed by name in the browser of the page. Each group name is preceded by two buttons. Left-clicking on the first one toggles the list of blocks of the corresponding group in the Quick Access Pad. Left-clicking on the second one toggles the display of blocks of the group in the graphics area.
Each item in a group is also preceded with a check button that allows to individually show or hide the item.
The page contains four buttons at the bottom:

Create Group. The following dialog box will open:
Simply enter the new group name and press the Create button to select the group blocks. The following prompt will appear:
<1> Select a Block, <2> Add to Group, <3> Quit, <Keyboard Area>: Add Block by Indices to Group
Left-click on a block to select it. The block will be highlighted. Then, middle-click to add the block to the group. This block will remain highlighted until leaving this tool. Add in the same manner as many blocks as desired. 
Blocks can also be added to the group by entering their number in the keyboard input area. In this case, the blocks are directly added to the group without being highlighted and without any validation. The numbers must be separated by spaces. A range of blocks can also be added by entering two numbers separated by a '-'. For example, enter <1 5 10-15 3><Enter> to add the blocks 1, 3, 5 and the range 10->15. The numbers do not have to be ordered and the same number can be entered more than one time. If a syntax error is made, a warning message will appear.
Press <q> or the right mouse button to complete the group creation.
Delete Group. It opens the following dialog box:


FIGURE 56 Block group deletion
All existing block groups are listed in the box. Simply select a group by left-clicking on its name and press the Delete button to delete it (this will not delete the related blocks).
Show All. This button shows all the blocks in the graphics area.
Hide All. This button hides all the blocks in the graphics area. 

Two pop-up menus are also accessible by right-clicking on a group name or on a block in the page browser:



FIGURE 57 Block group pop-up menus
The first menu contains three items:

Modify. This allows to add blocks to the group with same menu as when creating group.



Add Selection. This adds the active block to the group.
Remove Selection. This removes the active block of the group. If it is not in the group, this operation will have no effect on the group.
Delete. This deletes the block group.

The second menu allows to remove of the group the block from which the menu is opened.
Grid Configuration Page

When creating a mesh with AutoGrid5™, the multiblock data structure can become very complex. A new database, named Grid Configuration, is created by AutoGrid5™ at the end of the mesh generation, saved together with the project into a file ".config". When loading the mesh in IGG™, AutoGrid5™ or in FINE™GUI, the grid configuration is also loaded.
The grid configuration describes the mesh structure of the project as a set of fluid and solid domains interconnected together through domain interfaces. Each domain contains a set of subdomains and a set of interfaces. Each domain interface contains a type of boundary condition, a type of free boundary condition and the possible connected domain reference. The domain encapsulates the list of structured blocks defining the domain. The domain interface encapsulated the list of structured patches defining the interface.
This new data structure is very useful. It can be used to reduce the time needed to analyse the mesh of a project, to set up the boundary conditions into FINE™ GUI and to easily visualize the mesh.
AutoGrid5™ computes automatically the grid configuration of the meshed turbomachine after each 3D generation as well as after loading or saving a project. This configuration is composed by a tree of domains similar to the configuration tree used to set the template configuration. The Main Project of an AutoGrid5™ configuration contains a single subdomain named "AG5 <project name>" where project name is the name of the template. The AutoGrid5™ domain contains the list of subdomain related to each row and each technological effect 3D.


When navigating through the configuration, the boundary edges of the selected domain and the grid of the selected interface are automatically displayed and updated in the XYZ view. This behavior can be switched off using the buttons Highlight Domain and Highlight Boundaries on the bottom of the Grid Configuration page.
Selecting one or several item of the configuration and using right-click gives access to all the management options through contextual menus dedicated to each type of configuration item.
Main Project Management


Duplicate Main Project
The menu option Duplicate is used to create an new instance of the Main Project into the configuration. This new instance is called a SubProject and is a perfect copy of the main project configuration.


Merge Main Project
The option Merge can be used to merge together subprojects with the main project. A new instance of the Main Project is created and if mesh and template files exist on disk for the selected subproject, new mesh and template files are created for the new merged subproject resulting of the concatenation of the main project mesh and template files with the subproject mesh and template files.


SubProject Management
Subprojects are useful when part of the main configuration must be analysed separately. In addition AutoGrid5™ allows also to redefine geometry in a subproject through template manipulation and remeshing partially the machine. Each subproject can have its own mesh and template inside which the user can modify locally some part of the geometry (i.e. a blade definition). Once the computation is fruitful on the subproject a merge process allow the user to concatenate the main project with the selected subproject to analyse the complete configuration with the new geometry defined in the subproject.


Rename SubProject
This option can be used to rename the subproject. A entry prompts the user to enter a new name. Blank and special characters are allowed excepted tabulation. The system warns the user if the name is already used.


When a new subproject name is accepted, the subproject files and directory are also renamed. Therefore it is strongly recommended to save also the main project (File/Save Project menu) after renaming process to keep consistency between the main project configuration stored on disk and the name of the subproject files.
Duplicate SubProject
The menu option Duplicate is used to create an new instance of the SubProject into the configuration.
Save SubProject
The menu item Save is used to save the mesh and the template of the selected subproject. By default, when a subproject is created from the main project, the mesh and the template files are not duplicated. Once the subproject editing done, the option Save creates a new directory <main-project-file-name>_<subproject-name>. The partial mesh and template related to the subproject are automatically created and stored in this directory.
All the structured patches boundary condition type of the mesh belonging to a domain interface connected to a subdomain removed in the subproject are switched to the free boundary condition define in the interface properties. In the next example, the patch type of the RS Connection With row 1 are switched to Inlet when saving the subproject mesh.


When saving the subproject, AutoGrid5™ asks if the main project mesh and template must remain the active one. If not, the created subproject file or template are automatically loaded replacing the main project.


Load SubProject
The menu Load can be used to load the mesh (and the template) of a subproject if the file exists on disk. If not a warning prompts the user to first save the subproject.
Merge SubProject
The menu Merge can be used to merge together subprojects and/or with the main project. The figure illustrates the process to merge together the subproject 1 & subproject 2 into a subproject 3.


This operation can takes some time because of the following steps needed to keep consistency:

An new subproject is created in the configuration as the result of the merging process between the selected subproject,
The main project is saved (needed to keep consistency),
The main project is duplicated and saved into the new subproject directory,
The mesh and template of the selected subproject are loaded to replace partially the data into the duplicated main project,
The domains which does not appear in the new subproject are removed from the mesh and the template,
The final subproject is saved on disk.

At the end of the merging process the subproject 3 remains loaded. To retrieve the original interface status, the user must load again the main project (File/ Open Project).
Delete SubProject
The menu Delete can be used to delete the mesh (and the template) of a subproject if the file exists on disk.
Domain Management
Each domain edges are automatically highlighted in red in the XYZ view when selected (click-left) in the configuration.


Each row domain contains a list of subdomains which depends of the option chosen by the user during the turbomachinery configuration setup. In the example, each row contains only a subdomain corresponding to the Main Blade definition. For each domain, a folder named Domain Boundaries contains the interface of the domain. Right-clicking on a domain gives access to the domain menu.


Each subdomain contains a list of IGG™ blocks. When dealing with butterfly topology created in IGG™ or as 3D technological effect in AutoGrid5™, the button Update assumes that all the blocks are now included in the grid configuration except the parent blocks. This is a suitable behavior for the usage of the grid configuration in the FINE™ GUI. 
Domain Properties
The menu Properties opens the dialog box use to control the type and the rotation speed of the domain.


Each modification will affect all the blocks linked to the domain. The type Fluid-Solid means that the domain contains subdomains of different type.
In the example, the Main Blade subdomain contains the core flow domain around the blade (fluid), the shroud gap domain (Fluid) and the solid body of the blade (Solid). Therefore the type of the domain Main Blade is set to the hybrid type Fluid-Solid.
Rename Domain
The menu Rename can be used to rename a domain.
Group Domain
The menu Group can be used to group the domain together. The resulting domain contains a list of subdomains equal to the selected list. This menu is available only in the grid configuration within IGG™.


Delete Domain
The menu Delete can be used to remove the selected domain from the related main project and/or from the related subprojects.
Domain Interface Management
Each domain of the main project or a subproject contains domain interfaces defining the physical boundaries of the configuration and the connections between the domains. These interfaces are stored in the Domain Boundaries folder of the domain. If the button Highlight Boundaries is checked, the selected domain interfaces are automatically displayed using grid and color shading representations as presented in the next figure.


In addition, the main project and the subprojects include also a Domain Boundaries folder containing the full list of the project domain interfaces. For more visibility, the list has been divided into several subfolder according to the boundary condition type of each interface: inlet, outlet, solid, external, rotor-stator, connection(Fluid->Fluid), connection(Solid->Solid), connection(Fluid->Solid), connection(Solid->Fluid).


Each subfolder contains a list of interfaces and/or subfolders. The interfaces are given by their full composite name. The composite name is composed by the name of the tree entity and all its parents separated by a character "/". The subfolders (i.e. row 1 Connection(Fluid->Fluid)) contain a list of interfaces. These subfolders represent interfaces groups and are defined for quick access. These groups are defined automatically by AutoGrid5™ or manually using the features dedicated to the domain boundary management. These features are available through the right-click menu of the domain boundaries.



Domain Boundary Properties
The menu Properties opens a dialog box dedicated to the management of the interfaces properties.


In the dialog box, the rotation speed, the option to assign acoustic source, the name, the type of the boundary in the main project (Boundary Condition Type) and in the subproject (Free Boundary Condition Type) are available.
In a subproject, some domains can be removed by the user. When saving the grid of a subproject, all the boundary condition type of the domain boundaries connected to the removed domains are set to the free boundary condition type.
In addition, when the interface selected is a rotor-stator, the side (upstream or downstream) of the interface can be setup (Rotor/Stator Side).
Rename Domain Boundary
The menu Rename can be used to rename a domain boundary.
Group Domain Boundaries
The menu Group can be used to group together domain boundaries of the same type within IGG™. As the groups are stored in the main project or the subproject boundaries, the menu item group appears only when at least two boundaries of the same type of a subproject or the main project are selected.
By default the name of the group is composed by the "type name" + "group id" (i.e. Solid 1). A new subfolder is automatically displayed in the tree and contains all the selected boundaries.


Ungroup Domain Boundaries
The menu Ungroup is used to ungroup existing group or domain boundaries within IGG™. Ungroup a group of domain boundaries results in removing the initial group.


Ungroup an existing domain boundary split it into a list of new domain boundaries. The number of new boundaries is equal to the number of grid patches defined in the selected domain boundaries. The name of the new domain boundaries is equal to B <block-id> F <face-id> P <patch-id>.


Connect Domain Boundaries
Three types of interfaces between domains of a grid configuration are available:

Interface with no connection with other domain (i.e: hub,shroud,…),
Interface connected with another domain: connection (Connect), full non matching connection (Connect As FNMB) and rotor/stator connection (Connect As Rotor/Stator),
Internal domain full non matching connections.

If the mesh (including patch connection and full non matching definition) is completed, the connected boundaries between domains are automatically defined by AutoGrid5™ or by IGG™ when using the button Update of the grid configuration page. 
In some circumstances, the complete mesh of a project results of a concatenation of submeshes created in separate session of IGG™ and/or AutoGrid5™. During this mesh concatenation within IGG™, the grid configuration is also concatenate. The menu Connect, Connect As FNMB and Connect As Rotor/Stator are used to establish the connection between the different concatenated configuration.
The next example illustrates the concatenation between two meshes created in separate IGG™session connected through one domain boundary:

Two meshes are created separately and stored into the mesh files "mesh1-fluid.igg" and "mesh2-fluid.igg". Both meshes have an inlet and an outlet. The inlet of mesh2 is equal to the outlet of mesh 1. Both meshes have similar grid configuration.


A new IGG™ project is initialized and is composed by both meshes imported into this new project.


The Outlet 1 and Inlet 2 are selected than connected together using the menu Connect.



The same above steps can be repeated to connect with a full non matching connection. In this case, a new full non matching connection is created automatically using the mesh patches of the selected boundaries. Finally, a rotor/stator connection between two imported domains can also be established in such way.
Interface Viewer
The menu Interface Viewer opens a dialog box dedicated to the domain interface visualization. It allows to select the display of the grid and/or a solid representation of the selected interfaces.


Export Surfaces
The menu Export Surfaces is used to export a IGG™ data file format of the surfaces created as new wireframe of each patches defining the interface. The file name is defined automatically using as prefix the name of the configuration file (".config" file) and the name the interface.
Grid Page
This page provides visualization commands on the grid. It consists of two rows: a row of buttons and a row of icons.


The first row of buttons is used to determine the viewing scope, that is the grid scope on which the viewing commands provided by the icons of the second row will apply. There are five modes determining the scope, each one being represented by a button: Segment, Edge, Face, Block, Grid (all blocks). Only one mode is active at a time and the current mode is highlighted. Simply left-click on a button to select the desired mode.

In Segment mode, a viewing operation applies to the active segment only.
In Edge mode, a viewing operation applies to the active edge only.
In Face mode, a viewing operation applies to the active face only.
In Block mode, a viewing operation applies to the active block only.
In Grid mode, a viewing operation applies to all the blocks of the grid.

The icons of the second row and their related commands are listed in the next table:
TABLE 17 View buttons






Icon


Description









Toggles vertices







Toggles fixed points







Toggles segment grid points







Toggles edges







Toggles face grid







Toggles shading




When the Grid configuration page is opened, the viewing button related to the grid topology acts on the selected configuration item. The user is now able to draw the grid edges row by row.

File Menu


Open Project
The menu is described in detail in Open Project.
New Project
The menu is described in detail in New Project. 
Save Project / Save Project As
The menu is described in detail in section Save Project / Save Project As.
Save Template / Save Template As
The menu is described in detail in section Save Template / Save Template As.
Save Grid -> Save Grid As



The File/Save Grid/Save Grid As menu item stores the grid files on disk to enable to launch a computation within FINE™/Turbo 8.7.
Save Grid -> Save Grid As Fine 7.4

The File/Save Grid/Save Grid As Fine 7.4 allows to save the grids generated in the current version of AutoGrid5™ in a format compatible with IGG™ 5.7 (FINE™/Turbo 7.4).
Save Grid -> Save Grid As Fine 8.6
The File/Save Grid/Save Grid As Fine 8.6 allows to save the grids generated in the current version of AutoGrid5™ in a format compatible with IGG™ 8.6.
Save Grid -> Merge Project Grid
The File/Save Grid/Merge Project Grid menu item allows when dealing with multistage machine already generated to adapt the ".cgns" file when regenerating one or more rows of the machine based on a new geometry but still meshed with the same topology. 
Steps:

Generate full mesh of the multistage machine,
Save project,
Change geometry of one or more rows,
Regenerate mesh of rows presenting new geometry but keep same topology,
Merge project grid

Save Grid -> Save Fluid Domain(s)
In addition to the save subproject feature, the menu Save Fluid Domain(s) creates and saves a subproject named SubProject Fluid containing only the fluid blocks of the project.
Project List -> Transfer File List



The File/Project List/Transfer File List menu item enables to store a library of project files contained in the project list when selecting File/Open Project.
Project List -> Open File List
The File/Project List/Open File List menu item enables to load a library of project files accessible afterwards through the Project Selection and Template Selection windows
Scripts -> Edit



File/Scripts/Edit... opens a dialog box displaying some of the commands performed by the user when defining the geometry using Import CAD window, when performing a technological effect,... The user can easily edit this script (add, remove and modify commands). More details on the available commands are presented in the Python Script chapter.


The dialog box contains two pull-down menus. File menu allows to open a script in a separate dialog box and to save the script in a file. Run menu allows to run the script shown in the window under the current session ("Rerun on top").
Scripts -> Save All
File/Scripts/Save All... is used to save the dynamic recording of all commands performed by the user since the beginning of its session.
Scripts -> Execute
File/Script/Execute... is used to run a python script file containing IGG™ commands.
A file chooser is opened to select a file with a ".py" extension. Upon selection of a valid file, the script is executed in the current session and the result is visualized in the graphical window. Depending on the content of the script, operations will be added to the current project or a new project will be automatically opened before operations are performed (The previous project is closed).
If the script being run contains a syntactical error it will be aborted and a message will appear in the shell.
Scripts -> Re-execute Last
File/Script/Re-execute Last can be used to rerun the last script that was run using the Scripts/Execute... command. This option is most useful when writing own scripts manually to rapidly test it on the fly.
Print -> As PostScript



File/Print/As PostScript is used to dump the graphics area in a true PostScript file. This option uses true Postscript statements to save the graphics content and can produce compact files when all graphics entities in AutoGrid5™ consist of lines (i.e. visualization of the grid in wireframe). When displaying surfaces in solid model, the quality of the saving reduces considerably while the size of the file can become very large. 
Print -> As Bitmap PostScript
File/Print/As Bitmap PostScript is used to dump the graphics area in a bitmap PostScript file. In this mode each pixel of the graphics area is saved in the file. The size of the file can be very large. Bitmap saving may be more advantageous than true postscript when solid surfaces in hidden line mode appear in the graphics area.
Print -> As PNG
File/Print/As PNG is used to dump the graphics area in a PNG file.
Export -> IGES
File/Export/IGES... menu is used to export geometry entities in the standard IGES format.


The entire geometry repository can be saved or only the selected curves and surfaces. The length unit must also be specified through the following dialog box:


The file created in this way can be read back by using the File/Import/IGES Data... menu item.
IGES export is not implemented for Parasolid™ surfaces.
Export -> Parasolid
File/Export/Parasolid... is used to save the selected geometry curves and surfaces into a Parasolid™ format. It was already automatically done when saving the project for Parasolid™ entities (e.g. from Parasolid™ or CATIA import) but not for SISL entities (e.g. entities manually created in AutoGrid5™, IGES import). In AutoGrid5™, only wireframe and sheet bodies are created from a collection of curves and surfaces and no volume model.
Export -> Geometry Selection
File/Export/Geometry Selection... is used to save the selected geometry curves and surfaces into an ASCII file.
Only the curves and surfaces selected respectively by the Geometry/Select/Curves and by the Geometry/Select/Surfaces options are saved.
When selected geometry is containing Parasolid™ and/or CATIA V5 entities, a Parasolid™ file will also be saved in addition of ".dat" file.
Export -> Geometry Control Points 
File/Export/Geometry Control Points... is used to save the control points of the selected geometry curves into an ASCII file. It does not save the complete information about the curve (type, parametrization,...). The files created in this way are not intended to be directly read by AutoGrid5™. Their main use is to print out the coordinates of the control points of the curves.
This option is only available for curves, not for surfaces.
Export -> Block Coor
File/Export/Block Coor... is used to save the coordinates of an active block range in ASCII format, according to the level of coarseness selected for the grid (set by using View/Coarse Grid menu item). A warning is given if the grid has not been created yet. The standard block grid file format is used and is detailed in IGG™ User Manual - Input & Output Files.
The block range to save must be determined by two points, specified by their IJK coordinates in the keyboard input area (indices start at 1):
Enter imin jmin kmin (q)
Enter imax jmax kmax (q)
By default, values for the full block range are displayed.
Export -> Face Coor
File/Export/Face Coor... is used to save the coordinates of the active face in ASCII format, according to the level of coarseness selected for the grid (set by using the View/Coarse Grid menu item). The standard surface grid file format is used and is detailed in the IGG™ User Manual - Input & Output Files.
Export -> Patch Coor
File/Export/Patch Coor... is used to save the coordinates of the active face patches in ASCII format, according to the level of coarseness selected for the grid (set by using the View/Coarse Grid menu item).
The standard face grid file format is used and is detailed in the IGG™ User Manual - Input & Output Files. One file is created for each patch of the active face and is named automatically by appending the patch number to the specified file name. The files are written with a ".dat" extension.
Export -> Face Boundary Coor
File/Export/Face Boundary Coor... is used to save the active face boundary grid point coordinates in ASCII format.
Export -> Plot3D
File/Export/PLOT3D... is used to save the coordinates of all grid blocks in a PLOT3D format file. The saved file will have a ".g" extension and its format is described in the IGG™ User Manual - Input & Output Files.
The following dialog box is opened to select a file with a ".g" extension and the corresponding file format.


FIGURE 35 Output file and file format selection
The following file types can be selected in the File type entry:

ASCII
Binary single
Binary double
Unformatted single
Unformatted double

Binary stands for C binary files whereas Unformatted stands for Fortran binary files. Single and double describe the precision of reals.
Then two radio buttons are provided to select the binary order desired in the output file: little or big endian. This information must be specified only for binary files (the buttons are deactivated when ASCII type is selected).
The desired file can be selected by entering its full path name into the Plot3D File entry or through a file chooser opened by pressing the icon () next to the file entry.
Export -> CEDRE
File/Export/CEDRE... is used to save the mesh in CEDRE native format. It opens a dialog box including several options to select the blocks to export (list of block IDs, group of blocks, all blocks or row by row), and an option specifying if these blocks have to be merged in one single domain.


In case of merge, the user is able to select the name of the merged block. If nothing is specified, name will be "DOMAIN_1". In case the option Row by Row is selected, the name will be composed of this username completed by the row name depending on the Family name options/Short name preference.
When clicking on Export button, a file-chooser is opened to select the exported file name and location.
A main file name with extension ".dat" will be created as well as additional files needed for multi-domain, periodic connections and boundary conditions:

main_file_name.dat
main_file_name_multi.dat
main_file_name_psl.dat
main_file_name_bcs.dat

When the Row by Row option is selected, an exported file per row is created and each file contains the export of all the blocks of a row. The file name is completed by the row name. E.g. when exporting a project composed by 2 rows named "row 1" and "row 2", and with selected file name "filename.dat", two files will be created: "filename_row_1.dat" and "filename_row_2.dat".
The string length can be limited to 14 characters in some version of CEDRE, or to 50 characters in newer versions. The option Family name options/Short name in the menu File/Preferences allows to use shorter strings.
Boundary conditions are defined through mark names in the exported files. By default, the family names created for CGNS export within AutoGrid5™ are used as mark names.
If no family names are available (IGG™ mesh), a mark name is created according to the patch boundary condition type:

EXT	: EXTERNAL_i
INL	: INLET_i
OUTL	: OUTLET_i
MIR	: MIRROR_i
PER	: PER_LEFT_i & PER_RIGHT_i
SNG	: SINGULAR_i
SOL	: SOLID_WALL_i
ROT	: RS_i
CON	: CONNECTION

Where i is an index incremented each time such a condition is encountered and PER_LEFT_i is the patch with negative periodic sign, otherwise PER_RIGHT_i is used.
Non matching connection type is not allowed for export because CEDRE does not support such connection.
If the block selection contains CON or PER patches and the connected block is not contained in the list, the export cannot be performed.
When exporting Row by Row, only row meshes are saved and not the zr effect meshes. A zr effect mesh can be only exported when using other block selection options.
If family names are available (AutoGrid5™ mesh), a mark name is created based on them as presented below.

When Family name options/Short name active:
row_name = 'R(<i>)' where i is the row number
blade_name = 'B(<i>)' where i is the blade number
When Family name options/Short name deactivate and Keep row name deactivate:
row_name = 'ROW(<i>)' where i is the row number
blade_name ='BLADE(<i>)' where i is the blade number
When Family name options/Short name deactivate and Keep row name active:
row_name = 'row name'
blade_name = 'blade name'
The row mark names are:
Row Inlet: <row_name>+"_INFLOW"
Row Outlet: <row_name>+"_OUTFLOW"
Row Outlet 2 (bi-flux): 
<row_name>+"_OUTFLOW_BYPASS" if Family name options/Short name off
<row_name>+"_OUTFLOW_2" if Family name options/Short name on
Row Shroud End wall: divided into section defined by the Zcst lines:
Blade area: <row_name>+"_SHROUD"
Upstream area: 
<row_name>+"_SHROUD_UPSTREAM_"+<zcst-line-id> if Family name options/Short name off
<row_name>+"_SHROUD_UP_"+<zcst-line-id> if Family name options/Short name on
Downstream area:
<row_name>+"_SHROUD_DOWNSTREAM_"+<zcst-line-id> if Family name options/Short name off
<row_name>+"_SHROUD_DO_"+<zcst-line-id> if Family name options/Short name on
Row Hub End wall: divided into section defined by the Zcst lines:
Blade area: <row_name>+"_HUB"
Upstream area:
<row_name>+"_HUB_UPSTREAM_"+<zcst-line-id> if Family name options/Short name off
<row_name>+"_HUB_UP_"+<zcst-line-id> if Family name options/Short name on
Downstream area:
<row_name>+"_HUB_DOWNSTREAM_"+<zcst-line-id> if Family name options/Short name off
<row_name>+"_HUB_DO_"+<zcst-line-id> if Family name options/Short name on
Row Nozzle End wall: <row_name>+"_NOZZLE"
Row Blade: <row_name>+"_"+<blade_name>If Family name options/Blade pressure/suction sides active, the Row Blade will be splitted in two groups, one for the pressure side (<row_name>+"_"+<blade_name>+"_PS") and one for the suction side (<row_name>+"_"+<blade_name>+"_SS") instead of one family name (<row_name>+"_"+<blade_name>) to group all blade patches.


Row Periodic: <row_name>+"_PER1" & <row_name>+"_PER2"
Row RS: 
"Rotor_stator_"+<rs-id>+"_left" & "Rotor_stator_"+<rs-id>+"_right" if Family name options/Short name off
"RS_"+<rs-id>+"_left" & "RS_"+<rs-id>+"_right" if Family name options/Short name on

The bulb mark names are: bulb_name = "inlet_bulb" or "outlet_bulb" if Family name options/Short name off.
The snubber (solid patches) mark names are: snubber_name = "SNUBBER" if Family name options/Short name off.
Export -> Fluent
File/Export/Fluent... is used to save the mesh in Fluent native format. It will open a file chooser to select the exported file name and location. A file name with extension ".msh" will be created.
For each patch, a dedicated face section is written in exported file and a boundary condition ID is assigned. Next table gives the correspondence between AutoGrid5™ patch type and Fluent boundary condition type:






AutoGrid5™ Type
Fluent Type ID
Fluent Type Description




EXT
                    
9
                    
pressure-far-field
                    


INL
                    
10
                    
velocity-inlet
                    


OUT
                    
36
                    
outflow
                    


MIR
                    
7
                    
symmetry
                    


PER
                    
12 or 8
                    
periodic or periodic-shadow
                    


PERM
                    
24
                    
interface
                    


NMB
                    
24
                    
interface
                    


SOL
                    
3
                    
wall
                    


ROT
                    
4 or 5 (or 3)
                    
pressure-inlet or pressure-outlet (or wall)
                    



For patches defining rotor-stator, they will be exported as "pressure-inlet", "pressure-outlet" or "wall" if their name is respectively containing the keyword "inlet_rotor-stator", "outlet_rotor-stator" or none of the previous keywords.
Only one patch is allowed on each side of the rotor-stator interface in Fluent. When needed in AutoGrid5™ the patches should be merged prior to the export to Fluent.
Singular line (SNG) and FNMB will not be recognized in Fluent.
It it possible to define a boundary condition name in Fluent format through the use of a dedicated section. If this section is not defined, when loading the mesh, Fluent will automatically define a boundary condition name by adding an increment to the boundary condition description, e.g. "outflow_1" or "fluid_1".
Such section will be created for a patch only if the patch family name is defined. The boundary condition name will be "familyName_i", "i" being an index incremented each time this family name is encountered. The family names are defined as presented in previous section (File/Export/CEDRE...) and the option Family name options/Short name in the menu File/Preferences allows to use shorter family names.
A similar section will also be created for each block, specifying if the block is fluid or solid. The boundary condition name will be "fluid(solid)_blockName".
This way of defining boundary condition names will allow an easy patch/block grouping or merging in Fluent. Among others as the block name in AutoGrid5™ contains the row name, it allows quite easily in Fluent to merge all the zones related to a row.
Export -> CFD++
File/Export/CFD++... is used to save the mesh in Metacomp CFD++ solver native format.
Metacomp CFD++ uses unstructured meshes. Therefore, the structured meshes from IGG™/AutoGrid5™ must be converted, similarly to the existing unstructured outputs to Fluent and CEDRE formats.
When exporting, the user is asked to give a base name for the output files of the CFD++ format filtered by the .bin file ending. The name <base name>_<file ending> is then assigned to the output files except in the following cases:

the given base name is "nodesin.bin", in which case the output names are simply the file endings,
there is no base name given (e.g. in Linux, only ".bin" chosen in the file selector), then the output names are only the file endings.

Most of the CFD++ output files are written in binary format. The boundary conditions type cannot be directly defined in the exported mesh. Instead, each patch is given a boundary condition ID which is linked to a boundary condition name.






File name
                    
Content
                    
Format
                    




<base name>_nodesin.bin
Coordinates of the nodes in XYZ format
C style big endian binary


<base name>_cellsin.bin
List of computational cells defined by the indices of their nodes
C style big endian binary


<base name>_cgrpsin.bin.<nb of groups>
Group ID for each computational cell
C style big endian binary


<base name>_exbcsin.bin
Boundary conditions ID and nodes ID for each boundary cell face
C style big endian binary


<base name>_mcfd.bc
List of names for each boundary conditions ID
ASCII



There are several IDs used to identify nodes, boundary conditions, and cell groups.

The node ID uniquely identifies each node. It starts with 0 and is given by the position of the node in the file "nodesin.bin".
The cell group ID is written if at least one block of the structured grid has a family name. Then, all cells from blocks with the same family name are assigned the same ID. All cells from blocks without a family name get a common ID. If no family names are set, the cell group ID is not written. It starts with 0.
All patches with the same family name are assigned the same boundary conditions ID. It starts with 1.

If a patch has a family name, the boundary condition name will be identical otherwise the patch gets assigned a boundary condition name according to its type, as described in the following table:





AutoGrid5™ type
                    
CFD++ boundary condition type
                    




SOL
SOLID_i


PER
PER_LEFT_i and PER_RIGHT_i


INL
INLET_i


OUT
OUTLET_i


ROT
RS_i


MIR
MIRROR_i


EXT
EXTERNAL_i


SNG
SINGULAR_i


NMB
NMB_LEFT_i and NMB_RIGHT_i


PERNM
PERNM_LEFT_i and PERNM_RIGHT_i



"i" is an index incremented each time such a condition is encountered.
PER_LEFT_i and PERNM_LEFT_i will be used if AutoGrid5™ patch periodic sign is negative, otherwise respectively PER_RIGHT_i and PERNM_RIGHT_i will be used.
For NMB, the keywords LEFT and RIGHT are arbitrarily set, and their only purpose is to identify the connected faces.
Export -> CRUNCH CFD
File/Export/CRUNCH CFD... is used to save the mesh in CRUNCH CFD® solver native format.
CRUNCH CFD® uses unstructured meshes. Therefore, the structured meshes from IGG™/AutoGrid5™ must be converted, similarly to the existing unstructured outputs to Fluent, CEDRE, Metacomp CFD++ or OpenFOAM formats.
When exporting, the user is asked to give a base name for the output file(s) of the CRUNCH CFD® format filtered by the .precrunch file ending. The name <base name>_<group name>.precrunch is then assigned to the output file (e.g. rotor37_row_3.precrunch), except if there is only one group of blocks in which case the group name is omitted. The group name is set to the row name containing at least one block of the group. For a tandem row, the group name is the name of the two rows connected by an underline.
The CRUNCH CFD® output file is an unformatted Fortran file in big endian format and has the following sections:

the header, containing information about the number of nodes, cells, and boundary faces;
the cells, defined by the IDs of their eight edges;
the nodes;
the boundary faces, defined by IDs of their four edges and the boundary tag.

The boundary conditions are defined on faces grouped by boundary tags. The tag is an integer between 1 and 999 and must be different from 10. All patches having the same family name receive the same boundary tag. For the boundary conditions only an ID identifying associated patches is given. The user has to specify which kind of boundary condition is assigned to these patches. The patch family names are not contained in the exported file neither. The family name will be automatically set. Both sides of a rotor-stator interface will receive the same name and therefore the same tag. In a multi-row configuration (several .precrunch files will be written), tags are unique even if the corresponding patches belong to different groups. Only the rotor-stator interfaces have the same tag in both groups where they belong to.
Patch family names can be manually created through the Family Name option in the boundary conditions dialog box (available when the preference Save CGNS patch info / family name control is active).
The periodic edges of the rotor-stator interface have to be straight radial lines. This can be achieved by using in AutoGrid5™ the option Frozen Inlet/Outlet Angle in the blade-to-blade control dialog box.
The axis of rotation is the x axis in the CRUNCH CFD® solver. Therefore, the IGG™/AutoGrid5™ coordinates are automatically rotated via the mapping (x,y,z) -> (z,x,y).
FNMB connections will not be recognized in CRUNCH CFD®.
Export -> OpenFOAM
File/Export/OpenFOAM... is used to save the mesh in OpenFOAM official (v2.4.0) or extend (v3.1) branch. The OpenFOAM extend branch is very commonly used in turbomachinery applications.
OpenFOAM uses unstructured meshes. Therefore, the structured meshes from IGG™ must be converted, similarly to the existing unstructured outputs to Fluent, CEDRE, Metacomp CFD++ or CRUNCH CFD® formats.
When exporting, the user is asked to give a folder name for the output file(s) of the OpenFOAM format. 
The OpenFOAM mesh consists of five formatted files with predefined names: "boundary", "faces", "neighbour", "owner" and "points". In addition a "cellZones" file is saved and contains one cell zone per block family name.
The output precision is set to 12 digits to avoid any accuracy problems.
If the grid is including unsplit butterfly blocks, both parent and butterfly blocks will be exported.
Each AutoGrid5™ patch will obtain a separate entry in the "boundary" file. Its name is the patch family name appended by an index. If the family name is not set, we use the naming convention from the CFD++ output. 
The "inGroups" keyword is used to group patches and use the patch family name as group name. This option allows easier specification of the boundary/initial conditions which otherwise must be prescribed patch by patch. It is not available in the extend branch.
If boundary tags should be merged in AutoGrid5™, patch family names can be manually created and adapted through the Family Name option in the boundary conditions dialog box (available when the preference Save CGNS patch info / family name control is active).
Each of the following boundary conditions requires a certain set of additional information to be written to the boundary file.







AutoGrid5™ type
                    
OpenFOAM official branch type
                    
OpenFOAM extend branch type
                    
Fluent boundary condition type
                    




INL
patch
patch
velocity-inlet


OUT
patch
patch
outflow


EXT
patch
patch
pressure-far-field


MIR
symmetry
symmetry
symmetry


SOL
wall
wall
wall


ROT
cyclicAMI
mixingPlane
pressure-inlet or pressure-outlet or wall


NMB
cyclicAMI
ggi
interface


PERNM
cyclicAMI
cyclicGgi
interface


PER
cyclic
cyclic
periodic or periodic-shadow


SNG
wall
wall
wall



FNMB connections will not be recognized in OpenFOAM. The original type (usually SOL) of the patches involved in the FNMB connection will be considered.
A rotor-stator interface must consist of only one patch. In case it consists of several patches, their type will be set to "patch". 
A periodic connection at the rotor-stator interface of a meridional technological effect cannot be read into OpenFOAM.
When the "checkMesh" utility is run on cyclic patches, it depends on the grid quality whether the check is successful. If the test is not successful, then the mesh should be modified and in particular the aspect ratio should be decreased. If this does not help:
            in OpenFOAM v2.4.0 (official branch), it is recommended to change the "matchTolerance" keyword in the "boundary" file to higher values, or change the type of the boundary condition to "cyclicAMI".in OpenFOAM v3.1 (extend branch), it is recommended to change the type of the boundary condition to "cyclicGgi" and to set the "bridgeOverlap" parameter to "true".When the "checkMesh" utility is run on non-matching connections or rotor-stator patches, the message "The mesh has multiple regions which are not connected by any face" will appear and can be ignored.Depending on the mesh, the checks for high aspect ratio and non-orthogonal faces from the "checkMesh" utility might fail. This utility uses a different way of calculating the grid quality criteria. Meshes which are of high quality according to NUMECA standards might still fail the "checkMesh" utility tests.
Export -> Meridional Mesh
File/Export/Meridional Mesh... is used to save the meridional mesh in CGNS format. The export is based on a row selection and only the meridional mesh of the selected rows will be exported. The faces used to build the row flow paths will be exported. The faces go from inlet to outlet, without capturing the leading and trailing edges. There can be several blocks per row, generally one main block and one per gap.
After selecting rows in AutoGrid5™, select the menu to open file-chooser to select the exported file name and location. The exported CGNS file will only contain the block points coordinates of the mesh.
Rows meridional mesh does not need to be generated before export, it will be done automatically.
Export -> B2B Mesh
File/Export/B2B Mesh... is used to save the blade-to-blade mesh in CGNS format. The export is based on a row selection and only the blade-to-blade mesh of the selected rows will be exported for the selected spanwise layer.
After selecting rows and the spanwise layer (Active Layer (% span)) in AutoGrid5™, select the menu to open file-chooser to select the exported file name and location. The exported CGNS file will only contain the block points coordinates of the mesh.
Rows blade-to-blade mesh does not need to be generated before export, it will be done automatically.
The blade-to-blade mesh does not include 3D mesh controls as non-axi treatment, hub/shroud interpolation, etc.
When exporting blade-to-blade mesh, the spanwise layer is computed for each row according to the span percentage, whereas in the blade-to-blade view in AutoGrid5™ it is only computed based on the first row selected, then the closest flow path is chosen for the other rows. The method used when exporting blade-to-blade mesh allows in bypass case to obtain the desired layer on whatever row.
Export -> Abaqus
File/Export/Abaqus... is used to save all the solid blocks to a single Abaqus formatted file. 
Only solid blocks are considered. If other blocks should be exported, the block type has to be changed to solid.
When exporting, the user is asked to give a base name for the output file of the Abaqus format filtered by the .inp file ending. The name <base name>.inp is then assigned to the output file. 
The Abaqus output file consists of:

 the header;
the nodes definition;
the elements definition;
the definition of node sets and surfaces for the specification of the boundary conditions.

The header includes comments on the exported model.
The nodes are identified using a unique number and can be grouped using the NSET keyword into node sets. The node set ALL contains all nodes of a row.
The boundary conditions are not defined in the exported file, but must be defined later on the solver side. Separate node sets must be defined for periodic boundaries and fully non matching boundaries (FNMB) using the NSET keyword. Therefore, a node set is defined per patch family name. If a patch does not have a family name, it gets assigned a boundary condition name according to its type (e.g. NMB or SOL appended by an index per patch).
In Abaqus, surfaces are used to apply loads (e.g. pressure) to the mesh. Therefore, we create a surface per node set using the *SURFACE keyword. For each surface, we give a list of all elements which possess a face touching the corresponding surface, and the corresponding face index.
The elements can be assigned to element sets using the ELSET keyword. We create an element set per block family name. When the export is done through the graphical interface, the element type is always C3D8. Other element types than C3D8 are available in Abaqus. The corresponding python command includes an optional argument to change the element type.
C3D8 and C3D8I are the only supported element types in IGG™/AutoGrid5™.
The family names are used to define the node sets. When exporting the solid blocks in Abaqus format:

for blocks in a hub or a tip wall, the base family name is the row family name appended by _HUB_WALL or _TIP_WALL. If the short family names option is activated, the suffixes are _HW and _TW. For all other solid blocks, the base name is the row name appended by the blade name.
for the periodic patches, the suffixes _PER1 and _PER2 are appended. All patches connected to fluid blocks obtain the suffix _FLUID_CONNECTION. If the preference Blade pressure/suction sides is activated, _PS is appended if the patch lies on the blade pressure side, or _SS if it lies on the blade suction side. For solid patches connected to the hub, _HUB_CONNECTION is appended, and for those connected to the shroud, _SHROUD_CONNECTION. All other solid patches obtain a family name consisting only of the base name.
for FNMB connections, the corresponding patches will be named with the name of the FNMB and the suffixes _LEFT or _RIGHT, depending on which side of the FNMB the patch is. If the short family names option is activated, the name is set to FNMB_ with an index unique per FNMB followed by the _LEFT or _RIGHT keyword.

Family names must not be longer than 80 characters. 
Import -> IGG Project
File/Import/IGG Project... is used to merge an existing IGG™ project stored on disk with the currently opened project. It allows several people working on large projects to perform the meshing in separate sessions and to merge their work at a later stage.


When combining an AutoGrid5™ project with an IGG™ project, the AutoGrid5™project should be loaded first in order to keep the hub and shroud curves data for latter post-processing of the computation in CFView™.
Prefix
To easily recognize blocks and groups of an imported project from those in the current project, a prefix can be specified during importation. For this purpose, a dialog box is provided:


Upon proper prefix specification, all the names of patches, blocks, geometry groups and block groups will be automatically prepended with the prefix. For example, if a block being imported is named "Inlet" and a prefix "stage1" is specified, the name of the block within the current session will be "stage1#Inlet". Due to limitations in the CGNS format, the length of the prefix should be limited to 5 characters. Moreover it cannot begin with a number.
If no prefix is specified blocks and groups names will not be modified. Exception to this rule holds however when an imported block has the same name as a block in the current project. In that case an underscore will be automatically appended to the name.
Pressing on the Cancel button will cancel the importation of the selected project in AutoGrid5™.
Importation operations
During project importation the following operations are performed:

All the curves and surfaces from the imported project are added to the current project. When a name clashing occurs with existing curves or surfaces, AutoGrid5™ automatically renames the imported entities. The prefix currently does not apply to curves and surfaces.
All the blocks of the imported project are appended to the existing blocks. The index of the imported blocks is adapted automatically to follow the last block of the current project. The name of the patches and blocks follow the rule described here above.
The geometry and block groups are imported in the current project. The names of the groups follow the rule described here above.

Import -> IGG Data
File/Import/IGG Data... is used to read external curves and surfaces stored in an ASCII IGG™ format. The file formats are specific to IGG™ (Curve & Surface data files) and are described in IGG™ User Manual - Input & Output Files.
When using the option, a file chooser is opened to select files with ".dat" or ".dst" extensions. Upon acceptance, the entities are automatically stored in the geometry repository and displayed in the graphical area. 
A fitting of the view may be needed to see all the entities properly.
Since AutoGrid5™ uses the name of curves and surfaces to access them, no duplicate is allowed. During importation of a geometry file, AutoGrid5™ checks for name duplication. When an entity being loaded has the same name as an existing entity in the current session, a dialog box is opened with different possibilities:


FIGURE 36 Importation options dialog box.
Replace:
When using this mode, AutoGrid5™ replaces the existing curve or surface by the one being imported. At the end of importation, AutoGrid5™ remaps all the vertices and edges lying on the replaced entities so that the topology of the grid fits onto the new geometry.
This mode should be used when using the current project as a template. See the chapter related to templates for additional information.
Don’t Load:
When using this mode, the entity having the same name will NOT be imported in the session.
Auto Rename: 
When using this mode, AutoGrid5™ imports the entity and automatically modifies its name so that it becomes unique in the current session. If no replacement is desired (as described above), this option should be used.
Import -> External Grid
File/Import/External Grid... is used to import inside the current AutoGrid5™ project a block grid generated either by IGG™/AutoGrid5™ (using File/Export/Block Coor... menu item) or by another grid generator. A file chooser is opened to select a file with a ".dat" extension. Several file formats are available:

Block data file
Surface data file (2D or 3D wireframe)
Multiple surface data file (2D or 3D wireframe)

See the IGG™ User Manual - Input & Output Files for a detailed description of the formats. Upon selection of a valid file, a new block (or several for multiple data files) is created and put at the end of the list of blocks. For "Surface data file", which represent surfacic meshes, only face 1 of the block is created. For 2D meshes, the z coordinate is set automatically to 0 for all the points. AutoGrid5™ automatically creates the block topology (edges) by using the boundary grid points of the block.
Import -> Face Grid
File/Import/Face Grid... is used to import and copy a 2D or 3D grid surface to the active face or to a BC patch on this face. A file chooser is opened to select a file, which must have a ".dat" extension and have the Surface data file format (see the IGG™ User Manual - Input & Output Files for more information about this format). The type of surface and the edge creation mode are indicated from the keyboard input area. If the edges of selected surface are on the boundaries and the edge creation flag is on, the segments of that edge are created as polylines. 
When the active face contains several patches, the imported grid can be copied on the entire face or on one of its patches. In this case, the following prompt(s) appear:
Surface (=0) or Patch (=1) ? (q)
>>   1
Patch number (1...3) ? (q)	   (if previous answer is 1)
>>   2
Then the following prompt will appear to specify if edges must be reconstructed by using the face boundary grid points:
Create boundary segments (y/n) ?
>>   y
Import -> Topology
The option File/Import/Topology... allows to re-use an existing IGG™/AutoGrid5™ project on a similar geometry by importing all the topology and grid information from the related ".igg" file. The complete current project is deleted before importing. During the import operation, the following happens:

all the geometry entities are discarded from the imported project.
the geometry groups are loaded, emptied from any curve or surface.
the grid information like number of blocks, connection between blocks, clustering,... is kept.
the blocks topology (vertices and edges) is kept, as well as their position and shape.
the face generation recording, including the projection on geometry groups is kept.

Then, to use the imported topology on a similar geometry, do the following:

Import the new geometry with the File/Import/IGG Data... or IGES... options.
Redefine the geometry groups by selecting the proper surfaces and by adding them to the existing groups (right button press on a geometry group pops up a menu for adding or removing the current geometry selection).
Remap all the vertices manually onto the new geometry. New vertices may be added if the topology of the new geometry has changed.

Regenerate the faces with the Regenerate Face option. It is to be noted that face projected onto a geometry group will be successfully re-projected if the groups have been redefined as described in the previous operation.
Import -> CATIA V5
The option File/Import/CATIA V5... reads external geometry files in CATIA format up to R26. Several CATIA files can be opened when defining the geometry.
Whatever the units of the CATIA V5 geometry, it will be automatically converted in meters. For example a curve of 100 [Millimeter] length will present a length of 0.1 into AutoGrid5™.
CATIA V5 file is read by the DATAKIT cross-CAD library and converted into a Parasolid™ file. The DATAKIT feature added in the NUMECA license will replace TTF-based libraries, also maintained to ensure backward compatibility. The TTF library is upgraded to v7.9.0.9 to allow importation of CATIA V5 files up to R19.
DATAKIT cross-CAD library is exclusively available on Windows 64 bits and Linux 64 bits while TTF library is not available on Windows 64bits.
Running Windows 64-bits, an additional Windows security patch is required to enable CATIA V5 import with Datakit. For more details, link to http://www.microsoft.com/ downloads/details.aspx?dispalylang=en&FamilyID=766a6af7-ec73-40ff-b072-9112bab119c2.
Import -> Parasolid
The option File/Import/Parasolid... reads external geometry files in Parasolid™ format ".x_t". Several Parasolid™ files (Parasolid™ and CATIA V5) can be opened when defining the geometry.
The supported Parasolid™ version is 28.1.228.
A geometry can be correctly represented only if it is fully included in a cube between the points (-500,-500,-500) and (500,500,500) due to the Parasolid™ library limitation.
Import -> IGES
File/Import/IGES... menu is used to import CAD data stored in the standard IGES format. When names are defined for entities the IGES file, AutoGrid5™ uses them for the new entities created in the repository. When these names are already used by existing entities, a dialog box is opened to resolve the conflict. See the menu option File/Import/IGG Data... for details about the dialog box.
This option provides a powerful browser to scan the content of an IGES file and selectively import IGES entities recognized by AutoGrid5™. In the case of composite curves and surfaces, the browser allows to view each component defining the entity and to select them individually.
Filters, reserved to expert users, allows to filter the data viewed by the browser. Each filter corresponds to a criterion defining if entities with the corresponding attribute set accordingly will be displayed in the browser/imported. 
It might be useful to uncheck the Blank Filter/Blanked item in order to import only the entities meant to be visible and get a clear view of the intended geometry. The same holds for the Entity Use Filter with only the geometry item checked.
For the Subordinate Filter items, it might be useful to also have the both item checked if top-level entities cannot be translated, preventing the importation of their depending entities.
The Filters default settings have the following items checked: all Blank Filter items, all Entity Use Filter items but the definition item, the Subordinate Filter independent and logical items, all Hierarchy Filter items.


FIGURE 37  IGES file browser
See the IGES reference manual for a complete understanding of all filter values. The list of available IGES entities that can be imported in AutoGrid5™ are presented in the next table.





Entity Type Nr
                    
Entity Type
                    




100
                    
Circular Arc
                    


102
                    
Composite Curve
                    


104
                    
Conic Arc
                    


106
                    
Copious Data (only curves and not points in AutoGrid5™
                    


110
                    
Line
                    


112
                    
Parametric Spline Curve
                    


114
                    
Parametric Spline Surface
                    


116
                    
Point
                    


120
                    
Surface of Revolution
                    


122
                    
Tabulated Cylinder
                    


126
                    
Rational B-spline Curve
                    


128
                    
Rational B-Spline Surface
                    


130
                    
Offset Curve (only uniform offset in AutoGrid5™)
                    


140
                    
Offset Surface
                    


142
                    
Curve On Parametric Surface
                    


144
                    
Trimmed Parametric Surface
                    


158
                    
Sphere
                    


196
                    
Spherical surface
                    



When units are imposed in the IGES file, these are purely informative and will not be used by AutoGrid5™.
Import -> geomTurbo
File/Import/geomTurbo... is used to load "geomTurbo" files coming from AutoGrid4™ or AutoGrid5™.
Import -> PLOT3D
File/Import/PLOT3D... is used to import inside the current AutoGrid5™ project block(s) generated either by IGG™/AutoGrid5™ (using File/Export/PLOT3D... menu item) or by another grid generator. The imported file must have a ".g" extension and have the PLOT3D file format, as described in IGG™ User Manual - Input & Output Files.
The following dialog box is opened to select a file with a ".g" extension and the corresponding file format.


FIGURE 38 Input file and file format selection
The following file types can be selected in the File type entry:

ASCII
Binary single
Binary double
Unformatted single
Unformatted double

Binary stands for C binary files whereas Unformatted stands for Fortran binary files. Single and double describe the precision of reals.
Then three buttons are provided to select the remaining file specifications. These ones must be specified only for binary files (the buttons are deactivated when ASCII type is selected). The two first radio buttons allow to select the binary order in the file: little or big ending. The last button specifies if the file is single or multi-block.
The desired file can be selected by entering its full path name into the Plot3D File entry or through a file chooser opened by pressing the icon () next to the file entry.
Upon selection of a valid file, the blocks of the imported file are created and put at the end of the current list of blocks. AutoGrid5™ automatically creates the block topology by using the block coordinates.
Import -> CGNS
File/Import/CGNS... is used to import CGNS grid files inside the current AutoGrid5™ project. CGNS is a widely used standard for the exchange of CFD data. In particular it is very well suited to exchange meshes and boundary conditions between heterogeneous systems. Block coordinates and boundary conditions are read from the ".cgns" file. Only connections of type CON can be read and performed automatically by AutoGrid5™.
It is to be noticed that a CGNS file is automatically created during the saving of a project, using the File/Save options. This file can be reread by AutoGrid5™ using this option or exchanged with other CGNS compliant systems.
The imported file must have a ".cgns" extension and must be a valid CGNS format, as described in IGG™ User Manual - Input & Output Files.
A file chooser is opened to select a file with a ".cgns" extension. Upon selection of a valid file, the blocks of the imported file are created and put at the end of the current list of blocks. AutoGrid5™ automatically creates the block topology by using the block coordinates.
Import -> GridPro
File/Import/GridPro... is used to import inside the current AutoGrid5™ project block(s) created by the GridPro grid generator. 
A file chooser is opened to select a GridPro file. Upon selection of a valid file, the blocks of the imported file are created and put at the end of the current list of blocks. A message indicating what block is read appears in the AutoGrid5™ message area. AutoGrid5™ automatically creates the block topology by using the block coordinates. Blocks connection information is read by IGG™and patch decomposition is automatically performed. Periodicity information is not read from the file and must be specified manually within AutoGrid5™, when required, using the Grid/Periodicity... and Grid/Boundary Conditions... menu items.
Preferences
The File/Preferences opens a dialog box to control the default settings of AutoGrid5™.
This dialog box contains four pages. All the parameters are validated by pressing the Apply button, which applies the option and automatically saves them in the file ~/.numeca/igg.preferences. When starting AutoGrid5™, this file is read automatically and the preferences are restored directly. If this file cannot be found, the system is initialized with default settings.
Grid Control & General Page
Import CAD Streamwise Direction is used to specify the preference for streamwise direction during CAD import.
If the preference is changed after opening the Import CAD window, the axis in this window will not be changed. A new session should be started.
Number of grid levels is used to define the default number of grid levels (lower or equal to 7) of the generated mesh when starting a project from scratch. 
Number of threads is used to define the default number of processors used when generating the mesh but also when performing block interpolation, grid quality checks and block negative cells computation. 
When no parallel license is available, a warning will appear in the shell ("Warning: no parallel license available, will run sequentially") and the mesh generation will start in sequential.
The blade-to-blade mesh generation is not parallelised for HOH topology.
Depending on the case, there is no warranty on the scalability, especially on its linearity with the number of threads (e.g. the multi-threading performances are not optimal when dealing with Parasolid due to the layers intersection process). It can even occur that increases too much the number of threads will increase the total generation time (e.g. a lot of threads for a quite small mesh).




Saving Page


Backup when saving (.bak) is used to make a backup of the geometry and topology files at saving. AutoGrid5™ makes a backup of the project using a ".bak" extension (<projectname>.igg.bak).
Ask quality check when saving option is used to make automatically some tests on the grid each time a project is saved. It includes:

A calculation of the number of multigrid levels available in the I, J and K directions for the whole grid.
A calculation of the negative cells in single and double precision.
A rough idea of the grid quality (extremum values) in terms of orthogonality, aspect ratio and expansion ratio.

The results are displayed in a dialog box appearing automatically just after the saving.
CGNS Format/ADF (Compatible with CGNS2) and CGNS Format/HDF5 options are used to select the format of the CGNS v3 file. The default format is ADF and is compatible with CGNS v2.
Save CGNS patch info / family name control option is used to save automatically in many formats including CGNS, info related to the boundary conditions and connections. In AutoGrid5™, groups of patches of same boundary condition type including rotor/stator are automatically created and are saved with predefined family names.
In addition the option Save CGNS patch info / family name control allows: 

to display and control manually the family name for the patches and the blocks under the Grid/Boundary Conditions... and the Grid/Grid Settings... menus. These family names are used in many formats including CGNS to define patch and block groups.
            
to display also the Rotor Stator control (Grid/Boundary Conditions... menu) which allows manual definition of a rotor-stator interface. This option is used to define rotor/stator interfaces for export from IGG™ to CGNS, but also to CRUNCH CFD.
            

Family name options/Keep row name option is used to control the way the row names and blade names are saved: 

"ROW(<i>)" and "BLADE(<i>)" where i is the row and blade number when Keep row name is not active.
row and blade names imposed in AutoGrid5™ (Quick Access Pad/Rows Definition) when Keep row name is active.

Family name options/Short name option allows to use shorter family names when saving CGNS patch info in ".cgns" file or when exporting CEDRE or Fluent native formats.
When option is active, the Keep row name option has no effect and is considered as not active.
Family name options/Blade pressure/suction sides option allows to create two family names, one for the pressure side (<row_name>+"_"+<blade_name>+"_PS") and one for the suction side (<row_name>+"_"+<blade_name>+"_SS") instead of one family name (<row_name>+"_"+<blade_name>) to group all blade patches.
To consider the new preferences, the project should be reloaded or regenerated in AutoGrid5™
To consider the new names of row or blade in the family names after generating the 3D mesh, the mesh should be regenerated otherwise family names will still contain the previous names.
Keep Left Handed Orientation After Saving option. When saving the mesh, left-handed blocks are converted to right-handed. When the option is active, after saving the mesh, they are reconverted back to left-handed in the GUI. At project loading, the blocks converted to right-handed at saving are converted back to left-handed whatever the option is active or not. For a new template created in AutoGrid5™ v13.1, all the left-handed blocks are converted to right-handed at the end of the mesh generation. Therefore this preference has no more effect. (New in AutoGrid5™ v13.1)
Graphics Page


The Graphics Driver flag is used to select the driver OPENGL or OPENGL2/ X11 (on Linux) or MSW (on Windows).
When launching AutoGrid5™ from FINE™ (through the Modules menu), the graphic driver will be read from the registry key but when launching AutoGrid5™ alone, the graphic driver will be read from the preferences.
The Visibility flag is used to control the rendering of graphic objects during dynamic viewing operations. With full visibility, all graphic objects are displayed during viewing operations, which may slow down the system response. When partial visibility is selected, only grid boundaries are displayed during viewing operations.
Turn On Additional Lights option allows to enhance the lightening for shaded representations.
Edges width frame allows to control the width of the block edges displayed in the graphics area. The width of the active block edges can be controlled by Highlight width and the width of other block edges by Normal width.
Grid Line Width allows to control the width of the grid lines displayed in the graphics area.
Geometry Curve Width allows to control the width of the geometry curves displayed in the graphics area.
Meridional channel shading option allows to have the channel in the meridional view represented with shading.
B2B Full Mesh Visibility option allows to see the mesh moving in the blade to blade view when applying the modified blade to blade mesh parameters. This option is interesting for demo purposes but it is not recommended to keep it active when generating the 3D mesh. 
B2B Full Quality Visibility option allows to see the mesh skewness (orthogonality) field moving in the blade to blade view when applying the modified blade to blade mesh parameters. This option is interesting for demo purposes but it is not recommended to keep it active when generating the 3D mesh.
Automatic 3D Mesh Viewing option allows to see the 3D solid mesh (View/Hide 3D Solid Mesh) when loading a project or after generating the mesh.
Layout Page


This page allows to control some aspects of the AutoGrid5™ graphical interface.
Quick Access Pad is used to toggle the Quick Access Pad.
Control Area toggles the visibility of the control area at the bottom of AutoGrid5™ main window. It allows to use a larger part of the screen for better graphics rendering, but cannot be used during the interactive generation of a mesh, since it hides the keyboard input area and the viewing buttons.
Balloon Help is used to activate or deactivate the on-line balloon help available in AutoGrid5™. When activated, help balloons are displayed when the cursor is located on some buttons or icons.
Progress Status is used to toggle the progress status window when performing the mesh generation.
Quit
	File/Quit is used to end the interactive session. A dialog box is inserted to confirm the end of the session. Please notice that the current work is NOT automatically saved when exiting AutoGrid5™.

Project Setup
The project setup can be divided in 3 main steps: 


Geometry & Configuration Definition
The geometry & configuration definition step is only needed if the project is initialized from external CAD file. In this case, the configuration of the machine must be set through the subpad Row Definition of the Quick Access Pad (for example the row contextual menu items Add Row Downstream/Upstream in Expert Mode allow to add respectively a row downstream or upstream the selected row). The link with the geometry must be done manually through the Import CAD window before starting the grid generation.


Global Parameters Settings
The global parameters settings involves the definition of the periodicity for each row, the shroud and hub gap definition and the first cell width at the solid wall definition.


These parameters can be imposed in the first steps of the row wizard as presented in previous figure (more details in Geometry Definition) or in different contextual menus in Expert Mode:

the periodicity in the row contextual menu Properties,
the shroud and hub gap definition in the row contextual menu Gap/Fillet/Define Shroud Gap & Gap/Fillet/Define Hub Gap,
the first cell width at the solid wall definition using Mesh Control/Row Mesh Control/Cell Width in the Quick Access Pad.

Row Properties
The row contextual menu item Properties in Expert Mode opens the dialog box Row Properties. The options and parameters available in this dialog box control the mesh generation of the rows. 


Periodicity
The parameter Periodicity defines the number of main blade passage into the row. It defines the pitch angle of the blade to blade domain pitch = 2PI/periodicity.
Number of Geometry Periodicity
Usually the geometry is specified for one main blade passage: main blade and possibly the splitter surfaces. If the geometry is specified for 2 blade passages, the parameter Number Of Geometry Periodicity must be set to 2. This option is useful for dissymmetric blading.
Rotation Speed
The parameter Rotation Speed is an information not used by the grid generation process. However it will be used in FINE™ GUI.
Hub/Shroud/Shroud Gap Non-Axisymmetric
These options allow to control the hub, shroud and shroud gap when non-axisymmetric. All these options are explained in details in sections Non-Axisymmetric Hub/Shroud and Non-Axisymmetric Shroud Gap.
Tandem Row
The parameters Tandem Row must be set to With Next/With Previous in case of tandem row. This is taken into account during the blade to blade grid generation process to improve the quality of the initial mesh (before optimization).
Number of Meshed Passages
The option allows to mesh multiple passages by duplication and rotation of the original blade passage mesh. The specified value should be defined between the number of geometry periodicity and the periodicity number.
The multiple mesh passages generation is not available for blade or end-walls including coolings.
Number of Repetition
By default, when selecting the menu View/toggle 3D Solid View, a single blade of each row will appear in the 3D view.
The number of blades in the graphics area can be repeated for each row individually using the Number Of Graphics Repetition parameter available in the Row Properties dialog box. Activate the Default option to see a complete view of all the blades of the selected row.
Hub/Shroud Gap
The row contextual menu item Gap/Fillet/Define Hub/Shroud Gap in Expert Mode opens the dialog box allowing to control the geometry and the meshing parameters of the gap as presented in section Hub/Shroud Gaps Control.
Cell Width
The Cell Width imposed in the subpad Mesh Control in Expert Mode will allow to impose the cell width at the hub, shroud, shroud and hub gap, and the cell width at the wall in the blade to blade mesh. Afterwards, the cell width can be controlled in the meridional and in the blade to blade views (refer to Meridional Control and Blade to Blade Control chapters).
B2B Topology Definition
The mesh topology is controlled by either the type of machines and the expected number of points in the row wizard steps (more details in Row Wizard) or by Mesh Control/Grid Level page of the Quick Access Pad and the button Initialize Topology & Grid Points Distribution of the top menu bar in Expert Mode:


When using the row wizard, according to the machine type and the expected number of points, AutoGrid5™ will choose and adapt the most appropriated mesh generation parameters available in AutoGrid5™ Expert Mode.
When using the button Initialize Topology & Grid Points Distribution of the top menu bar in Expert Mode, the default O4H topology is set up automatically. It defines the topology and the grid points distribution in the mesh. During this process, AutoGrid5™ searches an optimized topology according to some geometrical criterion and the grid level selected through the Mesh Control/Grid Level page of the Quick Access Pad:



The button Initialize Topology & Grid Points Distribution applies to the active row(s).
The total number of points resulting from the automatic default topology settings depends of the geometry, the number of splitter, the shroud and/or hub gap definition (Coarse ≈ 150,000 points, Medium ≈ 300,000 points and Fine ≈ 1,000,000 points per blade).

Quick Access Pad

The Quick Access Pad is located in the left part of the GUI. It contains icons and more evolved options providing a fast access to the more used functions of AutoGrid5™. Some of these functions are only accessible through the Quick Access Pad whereas others are also accessible through the menu bar, so that their description will be referenced to these menus.
The pad is divided into four subpads, each of which can be toggled by a simple mouse left-click:

Rows Definition subpad
Geometry Definition subpad
Mesh Control subpad
View subpad

All the commands and options accessible with these subpads are described in detail in this section. The four subpads are composed of pages containing buttons, icons, input areas. The icons perform specific function related to the subpad and the page. Each page can also be toggled by a simple mouse left-click.


FIGURE 45 Quick Access Pad

View Menu


The View menu options provide a set of display options to visualize the grid boundaries, surface and block grids, repetition, hidden lines and rendered surfaces. The viewing parameters and projection can also be modified interactively. 
Patch Viewer
The menu is described in detail in section Patch Viewer.
Sweep Surfaces
The menu is described in detail in section Sweep Surfaces.
Coarse Grid
The menu is described in detail in section Coarse Grid.
Repetition
The menu is described in detail in section Repetition.
Face Displacement
The menu is described in detail in section Face Displacement.
View Depth
View/View Depth menu allows to control the view depth. This depth is used for all interactive geometry editing operations with the mouse.
When using the option, the new depth for the active view is imposed by entering the coordinates of the reference point:
New reference pt coordinates (q)
>>  0 0 0
All subsequent inputs with the mouse will be at z = 0. To quit this option, enter <q> and press <Enter>.
Toggle 3D Solid View
The menu is described in detail in section Toggle 3D Solid View.
View/Hide 3D Solid Mesh
The menu is described in detail in section View/Hide 3D Solid Mesh.
View 3D Solid Block
View/view 3D Solid Block is used to show in the 3D view the mesh on the solid blocks (shading and mesh).This option is not a toggle, the View/Patch Viewer... menu has to be used to adapt or to clean the visualized solid mesh.


Toggle Throughflow Mesh
View/toggle throughflow mesh is used as a toggle to show the throughflow mesh in the meridional view. This mesh is used for the initial turbomachinery solution available in FINE™ GUI.


Toggle Tool Bar / Symbolic View / Configuration/IGG Panel
View/Toggle Tool Bar is used as a toggle to show or hide the toolbar presented in Toolbar.
View/Toggle Symbolic View is used as a toggle to show or hide the symbolic view presented in Symbolic View.
View/Toggle Configuration Panel is used as a toggle to show or hide the quick access pad presented in Quick Access Pad.
View/Toggle IGG Panel is used as a toggle to show or hide the quick access pad of IGG™ available when activating the 3D view or performing a 3D technological effect as presented in the Edit Mode section and in IGG™ User Manual.

Hub/Shroud Gap
When the blade geometry is not connected to the hub or shroud surface of revolution, a gap should be defined on the blade. The Gap Properties dialog box (more details in Hub/Shroud Gaps Control) is accessed by right-clicking on the selected blade or row in the main graphics area and by selecting Gap/Fillet/Define Hub Gap or Gap/Fillet/Define Shroud Gap from the list of commands. An alternate method consists in right-clicking over the row or the Main Blade (splitter) in the Rows Definition subpad of the Quick Access Pad.


FIGURE 13 Gap Properties dialog box
When the gap has been added, a popup menu is available in the Rows Definition subpad of the Quick Access Pad when right-clicking on Hub gap or Shroud gap items allowing to modify the settings of the gap or to delete the gap.

Meshing Similar Geometry & Batch Mode

When a particular turbomachinery configuration has been meshed within AutoGrid5™, the original template files of the project can be used to mesh automatically similar geometries.
In AutoGrid5™ when using an existing template for different geometry, it is not sufficient to rename the template as the ".geomTurbo" file (as in AutoGrid4™). It is mandatory to use a ".geomTurbo" file presenting the same row and blade names as the ones used in the template (e.g. when using a new ".geomTurbo", only the geometrical entities with the same naming as the ones used in the template file will be replaced).


FIGURE 14 Batch Generation
The original template file and ".geomTurbo" file are first duplicated using the menu item File/Save Template As. The geometry in the duplicated ".geomTurbo" file is then replaced by the user by a similar geometry. Finally, AutoGrid5™ is launched in batch mode using command lines arguments specifying the template ".trb" file, the geometry ".geomTurbo" file and the target location of the mesh files:
igg -niversion <version> -autogrid5 -batch -trb <template file> -geomTurbo <geomTurbo file> -mesh <mesh file> -print on Linux,
iggx86_64.exe -autogrid5 -batch -trb <template file> -geomTurbo <geomTurbo file> -mesh <mesh file> -print on Windows.
where <version>, <template file>, <geomTurbo file> and <mesh file> are respectively the version number and the full path names of the template file (".trb" extension), the geometry file (".geomTurbo" extension) and the mesh file (".igg" extension).
Multithreading can be used with the additional argument -numproc <np>:
igg -niversion <version> -autogrid5 -batch -numproc <np> -trb <template file> -geomTurbo <geomTurbo file> -mesh <mesh file> -print on Linux,
iggx86_64.exe -autogrid5 -batch -numproc <np> -trb <template file> -geomTurbo <geomTurbo file> -mesh <mesh file> -print on Windows.
Example

igg -niversion 131 -autogrid5 -batch -trb /usr/user1/template/template1.trb -geomTurbo /usr/user1/geometry/geometry1.geomTurbo -mesh /usr/user1/mesh/mesh1.igg on Linux,
iggx86_64.exe -autogrid5 -batch -trb c:/usr/user1/template/template1.trb -geomTurbo c:/usr/user1/geometry/geometry1.geomTurbo -mesh c:/usr/user1/mesh/mesh1.igg on Windows.


The location of the grid quality report file can also be specified using the command line: -qualityReport <quality report file full path name>.
The option -real-batch can also be specified to allow to generate the mesh in batch mode without the need of a display: igg -niversion 131 -real-batch -autogrid5 -trb ....
When the original geometry has been specified through external CAD geometry files, the similar geometry CAD files can also be specified using the command lines: -dat <geometry file 1> -dat <geometry file 2> ...

Required Licenses
Standard AutoGrid5™ License
The standard license for AutoGrid5™ allows for the use of all basic features of AutoGrid5™ including:

CAD importation and geometry management (except CATIA V5),
single row and multistage management,
skin, HOH and H&I blade-to-blade topology management,
mesh wizard (except for wind turbine and propeller),
introduction of blade to blade cut,
no meridional technological effect,
no 3D technological effect,
no solid mesh, cooling channel, holes, pin fins and ribs.

Additional Licenses
Within AutoGrid5™ the following features are available that require a separate license:

parallel mesh generation,
CATIA V5 importation,
introduction of bypass configuration,
introduction of meridional technological effect,
wind turbine and propeller mesh wizard,
introduction of 3D technological effect,
introduction of solid mesh, cooling channel, holes, pin fins and ribs.

Next to AutoGrid5™ other products are available that require a separate license:

FINE™/Turbo (structured mesh generator - solver - visualization software),
FINE™/Design3D (3D inverse design),
HEXPRESS™ (unstructured mesh generator),
HEXPRESS™/Hybrid (unstructured mesh generator),
FINE™/Open (unstructured mesh generator - solver - visualization software),
FINE™/Marine (unstructured mesh generator - solver - visualization software).

Expert Mode GUI

An overview of the complete layout and all items in the AutoGrid5™ Expert Mode interface are described in more detail.


FIGURE 34 AutoGrid5™ Graphical User Interface (Expert Mode)

Import CAD
The Import CAD window is started by clicking on Import and Link CAD (in Expert Mode) or Init From an External CAD File (in Basic Mode) in the Quick Access Pad Geometry Definition subpad.


FIGURE 2 Import CAD window

File Chooser

For file management (opening and saving of files) AutoGrid5™ uses the standard file chooser window. The layout of the file chooser depends on the used operating system but a typical layout is shown in FIGURE 58. The directories and files list allows to browsing through the available directory structure to the project directory.
In the case a file needs to be opened an existing file should be selected in the list of available files. In the case a new file needs to be created the user can type a new file name with the appropriate extension.
In the Files of type bar the default file type is set by default to list only the files of the required type.


FIGURE 58 Typical layout of a file chooser

Flow Paths Control

The 3D row meshes generated with AutoGrid5™ are obtained by stacking blade to blade meshes on surfaces of revolution generated from meridional curves called flow paths. Each row of the project has its own set of flow paths. In Expert Mode, the default number of flow paths is equal respectively to 33, 57, 97 (if the blade is without hub/shroud gap) according to the grid level chosen during the topology initialization (coarse, medium or fine mesh) when clicking on button Initialize Topology & Grid Points Distribution of the top menu bar. This number can be modified in the dialog box available through the menu item Mesh Control/Row Mesh Control/Flow Path Control in Expert Mode. When using the row wizard, the number of flow paths is controlled in the Control Layer dialog box.


FIGURE 4 Flow path definition
If the default flow path definition generated by AutoGrid5™ is not suitable for the project configuration or for the CFD computation, the features of the dialog box Row: Flow Paths Control can be used to obtain a complete control of the flow path definition. This dialog box is available through the menu item Mesh Control/Row Mesh Control/Flow Path Control in Expert Mode.

View Menu



The View menu options provide a set of display options to visualize the grid boundaries, surface and block grids, repetition, hidden lines and rendered surfaces. The viewing parameters and projection can also be modified interactively. 
Patch Viewer
View/Patch Viewer... is used to visualize selected patches in wireframe or solid mode to produce full rendered pictures of the grid. The dialog box provides control over the colour and transparency effects for each patch.
Patch Browser
The patch browser (see FIGURE 4) lists all the patches in the grid, according to the current Block, Face, Patch or Type filters. In this browser, one or more patches can be selected with the left mouse button.
It is possible to select several patches at once in the following way:

While holding the <Ctrl> key down, select the desired patches in the browser.
While holding the <Shift> key down, select two patches delimiting a range of patches.
While pressing the left mouse button, drag the mouse and release the left button to select a range of patches.



FIGURE 4 Patch Viewer dialog box
Filters
The different filters allow to display specific patches of a grid in the browser while hiding the others. The Block, Face and Patch filters work together and allow to display patches by indices. For example:
Block Filter: 	'*'
Face filter: 			'1 2'
Patch filter:	'*'
shows in the browser all the patches of faces 1 and 2 of all the blocks. '*' means ALL. The Face filter allows also to select a boundary face by choosing imin, imax, jmin, jmax, kmin or kmax. These items can be shown and selected by left-clicking on the Face filter arrow.
The Type filter is very useful to list all the patches of a given type (according to the other filters). In particular it allows to easily identify the periodic and connected patches (PER, PERNM, CON, NMB) and the patches that have not any type yet (UND).
Patch visualization
To assign a color to one or several patches:

 Select the patches in the patch browser,
 Select one color from the predefined colors or from customized colours (Ed. button),
 Press the Show Grid (wireframe representation) or the Show Solid (solid representation) button.

To hide the patches representation, proceed in the same way by pressing the Hide Grid or the Hide Solid button. 
It is possible to make some patches semi-transparent by specifying a transparency factor on the selected patches. The transparency factor can vary from 0 (no transparency) to 1 (highly transparent). By default, the transparency factor is only applied when pressing the Show Solid button. This default may be overwritten by activating the Full Visibility toggle button. In this case, the transparency effect will be recomputed each time the transparency slider is moved. 
Since the rendering of transparent patches is computationally intensive and may take up to several minutes, it is not advised to use the Full Visibility flag on large grids.
Sweep Surfaces
View/Sweep Surfaces... is used to scroll the constant grid index surfaces within 3D grid blocks. If the active block is not generated or has been modified since the last generation (by moving a vertex, for example), the following message will appear:


FIGURE 5 Message indicating that the block may be regenerated
It asks for block regeneration. If the block is not generated and that the no button is pressed, the dialog box of the next figure will appear but without being able to do something except pressing the Close button. If the block has been modified since the last generation (a block is not automatically regenerated after modifications of its topology) and that the no button is pressed, the mesh that will be interactively displayed may look quite strange.
Mesh sweeping is done through the following dialog box:


FIGURE 6 Sweep Surfaces dialog box.
The Block box allows to choose the active block in which the surface grids will be scrolled. Next to this box, the active block name and the amount of grid points in each direction (according to the coarse grid levels selected) are displayed.
It is to be noticed that setting the Block to 0 allows to scroll the grid surface on all blocks. 
The I, J and K scrollers allow to interactively sweep the surface grid along the three directions. While scrolling, surface grids are displayed for each constant index direction.
Coarse Grid
View/Coarse Grid is used to view in the meridional, blade to blade and 3D views the selected coarse grid level in the active view. When selecting the menu, a dialog box allows to impose the Coarse Grid Level to plot.


FIGURE 7 Coarse level viewer 
In the meridional and blade to blade views, the option is available when respectively the flow paths and the blade to blade mesh are generated.
In the 3D view, the coarse grid levels can be plotted on the active block or grid. To select the scope (active block or grid), set the viewing scope (see the Quick Access Pad/View/Grid page description) to Block or Grid mode. The active coarse grid levels are taken into consideration while:

displaying the block faces and boundary conditions patches on all active views,
saving the block or face coordinates,
scrolling the block surface grids or cells.

These graphical representations are automatically updated after each change to the coarse grid levels.
The finest grid level is identified as 1. The smallest number of grid points for coarse levels is 2. The coarsest level is computed and updated in each index direction separately. The keyboard input area is used to enter the desired levels within available ranges. 
Repetition
View/Repetition... opens the following dialog box to control the repetition of the blocks on the active view (in 3D and blade-to-blade views only):


FIGURE 8 View Repetition dialog box
For each block, the number of repetition desired can be set in the Nb Repet entry. The repetition of all blocks can be displayed or hidden respectively by pressing the Show or Hide button.

To perform a repetition, AutoGrid5™ takes the information about the periodicity of each block (angle, rotation axis,...) in the Grid/Periodicity dialog box (menu available in Expert Mode). By default, the repetition is not displayed.
Face Displacement
View/Face Displacement menu allows to adapt the view if interferences are appearing between the grid lines and the shading.
When the block face grids are visualized, in both wireframe and solid modes (shading), visual interference may be produced between the grid lines and the shading. For this reason, AutoGrid5™ slightly shifts the grid lines towards the user to get a correct picture. 
This shift is controlled by the Face displacement. This parameter represents the amount by which the grid is shifted along the view plane normal vector (normal to the screen), and is used to correct the display when combining wireframe and solid representations. 
The following window is shown to enter the face displacement (higher or equal to 1).


Apply and Close to respectively apply the new parameter and close the window.
View/Hide 3D Solid Mesh
View/view 3D Solid Mesh and View/hide 3D Solid Mesh are used to respectively show or hide in the 3D view the mesh on hub and blades (shading and mesh on hub/blades). Furthermore, the View/Patch Viewer... menu can be used to adapt or to clean the visualized solid mesh.


Toggle 3D Solid View
View/toggle 3D Solid View is used as a toggle to show shaded view of the complete hub and single blade on each of the rows of the turbomachine in the 3D view.
In Expert Mode, the number of blades in the graphics area can be repeated for each row individually using the Number Of Graphics Repetition parameter available in the Row Properties dialog box. Activate the Default option to see a complete view of all the blades of the selected row.


FIGURE 9 3D solid view with graphics repetition

Sheet on Blade
A sheet can be added on the blade by right-clicking on the selected blade in the main graphics area and by selecting Define Sheet from the list of commands. An alternate method consists in right-clicking over the Main Blade (splitter) in the Rows Definition subpad of the Quick Access Pad, then in selecting Define Sheet from the list of commands.
The sheet on blade is not compatible with span interpolation, sharp treatment, control lines on blade, throat control and conjugate heat transfer/cooling options.



In the meridional plane, AutoGrid5™ imposes flow paths at the upper and lower sheet limit, while in the blade-to-blade view, AutoGrid5™ imposes grid point clustering at the upstream and downstream limits. The blade sheet is defined by 5 geometry characteristics:

	the upper and lower limits,
the upstream and downstream limits,
	the sheet width.



In the Sheet Lower/Upper Zone dialog boxes available by right-clicking over the Lower/Upper Zone in the Rows Definition subpad and selecting Properties, the upper and lower limit control is performed using a way similar to the tip gap. For both, the user can control the width and clustering in the spanwise direction through a dialog box identical to the dialog box used to control the gap or the fillet.


The lower/upper zone are identical for all the blades of the same row.
In the Blade Sheet Properties dialog box available by right-clicking over the Sheet in the Rows Definition subpad and selecting Properties, the upstream, downstream limits and 	the sheet width can be controlled.


Lower Side, Upper Side, Both Side. A sheet can be added on the lower, the upper or on both sides of the blade. 
Distance From Leading/Trailing Edge. The sheet upstream and downstream limits are defined by giving a distance from the leading and the trailing edge along the blade chord.


Streamwise Npts Near Leading/Trailing Edge. The streamwise number of points can be controlled before and after the sheet definition (N1,N2). The number of points on the sheet is equal to the number of points on the blade lower side and/or on the blade upper side - (N1+N2-2).


Width. The sheet width can be controlled. The skin block width is equal to the sheet width (w) multiply by 2. Mid-clustering is imposed to capture the boundary layer of the sheet. The optimization of the skin block is switched off.

Getting Started


Welcome to the AutoGrid5™ User's Guide, a presentation of NUMECA's fully automatic grid generator for turbomachines. This chapter presents the basic concepts of AutoGrid5™ and shows how to get started with the program by describing:

Graphical User Interface


When launching AutoGrid5™ as described in chapter Getting Started the interface appears in its default layout (Basic Mode) as shown in FIGURE 1. Two user modes Basic Mode/Expert Mode are available and accessible in the toolbar (User Mode).


FIGURE 1 AutoGrid5™ Basic Mode Interface
The Basic Mode GUI will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient. When selecting Expert Mode (FIGURE 2), the user will have access to all parameters presented in the Expert Mode GUI section and in Chapters 5 to 12. These parameters may be useful in some more complex projects. 
The user mode can be defined and controlled with the variable "autogrid5_mode" in the file ~/.numeca/igg.preferences set to 0 or 1 respectively for Basic Mode or Expert Mode. When starting AutoGrid5™, this file is read automatically and the preferences are restored directly. If this file cannot be found, the system is initialized with default settings (Basic Mode).


FIGURE 2 AutoGrid5™ Expert Mode Interface.
Together with the AutoGrid5™ interface, a Open Turbo Project Wizard window is opened, which allows to open an existing project. See Open Existing Template/Project for description of this window.
A File Chooser window is available for browsing through the file system and to select a file. More detail is given on the File Chooser section.

Menu Bar
The menu bar gives access to several options which can be useful during the setup of a project.

The pull-down menu File used to import and/or export geometry data in several CAD formats.
The pull-down menu Geometry used to perform some geometry editing operations such as creation of geometric entities
The pull-down menu Edit used to specify the rotation axis of the configuration being defined.
The pull-down menu View used to perform interactive viewing operations.
The pull-down menu Select used to perform interactive selection operations.
The pull-down menu Tools used to measure distance and angle in the view.

File Menu



Open...
File/Open... is used to import geometry data from a file. A file chooser is opened to select a CAD file with one of the following extensions:

'.igs', '.IGS', '.iges', '.IGES' : IGES files.
'.dat', '.geom', '.dst' : IGG™ geometry files.
'.X_T', '.xmt_txt' : Parasolid™ files.
'.geomturbo', '.geomTurbo' : AutoGrid™ geometry files.
'.CATpart' : CATIA V5 files (license key required).



FIGURE 3 Data Files selection window
A geometry can be correctly represented only if it is fully included in a cube between the points (-500,-500,-500) and (500,500,500) due to the Parasolid™ library limitation.

When units are imposed in the IGES file, these are purely informative and will not be used by AutoGrid5™.
Open IGES
File/Open IGES is used to import CAD data stored in the standard IGES format. When names are defined for entities in the IGES file, AutoGrid5™ uses them for the new entities created in the repository.


FIGURE 4 IGES file browser
This option provides a powerful browser to scan the content of an IGES file and selectively import IGES entities recognized by AutoGrid5™. In the case of composite curves and surfaces, the browser allows to view each component defining the entity and to select them individually.
Filters, reserved to expert users, allows to filter the data viewed by the browser. Each filter corresponds to a criterion defining if entities with the corresponding attribute set accordingly will be displayed in the browser/imported. 
It might be useful to uncheck the Blank Filter/Blanked item in order to import only the entities meant to be visible and get a clear view of the intended geometry. The same holds for the Entity Use Filter with only the geometry item checked.
For the Subordinate Filter items, it might be useful to also have the both item checked if top-level entities cannot be translated, preventing the importation of their depending entities.
The Filters default settings have the following items checked: all Blank Filter items, all Entity Use Filter items but the definition item, the Subordinate Filter independent and logical items, all Hierarchy Filter items.
See the IGES reference manual for a complete understanding of all filter values. The list of available IGES entities that can be imported in AutoGrid5™ are presented in the next table.






Entity Type Nr


Entity Type






100


Circular Arc




102


Composite Curve




104


Conic Arc




106


Copious Data (only curves and not points in IGG™)




110


Line




112


Parametric Spline Curve




114


Parametric Spline Surface




116


Point




120


Surface of Revolution




122


Tabulated Cylinder




126


Rational B-spline Curve




128


Rational B-Spline Surface




130


Offset Curve (only uniform offset in IGG™)




140


Offset Surface




142


Curve On Parametric Surface




144


Trimmed Parametric Surface




158


Sphere




196


Spherical surface




When units are imposed in the IGES file, these are purely informative and will not be used by AutoGrid5™.
Export/All Geometry...



File/Export/All Geometry... is used to save all geometry curves and surfaces into an ASCII file with extension ".dat", using the IGG™ geometry file format, combined with a Parasolid™ ".xmt_txt" file.
Export/Parasolid...
File/Export/Parasolid... is used to save the selected geometry curves and surfaces into a Parasolid™ format. It was already automatically done when saving the project for Parasolid™ entities (e.g. from Parasolid™ or CATIA import) but not for SISL entities (e.g. entities manually created in AutoGrid5™, IGES import). In AutoGrid5™, only wireframe and sheet bodies are created from a collection of curves and surfaces and no volume model. 
Close
File/Close closes the current Import CAD session and opens a new one. All curves and surfaces are removed without been saved from the geometry repository. 
Exit
File/Exit is used to close the Import CAD window.
The geometry entities imported in the Import CAD window session are not deleted by this action. When reopening the Import CAD window, it shows still all entities.
Geometry Menu


The Geometry menu provides simple and efficient tools to create, edit and delete points, curves and surfaces. Without having the complexity of CAD systems, it allows to create wire or surface models from scratch or to complement imported geometries. The menu allows to:

create and edit basic and advanced curves and surfaces,
visualize and probe the geometry entities,
perform advanced geometry operations such as surface-surface intersection, offsetting... including attraction features to points, curves and surfaces.

The Geometry menu is inherited from the IGG™ technology. Please refer to the IGG™ User Manual.
Edit Menu
Geometry Axis...



Edit/Geometry Axis... is used to specify the rotation axis of the rotating parts of the configuration under definition by the user. By default, the z-axis is assumed to be this rotation axis. The rotation axis is defined by the position of the origin of the axis (X,Y,Z coordinates) and a direction vector (dx,dy,dz components). The modification is validated when pressing Apply.


View Menu
View Solid



View/View Solid is used to toggle the display of the solid triangulated representation for the selected surfaces. If a surface does not have any triangulated representation yet, one will be created with default settings.
A triangulated representation with custom settings can be generated using Geometry/View/Prepare View.
Select Menu
Surfaces



Select/Surfaces allows the user to select or unselect one or more visible surfaces with the mouse. When selected, the boundary curves of the selected surfaces appear highlighted in yellow (default) else they appear in blue. 
Surface selection is possible by simple positioning of the mouse over the surface. When several surfaces are stacked on top of each other, AutoGrid5™ provides a way to sweep through the surfaces before selecting the desired one. The following prompt appears when selecting this option:



Subsequent operations are done with the mouse in the graphics area:

Move the mouse to a surface to select (unselect). The surface is ready for selection (unselection) when it becomes highlighted in blue.
Left-click to select (or unselect) the surface. The surface changes its highlight to reflect its new selection status.
It is possible to select several surfaces at once by defining a selection rectangle. This rectangle can be specified by pressing the left mouse button without releasing it and dragging the mouse. Releasing the left button will select all the surfaces totally included in this rectangle.
When several surfaces are stacked on top of each other, in the direction of the user's eyes, AutoGrid5™ takes by default the closest surface to the user. The user can sweep through the surfaces by middle-clicking the mouse, until the desired surface is highlighted. Left-click then allows to select the highlighted surface.
Pressing the right button or <q> terminates the selection process.

It is possible to select or unselect all surfaces at once by pressing <a> in the graphics area. The first time <a> is pressed all the surfaces are unselected. The next time, <a> acts as a toggle.
Curves
Select/Curves allows the user to select or unselect one or more visible curves with the mouse. When selected, the curves appear highlighted in yellow (default) else they appear in blue. The following prompt appears when selecting this option:



Subsequent operations are done with the mouse in the graphics area:

Moving the mouse over a non-selected curve highlights it,
Pressing the left mouse button selects it,
Pressing one more time unselects it,
Pressing the left mouse button without releasing it and dragging the mouse draw a rectangle. Releasing the left button selects all the curves having a part in this rectangle,
Pressing the right button or <q> terminates the selection process.

It is possible to select or unselect all curves at once by pressing <a> in the graphics area. The first time <a> is pressed all the curves are unselected. The next time, <a> acts as a toggle.
Surface List ...
A surface chooser, showing all the surfaces in the geometry repository, is opened to select the surfaces. The selected surfaces are highlighted. To make one or more surfaces selected, choose them with the left mouse button in the chooser, then press Apply. The boundary curves of the surfaces are automatically highlighted in yellow in the graphics area.


The <Ctrl> key is used in combination with the left mouse button to select several surfaces in the chooser.
The <Shift> key is used in combination with the left mouse button to select a range of surfaces in the chooser. A range of surfaces can also be selected by pressing the left button, dragging the mouse and releasing the left button.
A filter, using regular expression search, is provided to select or unselect surfaces by their name.
Curve List ...
A curve chooser, showing all the curves in the geometry repository, is opened to select the curves. The selected curves are highlighted. To make one or more curves part of the selection, select them with the left mouse button in the chooser, then press Apply. The curves automatically appear highlighted in yellow in the graphics area.


The <Ctrl> key is used in combination with the left mouse button to select several curves in the chooser.
The <Shift> key is used in combination with the left mouse button to select a range of curves in the chooser. A range of curves can also be selected by pressing the left button, dragging the mouse and releasing the left button.
A filter, using regular expression search, is provided to select or unselect curves by their name.
Invert Selection
Select/Invert Selection toggles the selection status for each curve and surface in the geometry repository. The geometry selection representation, which is highlighted in yellow in the graphics area, is automatically updated
Hide Selection
Select/Hide Selection hides the selected curves and surfaces, i.e. the selected curves and surfaces are no longer visible in the graphics area.
Curves and surfaces visibility can be controlled further by using Geometry/View/Curves... and Geometry/View/Surfaces...
Tools Menu
Tools/Distance and Tools/Angle allow the user to respectively measure a distance or an angle in the view.

Graphics Area & Views
The menu is described in detail in section Graphics Area & Views.

Project Initialization

AutoGrid5™ provides two different ways to initialize a new project according to the type of the geometry definition (".geomTurbo" or external CAD file). The dialog box Create a new Project (available through the menu item File/New Project) lets the choice between a manual initialization from external CAD file and an automatic initialization from a ".geomTurbo" file.


FIGURE 3 Project initialization dialog box
As mentioned in the previous chapter, the ".geomTurbo" file contains data used to set up automatically the number of rows and to link the geometry contained in the files.

Main Menu Bar

The menu bar contains a part of available options of AutoGrid5™. Menu items can be activated using click and drag or click and release modes.

Duplicate Blade Geometry/Topology

For some turbomachinery configuration like aircraft engines, it could be interesting to mesh the stator upstream the nozzle arms with staggered angle varying with the azimuthal location of the blade. Starting from a single stator blade, the option allows to duplicate the blade together with a rotation around the blade and the rotation axis as presented in the next figure.


FIGURE 21 Aicraft engine configuration
The Blade Duplication dialog box is accessed by right-clicking on the selected blade in the main graphics area and by selecting Duplicate from the list of commands. An alternate method consists in right-clicking over the Main Blade (splitter) in the Rows Definition subpad of the Quick Access Pad, then in selecting Duplicate from the list of commands.


FIGURE 22 Blade Duplication dialog box
The following parameters control the blade duplication:

the amount of duplicates,
the rotation angle step around the machine axis (default = row pitch angle),
the rotation angle around the blade axis,
the blade axis definition (blade rotation axis and anchor point).

The button Compute Default Axis computes a default blade axis location by giving its parametric location along the blade chord at the shroud using the entry Normalized axis location on the chord. The default blade axis is always defined along a radial direction (Z=0).


FIGURE 23 Rotation around the blade axis
When pressing the button Duplicate, new blades are automatically added to the configuration tree. Their geometries are copied from the original blade and rotated using the defined parameters. The new blades inherit all the topological settings of the original blade.


FIGURE 24 Blade duplication of "Main Blade"
When the blade is duplicated, in the Row Properties dialog box, the Number Of Geometry Periodicity of the row and the Number Of Meshed Passages fields are automatically updated according to the amount of duplicates.

Mesh Control Subpad
The mesh control subpad is divided into three pages containing buttons and interaction areas used to control the mesh of the active row(s). Left click to open or close the desired page. 


FIGURE 50 Mesh control subpad
In this subpad, the number of points used to mesh the selected entities (rows and technological effects) is displayed and continuously updated following the modifications of the mesh generation parameters. 
Grid Level Page
The buttons and the input area of the grid level page are used to set up a default mesh.Four grid levels are available to define the number of points used to mesh the selected row(s). The button Initialize Topology & Grid Points Distribution (re)set a new default mesh topology according to the geometry configuration and the chosen grid level. The button Row Wizard allows to access the mesh wizard mode in order to mesh the selected row in few steps by defining few parameters (more details in Geometry Definition).


FIGURE 51 Grid level control
The option Detailed Control allows:

to control the number of grid levels per row (lower or equal to 7). The imposed value can be different from the one imposed in the preferences (section ar.1) "Grid Control Page" on page 2-59). 

When loaded project/template is presenting a number of grid levels different from user preference, a warning will appear.



The number of grid levels is not respected when using userdefined or HOH B2B topology and when adding 3D technological effect.
For bypass configuration, the blocks near the nozzle at the rotor/stator interface will respect number of grid level of the main channel row and not the one of the bypass row if different.
When the number of points becomes very important (e.g. in a gap), the B2B mesh generation algorithm may fail. Workaround: decrease manually the cell width and/or expansion ratio.
For high staggered topologies, for the inlet(-outlet)Up(-Down) number of points that have to be projected on the blade, it is not possible to find a location on the blade that ensures a good orthogonality of the mesh. Workaround: increase manually number of points on blade.
For bulb configuration, to ensure number of grid level in the final 3D mesh, number of grid level +1 should be imposed locally manually.

to increase the number of points in the streamwise direction respectively at the inlet, on the blade and the outlet.

Row Mesh Control Page
The buttons and input area of the row mesh control page are used to control all the grid generation parameters of the selected row(s).


FIGURE 52 Row mesh control
Quick access is given for the main parameter defining the cell width.
Additional buttons give access to several dialog boxes used to control all the expert grid generation parameters.
TABLE 15 Mesh Control buttons






Icon


Description









Open the flow paths control dialog box. 







Open the dialog box dedicated to the blade to blade topology control.







Open the optimization properties dialog box.







Open the dialog box dedicated to the 3D controls.







Create new control lines in the meridional view.




Active B2B Layer Page


FIGURE 53 Active layer control
The input area of the active B2B layer page, is used to change the flow path on which the mesh is computed and displayed in the blade to blade view.

Grid Menu



The Grid menu includes the connectivity and boundary conditions definitions, as well as the grid quality tools.
Boundary Conditions

Grid/Boundary Conditions... menu item allows to check or to serve three different purposes performed automatically within AutoGrid5™:

To divide the faces of the grid into patches, for grid generation purposes.
To specify the boundary conditions on these patches, as input to a flow solver.
To establish connection between the patches.

When invoking the menu item, a dialog box is opened:


Patch Browser
The patch browser lists all the patches in the grid, according to the current "Block", "Face", "Patch", "Type", "Nb levels" or "Name" filters. In this browser, a patch can be selected with the left mouse button. This patch is automatically visualized in the graphics area according to the visualization options in the dialog box:

Show Grid will display the grid of the patch.
Show Solid will display the patch as a solid face.

It is possible to select several patches at once in the following ways:

 While holding the <Ctrl> key down, select the desired patches in the browser.
 While holding the <Shift> key down, select two patches delimitating a range of patches.
 While pressing the left mouse button, drag the mouse and release the left button to select a range of patches.

The last patch selected is always the ’current patch’ for manual connections and patch editing.
Filters 
The different filters allow to display specific patches in the browser while hiding the others. The "Block", "Face" and "Patch" filters are cumulative and allow to display patches by indices. For example:
Block Filter: 	’*’  (’*’ means ALL)
Face filter: 			’1 2’
Patch filter:	’*’
shows in the browser all the patches of faces 1 and 2 of all the blocks. The "Face" filter allows also to select a boundary face by choosing imin, imax, jmin, jmax, kmin or kmax. These items can be shown and selected by left-clicking on the "Face" filter arrow.
The "Type" filter is very useful to list all the patches of a given type (according to the other filters). In particular it allows to easily identify the connected patches (CON, NMB, PER, PERNM) and the patches that have not any type yet (UND).
The "Nb levels" filter can be used to see the list of patches for a given multigrid level.
The "Name" filter allows to display patches by name. Enter or choose an expression. All the patches of which the name contains this expression will be listed.
Patch Type Specification
An option menu allows the setting of the boundary condition type for the selected patch(es). The possible boundary condition types are the following:

UND : undefined type.
INL : inlet.
OUT : outlet.
EXT : external. Used to impose farfield conditions.
SOL : solid. Used for walls.
SNG : singular. Used for patch degenerated into a line.
MIR : mirror. Used to impose a symmetry plane.
ROT : rotating. Used for rotor-stator interaction.
CON : matching connection.
NMB : non matching connection.
PER : periodic matching connection.
PERNM : periodic non matching connection.

The following types can be set manually: INL, OUT, EXT, SOL, SNG, ROT, MIR. To set such a type, left-press on the Set Patch Type button of the dialog box; a list with all the types that can be set manually appears. Move the cursor to the desired type and release the left button to set it to the selected patch(es).
If a patch is involved in a full non matching connection, a "*" will appear next to the patch type. 
Patch Definition & Editing
The patch definition mode is enabled by pressing the Edit Patch >> button. The dialog box is then enlarged to show a symbolic definition of the current face, as shown in the next figure.


In this example the active face has three patches with a topology indicated in the figure. The current patch is represented in yellow.
The current patch can be changed by clicking with the left mouse button within the rectangle corresponding to the desired patch. The current patch is automatically updated in the browser and in the graphics area.
An information area is used to display information about the current patch (limits, indices and relative orientation of the connected patch if existing, and patch type). See Manual Connectivity Settings section for information about the relative orientation.
The patch definition mode is disabled by pressing the "<<" button.
Automatic Connectivity Search
Automatic connectivity search allows to perform connections between patches (matching and non matching, periodic or not).
For periodic connections, the block periodicity must be set previously by using the Grid/Periodicity... menu item.
Matching connections are obtained between two patches with same number of grid points along the two directions, and when all their points are matching at a specified tolerance. Non matching connections are obtained when some patches points are not matching at the specified tolerance, or when the number of grid points is not the same in one or both directions.
A periodic connection between two patches (PER or PERNM) is equivalent to a simple connection, after application of the periodicity of the block to one of the patch.
The following checks are performed by AutoGrid5™ when trying to connect two patches:

Four patch corners must be matching at the given tolerance ("patch corner" means the patch grid point at the corner of the patch).
Four patch boundaries must be matching at the given tolerance ("patch boundaries" means curves passing through the patch grid points defining the patch limits).
Patch points must lie on a same common surface. For this, some points of the first patch are projected on the surfacic cells of the second patch. An intersection must be found and the distance between the point and its projection must be lower than an internally calculated value based on the given tolerance and the patch dimension.
All the patch points must be matching at the given tolerance. Obviously, when number of grid points is different in one or both directions, this test is never satisfied.

The three first tests are performed for both matching and non matching connections and determine if a connection is possible between the two considered patches. The last test determines if the connection is matching or non-matching. The relative orientation of the two patches is automatically found after the three first tests and is assigned to the connection.
Three interactors are provided with the automatic connectivity search: one field to input the absolute tolerance used to compare point coordinates, another one to delete all connections currently set (CON, NMB, PER, PERNM types) and one to start the search.


To make a new automatic connectivity search on all the patches, left-click on the Delete All button to delete all connections currently set. To delete only some connections, select the corresponding patches and set the patch type to UND by using the related button.
Before starting the automatic search, the tolerance must be adjusted. It is specified in absolute units in the Tol input field. For example, if the mesh coordinates range from 0 to 1, a possible value is 1e-5, whereas if the mesh coordinates range from 0 to 10000, a value of 1e-3 is more appropriate. The default value that is set at the dialog box opening is 1e-5.
It is highly recommended to avoid setting a tolerance close to the patch size, otherwise connection can be wrongly found. For example, having two square patches of size 1 and distant of 2, a tolerance of 3 will connect them whereas they should remain disconnected.
The search can be started by clicking on the Search button. At the end of the operation, the number of simple connections found as well as the number of periodic connections are displayed in the information area. The "Type" filter is automatically set to CON and the corresponding patches are listed in the Patch browser.
It is advised to do this search operation after all the blocks have been properly defined and are ready to be used by the solver.
Manual Connectivity Settings
When automatic connectivity search fails, the manual connectivity option can be activated by pressing the Manual... button. Within this option, the relative orientation of the two selected patches must be entered manually and checks are performed according to the connection type selected to detect if the connection is possible or not. 
This option opens a dialog box shown below:


FIGURE 10 Manual Connectivity dialog box
Firstly, specify the indices of the patch that will be connected to the current patch and the connection type. Patch indices are defined as follows: Block, Face and Patch index. Enter them with the keyboard and validate them by pressing <Enter>.
Secondly, the correct relative orientation of the two patches must be chosen. To define this, a reference patch is needed, which is always in this case the current patch selected in the "Patch browser". In general, with a couple of patches, by taking either the first or the second one as reference, the relative orientation will be different.
In fact, for each patch, two axis can be defined, which are equal in direction and orientation to those of the block to which it belongs. So, there are three possibilities: I, J or K. To connect two patches, their relative orientation must be determined by specifying the correspondence between their axis. It is done by assigning an expression (such as "Ilow", "Khigh") for each axis. (expression = dir 1 for first axis and expression = dir 2 for second one). Dir 1 and dir 2 are determined as follows:

Take the first axis of the reference patch.
 Search the axis of the connected patch which has the same direction, that is to say X (where X is I, J or K).
If the two axis have the same orientation, dir 1 = "Xhigh", else dir 1 = "Xlow".
Do the same with the second axis of the reference patch to determine dir 2.

The first axis of the reference patch has to be chosen as follows:

axis (I, J) -> I
axis (J, K) -> J
axis (I, K) -> I

Example:


Reference patch: Patch 1 - Patch 1 first axis: I - Dir 1: Klow - Dir 2: Ihigh
Indeed, it can be seen that Patch 1 axis I increasing corresponds to Patch 2 axis K decreasing, while Patch 1 axis J increasing corresponds to Patch 2 axis I increasing. The correct relative orientation specification should consequently be: "Klow", "Ihigh".
After pressing "Apply", AutoGrid5™ checks whether the connection is possible or not. A warning appears if the connection cannot be set.
Full Non Matching Connections
This type of connection allows to connect several patches of several blocks with non matching boundaries. The definition of such connection consists of the following:

A connection name.
A list of "left" patches defining one side of the connection.
A list of "right" patches defining the other side of the connection.

The patches in one list are not restricted to belong to the same face or same block.
It is to be noticed that full non matching connections are always defined on top of existing patches and that these ones must have a valid basic type (no undefined type (UND)), even if the patch is entirely contained in the connection region. In the case a patch has an undefined type (UND) and is used in the definition of the FNMB (full non matching boundary), AutoGrid5™ automatically sets its type to solid (SOL). This is required by the solver to run properly. However, the type is not reset to UND when deleting a FNMB connection, even if the SOL type has been set automatically by AutoGrid5™.
The following rules must be respected when performing FNMB connections:

A patch can be contained in only one list (either the left patches list or the right one) and one type of FNMB connection (fluid-fluid or fluid-solid).
For periodic FNMB connections, all the patches defining the connection must have the same periodicity information.



FIGURE 11 Full Non Matching Connections dialog box
To define and edit full non matching connections:
Press the Full Non Matching/Define... button of the Patch Selector dialog box (Grid/Boundary Conditions... menu).
The Full Non Matching Connections dialog box contains two patch browsers to define the left and right patches lists. The use of the patch browsers and filters is the same as for the Patch Selector dialog box. A list containing the connections already defined is displayed on the right of the dialog box.
To define a FNMB connection:

Select the patches defining the "left" side. These patches are highlighted in yellow in the graphics area.
Select the patches defining the "right" side. These patches are highlighted in blue.
Enter a name for the connection.
Select the Periodic button to define a periodic FNMB connection.
Select the Repetition number to allow periodic FNMB connection that is not covering the same area (option compatible with EURANUS starting from FINE™/Turbo 7.1-1). The number of repetition has to be set in order to fully cover one side (yellow patch(es) - "left" side list of patch(es)) with the other side (blue patch(es) - "right" side list of patch(es)) and its repetition.




Press on the Create/update button to define the FNMB connection.
This connection will appear in the connection list.

Once a connection is created, patches can be added and/or removed from it. Simply update patches lists by clicking on them and press the Create/update button.
To compute a FNMB connection:
Once a connection is defined, it is possible to visualize the triangulation of the common region by pressing the Compute & Show button. This triangulation is not directly used in AutoGrid5™ but only serves to visualize the triangulation that will be used by the solver and to verify that the connection is correctly performed. Calling this item is optional in AutoGrid5™. This calculation can be performed on the desired grid level by selecting it freely in the Grid level computed entry (this parameter is global and not saved in connections). Moreover several parameters can be controlled by pressing the Options button. It opens an additional frame:


FIGURE 12 FNMB computing parameters
The process of the computation involves that one side of the connection is triangulated whereas the other side is projected on it. Default values should normally be used. If the computation fails, parameters can be tuned. These parameters are local to each connection and saved into it, therefore to be taken into account they must be set before creating the connection or the button Create/update must be pressed once a parameter is modified.
ADT algorithm: to use the new projection algorithm based on the use of the Alternating Digital Trees (ADT). The main advantage of this method is a decrease of the time required by the projection stage.
Reverse triangulated side: to reverse the triangulated side which is by default the one containing the greater number of points.
Maximum projection distance: when the projection distance of a point is greater than this value, it is rejected.
Minimum projection distance: when all the points of a patch (contained in the projected side of the connection) have a projection distance greater than this value, the patch projection is rejected.
Normals smoothing steps: before projection, some smoothing steps are done on the projection normals.
Edge attraction: after the triangulation process, while projecting the vertices on both the sides of the FNMB, sometimes the projections end close to some boundary of the triangles, which impacts negatively on the robustness of the treatment. The edge attraction tolerance removes this impact and forces the projected point to belong to the triangle boundaries whenever necessary.
To view and/or delete an existing FNMB connection:

Left-click on the desired connection in the connection list to select it.
The patches participating in the definition of the connection will be automatically highlighted in the dialog box as well as in the graphics area. A "*" is also displayed next to the patch type to indicate that the patch is involved in a FNMB connection. If the computation of the triangulation was performed for this connection, it will also be shown on the screen.
To list only the patches involved in the desired connection, middle-click on it in the connection list.
Press the Delete button to delete the selected FNMB connection (the type of the corresponding patches is unchanged).

Rotor/Stator Connections
The tool is available when Save CGNS patch info / family name control option is active in the Autogrid Preferences dialog box (Preferences). This type of connection allows to connect several patches of several blocks with rotor/stator boundaries. The definition of such connection consists of the following:

A connection name.
A list of "left" patches defining one side of the connection.
A list of "right" patches defining the other side of the connection.

The patches in one list are not restricted to belong to the same face or same block.


It is to be noticed that this tool is only required to have a grouping of patches in several output formats, including the ".cgns" format, and only when saving from IGG™ but not from AutoGrid5™.
Family Names
The tool is available when Save CGNS patch info / family name control option is active in the Autogrid Preferencesdialog box (Preferences). The tool allows to impose user-defined family names on selected patches. To define user-defined family names:

Select patch(es) in the list,
Type user-defined family name under Set Family Name and <Enter>.

The specified family names are limited to 32 characters.
The specified family names are only saved to have a grouping of patches in several output formats, including the ".cgns" format, for external solver and are not read when reading a project. Therefore, if a project is read and directly saved, the specified family names will disappear.
Grid Quality
This item gives access to a tool for performing an analysis of the flow paths quality (if meridional view active), of the grid quality of the blade-to-blade mesh (if blade-to-blade view active) and on the final 3D mesh generated (if 3D view active). The following dialog box will appear:


FIGURE 13 Mesh Quality dialog box
This dialog box contains two or three pages, one dedicated to analyze the grid quality on all block cells (inside the blocks and not between the blocks), and the second to the grid quality at the block boundaries (boundary faces), including matching connections with adjacent blocks. The items for both pages are similar and described here after. The quality criteria are just slightly different. The last page (FNMB) only available for the 3D mesh allows to control the mesh quality along the full non matching connections.
The Row list or Block entry allows to choose the row or block in which the quality will be analyzed. It is selected by respectively its name or its number. Each change must be validated by pressing <Enter> to recompute the quality checking. 

In meridional and blade-to-blade views, if all rows selected (left-click and <Shift>), the mesh quality is analyzed on all rows.
In 3D view, if 0 is entered, the mesh quality is analyzed on all the blocks of the grid. Next to this entry, the selected block name and the grid points number in each direction are displayed. By default, when opening this dialog box, the active block is selected. If the selected block is not generated or has been modified since the last generation (by moving a vertex, for example), the following message will appear:



FIGURE 14 Message indicating that the block may be regenerated
It asks for block regeneration. If the no button is pressed, the quality analysis is not performed.
The next entry Butterfly block is a special item dedicated to butterfly topologies allowing to choose the butterfly block in which the quality will be checked. When the block selected in the first entry is a parent block, the second entry is activated, displaying the number of the butterfly block which is analyzed. The range goes from 0 to 6. The number 0 represents the inner block and is therefore always present. The other numbers between 1 and 6 represent the parent face number and thus the associated buffer blocks. If there is no associated buffer, the corresponding number does not appear.
The Quality Criterion frame is used to choose the criterion type which will be used to analyze the block cells quality. The criterion is chosen through the Type pull-down menu. According to the criterion, a preferential direction can be chosen through the second pull-down menu Direction (only for Block page in 3D view). It is used when the criterion gives different results along different directions (for example 2D criterion applied on surfacic cells). When it is not the case, this menu is deactivated. The following possibilities are available: All, I, J or K. ’All’ is equivalent to the three directions I, J, K. Moreover, a range can be selected for each criterion; each range modification must be validated by pressing <Enter>.
The Visualization control frame is used to select the representation mode of the cells. Cells can be displayed with markers and/or with a shaded representation (Cells button). Markers are useful to detect cells that cannot be seen with the shaded representation only. Moreover, cells shading can be deactivated to greatly improve the speed of representation. In the shaded representation, cells are shaded with a different color according to their quality value. The link between colors and values is established by a colormap which is displayed in the graphics area after the tool selection. The range of the colormap is automatically updated according to the criterion range. The cells can be displayed as surfaces (in meridional, blade-to-blade and 3D views) or volumes (in 3D view) by switching on the corresponding button.


The Display frame is used to show in the AutoGrid5™ graphics area the cells falling inside the quality criterion range. The Display all cells (All cells) button shows all the bad quality cells of the selected block(s). The Sweep cells scrollers, only available in 3D view, allow to sweep the selected block to display cells by constant I,J,K face.
The Show chart button is used to toggle a histogram displaying the result of the quality checking. Left-clicking on a bar displays the corresponding cells in the AutoGrid5™ graphics area.


FIGURE 15 Quality analysis histogram
The entry Number of intervals is used to select the number of bars of the histogram. The default value is 5 and the maximum number is 10. Each new number must be validated by pressing <Enter>.
The More info button is used to toggle a window giving more information about the quality checking: minimum and maximum values with their location (and possibly the block number in which they are detected if the check is performed on all the blocks in the 3D view).


Quality Criterion Definitions (Block Page)
These criteria are dedicated to evaluate the grid quality on whole cells of a block.

Criterion class
Two classes can be defined according to the type of cell on which criterion is applied: 

2D criteria: application on surfacic cells (quadrilateral cells)
3D criteria: application on volumic cells (hexahedral cells)


Obviously, the number of cells falling in the criterion range is always greater for a 2D criterion than for the equivalent 3D one because an hexahedral cell contains six quadrilateral cells. This means that, for a 2D criterion, the number of cells falling in the range can easily be greater than the block number of points.
On the other hand, as 2D criteria are applied on surfacic cells, they are all direction dependent.

Criteria definition
Following criteria are available:

Overlap,
Orthogonality,
Angular Deviation,
Aspect Ratio,
	Expansion Ratio,
Cell Width.


Each one is described here below.
Overlap
2D criterion available in meridional view. Range: 0 - 1. Overlap allows to detect overlapping cells (flow paths) in the meridional view when the value is set to 1.
Orthogonality
2D criterion available in blade-to-blade and in 3D views. Range: 0 - 90 degrees. Orthogonality is a measure of the minimum angle between edges of the cell. If angle between two edges is greater than 90 degrees, the value taken into account is (180 - real angle).
Angular deviation
3D criterion available in 3D view. Range: 0 - 180 degrees. Angular deviation is a measure of the angular variation between two adjacent cells in I, J and K directions.


FIGURE 16 Angular deviation definition
Aspect ratio
2D criterion available in blade-to-blade and 3D views. Range: 1 - 50,000. If the calculated value is outside the range, the value is reset to 50,000.3


FIGURE 17 Aspect Ratio definition
Expansion ratio
3D criterion available in meridional, blade-to-blade and 3D views. Range: 1 - 100. Expansion Ratio is a measure of the size variation between two adjacent cells. It is direction dependent. If the calculated value is outside the range, the value is reset to 100. Obviously, this criterion is nonsense if there is only one cell in the selected direction.


FIGURE 18 Expansion Ratio definition
Cell width
3D criterion available in 3D view. Range: 0 - 1,000,000. Cell width is the height of the cell measured along I, J and K directions. If the calculated value is outside the range, the value is reset to 1,000,000.
Quality Criterion Definitions (Boundaries Page)
These criteria are dedicated to evaluate the grid quality at the boundaries of a block (boundary faces), including matching connections with adjacent blocks (only CON and PER boundary faces are considered).
Following criteria are available:

Orthogonality (available in blade-to-blade and 3D views),
Angular Deviation (available in blade-to-blade and 3D views),
	Expansion Ratio (available in meridional, blade-to-blade and 3D views),
Cell Width (available in 3D view),
Cell Width at Wall (available in 3D view).

Each one is described here below.
Orthogonality
Range: 0 - 90 degrees. Orthogonality is a measure of the cell angle relatively to the block boundary (face). If angle is greater than 90 degrees, the value taken into account is (180 - real angle).


FIGURE 19 Orthogonality definition
Angular deviation
Range: 0 - 90 degrees. Angular deviation is a measure of the angular variation between two adjacent cells, the first one being in the current block and the adjacent one in the matching connected block. Obviously, this criterion is nonsense if there is no matching connected block.


FIGURE 20 Angular deviation definition
Expansion ratio
Range: 1 - 100. Expansion Ratio is a measure of the size variation between two adjacent cells, the first one being in the current block and the adjacent one in the matching connected block. Obviously, this criterion is nonsense if there is no matching connected block. The definition is the same as for the Block page (see before).
Cell width
Range: 0 - 1,000. Cell width is the height of the cell measured normally to the block boundary (face). If the calculated value is outside the range, the value is reset to 1,000.
Cell width at wall
Range: 0 - 1,000. Cell width at wall is the height of the first cell close to the wall measured normally to the solid wall. If the calculated value is outside the range, the value is reset to 1,000.
As the criterion is applied on all solid patches, it will also be applied on solid patches of FNMB connections, even if there are not real walls (e.g. periodic FNMB streamwise connection inside a ZR effect or periodic FNMB connection of a row).
Quality Criterion Definitions (FNMB Page)
These criteria are dedicated to evaluate the grid quality across fully non-matching boundary (FNMB) connections.
FNMB connection must be computed with the fine mesh level before checking the quality.
Following criteria are available:

Expansion ratio
Cell Width Ratio
Inner Gap
Relative Inner Gap 

Each definition is described here below.
Expansion Ratio
Range: 1 - 100. This computes the expansion ratio perpendicularly and through the FNMB for each cell involved in the FNMB connection. This criterion is symmetric, which means the result is the same on the left and right parts of the FNMB. 
Cell Width Ratio
Range: 0 - 1,000. This computes the difference of cell size between each side of the FNMB. It is available for each cell involved in the FNMB connection. It identifies how many cells are connected to the cell considered. The criterion takes into account the "wall fraction", which means one left cell is connected to only a part of a right cell. Then the ratio will be balanced according to the size of the connected part. This criterion is not symmetric, which means the result is not the same on the left and right parts of the FNMB. 
Example: One cell (A) on the left, four cells (B, C, D and E) on the right covering exactly the left cell. The result will be 4 for cell A (because this cell is connected to 4 right cells) and 0.25 for each right cell, B, C, D or E (because each one is connected to only 0.25 part of the left cell).


For this criteria the lower values are not too important, it is more the maximum value that should be considered. Really small values (~1e-5) can easily happen on the boundaries (due to the difference of mesh discretization even a value 0 as in the above example for cell 2 that is not crossing cell A.
Inner Gap
Range: 0 - 1e6. This computes the gap between the left and right side of the FNMB (absolute distance). It is available for each cell involved in the FNMB connection. This criterion is symmetric. 
Relative Inner Gap
Range: 0 - 1,000. It is exactly the same as the previous criterion except that the result is balanced with the cell size perpendicular to the FNMB. It enables the user to have a better idea on how the order of magnitude of the gap is compared to the cell size around FNMB. The cell size taken into account can be either the one of the left or the right side (depending on which side has been done the FNMB projection) but it does not matter as if the cell size is too different on both sides, the expansion ratio criterion will be bad.
Grid Quality Report
A mesh quality report can be displayed with the top menu item Grid/Grid Quality Report. It includes the characteristics of the mesh in terms of minimum and maximum of the expansion ratio, the expansion ratio and the angular deviation along spanwise direction (J), the aspect ratio and the cells skewness (orthogonality). These data are available for the entire mesh or by configurations entity (row, technological effect, bulb).


FIGURE 21 3D grid generation and quality check
Negative cells are detected and indicated on top of the histogram as well as the blocks where there are located at the bottom of the histogram. The number of multigrid levels of each entity (row and technological effects) is listed in the Nb levels column.
If the spanwise angular deviation exceeds 40 degrees, a warning appears at the bottom of the window that indicates the blocks where the maximum value has been reached.
Negative Cells
Grid/Negative cells... is used to compute, store the indices and show the cells with a negative volume. The following dialog box is provided to select calculation preferences:


FIGURE 22 Preferences dialog box for Negative cells calculation
Four preferences can be controlled:

Scope: determines whether the calculation will proceed on the active block or on all blocks.
Coord Sys: specifies whether calculation should proceed using a left-handed local reference frame for each cell or a right-handed one.
Precision: specifies whether to perform calculation in single or double precision.
This preference is the most important to control. Indeed, AutoGrid5™ always works in double precision. However some solvers may work in single precision. Consequently, checking negative cells in double precision in AutoGrid5™, with no negative cells as a result, may give negative cells in the solver !
Coarse Levels: specifies on which multigrid level the calculation should proceed. The All button allows to perform the calculation on all the available uniform multigrid levels at once, "uniform" meaning that the levels are equal in the three directions I, J and K, for example "0 0 0", "1 1 1" and "2 2 2". The "Custom" button allows to select a specific multigrid level, like "1 2 2".

The Apply button performs the negative volumes calculation. If the active block is not generated or has been modified since the last generation (by moving a vertex, for example), the following message will appear:


FIGURE 23 Message indicating that the block may be regenerated
The View neg cells button allows to visualize cells with negative volume. The computation of the negative volumes is performed automatically as a first step. Cells with negative volumes are displayed in a shaded representation and with markers, which are useful to detect cells that cannot be seen only with the shaded representation.
Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
If no cell with negative volume is detected, the message "No negative cells" appears. On the contrary, if there are cells with negative volumes after the complete search, a message like the following will appear:


FIGURE 24 Grid contains cells with negative volume
It shows the number of each block containing negative cells and the corresponding number of negative cells.
For butterfly topologies, the calculation is performed on all the butterfly blocks of the corresponding parent block. The number of negative cells of each butterfly block is added and displayed in the previous dialog box by referencing the parent block.

Grid Menu



The Grid menu includes the connectivity and boundary conditions definitions, as well as the grid quality tools.
Periodicity
Grid/Periodicity... menu is used to define the periodicity for each block of the grid to generate. It can be done in the following dialog box:


FIGURE 39 Periodicity dialog box
The first thing to choose is the Block(s). Four possibilities are available (simply left-click on the desired one in the box):

Active Block. Select only the active block.
Selected Block(s). Select the desired blocks by entering with the keyboard their number in the dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be selected by entering two numbers separated by a '-'. For example, enter '4 6 10-15' to select the blocks 4, 6 and the range 10->15. The numbers do not have to be ordered. If a syntax error is made, a warning message will appear.
Block Group. Select all the blocks of the group. To see all the group names and select the desired one, left-click on the dedicated arrow.
All Blocks. Select all blocks of the project.

Next, the type of periodicity which will be applied to the block(s) must be selected. There are four types available: none, rotation, translation and mirror. Simply left-click on it to select one type.

None: When no periodicity are needed on block(s).
Rotation: A rotation periodicity rotates a block around a given axis by a specified angle. The rotation axis is specified by a rotation axis direction (axis) and an anchor point (origin). The angle is indirectly specified by indicating the number of periodicity for the block (e.g. a compressor with 4 blades should have a number of periodic i ties of 4) and the number of meshed passages is directly specified. 

Translation: A translation periodicity, e.g. a cascade in turbomachinery, is obtained by specifying a translation vector, in direction and magnitude. For example, a translation vector of (0,0,2) will repeat a block along the Z axis by 2 absolute units.
Mirror: A mirror periodicity mirrors a block with respect to a symmetry plane and is specified by the origin and normal of the mirror plane.


The dialog box contains also three buttons at the bottom:

View/Hide Selection: it highlights the selected block(s) in the graphics area.
Apply: it applies the current settings to the specified block(s).
Close: it closes the dialog box.

Grid Settings
Grid/Grid Settings... menu is used to examine or modify all important grid parameters of the segments, edges, faces and blocks of the current project, using a dialog box. 


FIGURE 40 Grid Settings dialog box.
There is no Apply button which implies that the changes in the different input fields take effect IMMEDIATELY after pressing <Enter> or selecting another field, without any possibility of automatic undo.
The dialog box is divided into four different parts:

Block data: The active block index can be specified from the Block box. The total number of grid points in J, K directions and I can be checked in the related box and modified at any time on the active block. The values can be changed by simply left-clicking on the box arrows or with the keyboard. In this latter case, press <Enter> to validate the change.
The Propagate option is used to propagate the changes in number of points to the connected blocks.
See below for a complete description on the change of block limits Imax, Jmax, Kmax and propagation.
The name and the CGNS family name of the block can also be specified respectively in the Name and Family Name fields.
The Family Name field is available when Save CGNS patch info / family name control option is active in the Autogrid Preferences dialog box. 
The specified family names are limited to 32 characters.
The specified family names are only saved in ".cgns" file for external solver and are not read when reading a project. Therefore, if a project is read and directly saved, the specified family names will disappear in the ".cgns" file.
The family names imposed to butterfly parent block are not transferred to butterfly children.
A domain type can be stamped as a fluid or solid domain using the Type drop down menu. Fluid or Solid domain type can be specified for the active block. It helps to enhance the grouping capability as obtained from Grid Configuration page in the View subpad (see View Subpad for more details). The settings imposed here, will also be transferred automatically to the FINE™ GUI.
Face data: The active face index can be specified from the Face box. When changing the active face index, the edge and segment informations are automatically updated.
Edge data: The active edge index can be specified from the Edge box. The total number of segments of the active edge is displayed (it cannot be changed here, it is only for information purpose). 
Segment data: The active segment index can be specified from the Segment box. The number of grid points on that segment is displayed next to this area. The low and high limits of the active segment can be changed with the keyboard from the min and max boxes. Once a new value is entered, press <Enter> to activate the change. The following constraints must be respected:

	new lower limit > lower index of the previous segment
	new upper limit < upper index of the next segment


When changing the limits of a segment, the index of the fixed points delimiting it will be obviously changed. If the new values imply the change of an internal grid line index, it is done automatically without asking any confirmation. However, if the new values imply the change of an internal face index, the following message appears:


FIGURE 41 New block limits imply the change of internal face index
If the no button is pressed, the index will not be changed and the limit will be reset to the previous one.
The dialog box also contains at its bottom two buttons: MG Levels and Close buttons. The first one opens a box containing the table of the MultiGrid levels. It allows to choose a number of grid points in order to have multigrid meshes. The second one is obviously used to close the dialog box.
Changing block limits Imax, Jmax or Kmax
The following considerations have to be taken into account when changing block limits:

The minimum number of grid points in one direction is 2, which corresponds to one cell.
When changing the number of grid points in the I, J or K direction, the faces and block grids affected by the modification are deleted. For example, when modifying the number of points in the K direction, the grids of the faces 3, 4, 5 and 6 are deleted.
Connections with patches of the touched faces are also deleted. Moreover, patch boundaries are resized automatically in order to cover the whole face.
Connected segments remain connected, even if there is an inconsistency with the number of points. It allows to change after the number of points on the connected segment and to keep the connection. Despite this, if the number of points remains different for the two connected segments, the connection will be deleted at the next loading of the project.
When increasing the number of points in one direction, these points are added to the last segment of edges aligned on this direction.
If a block contains an internal face whose constant direction is the same as the one in which the number of points has to be decreased, a message appears when the new number of points is lower than or equal to the internal face index:


It gives the possibility to change the internal face index without leaving the Topology Settings dialog box. If the no button is pressed, the index will not be changed and the limit will be reset to the previous one.
When there are several segments in one direction, the number of grid points in that direction cannot be freely decreased and the following constraint must be satisfied for each edge in the modified direction: the lower limit of the last segment must be lower than the new number of grid points in that direction. In the following example, the edges along the I direction are divided into several segments:



FIGURE 42 Example of segment division
It will not be possible to reduce Imax below 41, since segment s2 on the figure has its lower bound equal to 40. To reduce Imax to 30, for instance, the lower limit of segments s1, s2 and s3 must be manually changed below 30 (the last segment must have at least 2 points). The segments before the last ones may also need to be changed (recall that a segment must have at least two grid points). 
If a bad limit is entered, an error message similar to the following will appear:


It indicates the segment(s) that have to be modified to impose the new block limits. Once the Close button is pressed, the limits are reset to the previous ones.
Grid resizing and propagation
The increasing or decreasing of the number of points on a segment can be automatically propagated along connected blocks. This option drastically reduces the number of operations required to modify the number of grid points in meshes consisting of a large number of connected blocks. 
Propagation is insured through segment connections. This means that if two blocks are connected along some of their segments, changing the number of points of a segment of one block will automatically change the number of points in the other block, along the connection. When several blocks are connected together as a chain (along segment connections), the grid point modification will be performed on all these blocks.
If propagation is disabled, the modification of the number of points will only be applied to the active block and the segment connections (parallel to the reference segment) with other blocks will be deleted to keep consistency.
Resizing of one block
Changing the number of points of an isolated block segment affects all the edges of the block "parallel" to the segment, as shown in next figure.


FIGURE 43 Example of resized block
The distribution of the grid points among the segments of an edge will be proportional to the overlapping between the segments and the initial resized segment. In the previous example, the segment s3 does not overlap with the resized segment and consequently its number of points remains unchanged. Only segments s1 and s2 are affected. The index of the internal edges and internal faces will be adapted consistently.
Limitations

Multigrid
Due to possible division of an edge into several segments and the existence of internal edges or internal faces in the blocks, it is not possible to insure that a block resizing (as a consequence of segment resizing), will conserve multigrid levels for each segment touched by the operation. It is the user responsibility to adapt the index of the segment fixed points.
Patches

The limits of the patches of each face modified during a segment resizing are not changed automatically. The user must explicitly adapt these limits.
 Patch connections are deleted for each face modified during a segment resizing.

Decreasing the number of points of a segment
Decreasing the number of points of a segment can only be performed to a certain limit. When decreasing the size of a segment below a certain limit, it may happen that parallel segments overlapping the reference segment would be assigned a negative value, which is obviously impossible. In this case, the operation will not be performed and a message will be given to the user. The user will have to reduce the number of segments along the parallel edges before attempting to change the size again.

Boundary Conditions
The menu is described in detail in section Boundary Conditions.
Grid Quality
The menu is described in detail in section Grid Quality.
Grid Quality Report
The menu is described in detail in section Grid Quality Report.
Grid Quality Report (HTML)
The Grid/Grid Quality Report (HTML) menu (not available on Windows) allows to automatically write a mesh quality report. When selecting the menu, a window enables to select the images that will be inserted into the report and provides disk usage necessary for the report and images.




Negative Cells
The menu is described in detail in section Negative Cells.
Compute All Fnmbs
Grid/Compute All Fnmbs is used to ease the calculation of the full non matching connections by computing all full non matching connections defined in the menu Grid/Boundary Conditions at once on all available grid levels. A window appear when full non matchings are failing on specific grid level(s).
Internal Grid Line / Internal Face / Create Edge/Face/Block / Grid Density
Grid/Internal Grid Line, Grid/Internal Face, Grid/Create Edge, Grid/Create Face, Grid/Create Block and Grid/Grid Density are used to create and adapt the mesh on a edge or on a face or in the block. The available features are fully described in the Grid Menu chapter of the IGG™ User Manual.

How To Use This Manual
Outline
This manual consists of four distinct parts:

Getting Started and Graphical User Interface,
Meshing Fundamentals,
From chapter Geometry Definition to chapter 3D Generation: Mesh generation and parameters,
Meridional Technological Effect and 3D technological effects.
Cooling & Conjugate Heat Transfer Modules.
Python Script.



At first time use of AutoGrid5™ it is recommended to read this first chapter carefully and certainly sections First Time Use, How to Start AutoGrid5™ Interface and Required Licenses. The Graphical User Interface and Meshing Fundamentals chapters give a general overview of the AutoGrid5™ interface and the way to manage a project. For every mesh generation, the input parameters can be defined as described from chapter Geometry Definition to chapter 3D Generation. Meridional Technological Effect and 3D technological effects chapters give an overview of how to add technological effects in the Meridional or in the 3D view. Cooling & Conjugate Heat Transfer Modules is describing how to define cooling holes, basin, cooling channel with pin fins/ribs and to mesh the solid body (blade and end walls). The Python Script chapteris presenting python commands available within AutoGrid5™.
Conventions
Some conventions are used to ease information access throughout this guide:

Commands to type in are in italic.
Keys to press are in italic and surrounded by <> (e.g.: press <Ctrl>).
Names of menu, sub-menu items and names of buttons in dialog boxes are in bold.
Numbered sentences are steps to follow 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 blue notice indicates an important note.
Keyboard shortcuts are shown in blue italic.
       A light bulb indicates a section with a description of expert parameters.

Toolbar
The toolbar contains icons and buttons providing fast input/output options (See in the related chapters the complete description of the icon functions). These are divided into 6 sections.


FIGURE 25 Top toolbar
User Mode
By clicking on the arrow at the right the user may select the user mode. 



The Basic Mode will give access to a simplified graphical user interface (GUI)Basic Mode GUI. For most projects the available parameters in the Basic Mode are sufficient. When selecting Expert Mode, the user will have access to the GUI and all parameters presented from Chapter Row Wizard. These parameters may be useful in some more complex projects. 
Project Management Icons
These icons are related to the most often used options of project management.
TABLE 1 Project Management icons






Icon


Description










Opens an existing project previously created by AutoGrid5™.
See the File/Open Project







Closes the current project and opens a new empty one.
See the File/New Project 







Saves the current work in the files of the current project.
See the File/Save Project




Mesh Generation Buttons
These buttons are used to start the mesh wizard or the 3D mesh generation.
TABLE 2 Mesh Generation buttons






Buttons


Description









Start the row wizard process for the selected row.







Generate the flow paths, the blade to blade mesh and the 3d mesh of the selected rows.
See the Generate 3D button




View & Mesh Quality Management Icons
These icons are related to view management and the mesh quality analysis.
TABLE 3 View & Mesh Quality Management icons






Icon


Description









Open the Mesh Quality dialog box of AutoGrid5™.
See the Grid/Grid Quality







Open the Grid Quality Check dialog box of AutoGrid5™.
See the Grid/Grid Quality Report







Open the Negative Cells dialog box of AutoGrid5™.
See the Grid/Negative Cells







Open the Patch Selector dialog box of AutoGrid5™.
See the Grid/Boundary Conditions







Select the grid level used by AutoGrid5™ to visualize the mesh.
See the View/Coarse Grid







Open the Sweep Surface dialog box of AutoGrid5™.
See the View/Sweep Surface







Act as a toggle and perform a repetition in the blade-to-blade or 3D views based on the settings imposed by the user in the View Repetition dialog box of AutoGrid5™.
See the View/Repetition







Visualize or hide the solid model of the machine in the 3D view.
See the View/toggle 3D Solid View







Set the active view in full display mode.







Reset the display mode to multiview.




View Management Icons
These icons allow to set any view in full display mode or to reset the display mode to multiview.
TABLE 4 View Management icons






Icon


Description









Set meridional view in full display mode.







Set blade-to-blade view in full display mode.







Set 3D view in full display mode.







Reset the display mode to multiview.




Copy/Paste Row Wizard Settings Icons
The copy/paste wizard settings icons allow the user to apply same row wizard options from one row to others. It is especially dedicated for multistage machine with several rows of same type (i.e. axial compressor or axial turbine).
TABLE 5 Copy/Paste Row Topology icons






Icon


Description









Copy the selected row wizard options into a buffer.







Replace the selected row(s) wizard options by the wizard options stored into the current buffer.

Blade Fillet
The blade geometry can be connected to the hub or shroud surface of revolution by means of a fillet. The Fillet Properties dialog box is accessed by right-clicking on the selected blade or row in the main graphics area and by selecting Gap/Fillet/Define Hub Fillet or Gap/Fillet/Define Shroud Fillet from the list of commands. An alternate method consists in right-clicking over the row or the Main Blade (splitter) in the Rows Definition subpad of the Quick Access Pad.


FIGURE 18 Fillet Properties dialog box
When the fillet has been added, pop-up menu is available in the Rows Definition subpad of the Quick Access Pad when right-clicking on Hub Fillet or Shroud Fillet items allowing to modify the settings of the fillet or to delete the fillet.


FIGURE 19 Fillet popup menu
The fillet geometry can be defined in different ways:


created by AutoGrid5™ with various methods,
imported from Import CAD window using Link to Hub/Shroud Fillet,
incorporated in blade definition either in native ".geomTurbo" or through Import CAD window (Link to Blade).

When the fillet is not created by AutoGrid5™, the parameter Geometry Creation Method is set to None in the Fillet Properties dialog box.
Depending of the mesh topology in the fillet, different methods are proposed in AutoGrid5™ to create the fillet:
B2B section offset

When the Topology is not set to Butterfly:



starting from the fillet flow path (defined either by radius at leading/ trailing edge or an external curve) towards the channel flow paths (hub/ shroud), on each flow path the intersection of the blade is computed.
starting from this intersection, the blade geometry is enlarged according to the local radius. The blade offset is computed to ensure the specified Minimum Angle.
no surface is created and the mesh is directly mapped on the enlarged curves. 



When the Topology is set to Butterfly:



starting from the fillet flow path (defined either by radius at leading/ trailing edge or an external curve) towards the channel flow paths (hub/ shroud), on a certain hard-coded number of layers (distributed differently than the flow paths in spanwise direction), the intersection of the blade is computed.
starting from this intersection, the blade geometry is enlarged according to the local radius. The blade offset is computed to ensure the tangency of the fillet with the channel flow paths (hub/ shroud).
a lofted surface is created to interpolate the enlarged curves. 

The method B2B section offset is not compatible with non-axisymmetric hub/ shroud. An error message Could not create fillet geometry for blade. Fillet creation by B2B section offset is not compatible with non axisymmetric channel is appearing during the mesh generation.


From meridional curve

The From meridional curve method only available when the Topology is set to Butterfly: the fillet is created between the specified meridional curve (defined either by radius at leading/ trailing edge or an external curve) and the channel (hub/ shroud) and will allow to impose the fillet tangency at hub or shroud and on blade.


The method From meridional curve is not fully compatible with non-axisymmetric hub/ shroud especially if the non-axi deviation is too large.
The method From meridional curve may lead to problem due to Parasolid limitations when the specified radius is equal or bigger than the leading/ trailing edge radius.


Constant radius

The Constant radius method only available when the Topology is set to Butterfly. This  approach creates the fillet by rolling a ball along the blade (rolling ball method) on the hub/shroud surface. This method will allow to impose the fillet tangency at hub or shroud and on blade but also remove limitations of the From meridional curve method when combining fillet creation with non axi hub/shroud surface.
         
When selecting the Constant radius method, the radius of the fillet is specified by the user, the option Defined Shape option is automatically activated and the fillet meridional curve will be computed to ensure that it is located everywhere above the fillet.




The method Constant radius may lead to a problem due to Parasolid limitations when the specified radius is equal or bigger than the leading/ trailing edge radius.

Toolbar
The toolbar contains icons and buttons providing fast input/output options (See in the related chapters the complete description of the icon functions). These are divided into 6 sections.


FIGURE 44 Top toolbar
User Mode
The menu is described in detail in section User Mode.
Project Management Icons
These icons are related to the most often used options of project management.
TABLE 6 Project Management icons






Icon


Description










Opens an existing project previously created by AutoGrid5™.
See the File/Open Project







Closes the current project and opens a new empty one.
See the File/New Project 







Saves the current work in the files of the current project.
See the File/Save Project




Mesh Generation Buttons
These buttons are used to start the mesh generation with different scope of application.
TABLE 7 Mesh Generation buttons






Buttons


Description









Reset all topology and the grid points number according to the grid level chosen by the user AutoGrid5™.







Generate the flow paths of the selected rows
See the Generate Flow Paths button description on Meridional Control.







Generate the flow paths and the blade to blade mesh of the selected rows.
See the Generate B2B  button description on Blade to Blade Control.







Generate the flow paths, the blade to blade mesh and the 3d mesh of the selected rows.
See the Generate 3D button description in 3D Generation.




View & Mesh Quality Management Icons
These icons are related to view management and the mesh quality analysis.
TABLE 8 View & Mesh Quality Management icons






Icon


Description









Open the Mesh Quality dialog box of AutoGrid5™.
See the Grid/Grid Quality







Open the Grid Quality Check dialog box of AutoGrid5™.
See the Grid/Grid Quality Report







Open the Negative Cells dialog box of AutoGrid5™.
See the Grid/Negative Cells







Open the Patch Selector dialog box of AutoGrid5™.
See the Grid/Boundary Conditions







Select the grid level used by AutoGrid5™ to visualize the mesh.
See the View/Coarse Grid







Open the Sweep Surface dialog box of AutoGrid5™.
See the View/Sweep Surface







Act as a toggle and perform a repetition in the blade-to-blade or 3D views based on the settings imposed by the user in the View Repetition dialog box of AutoGrid5™.
See the View/Repetition







Visualize or hide the solid model of the machine in the 3D view.
See the View/toggle 3D Solid View







Set the active view in full display mode.







Reset the display mode to multiview.




Mesh Control Icons
These icons open dialog boxes use to change the mesh parameters.
TABLE 9 Mesh Control icons






Icon


Description









Select all the rows of the current project.







Create new control lines in the meridional view.







Open the Row: Flow Path Control dialog box.







Open the dialog box dedicated to the blade to blade topology control.







Open the Optimization Properties dialog box.







Open the 3D Mesh Control dialog box.







Open the Inlet Bulb Mesh Topology dialog box. Displayed only if AutoGrid5™ detects a bulb at inlet (hub reaches R=0).







Open the Outlet Bulb Mesh Topology dialog box. Displayed only if AutoGrid5™ detects a bulb at outlet (hub reaches R=0).







Open the Nozzle Mesh Topology dialog box. Displayed only in case of machine with by-pass




Contextual Icons
During an AutoGrid5™ session, the contextual icons are updated according to the active entity (rows, blades, hub/shroud gap, fin, control lines). These icons are used to manage these entities.
Row Management Icons 
TABLE 10 Row Management icons






Icon


Description









Remove the selected row(s) from the project database.







Copy the selected row topology into a buffer.







Replace the selected row(s) topology by the topology stored into the current buffer.







Open the Row Properties dialog box.







Open a file chooser used to select a ".geomTurbo" file which contains the (new) geometry of the row. 







Add a new blade to the selected row (s) (splitter blade or tandem blade).







Define a hub gap for the blade(s) of the selected row(s).







Define a shroud gap for the blade(s) of the selected row(s).




Blade Management Icons
TABLE 11 Blade Management icons






Icon


Description









Remove the selected blade(s) from the project database.







Copy the selected blade to blade topology into a buffer.







Replace the selected blade to blade topology by the topology stored into the current buffer.







Open a file chooser used to select a ".geomTurbo" file which contains the (new) blade geometry.







Open the Blade Expansion dialog box.







Define a hub gap for the selected blade(s).







Define a shroud gap for the selected blade(s).




Shroud & Hub Gap Management Icons
TABLE 12 Shroud & Hub Gap Management icons






Icon


Description









Remove the selected gap(s) from the project database.







Copy the selected gap(s) topology into a buffer.







Replace the selected gap(s) topology by the topology stored into the current buffer.







Open a Gap Properties dialog box.

Quick Access Pad

The Quick Access Pad is located in the left part of the GUI. It contains icons and more evolved options providing a fast access to the more used functions of AutoGrid5™. Some of these functions are only accessible through the Quick Access Pad whereas others are also accessible through the menu bar, so that their description will be referenced to these menus.


FIGURE 26 Quick Access Pad
The pad is divided into four subpads, each of which can be toggled by a simple mouse left-click:

Rows Definition subpad
Geometry Definition subpad
Mesh Control subpad
View subpad

All the commands and options accessible with these subpads are described in detail in this section.
The four subpads are composed of pages containing buttons, icons, input areas. The icons perform specific function related to the subpad and the page. Each page can also be toggled by a simple mouse left-click.
Rows Definition Subpad
The rows definition subpad is used to control the machine configuration through project management buttons and a tree. In the rows definition tree subpad, the user can access following options:

Select all the rows
Define new rows
Define or remove new blade(s) through the row contextual menu (right-click)
Define and control the blade geometry through the blade contextual menu (right-click)



FIGURE 27 Contextual popup menus
Geometry Definition Subpad
The geometry definition subpad gives access to:

The project initialization through the selection of a native AutoGrid5™ geomTurbo file (The ".geomTurbo" File Format).
The geometry initialization through external CAD files (Import CAD). The import CAD window has been simplified to give access only to blade and end wall geometry definition.




The units definition (Keyboard Input Area).

Mesh Control Subpad
The mesh control subpad displays the number of mesh points of the selected row(s) and allows to choose the layer (Active Layer (% span)) on which the user wants to display the blade-to-blade mesh by pressing the button Update B2B View.
View Subpad
The view control subpad is used to control the display of mesh entities in the blade-to-blade view and in the 3D view. When clicking in the 3D view or pressing the viewing icon View 3D, the viewing buttons are associated to the mesh field of application buttons and the Geometry Definition and Mesh Control subpads are closed.

Graphics Area & Views

The graphics area is the region of the screen dedicated to the display of all graphical objects created by the system. These graphical objects may be distributed in different windows called 'views' in the AutoGrid5™ terminology.


FIGURE 29 Graphics area
Four views are displayed simultaneously in the graphics area:

The symbolic view.
The meridional view.
The blade to blade view.
The 3D View

Although four views can be visible at a time, only one can be active. This view is identified by a red border and is called the 'active view'. The active view can be changed with the left mouse button. Right-click into a view gives access to contextual menu which always contains the two items dedicated to the view management


Selecting the Full View item display the active view on the entire graphics area. To return to the multiview environment, right click on the item MultiView.
Full View can also be accessed by double left-clicking in the view. MultiView mode can be retrieved by pressing <Esc>.
Symbolic View
The symbolic view displays a theoretical scheme of the turbomachinery row(s). Each entities (rows, blades, shroud & hub gaps) can be select using left click.


FIGURE 30 Symbolic view
Meridional View
The meridional view displays the entities of the machine projected in (z,r) coordinates. This view is mainly used to create and control the flow paths in each row.


FIGURE 31 Meridional view
Blade to Blade View
The blade to blade view displays one blade to blade layer of the mesh in (dm/r,theta) coordinates. The m coordinates is the curvilinear arc length along the active layer (flow path). The angles (cell orthogonality) and the distances (expansion ratio and boundary cell width) are kept by the conformal mapping (x,y,z → dm/r,theta).
The blade to blade view is mainly used to control blade to blade generation of the mesh.    


FIGURE 32 Blade to blade view
3D View
The 3D view is used to display the solid body of the geometry and the 3D generated mesh, to check the mesh quality.


FIGURE 33 3D view of solid body
View & User Interaction
The graphical object displayed in the symbolic, meridional and blade to blade view are related to entities of the configuration tree (row, blade, domain limit, shroud & hub gap). Object under the mouse are automatically highlighted in yellow indicating that their selection can be operated by left-click. Right-click displays contextual menus related to the underlying object. To unselect all objects, left-click on a empty location.

Hub/Shroud Editing
The hub & shroud are defined by their meridional trace (ZR coordinates). They define the spanwise boundaries of the domain. The geometry of the hub and the shroud are defined using curves in (x,y,z), (r,theta,z) or (r,z) coming from a ".geomTurbo" file (NUMECA turbomachinery geometry file format) or from external CAD files (Parasolid™, CATIA V5, IGES format).
Edit Hub/Shroud
Furthermore, in the Quick Access Pad Geometry Definition subpad, the Edit Hub/Edit Shroud (Edit Nozzle in by-pass configuration) menus allow to edit and adapt the shape of the hub and shroud (nozzle) in the meridional view.


When selecting Edit Hub or Edit Shroud, the control of the hub or shroud is done through the editing of an edge and its vertices.


Vertices can be:

added. Use the <i> shortcut,
deleted. Right-click on an intermediate vertex to pop-up the corresponding menu,
moved. Left-click on a vertex to select it, move it and left-click again to fix it.



FIGURE 5 Move/Add vertex
Once the edge is correctly positioned, right-click to quit the editing tool. All the channel is recomputed according to the modification as shown in the next figure where the hub is represented by a green dashed line (representation mode when the hub is not completely mapping on basic curves).


FIGURE 6 New hub definition
Non-Axisymmetric Hub/Shroud
The end walls of a usual turbomachinery configuration are defined by axisymmetric surfaces. The geometry of these end walls are defined by the hub and shroud curves in meridional coordinates. When the real end walls are non axisymmetric surfaces, the mesh is obtained in two steps:

generate an axisymmetric mesh,
axisymmetric mesh adaptation to the specified non-axisymmetric end walls.

Please refer to dedicated tutorial for more details.
When a configuration is including a bulb, the bulb hub surface points are not projected on the non-axisymmetric surfaces even if the definition covers the hub surface in bulb blocks.


FIGURE 7 Non-axisymmetric end walls

In addition to the axisymmetric hub and shroud curves defining the meridional domain, 3D surfaces defining the non-axisymmetric end walls must be defined. These can be directly specified in the ".geomTurbo" file or imported through the Import CAD window of AutoGrid5™.


From ".geomTurbo" File
The non-axisymmetric surfaces are stored in external IGG™ data file and specified into the ".geomTurbo" file using the following format:


Any type of surface created and stored by IGG™ can be used to defined the non-axisymmetric end walls.
From Import CAD
The non-axisymmetric surfaces can be imported from external CAD files. The contextual menu of the import window allows the user to link imported surfaces to the hub and/or shroud definition.


FIGURE 8 Import CAD contextual menu for non-axisymmetric end walls
Mesh Generation Control
The non-axisymmetric end walls generation is controlled into the Row Properties dialog box accessed by right-clicking on the selected row in the main graphics area and by selecting Properties from the list of commands. An alternate method consists in right-clicking over the row i in the Rows Definition subpad of the Quick Access Pad, then in selecting Properties from the list of commands.
The options Non-Axisymmetric Hub & Shroud are used to enable or disabled the mesh adaptation on the specified non axisymmetric surfaces. 
If the non axisymmetric surfaces do not intersect the axisymmetric mesh, the 3D mesh is automatically projected on the end walls based on the spanwise grid line direction. 


The option Repair Non-projected Points allows to correct non-well projected points (i.e. when the mesh points on boundaries are close to hub or shroud surface limits).
When the option is active, it is advised to cover whole row's hub/shroud surfaces with non-axisymmetric surfaces definition otherwise the repair may result into unexpected hub/shroud points projection. In the case, the non-axisymmetrc hub/shroud surfaces definition is not covering all row's hub/shroud surface it is advised to not activate the option.
The options Display Non-Axisymmetric Hub & Shroud are used to display the surfaces in the 3D view.
To obtain a correct behavior, the surfaces must cover all the hub or shroud blade to blade domain of the axisymmetric mesh. If the specified surfaces do not cover the entire domain in azimuthal direction as shown in FIGURE 9, the Geometry Repetition options allow the user to repeat the entered surfaces by rotation until the new surfaces cover the domain.
At the end of the 3D blade row generation, the mesh adaptation is performed automatically. The axisymmetric mesh is adapted by hub to shroud grid points redistribution along the curve obtained by intersecting the surfaces with the hub to shroud grid lines.


FIGURE 9 Surfaces repetition ensure full domain covering

Geometry Definition Subpad
The geometry definition subpad contains button and interaction area used to define or modify the geometry of the configuration entities.


FIGURE 49 Geometry definition subpad
The geometry defining the channel and the blades as well as the technological effects can be specified from external CAD files and/or from ".geomTurbo" file (native geometry format).
TABLE 14 Geometry Management buttons






Icon


Description









Start the editing tool used to define the axisymmetric lower limit defining the blade channel from the basic meridional curves defined in the geometry file. 







Start the editing tool used to define the axisymmetric upper limit defining the blade channel from the basic meridional curves defined in the geometry file.







Start the editing tool used to define the meridional trace of the nozzle. Available only if the project has a configuration with bypass.







Open a dialog box to control the number of control points defining the channel curves used to define the inlet, outlet, rotor-stator and control lines.







Open a dialog box to control the completeness of the geometry as well as validity of the end walls, before starting the mesh generation. It also repairs the curves wherever it is required.







Select and load a geometry file to define or replace the geometry of the entities found in the file.







Start the import geometry manager to load external CAD file and define the geometry of the configuration entities. More details in Geometry Definition.




The Units page allows to select the "units" of the imported geometry in order to apply an internal scaling and tolerance adaptation transparent for the user that will ensure correct treatment during the grid generation when computing for example the intersection. If the global geometry size is below 100 it is recommended to keep the default settings (Scale Factor set to 1), otherwise the value should be adapted to the geometry units.

Tools Menu
The menu is described in detail in section Tools Menu.

3D Mesh Generation

The 3D mesh generation of the active blade rows is performed through the top menu bar button Generate 3D. The 3D mesh is automatically computed by AutoGrid5™ and displayed in the 3D view. A mesh quality report can be computed and displayed with the top menu item Grid/Grid Quality Report ().


FIGURE 11 3D grid generation & quality check

CONTENTS
TUTORIALS
BEGINNER
1.1 NASA Rotor37
1.1.1
Introduction
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
1.1.2 Mesh Generation
A. Create Mesh Project
B. Load Geometry
C. Mesh Wizard
D. Mesh Visualization
E. Check Boundary Conditions & Mesh Quality
F. Save Project
2.1 Aachen Turbine
2.1.1
Introduction
Introduction
A.
B. Prerequisites
C. Problem Description
D. Preparation
2.1.2 Mesh Generation
A. Create Mesh Project
B. Load Geometry
C. Mesh Wizard
D. Mesh Visualization
E. Check Boundary Conditions & Mesh Quality
F. Save Project
3.1 SHF Pump
3.1.1
Introduction
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
3.1.2 Mesh Generation
A. Create Mesh Project
B. Load Geometry
C. Mesh Wizard
D. Mesh Visualization
E. Check Boundary Conditions & Mesh Quality
F. Save Project
4.1 Francis Turbine
4.1.1
Introduction
IGG™/AutoGrid5™ 13.1 Tutorials
12
12
12
13
13
15
16
16
18
18
28
30
33
34
34
34
35
35
36
38
38
39
40
51
54
58
59
59
59
60
60
61
63
63
64
72
81
84
88
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
4.1.2 Mesh Generation
A. Create Mesh Project
B. Load Geometry
C. Mesh Wizard
D. Mesh Visualization
E. Check Boundary Conditions & Mesh Quality
F. Save Project
5.1 Axial Multistage Compressor
5.1.1
Introduction
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
5.1.2 Mesh Generation
A. Load Geometry
B. Mesh Wizard
C. Mesh Visualization
D. Check Boundary Conditions & Mesh Quality
E. Save Project
6.1 High Performance Centrifugal Compressor
6.1.1
Introduction
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
6.1.2 Mesh Generation
A. Create Mesh Project
B. Load Geometry
C. Mesh Wizard
D. Mesh Visualization
E. Check Boundary Conditions & Mesh Quality
F. Save Project
7.1 Wind Turbine
7.1.1
Introduction
Introduction
A.
B. Prerequisites
C. Problem Description
D. Preparation
7.1.2 Mesh Generation
A. Create Mesh Project
B. Load Geometry
C. Mesh Wizard
D. Mesh Visualization
E. Check Boundary Conditions & Mesh Quality
IGG™/AutoGrid5™ 13.1 Tutorials
89
90
90
91
93
93
94
98
110
113
117
118
118
118
119
119
120
122
123
126
136
139
143
144
144
144
145
145
146
148
148
149
153
169
171
175
176
176
176
177
177
178
180
180
181
182
F. Save Project
8.1 Marine Propeller
8.1.1
Introduction
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
8.1.2 Mesh Generation
A. Create Mesh Project
B. Load Geometry
C. Mesh Wizard
D. Mesh Visualization
E. Check Boundary Conditions & Mesh Quality
F. Save Project
ADVANCED
1.1 Large Scale Centrifugal Compressor (Expert Mode)
1.1.1
Introduction
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
1.1.2 Mesh Generation
Initialize Topology & Grid Points Distribution
A. Create Mesh Project
B. Load Geometry & Define Main Properties
C.
D. Meridional Control
E. Blade-to-Blade Control
F. 3D Mesh Generation
G. 3D Mesh Visualization
H. Check Boundary Conditions and Mesh Quality
I.
Save Project
2.1 Meridional Effect
2.1.1
Introduction
Introduction
A.
B. Prerequisites
C. Problem Description
D. Preparation
2.1.2 Mesh Generation
Initialize Topology & Grid Points Distribution
A. Create Mesh Project
B. Load Geometry & Define Main Properties
C.
D. Meridional Control
E. Blade-to-Blade Control
F. Meridional Effect Generation
G. 3D Mesh Generation
H. 3D Mesh Visualization
IGG™/AutoGrid5™ 13.1 Tutorials
200
201
201
201
202
202
204
205
205
206
207
219
222
226
228
228
228
229
229
230
232
232
233
238
240
243
249
250
252
256
257
257
257
258
258
259
261
261
262
266
268
275
279
I. Check Boundary Conditions & Mesh Quality
J. Save Project
K. Periodic Full Non Matching Connection
L. Full Matching Connection
M. Periodic Matching Connection at Rotor-Stator Polyline in ZR Effect
3.1.1
3.1 Non-Axisymmetric Hub/Shroud
Introduction
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
3.1.2 Mesh Generation
Initialize Topology & Grid Points Distribution
A. Create Mesh Project
B. Load Geometry & Define Main Properties
C.
D. Meridional Control
E. Blade-to-Blade Control
F. 3D Mesh Generation
G. 3D Mesh Visualization
H. Check Boundary Conditions & Mesh Quality
Save Project
3.1.3
4.1 Bypass Configuration
4.1.1
Introduction
Introduction
A.
B. Prerequisites
C. Problem Description
D. Preparation
4.1.2 Mesh Generation
Initialize Topology & Grid Points Distribution
A. Create Mesh Project
B. Load Geometry & Define Main Properties
C.
D. Meridional Control
E. Blade-to-Blade Control
F. 3D Mesh Generation
G. 3D Mesh Visualization
H. Check Boundary Conditions & Mesh Quality
I.
5.1 Tandem Configuration
Save Project
5.1.1
Introduction
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
5.1.2 Mesh Generation
A. Tandem Configuration A: Single Row (Main Blade + Splitter)
B. Tandem Configuration B: Multiple Rows
6.1 Cascade Configuration
6.1.1
Introduction
IGG™/AutoGrid5™ 13.1 Tutorials
299
306
306
309
316
325
325
325
326
326
327
329
329
330
342
346
347
350
352
354
356
358
358
358
359
359
360
362
362
363
368
370
377
381
382
383
386
387
387
387
388
388
389
391
391
408
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
6.1.2 Mesh Generation
Initialize Topology & Grid Points Distribution
A. Create Mesh Project
B. Load Geometry & Define Main Properties
C.
D. Meridional Control
E. Blade-to-Blade Control
F. 3D Mesh Generation
G. 3D Mesh Visualization
H. Check Boundary Conditions & Mesh Quality
I.
7.1 Snubber Configuration
Save Project
7.1.1
Introduction
Introduction
A.
B. Prerequisites
C. Problem Description
D. Preparation
7.1.2 Mesh Generation - Snubber On Fan
Initialize Topology & Grid Points Distribution
A. Create Mesh Project
B. Load Geometry & Define Main Properties
C.
D. Meridional Control
E. Blade-to-Blade Control
F. 3D Mesh Generation
G. 3D Mesh Visualization
H. Check Boundary Conditions & Mesh Quality
I.
Save Project
7.1.3 Mesh Generation - Axisymmetric Snubber On Axial Compressor
A. Axisymmetric Snubber - Create Mesh Project
B. Axisymmetric Snubber - Load Geometry
C. Axisymmetric Snubber - Mesh Wizard
D. Axisymmetric Snubber - 3D Mesh Generation
E. Axisymmetric Snubber - 3D Mesh Visualization
F. Axisymmetric Snubber - Check Boundary Conditions & Mesh Quality
G. Axisymmetric Snubber - Save Project
7.1.4 Mesh Generation - 3D Snubber On Axial Compressor
A. 3D Snubber - Create Mesh Project
B. 3D Snubber Without Fillet - Load Snubber Geometry
C. 3D Snubber Without Fillet - Mesh Wizard
D. 3D Snubber Without Fillet - 3D Mesh Generation & Visualization
E. 3D Snubber Without Fillet - Check Boundary Conditions & Mesh Quality
F. 3D Snubber Without Fillet - Save Project
G. 3D Snubber With Fillet - Load Snubber Fillet Geometry
H. 3D Snubber With Fillet - 3D Mesh Generation & Visualization
I.
3D Snubber With Fillet - Check Boundary Conditions & Mesh Quality
IGG™/AutoGrid5™ 13.1 Tutorials
426
427
427
428
430
430
431
439
441
442
446
447
448
451
452
452
452
453
453
454
456
456
457
467
469
474
478
479
480
484
485
485
486
489
492
493
494
495
495
495
496
500
502
503
503
503
J.
3D Snubber With Fillet - Save Project
8.1
3D Technological Effect - Casing Treatment
8.1.1
Introduction
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
8.1.2 Mesh Generation
A. Open Existing Mesh Project
B. Adapt Mesh Project
C. 3D Technological Effect Generation
D. Save Project
9.1.1
9.1 Cooling & Solid Mesh Generation
Introduction
A. Prerequisites
B. Problem Description
C. Preparation
9.1.2 Mesh Generation
A. Open Existing Mesh Project
B. Stator 1: End Wall Cooling Holes
C. Rotor: Blade Cooling Holes
D. 3D Mesh Generation
E. Stator 2: Penny Generation
10.1 Scripting Overview
10.1.1 Introduction
A. Prerequisites
B. Problem Description
C. Preparation
10.1.2 Adapt Script
10.1.3 Launch Script
10.1.4 Set Row Configuration
A. Create New Project
B. Add & Rename Rows
10.1.5 Load & Link Geometry
A.
B.
Import Geometry Using CAD File
Import Geometry Using "geomTurbo" File
10.1.6 Stator1 Mesh Settings: Row Wizard
10.1.7 Rotor Mesh Settings: Expert Mode
A. Define Main Properties
B.
Initialize Topology & Grid Points Distribution
C. Blade-to-Blade Control: Matching Periodicity
D. Flow Path Control
E. Blade-to-Blade Control: Grid Points
F. Optimization Control
10.1.8 Stator2 Mesh Settings: Expert Mode
A. Define Main Properties
B. Add & Adapt Control Line
10.1.9 Generate & Save Mesh
IGG™/AutoGrid5™ 13.1 Tutorials
509
510
510
510
511
511
512
514
514
515
518
540
542
542
543
543
544
546
546
546
559
569
578
583
583
584
584
585
587
588
591
591
591
593
593
594
595
597
597
598
599
600
600
601
603
603
607
607
607
608
608
609
610
611
612
614
619
620
621
622
624
624
625
628
644
644
645
648
650
652
653
653
653
653
653
654
656
657
658
659
11.1 Fillet on Blade
11.1.1 Introduction
A.
Introduction
B. Prerequisites
C. Problem Description
D. Preparation
11.1.2 Fillet Non-Butterfly Mesh Topology : B2B Section Offset
A. Load Existing Project
B. Add & Control Hub Fillet
C. 3D Mesh Generation & Visualization
D. Save Project
11.1.3 Fillet Butterfly Mesh Topology : From Meridional Curve
A. Control Hub Fillet
B. 3D Mesh Generation & Visualization
C. Save Project
11.1.4 Fillet Butterfly Mesh Topology : Constant Radius
A. Axisymmetric Case : NASA Rotor 37
B. Non-Axisymmetric Case : Axial Turbine
11.1.5 Fillet Butterfly Mesh Topology : User-Defined Hub Fillet
Import User-Defined Hub Fillet
A. Create Mesh Project
B.
C. Adapt & Control Hub Fillet
D. 3D Mesh Generation & Visualization
E. Save Project
12.1 Marine propeller - from CAD to geomTurbo
12.1.1 Introduction
A.
Introduction
B. Preparation
12.1.2 Initialize from CAD import
12.1.3 Define & link the hub & shroud curves
12.1.4 Link the leading & trailing edge
12.1.5 Link the blade
12.1.6 Define the periodicity
12.1.7 Save the geomTurbo
TUTORIALS
The tutorials for AutoGrid5™ as listed below provide detailed step-by-step instructions for the entire
mesh generation process. Most of the tutorials are designed so as to limit use of computational
resources but some of them may require a significant amount of computational time assuming they are
executed on the finest mesh level.
Beginner
Tutorial 1: "NASA Rotor37" (p. 12)
Tutorial 2: "Aachen Turbine" (p. 34)
Tutorial 3: "SHF Pump" (p. 59)
Tutorial 4: "Francis Turbine" (p. 89)
Tutorial 5: "Axial Multistage Compressor" (p. 118)
Tutorial 6: "High Performance Centrifugal Compressor" (p. 144)
Tutorial 7: "Wind Turbine" (p. 176)
Tutorial 8: "Marine Propeller" (p. 201)
Advanced
Tutorial 1: "Large Scale Centrifugal Compressor (Expert Mode)" (p. 228)
Tutorial 2: "Meridional Effect" (p. 257)
Tutorial 3: "Non-Axisymmetric Hub/Shroud" (p. 325)
Tutorial 4: "Bypass Configuration" (p. 358)
Tutorial 5: "Tandem Configuration" (p. 387)
Tutorial 6: "Cascade Configuration" (p. 426)
Tutorial 7: "Snubber Configuration" (p. 452)
Tutorial 8: "3D Technological Effect - Casing Treatment" (p. 510)
Tutorial 9: "Cooling & Solid Mesh Generation" (p. 542)
Tutorial 10: "Scripting Overview" (p. 583)
Tutorial 11: "Fillet on Blade" (p. 607)
Tutorial 12: "Marine propeller - from CAD to geomTurbo" (p. 653)
Where to Find the Files Used in the Tutorials?
Each of the tutorials starts from mesh generation and uses an existing geometry. The appropriate
files (and any other relevant files used in the tutorial) can be downloaded from the following link:
AutoGrid5™ tutorial input files.
Some of the project files can also be found in the demo cases package dedicated to ready-to-run
demonstration cases and presented in the FINE™/Turbo Demo Cases section. This allows to
quickly start a calculation and observe the behavior of AutoGrid5™, without necessarily going
through all the steps of the tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry, either in a
".geomTurbo" or CAD related format.
The sequence of actions to be executed are described through a step-by-step approach, in the form
of Arabic numbers.
Additional insight about some specific actions and/ or features is frequently added to illustrate the
tutorial further. This information is proposed for the purpose of clarity and completeness, and
should not be executed. It appears as a note with a light blue background.
The calculations executed to illustrate the behavior of the flow solver include a "reasonable"
number of grid points, so as to limit the computational resources required to complete the tutorials.
As a consequence, most of the underlying flow solutions must be considered as qualitative.
Additional mesh refinement may be required in some circumstances so as to obtain a more
quantitative picture.
Contact NUMECA local sales or support office for any question or information you may require. To
allow NUMECA local sales or support office to help you out within the shortest delays, please
provide a detailed description of the observed behavior and performed analysis.
BEGINNER
The following Beginner level tutorials for AutoGrid5™ allow to familiarize with the Graphical
User Interface and the basis of the mesh generation technique:
1.1
NASA ROTOR37
1.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion system but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a single blade row axial-flow
turbomachine. It makes exclusive use of AutoGrid5™ and describes the main actions required to
mesh the configuration of interest.
In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l define the blade periodicity;
l define a tip clearance;
l control meridional flow paths;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any particular prior knowledge.
C. Problem Description
The problem to be considered is shown schematically below (meridional view). The ROTOR 37
test project is an isolated axial-flow compressor wheel designed and experimentally analyzed at
the National Aeronautics and Space Administration (NASA) Lewis Research Center. It is
representative of important interactions occurring in Turbomachinery such as corner stall, shock-
boundary layer interactions, tip vortex and tip leakage-secondary interactions, etc.
The ROTOR 37 is characterized by the following representative values:
number of blades
inlet hub-to-tip diameter ratio
blade aspect ratio
tip relative inlet Mach number
hub relative inlet Mach number
tip solidity
blade airfoil sections
rotational speed (RPM)
total pressure ratio
polytropic efficiency (%)
36
0.7
1.19
1.48
1.13
1.29
multiple circular arc (MCA)
17188
2.106
88.9
In addition, this test case shows a strong interaction between the tip vortex and the leading edge
shock, largely controlling the stall behavior. CFD simulations of this interaction, reported in the
literature, have shown an important dependence on mesh and turbulence modeling.
D. Preparation
Start AutoGrid5 v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
software/Fine131/IGG- AutoGrid5
/Programs/NUMECA
going
to
You are now ready to start the grid generation process and mesh the ROTOR 37 configuration!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and mesh of the turbomachine in the meridional, blade-to-blade and
3D views. Access to the main menu and controls is provided through a menu bar and a quick
access pad, and is complemented with a tool/icon bar. The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
1.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
A. Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to menu File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
B. Load Geometry
6. Locate and select "rotor.geomTurbo" (geometry defined in [Centimeter]) in the dialog box and
click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10))
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definition(s).
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud,
seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points
and the channel curves defined as a composite of basic curves. The ".geomTurbo" file must contain
two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter(s)
are defined by the pressure and the suction side surfaces, identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
C. Mesh Wizard
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
8. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the Quick
Access Pad.
9. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details can be found in the AutoGrid5™ User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).
12. Select Axial Compressor as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <36>, press <Enter> to confirm.
14. Select Rotor.
15. Enter <-17188> in Rotation Speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
16. Click Next in the dialog box to start the gap and fillet definition (step 3).
17. Activate Tip Gap in the Gap and Blending Control dialog box.
18. Define Width At Leading Edge = <0.0356> [Centimeters] <Enter>.
19. Define Width At Trailing Edge = <0.0356> [Centimeters] <Enter>.
The width at leading/trailing edge allows the user to specify the size of the gap respectively at the
leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub
(or the shroud) according to these values.
20. Keep all other data identical.
21. Click Next>> in the dialog box to start the flow path definition (step 4).
22. Keep Spanwise Grid Point Number set to <73> (corresponding to the flow paths number)
in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically updated together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
23. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref =175 m/s; L ref =0.2523m; ν=1.466e- 5 m²/s.
Assuming one wishes to get y+=1 at the wall, it turn out that y = 3 x 10-6 m. Input the value of the
Wall Cell Width = <0.0003> [Centimeters] <Enter> in the Layer Control dialog box.
24. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
25. Set the Number of Points (of the 3D mesh) around 850,000 by clicking the << or >> buttons
in the B2B Control dialog box.
26. Keep Full Matching Mesh active to impose a matching connection between the channel and
the gap.
27. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when
applying the optimization steps.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
28. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio
field of the blade-to-blade mesh at mid-span.
29. Click Finish to end the initialization process (step 6).
30. Click yes to start the 3D mesh generation.
Click no to check the blade- to- blade mesh quality at hub and/or shroud before generating the 3D
mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will
be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine
(Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of
span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to
visualize the mesh at hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select quality criteria using the Type pull-down menu.
l Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram.
The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh or for every each separate entity (row, technological effect, bulb). Data related to
grid quality report is automatically stored in a report file, once the project file is saved.
31. Close the dialog box. The page can be reopened by clicking
.
D. Mesh Visualization
32. Select the View -> View 3D Solid Mesh menu.
33. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View
-> Hide 3D Solid Mesh.
34. Click the Repetition icon (
) to toggle the repetition of the channel.
E. Check Boundary Conditions & Mesh Quality
36. Check for boundary conditions by clicking
.
37. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not
the case, they can usually be removed by increasing the tolerance and launching the Search procedure.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is thus advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
42. Click OK and Close the dialog box.
43. Left-click in the 3D view to activate the view (red border), if not done already.
44. Check for grid quality by clicking
.
A detailed analysis of mesh quality on 3D mesh can only be performed once the 3D mesh has been
generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
45. Select block number (0 for all) - <Enter>.
46. Select quality criteria using the Type pull-down menu.
47. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
48. Left-click part of the histogram to plot the concerned cells in the 3D view.
49. Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria and block.
50. Close the dialog box.
F. Save Project
51 Go to File -> Save Project As <tutorial1> <Enter> to save mesh and template files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
2.1
AACHEN TURBINE
2.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a multi-stage axial-flow turbomachine. It
makes exclusive use of AutoGrid5™ and describes the main actions required to mesh the
configuration of interest.
In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l define the blade periodicity;
l define a tip clearance;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any prior knowledge.
C. Problem Description
The Aachen 1- 1/2 turbine rig stage has been investigated both experimentally (Gallus and
Walraevens, 1995) and numerically (Walraevens et al., 1998).
The low aspect ratio blading and the constant tip and hub endwall contour enhance strong
secondary flows. Both stators (36 blades) and rotor (41 blades) are cylindrical and untwisted. The
rotor is unshrouded with a tip clearance of 0.4 mm. Testing conditions are characterized by low
inlet gas temperature (about 300 K) and design speed of 3,500 RPM.
D. Preparation
Start AutoGrid5 v13.1:
l For Linux systems, you can access the AutoGrid5™ graphical user interface directly with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
going
l For WINDOWS systems, you can access IGG™ graphical user interface from the start menu
or
by
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™ .
software/Fine131/IGG- AutoGrid5
/Programs/NUMECA
to
You are now ready to start
configuration!
the grid generation process and mesh the Aachen Turbine
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and mesh of the turbomachine in the meridional, blade-to-blade and
3D views. Access to main menu and controls is provided through a menu bar and a quick
access pad, and is complemented with a tool/icon bar. The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
2.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
A. Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
B. Load Geometry
6. Locate and select "tutorial_2.geomTurbo" (geometry defined in [Meter]) in the dialog box and
click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10))
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definition(s).
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud).
It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel
curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
The three rows are displayed in the meridional view corresponding to the three parts of the turbine.
The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default
location is set at the average meridional location between the downstream trailing edge and the
upstream leading edge.
C. Mesh Wizard
7. Left-click Rows Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
8. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the Quick
Access Pad.
9. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details can be found in the AutoGrid5™ User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).
12. Select Axial Turbine as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <36>, press <Enter> to confirm.
14. Select Stator.
15. Click Next in the dialog box to start the gap and fillet definition (step 3).
16. Keep all data unchanged (no gap or fillet).
17. Click Next>> in the dialog box to start the flow path definition (step 4).
18. Set Spanwise Grid Point Number to < 61 > < Enter> (corresponding to the flow paths
number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically updated together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
19. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that Vref=109.9557 m/s, Lref=0.3m and ν=1.038e-5 m²/s for
row 2. Assuming one wishes to get y+ =1 at the wall, it turns out that y = 3.4 x 10-6 m. Assuming
Vref=42.2633 m/s, Lref=0.3m and ν=1.038e-5 m²/s for row 1 and row 3, and keeping y+ =1 at the
wall, it turns out that that y = 7.8 x 10-6 m.
Input the value of the Wall Cell Width = <7.8e-6> [Meters] <Enter> in the Layer Control
dialog box.
20. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
21. Set the Number of Points (of the 3D mesh) around 300,000 by clicking the << or >> buttons
in the B2B Control dialog box.
22. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade to blade view when
applying the optimization steps.
The default O4H topology includes 5 blocks as follows:
l the skin block is a O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
23. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio
field of the blade-to-blade mesh at mid-span.
24. Click Finish to end the initialization process (step 6).
25. Click no in order to set the row 2 and row 3 before making the complete 3D Mesh
Generation.
26. Repeat step 7 to step 25 for row 2 with the following parameters :
l Axial Turbine as Row type, Periodicity=<41>, Rotor, Rotation speed (rpm)=<-3500>.
l Select Tip Gap, Width At Leading Edge = Width At Trailing Edge = <0.0004> [Meters].
The width at leading/trailing edge allows the user to specify the size of the gap respectively at the
leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub
(or the shroud) according to these values.
l Spanwise Grid Point Number = <73>, Wall Cell Width = <3.4e-6> [Meters].
l Set the Number of points around 400,000.
27. Copy settings of row 1 for row 3:
l Left-click Row Definition -> Row List -> row 1.
l Click
the
Copy
Row Wizard
Settings
tab
in
the
toolbar
l Left-click Row Definition -> Row List -> row 3.
).
l Click
Paste
Row
Wizard
Settings
in
the
toolbar
).
(
(
This copy/ paste option is very useful to easily impose the same wizard settings for multiple rows in a
multi-stage configuration.
28. In Row Definition, left-click Select All Rows.
29. Click Generate 3D in the toolbar.
You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Row Definition and left-click Select All Rows to select all rows. Go to Mesh Control ->
Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-
to- blade view. By default, the active view is set at the mid- span of the machine ( Active Layer
(%span) set to 50). The layer selected for visualization is defined in percentage of span, going from
hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at
hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select a row in the Row list <Enter>.
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking Rows Definition -> Select all rows and then clicking the Generate 3D button.
Once a 3D grid generation is completed, grid quality is performed and displayed. Minimum cell
skewness, maximum expansion ratio and aspect ratio are reported, among others. Data are available
for the entire mesh separately for every entity (row, technological effect, bulb). Data related to grid
quality report are automatically stored in a report file, once the project file is saved.
30. Close the dialog box. The page can be reopened by clicking
.
D. Mesh Visualization
31. Select the View -> View 3D Solid Mesh menu.
32. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View
-> Hide 3D Solid Mesh.
33. Use Repetition icon (
) to toggle the repetition of the channel.
34. Use the View menu in the Quick Access Pad to toggle edge, mesh and/or solid shading.
53
IGG™/AutoGrid5™ 13.1 Tutorials
E. Check Boundary Conditions & Mesh Quality
35. Check for boundary conditions by clicking
.
36. Select UND under Type pull-down menu and check that there are no patches in the patch list
that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not
they can usually be removed by increasing the tolerance and launching the Search
the case,
procedure.
In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
37. Close the dialog box.
38. Left-click anywhere in the 3D view to activate the view (red border), if not done already.
39. Check for negative cells by clicking
.
40. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is thus advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
41. Click ok and Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can be performed only once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
44. Select block number (0 for all) - <0><Enter>.
45. Select quality criteria using the Type pull-down menu.
46. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
47. Left-click a part of the histogram to plot the concerned cells in the 3D view.
48. Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria and block.
49. Close the dialog box.
F. Save Project
50. Go to File -> Save Project As <tutorial2> and press <Enter> to save mesh and template files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
3.1
SHF PUMP
3.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of single blade row centrifugal- flow
turbomachine. It makes exclusive use of AutoGrid5™ and describes the main actions required to
mesh the configuration of interest.
In this tutorial you will learn how to:
l import CAD files into AutoGrid5™;
l define the blade periodicity;
l control meridional flow paths;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any prior knowledge.
C. Problem Description
This problem considers the generic SHF centrifugal pump as shown here below. The pump
includes 7 blades, rotating with a speed of 1,200 RPM. The absolute velocity at the inlet is 1.842
m/s and the outlet static pressure is 320,000 Pa. The flow is assumed to be fully turbulent.
D. Preparation
Start AutoGrid5 v13.1:
l For Linux systems, you can access the AutoGrid5™ graphical user interface directly with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/Autogrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the SHF centrifugal pump!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and mesh of the turbomachine in the meridional, blade-to-blade and
3D views. The access to main menu and controls is provided through a menu bar and a quick
access pad, and is complemented with a tool/icon bar. The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
3.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
A. Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Start a New Project From Scratch.
B. Load Geometry
6. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
7. Left-click in the meridional view.
8. Go to Geometry Definition -> Init From an External CAD File.
A graphic window opens, allowing geometry import.
9. Define the hub curve:
l Go to File -> Open....
l Locate and select the "_geom/hub.dat" file from the file chooser. The geometry is defined in
[Meters]. ("Where to Find the Files Used in the Tutorials?" (p. 10))
l Left-click on the hub, its color should turn to yellow.
l Right-click and select Link to Hub.
The hub curve is now displayed in the meridional view.
66
IGG™/AutoGrid5™ 13.1 Tutorials
10. Define the shroud curve:
l Left-click on File -> Open....
l Select the "_geom/shroud.dat" file from the file chooser. The geometry is defined in meters.
l Left-click on the shroud, its color should turn to yellow.
l Right-click and select Link to Shroud.
The shroud curve and channel are now displayed in the meridional view.
11. Define the blade:
l Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
l Select the menu item File -> Open....
l Select the "_geom/blade.dat" file from the file chooser.
l Go to Select -> Surfaces.
A message will prompt to select surfaces.
l Press key binding <a>.
The binding key <a> acts as a toggle, activating or deactivating all surfaces.
l Double right-click to quit the surfaces selection and select Link to Blade.
The blade is now displayed in the meridional view.
69
IGG™/AutoGrid5™ 13.1 Tutorials
70
IGG™/AutoGrid5™ 13.1 Tutorials
12. Define the leading and trailing edge:
l Left-click on the blade leading edge curve inside the Import CAD window.
l As it turns yellow, right-click and select Link to Leading Edge.
l Left-click on the blade trailing edge curve inside the Import CAD window.
l As it turns yellow, right-click and select Link to Trailing Edge.
The leading and trailing edges are displayed in the meridional view with inlet and outlet (if the blade
is crossing the hub and shroud).
13. Go to File -> Exit to quit the Import CAD window.
C. Mesh Wizard
14. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
15. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
16. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details in AutoGrid5™ User Guide.
18. Click on Next in the dialog box to define the machine characteristics (step 2).
19. Select Centrifugal Pump as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades). Left-click inside the string input area and type
<7>, press <Enter> to confirm.
21. Select Rotor.
22. Enter <1200> in Rotation Speed (rpm).
This speed will be transferred to FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
23. Click Next in the dialog box to start the gap and fillet definition (step 3).
24. Keep all data unchanged (no gap or fillet).
25. Click Next>> in the dialog box to start the flow path definition (step 4).
26. Set Spanwise Grid Point Number set to <33> <Enter> (corresponding to the flow paths
number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically updated as well as the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
27. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref = 25.13 m/s ; L ref= 0.4m ; ν = 1.01e-6 m²/s.
Assuming one wishes to get y+= 6 at the wall, it turns out that y = 1x10-5m.
Input the value of the Wall Cell Width = <1e-5> [Meters] <Enter> in the Layer Control dialog
box.
28. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
29. Set the Number of Points (of the 3D mesh) around 400,000 by clicking the << or >> button
in the B2B Control dialog box.
30. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when
applying the optimization steps.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
31. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the
blade-to-blade mesh at mid-span.
32. Click Finish to end the initialization process (step 6).
33. Click yes to start the 3D mesh generation.
Click no to check the blade- to- blade mesh quality at hub and/or shroud before generating the 3D
mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will
be plotted in the blade-to-blade view. By default, the active view is located at the mid-span of the
machine ( Active Layer (%span) set to 50). The layer selected for visualization is defined in
percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter>
in order to visualize the mesh at hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on a blade- to- blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select quality criteria using the Type pull-down menu.
l Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram.
The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview on mesh quality.
l Left-click More info button to obtain information about minimum and maximum values of the
selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh as well as separately for each entity (row, technological effect, bulb). Data related
to the grid quality report is automatically stored in a report file, once the project file is saved.
34. Close the dialog box. The page can be reopened by clicking
.
D. Mesh Visualization
35. Select View -> View 3D Solid Mesh.
36. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide
3D Solid Mesh.
37. Use the Repetition icon (
) to toggle the repetition of the channel.
38. Use the View menu in the QAPto toggle edge, mesh and/or solid shading.
E. Check Boundary Conditions & Mesh Quality
39. Check for boundary conditions by clicking
.
40. Select UND under the Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
41. Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for negative cells by clicking
.
44. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
45. Click OK and Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
48. Select block number (0 for all) - <Enter>.
49. Select quality criteria using the Type pull-down menu.
50. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
51. Left-click part of the histogram to plot the concerned cells in the 3D view.
52. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
53. Close the dialog box.
F. Save Project
54. Go to File -> Save Project As <tutorial3> and press <Enter> to save the mesh and template
files in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
4.1
FRANCIS TURBINE
4.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of hydraulic turbine. It makes exclusive use
of AutoGrid5™ and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:
l define multi-rows configuration;
l read an existing geometrical file into AutoGrid5™;
l control meridional flow paths;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any prior knowledge.
C. Problem Description
The problem considers a Francis hydraulic turbine with medium/high specific speed. It has been
designed at IMHEF for an experimental research study in the hydraulic laboratory. The model has
been used as a test case in the 1989 GAMM workshop.
The spiral casing of the GAMM turbine has been designed to ensure a constant meridional
velocity distribution, and fillets have been added on both sides of the distributor inlet in order to
achieve well-defined inlet conditions. The distributor consists of 24 stay vanes and 24 guide
vanes. The runner includes 13 blades, with an external diameter of 0.4 m.
D. Preparation
Start AutoGrid5 v13.1:
l For Linux systems, you can access the AutoGrid5™ graphical user interface directly with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
going
l For WINDOWS systems, you can access IGG™ graphical user interface from the start menu
by
or
/Programs/NUMECA software/AutoGrid131/IGG- AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
software/Fine131/IGG- AutoGrid5
/Programs/NUMECA
to
You are now ready to start
configuration!
the grid generation process and mesh the Francis Turbine
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade
and 3D views. The access to main menu and controls is proposed through a menu bar and a
quick access pad, and is completed with a tool/icon bar. The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
4.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
A. Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
B. Load Geometry
6. Locate and select "stay.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and
click Open ("Where to Find the Files Used in the Tutorials?" (p. 10)); Accept the warning
message concerning the discontinuity at the hub.
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud).
It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel
curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
Accept the message concerning the discontinuity at the hub
7. Click Add Row.
8. Go to row 2 > Blades > Main Blade, left-click Main Blade.
9. Right-click to access the contextual menu and select Define Geometry.
10. Locate and select "guide.geomTurbo" (geometry defined in [Millimeter]) in the dialog box
and click Open.
11. Repeat step 7 to step 10 to import "run.geomTurbo" for row 3.
The three elements are displayed in the meridional view corresponding to the three parts of the
turbine. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The
default location is set at the average meridional location between the downstream trailing edge and
the upstream leading edge.
12. Move outlet position :
l Left-click on the outlet line and left-click on the bottom point. Move it on the corner of the hub
and left-click to place it.
l Right-click on the point above, point location box appears. Set the R= <40> < Enter>.
l Repeat this action for other points with following location :
13. Set geometry units:
l Go to Geometry Definition -> Units.
l Change the units to Millimeters.
The "units" of
the imported geometry must be changed to impose a scaling factor and a
treatment during the grid generation when
corresponding tolerance that will ensure correct
computing, for example, the intersection. Unless it is necessary to change this, we recommend keeping
the default settings (Scale Factor set to 1).
C. Mesh Wizard
14. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
15. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
16. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details can be found in the AutoGrid5™ User Guide.
18. Click Next in the dialog box to define the machine characteristics (step 2).
19. Select Francis Turbine as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <24>, press <Enter> to confirm.
21. Select Stator.
22. Click Next in the dialog box to start the gap and fillet definition (step 3).
23. Keep all data unchanged (no gap or fillet).
24. Click Next>> in the dialog box to start the flow path definition (step 4).
25. Set Spanwise Grid Point Number to < 57 > < Enter> (corresponding to the flow paths
number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
26. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref=1.096 m/s, L ref=0.12m and ν=1.01e-6 m2 /s.
Assuming one wishes to get y+ =1 at the wall, it turns out that y = 2e-5 m.
Input the value of the Wall Cell Width = <0.02> [Millimeters] <Enter> in the Layer Control
dialog box.
27. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
28. Set the Number of Points (of the 3D mesh) around 500,000 by clicking the << or >> button
in the B2B Control dialog box.
29. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when
applying the optimization steps.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
30. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the
blade-to-blade mesh at mid-span.
31. Click Finish to end the initialization process (step 6).
32. Click no in order to set row 2 and row 3 before making the complete 3D Mesh Generation.
33. Define row 2 periodicity:
l Double left-click row 2 in meridional view.
l Impose a Periodicity of <24><Enter>.
l Impose a Rotation Speedof <0><Enter>.
l Close dialog box.
34. Copy the settings of row 1 to row 2:
l Left-click Row Definition -> Row List -> row 1.
l Click
Copy
Row
Wizard
Settings
in
the
toolbar
l Left-click Row Definition -> Row List -> row 2.
).
l Click
Paste
Row
Wizard
Settings
in
the
toolbar
).
(
(
This copy/paste option is very useful to easily impose the same wizard settings for multiple rows in a
multi-stage configuration.
35. Repeat step 14 to step 32 for row 3 with the following parameters:
l Francis Turbine as Row type, Periodicity=<13>, Rotor, Rotation speed (rpm)=<-500>.
l Spanwise Grid Point Number = <57>, Wall Cell Width = <0.02> [Millimeters].
l Set Number of Points around 600,000.
36. Under Row Definition, left-click Select All Rows.
37. Click Generate 3D in the toolbar.
Click no to check the blade- to- blade mesh quality at hub and/or shroud before generating the 3D
mesh.
Go to Row Definition and click Select All Rows to select all rows. Go to Mesh Control ->
Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-
to-blade view. By default, the active view is located at the mid-span of the machine (Active Layer
(%span) set to <50>). The layer selected for visualization is defined in percentage of span, going
from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the
mesh at hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on a blade- to- blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select quality criteria using the Type pull-down menu.
l Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram.
The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left-click More info button to obtain information about minimum and maximum values of the
selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking Row Definition -> Select All Rows and then clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to
grid quality report is automatically stored in a report file, once the project file is saved.
38. Close the dialog box. The page can be reopened by clicking
.
39. To improve the aspect ratio too high in the bulb area:
l Select Expert Mode.
l Click Outlet Bulb Topology Control in the toolbar.
l In the Outlet Bulb Mesh Topology dialog box, left-click on the bulb streamwise control and
type <45>, press <Enter> to confirm.
l Select Basic Mode.
l Left-click Row Definition -> row 3 in the QAP to activate the current row, if not done
already.
l Click Generate 3D in the toolbar.
D. Mesh Visualization
40. Select the View -> View 3D Solid Mesh menu.
41. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide
3D Solid Mesh.
42. Use the Repetition icon (
) to toggle the repetition of the channel.
43. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
112
IGG™/AutoGrid5™ 13.1 Tutorials
E. Check Boundary Conditions & Mesh Quality
44. Check for boundary conditions by clicking
.
45. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
46. Close the dialog box.
47. Left-click in the 3D view to activate the view (red border), if not done already.
48. Check for negative cells by clicking
.
49. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the
number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
50. Click ok and Close the dialog box.
51. Left-click in the 3D view to activate the view (red border), if not done already.
52. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
53. Select block number (0 for all) - <Enter>.
54. Select quality criteria using the Type pull-down menu.
55. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
56. Left-click part of the histogram to plot the concerned cells in the 3D view.
57. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
58. Close the dialog box.
F. Save Project
59. Go to File -> Save Project As <tutorial4> and press <Enter> to save the mesh and template
files in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
and
(".xmt_ txt"),
boundary
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
5.1
AXIAL MULTISTAGE COMPRESSOR
5.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of multi-stage axial-flow turbomachine.
It makes exclusive use of AutoGrid5™ and describes the main actions required to mesh the
configuration of interest.
In this tutorial you will learn how to:
l define multi-rows configuration;
l read an existing geometrical file into AutoGrid5™;
l define the blade periodicity;
l define a tip clearance;
l control meridional flow paths;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any prior knowledge.
C. Problem Description
The tutorial deals with a 1-1/2 compressor stage, which is part of a three-stage axial compressor.
Both stators (38 and 40 blades) and rotor (25 blades) are cylindrical and twisted. The rotor is
unshrouded with a tip-clearance of 0.3 mm and rotating with the speed of 15,000 RPM.
D. Preparation
Start AutoGrid5 v13.1:
l For Linux systems, you can access the AutoGrid5™ graphical user interface directly with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the Axial Compressor
configuration!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade
and 3D views. The access to main menu and controls is provided through a menu bar and a
quick access pad, and is complemented with a tool/icon bar. The execution of the different
actions undertaken is summarized in the message box at the bottom of the interface.
5.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
A. Load Geometry
6. Locate and select "stator1.geomTurbo" (geometry defined in [Millimeter]) in the dialog box
and click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10))
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud).
It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel
curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
7. In Row Definition, click Add Row.
8. Go to row 2 -> Blades -> Main Blade, left-click Main Blade.
9. Right-click to access the contextual menu and select Define Geometry.
10. Locate and select "rotor.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and
click Open.
11. Repeat step 7 to step 10 to import "stator2.geomTurbo" for row 3.
The three elements are displayed in the meridional view corresponding to the three parts of the
turbine. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The
default location is set at the average meridional location between the downstream trailing edge and
the upstream leading edge.
12. Control the domain limits:
The inlet and outlet limits of the domain are by default automatically defined by AutoGrid5™ using
two straight lines joining the limits of the hub and shroud definitions. The shape and the location of
the inlet and outlet boundaries can be modified interactively.
You can access the control points of the inlet/outlet and modify their location by dragging the points.
The exact coordinates of the control points can also be set by right-clicking the control point; a dialog
box will appear, enabling the user to enter the point coordinates in (rz) mode.
In Expert Mode, there is another way to control the shape of inlet/outlet. Move the mouse onto the
inlet/outlet. When it becomes highlighted in yellow, right-click and select Properties in the pop-up
menu. Activate for example Z constant and enter the coordinates where the inlet/outlet should be
locate.
l Left-click the inlet when highlighted in yellow in the meridional view.
l Right-click the Top Point when highlighted in yellow.
l Set the Z value to <77.6><Enter> in the Point Location dialog box.
l Left-click the Bottom Point when highlighted in yellow.
l Set the Z value to <77.6><Enter> in the Point Location dialog box.
l Close the Point Location dialog box by clicking the cross at the top right corner.
13. Repeat step 12 for the outlet: for the top and bottom point, set the Z value to <266> and press
<Enter>.
B. Mesh Wizard
14. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
15. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
16. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details can be found in the AutoGrid5™ User Guide.
18. Click Next in the dialog box to define the machine characteristics (step 2).
19. Select Axial Compressor as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <38>, press <Enter> to confirm.
21. Select Stator.
22. Click Next in the dialog box to start the gap and fillet definition (step 3).
23. Keep all data unchanged (no gap or fillet).
24. Click on Next>> in the dialog box to start the flow path definition (step 4).
25. Set Spanwise Grid Point Number to <57> and press <Enter> (corresponding to the flow
paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
26. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref=200 m/s, L ref=0.05 m and ν=1.43e-6 m²/s.
Assuming one wishes to get y+ = 1.5 at the wall, it turns out that y = 3 x 10-6 m.
Input the value of the Wall Cell Width = <0.003> [Millimeters] <Enter> in the Layer Control
dialog box.
27. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
28. Set the Number of Points (of the 3D mesh) around 300,000 by clicking the << or >> button
in the B2B Control dialog box.
29. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when
applying the optimization steps.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
30. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the
blade-to-blade mesh at mid-span.
31. Click Finish to end the initialization process (step 6).
32. Click no to set row 2 and row 3 before making the complete 3D mesh generation.
33. Repeat step 14 to step 32 for row 2 with the following parameters:
l Axial Compressor as Row type , Periodicity =< 25 >, Rotor , Rotation speed
(rpm)=<15000>.
l Select Tip Gap, Width At Leading Edge = Width At Trailing Edge = <0.3> [Millimeters].
The width at leading/trailing edge allows the user to specify the size of the gap respectively at the
leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub
(or the shroud) according to these values.
l Spanwise Grid Point Number=<73>, Wall Cell Width=<0.003> [Millimeters].
l Set Number of points around 600,000, keep Full Matching Mesh active to impose a
matching connection between the channel and the gap.
34. Repeat step 14 to step 32 for row 3 with the following parameters:
l Axial Compressor as Row type, Periodicity=<40>, Stator.
l Spanwise Grid Point Number=<57>, Wall Cell Width=<0.003> [Millimeters].
l Set Number of points around 300,000.
35. In Row Definition, left-click Select All Rows.
36. Click Generate 3D in the toolbar.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select a row in the Row list <Enter>.
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left- click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking Row Definition -> Select All Rows and then clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to
grid quality report is automatically stored in a report file, once the project file is saved.
37. Close the dialog box. The page can be reopened by clicking
.
C. Mesh Visualization
38. Select the View -> View 3D Solid Mesh menu.
39. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide
3D Solid Mesh.
40. Use the Repetition icon (
) to toggle the repetition of the channel.
41. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
D. Check Boundary Conditions & Mesh Quality
42. Check for boundary conditions by clicking
.
43. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches are in the patch list still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
44. Close the dialog box.
45. Left-click in the 3D view to activate the view (red border), if not done already.
46. Check for negative cells by clicking
.
47. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the
number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
48. Click ok and Close the dialog box.
49. Left-click in the 3D view to activate the view (red border), if not done already.
50. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
51. Select block number (0 for all) - <Enter>.
52. Select quality criteria using the Type pull-down menu.
53. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
54. Left-click part of the histogram to plot the concerned cells in the 3D view.
55. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
56. Close the dialog box.
E. Save Project
57. Go to File -> Save Project As <tutorial5> and press <Enter> to save mesh and template files
in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
6.1
HIGH PERFORMANCE CENTRIFUGAL
COMPRESSOR
6.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of centrifugal turbomachine. It makes
exclusive use of AutoGrid5™ and describes the main actions required to mesh the configuration
of interest. In this tutorial you will learn how to:
l define multi-rows;
l define the blade periodicity;
l define a tip clearance;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any prior knowledge.
C. Problem Description
The centrifugal impeller is the scaled version of the original DDA's 404-III compressor. Its design
flow rate is 4.39 kg/s at a mechanical speed of 21,789 RPM. The impeller consists of 15
unshrouded main blades with splitter blades with high back-sweep at discharge. The vaned
diffuser has 24 two-dimensional wedge vanes with the leading edge located at a radius of 1.0778
relative to the impeller exit. The diffuser exit radius is 14.3 inches and dumps directly into a 90
degrees annular bend. For a more detailed description of the geometry of the compressor and its
performance, please refer to Coordinates for a High performance 4:1 Pressure Ratio Centrifugal
Compressor, NASA Contractor Report 204134, July 1997.
D. Preparation
Start AutoGrid5 v13.1:
l For Linux systems, you can access the AutoGrid5™ graphical user interface directly with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/AutoGrid131/IGG- AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the Centrifugal Compressor
configuration!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade
and 3D views. The access to main menu and controls is provided through a menu bar and a
quick access pad, and is complemented with a tool/icon bar. The execution of the different
actions undertaken is summarized in the message box at the bottom of the interface.
6.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
A. Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
B. Load Geometry
6. Locate and select "hpcc_impeller.geomTurbo" (geometry defined in [Inches]) in the dialog box
and click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10))
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud).
It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel
curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s).
The blade and splitter are defined by the pressure and the suction side surfaces identified by the
keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade
at several spanwise locations from hub to shroud. Each section is defined by a set of points from
leading to trailing edge.
7. Click Row Definition -> Add Row.
8. Go to row 2 -> Blades -> Main Blade, left-click Main Blade.
9. Right-click to access the contextual menu and select Define Geometry.
10. Locate and select "hpcc_diffuser.geomTurbo" (geometry defined in [Inches]) in the dialog
box and click Open.
The two rows are displayed in the meridional view corresponding to the two parts of the compressor.
The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default
location is set at the average meridional location between the downstream trailing edge and the
upstream leading edge.
11. Control the domain limits:
The inlet and outlet limits of the domain are by default automatically defined by AutoGrid5™ using
two straight lines joining the limits of the hub and shroud definitions. The shape and the location of
the inlet and outlet boundaries can be modified interactively.
You can access the control points of the inlet/outlet and modify their location by dragging the point.
The exact coordinates of the control points can also be set by right- clicking the control point. A
dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
In Expert Mode, there is another way to control the shape of inlet/outlet. Move the mouse onto the
inlet/outlet. When it becomes highlighted in yellow, right-click and select Properties in the pop-up
menu. Activate for example Z constant and enter the coordinates where the inlet/outlet should be
located.
l Left-click the inlet when highlighted in yellow in meridional view.
l Right-click the Top Point when highlighted in yellow.
l Set the Z value to <-3.23> and press <Enter> in the Point Location dialog box.
l Left-click the Bottom Point when highlighted in yellow.
l Set the Z value to <-3.23> and press <Enter> in the Point Location dialog box.
l Close the Point Location dialog box by clicking the cross at the top right corner.
C. Mesh Wizard
12. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
13. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
14. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
15. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details can be found in the AutoGrid5™ User Guide.
16. Click Next in the dialog box to define the machine characteristics (step 2).
17. Select Centrifugal Impeller as Row type in the Blade row type dialog box.
18. Enter the Periodicity (number of blades): left-click inside the string input area and type
<15>, press <Enter> to confirm.
19. Select Rotor.
20. Enter <-21789> as the Rotation speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and will ease the input of
boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
21. Click Next in the dialog box to start the gap and fillet definition (step 3).
22. Activate Tip Gap in the Gap and Blending Control dialog box.
23. Define for Tip Gap: Width At Leading Edge = <0.006> [Inches] <Enter>.
24. Define for Tip Gap: Width At Trailing Edge = <0.008> [Inches] <Enter>.
The width at leading/trailing edge allows the user to specify the size of the gap respectively at the
leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub
(or the shroud) according to these values.
25. Keep all other data identical.
157
IGG™/AutoGrid5™ 13.1 Tutorials
26. Click Next>> in the dialog box to start the flow path definition (step 4).
27. Set Spanwise Grid Point Number to <73> and press <Enter> (corresponding to the flow
paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
28. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref=492 m/s, L ref=0.2159 m and ν=1.57e-5 m²/s.
Assuming one wishes to get y+=5 at the wall, it turns out that y=0.0003 inches.
Input the value of the Wall Cell Width = <0.0003> [Inches] <Enter> in the Layer Control
dialog box.
29. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
30. Set the Number of Points (of the 3D mesh) around 1,700,000 by clicking the << or >>
button in the B2B Control dialog box.
31. Click Preview B2B to plot the blade-to-blade mesh at mid-span: H&I topology with skin
block is used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when
applying the optimization steps.
161
IGG™/AutoGrid5™ 13.1 Tutorials
The H&I topology with skin block includes 4 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is an H-mesh located upstream the leading edge;
l the outlet block is an H-mesh located downstream the trailing edge;
l the up block is an H-mesh located in the blade passage.
32. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the
blade-to-blade mesh at mid-span.
33. Click Finish to end the initialization process (step 6).
34. Click no to set the row 2 before making the complete 3D Mesh Generation.
35. Repeat step 12 to step 34 for row 2 with the following parameters:
l Centrifugal Diffuser as Row type, Periodicity=<24>, Stator.
l Spanwise Grid Point Number=<57>, Wall Cell Width=<0.0003> [Inches].
l Set Number of points around 590,000.
When clicking Preview B2B, the blade-to-blade mesh at mid-span is plotted: O4H topology is used
with additional upstream/downstream H-blocks.
164
IGG™/AutoGrid5™ 13.1 Tutorials
165
IGG™/AutoGrid5™ 13.1 Tutorials
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
36. In Row Definition, left-click Select All Rows.
37. Click Generate 3D in the toolbar.
You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Row Definition and left-click Select All Rows to select all rows. Go to Mesh Control ->
Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-
to- blade view. By default, the active view is set at the mid- span of the machine ( Active Layer
(%span) set to <50>). The layer selected for visualization is defined in percentage of span, going
from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the
mesh at hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select a row in the Row list and <Enter>,
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking Rows Definition -> Select All Rows and then clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed.
Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data
is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data
related to grid quality report is automatically stored in a report file, once the project file is saved.
38. Close the dialog box. This page can also be reopened by clicking
.
D. Mesh Visualization
39. Select the View -> View 3D Solid Mesh menu.
40. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View
-> Hide 3D Solid Mesh.
41. Use the Repetition icon (
) to toggle the repetition of the channel.
42. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
E. Check Boundary Conditions & Mesh Quality
43. Check for boundary conditions by clicking
.
44. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
45. Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check for negative cells by clicking
.
48. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the
number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
49. Click ok and Close the dialog box.
50. Left-click in the 3D view to activate the view (red border), if not done already.
51. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
52. Select block number (0 for all) - <Enter>.
53. Select quality criteria using the Type pull-down menu.
54. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
55. Left-click part of the histogram to plot the concerned cells in the 3D view.
56. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
57. Close the dialog box.
F. Save Project
58. Go to File -> Save Project As <tutorial6> and press <Enter> to save mesh and template files
in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
7.1 WIND TURBINE
7.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a wind turbine. It makes exclusive
use of AutoGrid5™ and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l define the blade periodicity;
l define pseudo shroud and upstream/downstream limit;
l control meridional flow paths;
l control far field;
l generate and optimize the blade-to-blade (dedicated O4H High Staggered topology) mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any prior knowledge.
C. Problem Description
This problem considers the generic wind turbine as shown below. The turbine includes 3 blades,
rotating with a speed of 15 RPM. The absolute velocity at the inlet is 10 m/s.
D. Preparation
Start AutoGrid5 v13.1:
l For Linux systems, you can access the AutoGrid5™ graphical user interface directly with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the Wind Turbine configuration!
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade
and 3D views. The access to main menu and controls is provided through a menu bar and a
quick access pad, and is complemented with a tool/icon bar. The execution of the different
actions undertaken is summarized in the message box at the bottom of the interface.
7.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
A. Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
B. Load Geometry
6. Locate and select "windturbine.geomTurbo" (geometry defined in [Meter]) in the dialog box
and click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10)). Click ok in both
warning dialog boxes informing that a discontinuity of 90 degrees has been detected in the hub.
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
(s) definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud,
seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points
and the channel curves defined as a composite of basic curves.
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter(s)
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
C. Mesh Wizard
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
8. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
9. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 8 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the pseudo shroud definition,
l the gap and fillet definition,
l the flow path definition,
l the far field definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details in AutoGrid5™ User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).
12. Select Wind Turbine as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <3>, press <Enter> to confirm.
14. Select Rotor.
15. Enter <-15> in Rotation Speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
16. Click Next
upstream/downstream limits (step 3).
in the dialog box to start
the pseudo shroud definition and the
AutoGrid5™ automatically creates a horizontal pseudo shroud located at a radius (Rshroud) defined
by:
with
and
as the maximum of the minimum blade radii computed on leading and trailing edge
is the minimum of the maximum blade radii computed on leading and trailing edge.
The normalized parameters Upstream Location and Downstream Location are used to
and the minimum of
locate the inlet and outlet of the domain using the blade location
the maximum blade radii computed on leading and trailing edge (
) as
normalization value:
17. Define Shroud R Value = <1.0> <Enter>.
18. Define Upstream Location = <-10.0> <Enter>.
19. Define Downstream Location = <25.0> <Enter>.
20. Click Next>> in the dialog box to start the gap and fillet definition (step 4).
21. Keep all data unchanged (no gap or fillet).
22. Click Next>> in the dialog box to start the flow path definition (step 5).
23. Set Spanwise Grid Point Number to <149> (corresponding to the flow paths number) in the
Layer Control dialog box.
24. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends locating the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that Vref=10 m/s; Lref=0.25 m; ν=1.43e-5 m²/s. Assuming
one wishes to get y+ around 1 at the wall, it turns out that y = 1 x 10-5 m.
Input the value of the Wall Cell Width = <1e-5> [Meters] <Enter> in the Layer Control dialog
box.
25. Click Next>> in the dialog box to start the far field definition (step 6).
The far field limit is controlled by the Far Field Thickness parameter normalized with the
(minimum of the maximum blade radii computed on leading and trailing edge):
In addition, the number and the distribution of the layers in the far field can be modified.
26. Set Spanwise Grid Point Number to <65> (corresponding to the flow paths number in the
far field) in the dialog box.
27. Set Percentage Constant Cell to <33>.
28. Define Far Field Thickness = <5.0> <Enter>.
29. Click Next>> in the dialog box to start the blade-to-blade definition (step 7).
30. Set the Number of Points (of the 3D mesh) around 4,000,000 by clicking the << or >>
button in the B2B Control dialog box if necessary.
31. Click Preview B2B to plot the blade-to-blade mesh at mid-span: a Rounded Azimuthal O4H
topology is used.
The topology (Rounded Azimuthal) is activated automatically if the blade solid angle at midspan is
higher than 45°.
189
IGG™/AutoGrid5™ 13.1 Tutorials
The Rounded Azimuthal O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located below the leading edge;
l the outlet block is a H-mesh located above the trailing edge;
l the up block is a H-mesh located upstream the blade section;
l the down block is a H-mesh located downstream the blade section.
32. Click Finish to end the initialization process (step 8). Click no in order to not generate the 3D
mesh.
Automatically, at the end of the wizard procedure, a ZR effect named <Row name> far field is
created under Quick Access Pad/Row Definition to control the grid generation process of the
domain up to the blade.
33. In the QAP/Row Definition, left-click row 1 and left-click + <Ctrl> on row 1 far field.
Click the Generate 3D button.
You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will
be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine
(Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of
span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to
visualize the mesh at hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left- click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria.
l Close the quality checkbox.
Once 3D grid generation is completed, a grid quality check is performed and displayed.
Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data
is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data
related to grid quality report is automatically stored in a report file, once the project file is saved.
34. Close the dialog box. The page can be reopened by clicking
.
D. Mesh Visualization
35. Select the View -> View 3D Solid Mesh.
36. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide
3D Solid Mesh.
37. Use the Repetition icon (
) to toggle the repetition of the channel.
38. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
E. Check Boundary Conditions & Mesh Quality
39. Check for boundary conditions by clicking
.
40. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
41. Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for negative cells by clicking
.
44. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
45. Click ok and Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
48. Select block number (0 for all) - <Enter>.
49. Select quality criteria using the Type pull-down menu.
50. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
51. Left-click part of the histogram to plot the concerned cells in the 3D view.
52. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
53. Close the dialog box.
F. Save Project
54. Go to File -> Save Project As <tutorial7> and press <Enter> to save mesh and template files
in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
8.1
MARINE PROPELLER
8.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a rounded tip propeller. It makes
exclusive use of AutoGrid5™ and describes the main actions required to mesh the configuration
of interest.
In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l define the blade periodicity;
l define pseudo shroud and upstream/downstream limit;
l control meridional flow paths;
l control far field;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any prior knowledge.
C. Problem Description
This problem considers a rounded tip propeller as shown below. The propeller is the Postdam
Propeller Test Case, known as PPTC. It includes 5 blades, rotating with a speed of -1499.22
RPM. The inlet velocity is 6.367 m/s.
203
IGG™/AutoGrid5™ 13.1 Tutorials
D. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can access the AutoGrid5™ graphical user interface directly with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start
configuration!
the grid generation process and mesh the Marine Propeller
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade
and 3D views. The access to main menu and controls is provided through a menu bar and a
quick access pad, and is complemented with a tool/icon bar. The execution of the different
actions undertaken is summarized in the message box at the bottom of the interface.
8.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
A. Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
B. Load Geometry
6. Locate and select "PPTC_propeller.geomTurbo" (geometry defined in [Meter]) in the dialog
box and click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10))
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
(s) definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud,
seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points
and the channel curves defined as a composite of basic curves. For a propeller configuration, the
shroud curve is not defined, but a pseudo shroud will be defined later on to allow the mesh
generation. In this specific case, the hub curve ends at R=0 [m], meaning that the propeller represents
a bulb configuration.
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade. The main blade is defined by a set of surfaces and
curves for the leading and trailing edges.
C. Mesh Wizard
7. Left-click Rows Definition > row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
8. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
9. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided into 7 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the pseudo shroud definition,
l the flow path definition,
l the far field definition;
l the blade-to-blade mesh definition,
l the end of the initialization.
10. Click yes to confirm the geometry check (step 1).
The check will fail because the shroud is not defined in the ".geomTurbo" file. The check can
thus be skipped.
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details in AutoGrid5™ User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).
12. Select Marine propeller as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <5>, press <Enter> to confirm.
14. Select Rotor.
15. Enter <-1499.22> in Rotation Speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
16. Check the option Blade Tip Rounded Topology.
The option Blade Tip Rounded Topology is only applicable to double rounded blades (no blunt)
and is under license.
If the option Blade Tip Rounded Topology does not appear, it means you do not have access to this
feature. Please contact your local software provider or the NUMECA Support office!
17. Click Next
upstream/downstream limits (step 3).
in the dialog box to start
the pseudo shroud definition and the
AutoGrid5™ automatically creates a horizontal pseudo shroud located at a radius (Rshroud) defined
by:
Rshroud= BladeRadiusMin + (BladeRadiusMax-BladeRadiusMin) x (Shroud Location -
1e-5)
with
BladeRadiusMin = maximum of the minimum blade radii computed on leading and trailing
edge,
BladeRadiusMax = minimum of the maximum blade radii computed on leading and trailing
edge.
The normalized parameters Upstream Location and Downstream Location are used to locate the
inlet and outlet of the domain using the blade location (Zref)and the minimum of the maximum blade
radii computed on leading and trailing edge (BladeRadiusMax) as normalization value:
Lupstream = abs(BladeRadiusMax x Upstream Location)
Ldownstream = abs(BladeRadiusMax x Downstream Location)
Upstream Z = Zref-Lupstream
Downstream Z = Zref+Ldownstream
18. Keep Shroud Location at <1.3>.
19. Keep Upstream Location at <-5>.
20. Define Downstream Location = <8.0> <Enter>. Then click Next>> in the dialog box.
The option Blade Tip Rounded Topology allows imposing a specific topology adapted for the
rounded tip configuration. When the option is active, the shroud will be located above the blade to
create some space to put the new butterfly topology. A shroud gap is automatically set. The blade is
expanded with the section extension approach (more details in AutoGrid5™ User Guide)
21. The blade has been expanded, and the Tip Gap has been defined automatically. Click
Next>> to start the flow path definition (step 4).
22. Set Spanwise Grid Point Number to < 89 > < Enter> (corresponding to the flow paths
number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
23. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends locating the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that Vref=6.367 m/s; Lref=0.25 m; ν=9.34e-7 m²/s. Assuming
one wishes to get y+ around 1 at the wall, it turns out that y = 4 x 10-6 m. Input the value of the
Cell Width at Hub = Cell Width at Shroud = <4e-6> [Meters] <Enter> in the Layer Control
dialog box.
24. Click Next>> in the dialog box to start the far field definition (step 5).
The far field limit
BladeRadiusMax (minimum of the maximum blade radii computed on leading and trailing edge):
is controlled by the Far Field Thickness parameter normalized with the
H = Far Field Thickness x BladeRadiusMax
In addition, the number and the distribution of the layers in the far field can be modified.
25. Keep Spanwise Grid Point Number to <57> (corresponding to the flow paths number in the
far field) in the dialog box.
26. Keep Percentage Constant Cell at <33>.
27. Keep Far Field Thickness = <5.0> <Enter>.
28. Click Next>> in the dialog box to start the blade-to-blade definition (step 6).
29. Set the Number of Points (of the 3D mesh) around 2,700,000 by clicking the << or >>
button in the B2B Control dialog box if necessary.
30. Click Preview B2B to plot the blade- to- blade mesh at mid- span: a High Staggered
Streamwise O4H topology is used around the blade.
The High Staggered topology is automatically activated when the solid angle of the blade at the inlet
(outlet) of the machine is greater than 45° on the hub and pseudo shroud layers.
The streamwise O4H topology includes 5 blocks as follows:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located below the leading edge;
l the outlet block is a H-mesh located above the trailing edge;
l the up block is a H-mesh located upstream the blade section;
l the down block is a H-mesh located downstream the blade section.
31. Click Finish to end the initialization process (step 7).
Automatically, at the end of the wizard procedure, a ZR effect named <Row name> far field is
created under Quick Access Pad/Row Definition to control the grid generation process of the
domain up to the blade.
32. Click no to postpone the 3D mesh generation because the streamwise number of points in the
downstream H-block has to be increased.
33. Increase the number of points in the streamwise direction in the downstream H-block:
l Click the
icon in the toolbar to display the multiview mode and to access the blade-to-
blade view,
l Left-click in blade-to-blade view (active view is surrounded by a red border),
l Move mouse onto the downstream H-block to activate it (highlighted in blue),
l Right-click and select Number of Pts Streamwise,
l Set Number Of Points Streamwise to <25>, press <Enter> and Close.
To check the blade-to-blade mesh quality at the hub and/or shroud before generating the 3D mesh,
click on View B2B button in the toolbar.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will
be plotted in the blade-to-blade view. By default, the active view is located at the mid-span of the
machine ( Active Layer (%span) set to 50). The layer selected for visualization is defined in
percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter>
in order to visualize the mesh at hub or shroud respectively.
Click on Update B2B View button to regenerate the blade-to-blade mesh on the new specified layer
in the blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left- click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria.
l Close the quality checkbox.
34. The 3D mesh generation can be started by clicking the Generate 3D button after selecting
row 1 and row 1 far field under Quick Access Pad/Row Definition (<Ctrl> + left-click).
When the option Blade Tip Rounded Topology is active, at the end of the mesh generation, the skin
block is split in the spanwise direction at the gap layer, keeping the lower part and modifying the upper part
to create a new topology more adapted to the rounded blade tip. In the upper part, the skin block is first
divided perpendicularly to the blade and the outer part is kept unchanged. The inner part is further divided in
spanwise direction: the top skin part is converted into an H topology and the lower part is modified into a
butterfly topology. The location of the spanwise division should respect multigrid levels and lead as much as
possible to a uniform skin block width around the blade. This new topology allows to decouple the shroud
cell width from the outer skin block cell width to obtain a good quality on the shroud layer.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to
grid quality report is automatically stored in a report file, once the project file is saved.
35. Close the dialog box. The page can be reopened by clicking
.
D. Mesh Visualization
36. Select View -> View 3D Solid Mesh.
37. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide
3D Solid Mesh.
38. Use the Repetition icon (
) to toggle the repetition of the channel.
39. Use the View subpad in the QAP to toggle edge, mesh and/or solid shading.
E. Check Boundary Conditions & Mesh Quality
40. Check for boundary conditions by clicking
.
41. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
42. Select EXT under Type , then select the patches as shown in the picture below, set INL
under Set Patch Type. Those patches represent the inlet domain of computation.
43. Select the patches as shown in the picture below, set OUT under Set Patch Type. Those
patches represent the outlet domain of computation.
44. The remaining patches in Type as EXT , must be set as SOL under Set Patch Type.
Those boundary conditions will be transferred to the FINE™ graphical user interface.
45. Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check for negative cells by clicking
.
48. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
49. Click ok and Close the dialog box.
50. Left-click in the 3D view to activate the view (red border), if not done already.
51. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
52. Select block number (0 for all) - <Enter>.
53. Select quality criteria using the Type pull-down menu.
54. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
55. Left-click part of the histogram to plot the concerned cells in the 3D view.
56. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
57. Close the dialog box.
F. Save Project
58. Go to File -> Save Project As <tutorial8> and press <Enter> to save mesh and template files
in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
ADVANCED
The following Advanced level tutorials for AutoGrid5™ are available:
1.1
LARGE SCALE CENTRIFUGAL
COMPRESSOR (EXPERT MODE)
1.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a centrifugal turbomachine. It makes
exclusive use of AutoGrid5™ and describes the main actions required to mesh the configuration
of interest.
In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l define a tip clearance;
l set default O4H topology;
l control flow paths;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any particular prior knowledge.
C. Problem Description
The L arge S cale C entrifugal C ompressor (LSCC) is an experimental facility designed to
duplicate the essential flow physics of high-speed subsonic centrifugal compressor flow fields in a
large size, low-speed machine.
The impeller has 20 full blades with a backsweep of 55 degrees. The inlet diameter is 0.870 m
and the inlet blade height is 0.218 m. The exit diameter is 1.524 m and exit blade height is 0.141
m. The tip clearance between the blade tip and the shroud is 2.54 mm, and is constant from the
impeller inlet to exit. This represents about 1.8% of the blade height at the exit of the impeller.
The design tip speed is 153 m/s, with a rotation speed of 1,862 rpm and a design mass flow of 30
kg/s.
A complete description of the experimental facility for the LSCC case is provided by Hathaway et
al. (1993, 1995) in the NASA technical paper 3527.
D. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
or
menu
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the Centrifugal Compressor
configuration!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is provided through a menu bar and a quick access
pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken
is summarized in the message box at the bottom of the interface.
1.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims to guide you through the
various steps that need to be executed from the creation of the mesh project to the validation of the
final mesh quality.
A. Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
B. Load Geometry & Define Main Properties
6. Locate and select "lssc.geomTurbo" (geometry defined in [Centimeter]) in the dialog box and
click Open. "Where to Find the Files Used in the Tutorials?" (p. 10)
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud,
seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points
and the channel curves defined as a composite of basic curves. The ".geomTurbo" file must contain
two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
8. Right-click row 1 and select Properties in the pop-up menu.
9. Enter the Periodicity (number of blades). Left-click inside the string input area and type <20>,
press <Enter> to confirm.
10. Enter <1862.4> and press <Enter> in Rotation Speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and will ease the input of
boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise
11. Close the dialog box.
12. Left-click Row Definition -> row 1.
13. Right-click row 1 and select Gap/Fillet/Define Shroud Gap in the pop-up menu.
14. Define Width At Leading Edge = <0.254> [Centimeters] and press <Enter>.
15. Define Width At Trailing Edge = <0.254> [Centimeters] and press <Enter>.
The width at leading/trailing edge allows the user to specify the size of the gap at the leading and
trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the
shroud) according to these values.
16. Close the dialog box.
17. Control domain limits: move the outlet as presented on figure below:
l Click in the meridional view to make it active (red border),
l Move the mouse on the outlet curve,
l When highlighted in yellow, right-click and select Properties,
l Activate Linear -> R constant, set the value to <131> and press <Enter>,
l Close the dialog box.
The inlet and outlet limits of the domain are by default defined by AutoGrid5™ using two straight
lines joining the limits of the hub and shroud definitions. The shape and the location of the inlet and
outlet boundaries can be modified interactively.
You can access the control points of the inlet/outlet and modify their location by dragging the points.
The exact coordinates of the control points can also be introduced by right-clicking the control point.
A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
There is another way to control the shape of inlet/outlet. Move the mouse to the inlet/outlet and when
it becomes highlighted in yellow, right-click and select Properties in the pop-up menu. Activate for
example Z constant and enter the coordinates where the inlet/outlet should be located.
C.
Initialize Topology & Grid Points Distribution
18. Left-click Row Definition -> row 1 to activate the row, if not done already.
19. Select Grid Level/Medium through Mesh Control in the Quick Access Pad (QAP).
20. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref=153 m/s, L ref=1.524 m and ν=1.57e-5 m²/s.
Assuming one wishes to get y+ = 5 at the wall, it turns out that y = 2 x 10-5 m. Input the value of
the Wall Cell Width = <0.002> [Centimeters] and press <Enter> in Mesh Control -> Row
Mesh Control in the QAP.
21. Select Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This
button will set the mesh topology to the default O4H topology.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
D. Meridional Control
22. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
23. Go to Mesh Control -> Row Mesh Control-> Flow Paths Control in the QAP.
24. The Number of Flow Paths is set to <73>.
25. Keep Cell Width at hub = <0.002> [Centimeters].
26. Keep Cell Width at shroud = <0.002> [Centimeters].
27. Keep all other data unchanged.
The Expert section allows the user to control the visualization, the shape and the parameters related
to flow path smoothing. The meaning of these parameters is detailed in the User Guide.
The Manual Edit mode allows the user to directly control
the block faces which are used to
construct flow paths. Edges can be moved, segments can be created or modified and the grid points
distribution on segments can be controlled. More details can be found in the User Guide.
28. Close the dialog box.
29. Left-click row 1 in the Quick Access Pad (QAP) to activate the current row, if not done
already.
30. Left-click Row Definition -> row 1 -> Blades -> Main Blade -> Shroud gap, right-click
and select Properties in the contextual menu.
31. Decrease the Number of Points to <13> <Enter> to reduce the default number of flow paths
between the main blade tip and the shroud.
32. Keep all other data identical.
The Topology controls the mesh topology into the gap. When O2H, more points can be added at the
trailing edge to better capture the wake, without adding too much points at the leading edge. (New in
AutoGrid5™ v13.1)
The Cell Width controls the cell size imposed at the blade extremity (at the hub or shroud according
to the gap type).
The Percentage of Mid-flow Cells controls the number of cells of constant size in the gap region
of the channel.
The Number of Points controls the number of points in the gap in the spanwise direction. This
number is part of the Number of Flow Paths specified through Mesh Control -> Row Mesh
Control -> Flow Paths Control in the QAP.
33. Close the dialog box.
34. Click Generate Flow Paths (
values modified.
) to regenerate the flow paths when default
E. Blade-to-Blade Control
35. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
36. Control blade-to-blade mesh through Mesh Control -> Row Mesh Control -> B2B Mesh
Topology Control.
37. Open the Topology control field, and keep the dialog box opened.
By default, non-matching connections are applied at periodic boundaries. You can see the periodic
boundary by showing the repetitions.
38. Left-click the blade-to-blade window to activate that view (red border).
39. Go to the View -> Repetition... menu.
40. Increase Nb Repet to <1> and click Show.
41. Close the dialog box.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using
the Type pull- down menu and plotted in the blade- to- blade view on the active layer selected in
Mesh Control/Active B2B Layer.
42. Check the grid quality by clicking
.
43. Select quality criteria using the Type pull-down menu.
44. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram.
45. Left-click part of the histogram to plot the concerned cells in the blade-to-blade view or select
Display all cells to have an overview on mesh quality.
46. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
47. Close the quality check box.
48. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
49. Activate Matching Periodicity in the Topology control field in the Define B2B Topology
dialog box to switch to matching periodicity.
50. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This
button will set the mesh topology to the default skin-like topology considering matching periodic
connections.
When initializing the topology and the grid points distribution, all
performed by the user on flow paths and blade-to-blade default settings are removed.
the manual modifications
51. Repeat step 29 to step 33 to reapply the manual modifications on flow paths in shroud gap.
52. Repeat step 42 to step 47 to check mesh quality with matching periodicity.
In most cases,
orthogonality in the overall mesh. This is especially true in high staggered configurations.
the presence of non- matching periodic connections somehow improves the
53. Keep matching periodicity and all other data unchanged.
turbomachinery types, the blades are highly staggered ( Automatic High Staggered
In several
Blade Detection within AutoGrid5™). If the solid angle at the inlet (outlet) of the machine becomes
greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading
edge (trailing edge) of the blades, then the default topology is not suitable anymore since the cells
located near the inlet (outlet) boundary become very skewed. To improve this unexpected behavior,
AutoGrid5™ uses the High Staggered Blade Optimization.
54. Close the Topology control field.
55. Activate row 1 by left-clicking it in the QAP, if not done already.
56. Open the Grid Points control field in the Define B2B Topology dialog box to control the
number of grid points in the blade-to-blade view.
57. Left-click any number of nodes, make the proper modification according to the following
figure in the entry box and press <Enter> to confirm the modification.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
The Number of Points in Clearance O-mesh allows the user to control the number of points in
the tip/hub gap (butterfly topology defined by two blocks).
58. Visualize the result in the blade-to-blade view after clicking Generate B2B (
regenerate the mesh in the blade-to-blade view.
) to
59. Close the Grid Points control field.
60. Open the Mesh control field to control the cell size at the trailing edge.
61. Set Cell Width At Trailing Edge to <0.0> and press <Enter> to relax the cell size at the
trailing edge.
62. Close the dialog box.
63. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh
optimization parameters to enhance the quality of the mesh if necessary.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block
elliptic techniques. The number of Optimization Steps represents the number of
iterations
performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
64. Set Optimization Steps on Fine Grid= <200> and press <Enter>. Keep all other data
unchanged.
65. Close the dialog box.
66. Activate the blade-to-blade view by left-clicking in the view (red border), if not done already.
67. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the
mesh will be plotted in the blade-to-blade view.
By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer
selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%).
68. Enter for example <50> in order to visualize the mesh at mid-span.
69. Press Generate B2B (
) to regenerate the mesh in the blade-to-blade view.
F. 3D Mesh Generation
70. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to active the current
row, if not done already.
71. Click Generate 3D and confirm (Start) the generation.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh and for each separate entity (row, technological effect, bulb). Data related to the
grid quality is automatically stored in a report file, once the project file is saved.
72. Close the dialog box. The page can be reopened by clicking
.
G. 3D Mesh Visualization
73. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
74. Right- click row 1 and select Properties to activate Default in order to plot the full
turbomachine.
75. Close the dialog box.
76. Select Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.
77. Right-click to get the contextual menu and select Full View.
78. Go to View in the QAP to toggle edge or mesh.
79. Right-click in the 3D view and activate MultiView.
80. Left-click the configuration view to retrieve the original QAP.
H. Check Boundary Conditions and Mesh Quality
81. Check for boundary conditions by clicking
.
82. Select UND from the Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not
they can usually be removed by increasing the tolerance and launching the Search
the case,
procedure.
83. Close the dialog box.
84. Left-click in the 3D view to activate the view (red border), if not done already.
85. Check for negative cells by clicking
.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the
number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
86. Click Apply.
87. Click ok and Close the dialog box.
88. Left-click in the 3D view to activate the view (red border), if not done already.
89. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can
only be performed once the 3D mesh has been generated. Information on orthogonality, angular
deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type
pull-down menu.
90. Select block number (0 for all).
91. Select quality criteria using the Type pull-down menu.
92. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
93. Left-click part of the histogram to plot the corresponding cells in the 3D view.
94. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
95. Close the dialog box
I.
Save Project
96. Go to File -> Save Project As <tutorial1> and press <Enter> to save the mesh and template
files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
and
(".xmt_ txt"),
boundary
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
within AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
2.1
MERIDIONAL EFFECT
2.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of seal leakages in turbomachinery
applications. It makes exclusive use of AutoGrid5™ and describes the main actions required to
mesh the configuration of interest.
In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l control meridional flow paths and blade-to-blade mesh;
l generate and control the mesh in the seal leakage;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for
beginners to perform the beginner tutorials 1 to 6 and the advanced tutorial 9.
C. Problem Description
The problem to be considered is shown schematically below (meridional view). The project
consists of the mesh generation of a seal leakage on top of the Aachen turbine rotor treated as an
isolated axial-flow wheel.
D. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the configuration containing a
seal leakage!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is provided through a menu bar and a quick access
pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken
is summarized in the message box at the bottom of the interface.
2.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims to guide you through the
various steps that need to be executed from the creation of the mesh project to the validation of the
final mesh quality.
A. Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Start a New Project From Scratch.
B. Load Geometry & Define Main Properties
6. Left-click in the meridional view.
7. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row.
8. Go to Geometry Definition -> Import and Link CAD.
A graphic window will open, allowing the user to import CAD geometry.
9. Go to File -> Open....
10. Select "geometry.dat" file from the file chooser. "Where to Find the Files Used in the
Tutorials?" (p. 10)
11. Define the hub curve:
l Left-click the hub as it turns to yellow.
l Right-click and select Link to Hub.
The hub curve is now displayed in the meridional view.
12. Define the shroud curve:
l Left-click the shroud as it turns to yellow.
l Right-click and select Link to Shroud.
The shroud curve is now displayed in the meridional view.
13. Define the blade:
l Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row, if not done already.
l Go to Geometry -> Select -> Surfaces.
A message will prompt to select surfaces.
l Type key binding <a> to select all surfaces (they turn to red or yellow).
The binding key <a> acts as a toggle, activating or de-activating all surfaces.
The View/View Solid menu acts as a toggle and allows the visualization of the active surfaces.
l Right-click twice to quit surfaces selection and select Link to Blade.
The blade is now displayed in the meridional view.
14. Define leading edge and trailing edge:
l Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row, if not done already.
l Left-click the blade leading edge line definition, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Leading Edge.
l Left-click the blade trailing edge line definition, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Trailing Edge.
The leading and trailing edges are now displayed in the meridional view.
When the blade intersects hub and shroud, the inlet and outlet are displayed in the meridional view.
15. Go to File -> Exit inside the Import CAD window.
16. Left-click Row Definition -> row 1 to activate row 1.
17. Right-click row 1 to get the contextual menu and select Properties.
18. Enter the Periodicity (number of blades). Left-click inside the string input area and type
<41>, press <Enter> to confirm.
19. Enter <-3500> in Rotation Speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
20. Close the dialog box.
C.
Initialize Topology & Grid Points Distribution
21. Left-click Row Definition -> row 1 to activate the row, if not done already.
22. Select Grid Level/Medium through Mesh Control in Quick Access Pad (QAP).
23. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that Vref=30 m/s; Lref=0.3m; ν=1.038e-5 m²/s. Assuming
one wishes to get y+ =1 at the wall, it turns out that ywall = 1 x 10-5 m. Input the value of the Cell
Width = <1e-5> and press <Enter> in Mesh Control -> Row Mesh Control in QAP.
24. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This
button will set the mesh topology to the default O4H topology.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
D. Meridional Control
25. Adjust inlet and outlet locations:
l Right-click the inlet curve when highlighted in yellow in the meridional view.
l Select Properties.
l Select Linear - Z constant, type <0.02> and press <Enter> to confirm.
l Left-click the outlet curve when highlighted in yellow in the meridional view.
l Select Linear - Z constant, type <0.16> and press <Enter> to confirm.
l Close the dialog box.
The new inlet and outlet locations are displayed in the meridional view.
You can access the control points of the inlet/outlet line and modify their location by dragging the
points. The exact coordinates of the control points can also be introduced by right-clicking the control
point. A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
line by right- clicking the control
You can access the properties of the inlet/outlet
line when
highlighted and selecting Properties. The dialog box is divided into two main parts. The first part is
used to specify the reference frame. When it is set to Relative to, the control points are relative to a
row and their reference depends on the position of the control line. Either the control points are
relative to the row inlet and its blade leading edge, to the leading and trailing edge, or to the blade
trailing edge and the row outlet. The second part of the dialog box is used to control the properties of
the meridional control line; namely the shape, the cell width, the streamwise index and the number of
points in streamwise direction.
26. Add a control line to capture the shroud corner downstream of the trailing edge:
l Select the meridional view by left-clicking it to activate the view, if not done already.
l Select Mesh Control -> Row Mesh Control -> Add Z Constant Line to add a z-constant
line to capture the shroud corner.
l Left-click the shroud corner in the meridional view to add a z-constant line. Make sure that the
z-constant line is on the corner, and not next to it, by zooming in. If necessary, left-click the
upper point of the control and move it onto the corner.
l Right-click to quit the menu.
271
IGG™/AutoGrid5™ 13.1 Tutorials
272
IGG™/AutoGrid5™ 13.1 Tutorials
You can access the control points of the z-constant line and modify their location by left-clicking and
dragging the points. The exact coordinates of the control points can also be controlled by right-
clicking the control point. A dialog box will appear, enabling the user to enter the point coordinates
in (rz) mode.
l Left-click the control line and then on each control point to change the control line shape as
presented below.
27. Remove blade-to-blade impact of the control line:
l Right-click the last control line when highlighted in yellow in the meridional view.
l Select Properties.
l Set B2B control to None.
l Close the dialog box.
28. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
29. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This
button will set the mesh topology to the default skin-like topology based on the new inlet/outlet
locations.
30. Go to Mesh Control -> Row Mesh Control.
31. Click on Flow Paths Control.
32. Modify the Number of Flow Paths = <33> and press <Enter>.
The Expert section allows the user to control the visualization, the shape and the parameters related
to flow path smoothing. The meaning of these parameters is detailed in the User Guide.
The Manual Edit mode allows the user to directly control
the block faces which are used to
construct flow paths. Edges can be moved, segments can be created or modified and the grid point
distribution on segments can be controlled. More details can be found in the User Guide.
33. Keep all other data unchanged.
34. Click Generate.
35. Close the dialog box.
E. Blade-to-Blade Control
36. Click Generate B2B (                     
).
37. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology
control field.
By default, non- matching connections are applied at periodic boundaries. Matching connections at
periodic boundaries can be obtained by activating the Matching Periodicity check button. Press
Initialize Topology & Grid Points Distribution button to regenerate the mesh in the blade- to-
blade plane.
In most cases, the presence of non-matching connections somehow improves the orthogonality in the
overall mesh. This is especially true in highly staggered configurations.
38. Keep Matching Periodicity deactivated and all other data identical.
turbomachinery types, the blades are highly staggered ( Automatic High Staggered
In several
Blade Detection within AutoGrid5™). If the solid angle at the inlet (outlet) of the machine becomes
greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading
edge (trailing edge) of the blades, then the default topology is not suitable anymore since the cells
located near the inlet (outlet) boundary become very skewed. To improve this unexpected behaviour,
AutoGrid5™ uses the High Staggered Blade Optimization.
39. Close the Topology control field.
40. Open the Grid Points control field to control the number of grid points in the blade-to-blade
view.
41. Left-click the number of nodes, make the proper modification in the entry box and press
<Enter> to confirm the modification.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
42. Visualize the result in the blade-to-blade view after selecting Generate B2B to regenerate the
flow paths and the mesh in blade-to-blade plane.
43. Close the dialog box.
44. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh
optimization parameters if necessary to enhance the quality of the mesh.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block
elliptic techniques. The number of Optimization Steps represents the number of
iterations
performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
45. Keep the number of Optimization Steps and all other data at default values.
46. Close the dialog box.
47. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the
blade-to-blade mesh will be plotted in the blade-to-blade view.
By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer
selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%).
48. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
49. Select Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using
the Type pull- down menu and plotted in the blade- to- blade view on the active layer selected in
Mesh Control/ Active B2B Layer.
50. Check the grid quality by clicking
.
51. Select quality criteria using the Type pull-down menu.
52. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn for each row.
53. Left-click part of the histogram to plot the concerned cells in blade-to-blade view.
54. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
55. Close the dialog box.
F. Meridional Effect Generation
Configuration Control
56. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
57. Click the Add ZR Effect button to add a meridional effect in the configuration.
Geometry Definition
58. Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not
active already.
59. Go to Geometry Definition -> Import and Link CAD.
A graphic window will open, allowing the user to import CAD geometry.
60. Select the curves defining the active meridional effect:
l Hold <Shift> and left-click all the curves as they turn to yellow.
l Right-click and select Import Meridional. Some error message may appear, just click ok to
continue if this happens.
When importing the curves, a geometry check is performed on the curves and warnings may popup to
inform the user. At the end, curves defining the meridional effect are displayed in the meridional
view.
Curves defining the meridional effects are specified in the ".geomTurbo" file using the basic curve
format .
l Go to File -> Exit inside the Import CAD window.
61. Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not
active already.
62. Right-click zr techno effect 1 to get the contextual menu and select Edit to access the
meridional effect edit mode.
It is possible for the meridional effect to have several connections with the main blade channel (for
example: a seal leakage has a connection upstream of the blade and a connection downstream of the
blade). In this case, the mesh created inside the domain of the effect is divided into two parts: one
starting from the inlet and one starting from the outlet. At the middle part of the seal leakage, a
"rotor- stator" separation line must be defined indicating the location of the division. At this line,
which can be defined in the edit mode, the two parts of the mesh will be connected by a periodic
connection if the connections with the main blade channel are related to the same row, or a
rotor/stator interface (if the connections with the main blade channel are related to different rows).
63. Click Rotor-Stator Polyline in the Geometry Control subpad to create a separation line.
64. Left-click the location (yellow spot on existing curve) where the "rotor-stator" polyline will
start.
65. Left-click the location (yellow spot on existing curve) where the "rotor-stator" polyline will
end.
66. Right-click to quit.
No curves have to be added at the connection between the blade channel (hub or shroud) and the
meridional effect. The hub and shroud curves will automatically be used as the limit of the meridional
effect.
AutoGrid5™ also provides geometrical features used to create the solid body of meridional effects
interactively. New polylines and C-splines can be created using respectively the Geometry Control
subpad and the Geometry menu in the meridional effect edit mode. The steps needed to create these
curves are stored in the ".trb" template file.
Topology Control
67. A closed domain should be defined for the techno effect by imposing a two sides (in case
there are two connections between the channel and the zr effect). Once this is done, the automatic
blocking can be used to fill the domain with 2D blocks.
The domain defining a technological effect must be filled by several structured 2D blocks. The
Topology Control subpad provides the tools to create and control the blocking.
68. Go to Topology Control -> Automatic -> Domain Definition to define the domain.
If channel connection curves cannot be found, it is possible that the domain definition will fail. This
is indicated by an error message. The problem is most likely located where the highlight stops. If the
domain definition fails, the automatic blocking can not be performed. Causes for failure include:
gaps, overlaps between zr curves and curves sharing its starting point or end point with more than one
or no curves. More details can be found in the User Guide.
69. Consecutively left-click the upper and bottom curve defining the meridional effect as shown
below. Right-click to finish the selection.
284
IGG™/AutoGrid5™ 13.1 Tutorials
70. Keep the expert parameters under Topology Control -> Auto Blocking Expert Parameters
at default settings.
Access the expert parameters by clicking Topology Control
- > Auto Blocking Expert
Parameters check box. Changing the expert parameters affects the way the blocks are generated; if
the generated mesh is satisfactory there is no need to adjust
the default settings. Some more
to illustrate the effect of the two expert parameters. Activating H
information is added here,
Topology Around Corner will yield a topology with higher orthogonality, but this leads to the
propagation of the solid wall clustering. This can in turn lead to convergence issues for the solver.
The difference illustrated by an example (left: activated, right: deactivated):
Activating H Topology Around Thin Films avoids blocks of high section variation, which can lead
to a very high number of points compared to the block's lowest section size. It also improves the
orthogonality, but can also lead to propagation of the solid wall clustering. The effect of this
parameter is illustrated by an example below (left: activated, right: deactivated).
71. Click Topology Control -> Automatic -> Automatic Blocking to perform an automatic
block generation. After a few seconds, the block generation will be completed with the result
shown below. If required, it is possible to edit the blocking manually from the Topology Control
-> Manual menu in the QAP.
The proposed blocking can be adapted manually from the Topology control -> Manual menu.
l Insert New Block can be used to create and insert a new block. After creation, the four vertices
defining the corners of the block are displayed. These vertices can be selected by left- clicking
them and then moved with the mouse.
l Delete Block(s) is used to delete blocks. There is an option to delete the active block or make a
selection.
l Insert Vertex is used to insert one or multiple vertices on a block edge.
l Clicking Cluster Points will open a dialog box where the grid point clustering, used to adapt the
automatic default topology, along each edge of the blocks can be controlled. The same menu can
be access by right-clicking an edge and selecting Distribution.
l An edge can be split into several segments by attaching a fixed point to an existing vertex. This is
done by right-clicking the vertex and selecting Attach Fixed Point.
72. Click Topology Control -> Detection Tools -> Detect Unmapped Edges to check that all
edges are mapped properly. There should be 0 unmapped segments detected.
73. Click Detect Channel FNMB Connection in the Detection Tools subpad to visualize the
connections between the meridional effect and the channel. There should be 6 connections in total
(one for each block connected to the channel), 2 on the left and 4 on the right.
74. Deactivate FNMB: Periodic under Mesh Control -> 3D Mesh Settings-> Connection
With Channel to impose a (non-periodic) FNMB connection between the channel and the
techno effect.
Mesh Control
75. Now that the topology is finalized, a mesh can be generated.
76. Go to Mesh Control -> ZR Mesh Settings and make sure that Solid Wall Cell Width =
<1e-05> and that Default Mesh Expert Parameters -> Max Expansion Ratio General = <3>.
Both these options are important for the automatic blocking.
77. Click Mesh Control -> ZR Mesh Settings -> Default Mesh to generate the mesh.
78. Check the grid quality by clicking
.
79. Select quality criteria using the Type pull-down menu.
80. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn for each row.
81. Left-click part of the histogram to plot the concerned cells in blade-to-blade view.
82. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
83. The mesh quality can be improved using optimization. Go to Mesh Control -> ZR Mesh
Settings and set Optimization Steps = < 100 >. Click Optimize Mesh to perform the
optimization.
84. The quality of the mesh after optimization can be checked by pressing
orthogonality has improved from 10.1 to 20.1 degrees,
decreased from 3.01 to 2.61.
. The minimum
the maximum expansion ratio has
As mentioned above, changing the expert parameters for the automatic blocking changes the resulting
block generation. This in turn affects the mesh quality.
l In this case, turning off H Topology Around Corners results in a minimum orthogonality of 0
degrees. Looking at the default mesh, there is a big difference with the original one. There are a
lot of sharp corners (mainly in the area highlighted in red), which is the cause of the poor
orthogonality.
After 100 optimization steps, the orthogonality is better than with the default settings.
l Turning off H Topology Around Thin Films yields a mesh with a very similar quality, but with
slightly more cells. Looking at the resulting mesh, it is mostly the same as the original one, which
explains the similar quality. The area where the main difference occurs is indicated in red.
After applying 100 optimization steps, the quality has improved to an acceptable level.
The above illustrates that adjusting the default parameters can yield a better quality mesh. However,
in this case the mesh with default settings is already of good quality, so this was not a problem to
begin with.
Overall, using the default settings provides a good balance between keeping a low number of cells
and a good mesh quality. It may happen that the mesh quality is not sufficient, in which case the
default settings can be changed. If this is still not sufficient, blocks can be added manually through
the Topology Control -> Manual menu in the QAP. To make sure all edges are mapped, always
use Topology Control -> Detection Tools -> Detect Unmapped Edges before starting the mesh
generation.
85. Exit the meridional effect generation by clicking the Close Edit Mode button on the upper
right.
G. 3D Mesh Generation
86. <Ctrl> + left-click Row Definition -> row 1 and zr techno effect 1 in the Quick Access Pad
(QAP) to activate the current row and the zr techno effect, if not done already.
87. Click the Generate 3D icon and confirm the generation (Start).
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cells skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data is
available for the entire mesh, as well as for each separate entity (row, technological effect, bulb). Data
related to grid quality report is automatically stored in a report file, once the project file is saved.
88. Close the dialog box. The page can be reopened by clicking
.
H. 3D Mesh Visualization
89. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
90. Right- click row 1 and select Properties to activate Default in order to plot the full
turbomachine.
91. Right-click row 1 and select View/Toggle 3D View to access the shaded blades in 3D view.
92. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
93. Right-click to get the contextual menu and activate Full View.
94. Use View/Grid menu in QAP or View/Patch Viewer... menu to toggle edge or mesh.
I.
Check Boundary Conditions & Mesh Quality
95. Check the boundary conditions by clicking
.
96. Select UND from the Type pull-down menu and check that there are no patches in the list
that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
97. Select Full Non Matching/Define... to visualize the FNMB that are automatically created
between the seal leakage (meridional effect) and the shroud of the channel.
98. Close both dialog boxes.
99. Check for negative cells by clicking
.
100. Click Apply.
101. Click ok and Close.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the
number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
102. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can be
performed only once the 3D mesh has been generated. Information on orthogonality, angular
deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type
pull-down menu.
103. Select quality criteria using the Type pull-down menu.
104. Left-click Show chart to visualize the distribution of selected criteria in the form of an
histogram. The histogram is drawn per block (0 = all blocks).
105. Left-click part of the histogram to plot the concerned cells in the 3D view.
106. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
107. Find the block where the minimum orthogonality occurs, under General information at the
bottom of the dialog box. The orthogonality of the overall mesh can be improved greatly by
making adjusting the corresponding block in the zr effect.
l Close the dialog box.
l Left-click zr techno effect 1 in the QAP, then right-click and choose Edit.
l Locate the corresponding block. Display the vertices using View -> Grid -> Toggle Vertices
and move the two vertices as shown below.
304
IGG™/AutoGrid5™ 13.1 Tutorials
l Click Optimize Mesh and exit the zr effect edit mode by clicking Close Edit mode.
l <Ctrl> + left-click zr techno effect 1 and click Generate 3D to generate a new 3d mesh. The
mesh quality should be improved significantly
108. Close the dialog box. The page can be reopened by clicking
.
J. Save Project
109. Go to File -> Save Project As <tutorial2> and press <Enter> to save the mesh and template
files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
and
boundary
".qualityReport".The meaning of these files is detailed in the User Guide.
(".xmt_ txt"),
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
K. Periodic Full Non Matching Connection
AutoGrid5™ allows the user to define a straight meridional effect (periodic boundaries of meridional
effect at constant θ) by introducing periodic full non matching connections with repetition between
the meridional effect and the channel. In most cases, this capability improves the orthogonality in the
overall mesh. This is especially true in highly staggered configurations.
110. Activate the meridional view by left-clicking it to activate the view, if not done already.
111. Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not
active already.
112. Right-click zr techno effect 1 to get the contextual menu and select Edit to access the
meridional effect edit mode.
113. Activate Mesh Control -> 3D Mesh Settings -> Connection With Channel -> FNMB:
Periodic.
114. Click Close Edit Mode (
).
115. Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not
done already.
116. Click the Generate 3D icon and confirm the generation (Start). Close the dialog box. The
page can be reopened by clicking
.
117. Check the boundary conditions by clicking
.
118. Select Full Non Matching/Define... to visualize the FNMB that are automatically created
between the seal leakage (meridional effect) and the shroud of the channel.
All defined full non matching connections between the meridional effect and the channel are periodic
with repetition.
119. Close both dialog boxes.
120. Go to File -> Save Project As <tutorial2_per> and press <Enter> to save the mesh and
template files.
L. Full Matching Connection
AutoGrid5™ allows the user to define a full matching connection between the meridional effect and
the channel by adding fixed control lines into the channel. This capability usually requires more
points in the mesh and an orthogonality that will not be improved in the overall mesh. This is
especially true for highly staggered configurations.
121. Left-click zr techno effect 1, then right-click and select Edit.
122. Go to Mesh Control -> ZR Mesh Settings -> Add Matching Z Cst Lines to add z-
constant lines to map the meridional effect.
123. Exit the zr effect edit mode by clicking the
button.
124. In the meridional view, 8 new control lines should appeared; 3 on the left and 5 on the right.
There was already a control line on the edge of the shroud that was created in step 26. If the
control line was not mapped onto the edge properly, there will be an extra control line there as
well. If this is the case, delete the old control line (when selected, right-click and select Delete)
and keep the new one.
You can also access the exact coordinates of the control points by right-clicking a control point. A
dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
line by right- clicking the control
You can access the properties of the z- constant
line when
highlighted and selecting Properties. The dialog box is divided into two main parts. The first part
allows to specify the reference frame. When it is set to Relative to, the control points are relative to
a row and their reference depends on the position of the control line. Either the control points are
relative to the row inlet and its blade leading edge, to the blade leading and trailing edge, or to the
blade trailing edge and the row outlet. The second part of the dialog box is used to control the
properties of the meridional control line namely the shape, the cell width, the streamwise index and
the number of points in streamwise direction.
125. Right-click the first control line when highlighted in yellow.
126. Select Properties.
127. Activate Linear.
128. Make sure that the cell width is set to <1e-5> for control lines connected to a solid wall and
<0> for the other ones. Press <Enter> to confirm.
129. Left-click on the next control line and apply above steps. Repeat steps for all the new control
lines
130. Adjust control lines number 5, 6 and 7 to better capture the shape of the channel. To do this,
left-click the control points of the z-constant lines and modify their location by dragging the
points. The final result is shown below:
131. Close dialog box.
132. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
133. Select Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes).
This button will set the mesh topology to the default skin-like topology considering the four new
control lines.
In the blade-to-blade view, additional H-blocks will appear. Furthermore, in some cases, the default
topology may change from normal to high staggered (in this case the blade is high staggered at
trailing edge).
134. In the edit mode of the meridional effect, the connection type can be controlled:
l Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not active
already.
l Right-click zr techno effect 1 to get the contextual menu and select Edit to access the
meridional effect edit mode.
l Click Detect Channel Matching Connection in the Topology Control -> Detection Tools
subpad to visualize the 6 connections between the meridional effect and the channel.
135. Right-click to quit the Detect Channel Matching Connection tool.
An additional control
line needs to be added to define both matching connections because the
connection of the meridional effect with the channel close to the trailing edge is defined by two
blocks.
136. Click Close Edit Mode (
).
137. <Ctrl> + left-click Row Definition -> row 1 and zr techno effect 1 in the Quick Access
Pad (QAP) to activate them, if not done already.
138. Go to Mesh Control -> Row Mesh Control -> Flow Paths Control.
139. Modify the number of flow paths to <33> and press <Enter>.
140. Click the Generate 3D icon and confirm the generation (Start).
141. Check the boundary conditions by clicking
.
142. Select Full Non Matching/Define... to visualize that there are no more FNMB that are
automatically created between the seal leakage (meridional effect) and the shroud of the channel.
143. Close the dialog box.
144. Select CON from the Type pull-down menu and check that all patches between the seal
leakage (meridional effect) and the shroud of the channel are set as CON (full matching).
145. Select PERNM from the Type pull-down menu and check that the connection at the "rotor-
stator" polyline in the ZR effect is by default set to periodic non-matching.
146. Close dialog box.
147. Go to File -> Save Project As <tutorial2_match> and press <Enter> to save the mesh and
template files.
M. Periodic Matching Connection at Rotor-Stator Polyline in
ZR Effect
AutoGrid5™ allows the user to enforce the type of connection at the "rotor-stator" polyline in the ZR
effect. In the example below a periodic matching connection will be enforced in the "tutorial2_
match" mesh, which is by default set to a periodic non-matching connection.
148. In the edit mode of the meridional effect, the connection type can be enforced:
l Left-click Row Definition -> zr techno effect 1 in the Quick Access Pad (QAP) if not active
already.
l Right-click zr techno effect 1 to get the contextual menu and select Edit to access the
meridional effect edit mode.
l Activate RS Interface Connection as Matching (in addition to Periodic ) in the Mesh
Control-> 3D Mesh Settings subpad.
RS Interface Connection allows the user to enforce the type of connection in the ZR effect at the
"rotor-stator" polyline. By default, it is set to Periodic.
The Propagate Theta Deviation option allows, when the number of blocks is above 2 in the ZR
effect, to propagate the angle deviation of the connected mesh.
149. Activating this option is not sufficient to ensure a periodic matching connection at the "rotor-
stator" polyline. In addition both sides of the "rotor-stator" polyline should present the same
number of points in azimuthal and "spanwise" directions.
150. Zoom in on the edges mapped on the "rotor-stator" polyline and check the number of points
by selecting an edge, right-clicking and selecting Distribution.
151. In "spanwise" direction the two upper blocks should both have 13 points. The lower left
block has 13 points but the lower right one only has 9 points.
152. The number of points at the rotor- stator is propagated blocks as shown below. The
propagation in orange is for the upper blocks of the R/S interface, the propagation in green is for
the lower blocks of the R/S interface.
There are two options to ensure that the lower blocks have the same number of points.
153. The first option is to change the number of points of the block to the left of the R/S interface.
l Select the edge of the lower block at the interface by left-clicking, then right-click and choose
Set Number of Points. Enter <9> in the dialog box and press Apply.
l Use View -> Toggle Face Grid to visualize the mesh. Click Optimize Mesh to apply
optimization.
154. The second option is to change the number of points in the control line at the connection
between zr effect 1 and row 1. Changing the number of points in the control line affects the
number of points at the R/S interface since it is propagated from the connection.
l In this case, the number of points required at the control line is 25. Click Close Edit Mode and
left-click on the control line to select it, then right-click and choose Properties.
l Set Streamwise Npts to <25> and press <Enter>.
l Right-click zr effect 1 and choose Edit. Click Default Mesh and check that the number of
grid points at the interface is now 13 on both sides.
Regardless of the option chosen above, the number of points in the azimuthal direction needs to
be checked as well.
155. Click Close Edit Mode (
).
156. Left-click Row Definition -> row 1.
157. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Grid
Points control field to control the number of grid points in the blade-to-blade view.
158. Left-click the number of nodes, make the proper modification in the entry box to have same
total number of points at inlet and outlet and press <Enter> to confirm the modification.
159. Select Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the
blade-to-blade view.
160. Left-click + <Ctrl> Row Definition -> row 1 and zr techno effect 1 in the Quick Access
Pad (QAP) to activate them, if not done already
161. Click the Generate 3D icon and confirm the generation (Start).
162. Check the boundary conditions by clicking
.
163. Select PER from the Type pull-down menu to list all the corresponding connections.
164. Access the 3D view and check visually that the connections at the "rotor-stator" polyline in
the ZR effect are set to periodic matching.
165. Close dialog box.
166. Go to File -> Save Project As <tutorial2_match_per> and press <Enter> to save the mesh
and template files
3.1
NON-AXISYMMETRIC HUB/SHROUD
3.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a turbomachine presenting a non-
axisymmetric hub and/or shroud. It makes exclusive use of AutoGrid5™ and describes the main
actions required to mesh the configuration of interest.
In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l control meridional flow paths when hub/shroud non-axisymmetric;
l control blade-to-blade mesh;
l control the mesh projection on the hub/shroud non-axisymmetric;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for
beginners to perform the basic tutorials 1 to 6 and advanced tutorial 9.
C. Problem Description
The problem to be considered is shown schematically below. The project consists of the mesh
generation of a Aachen turbine stator (treated as an isolated axial-flow wheel) representing a non-
axisymmetric hub.
D. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu by going to / Programs/NUMECA software/Fine131/IGG- AutoGrid5 or
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start the grid generation process and mesh the configuration representing a
non-axisymmetric hub and/or shroud!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is provided through a menu bar and a quick access
pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken
is summarized in the message box at the bottom of the interface.
3.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims to guide you through the
various steps that need to be executed from the creation of the mesh project to the validation of the
final mesh quality.
A. Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.
2. Close the Open Turbo Project Wizard dialog box.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Start a New Project From Scratch.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
B. Load Geometry & Define Main Properties
6. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row.
7. Left-click in the meridional view.
8. Go to Geometry Definition -> Import and Link CAD.
A graphic window opens, allowing CAD geometry importation.
9. Left-click File -> Open....
10. Select "geometry.dat" file from the file chooser. "Where to Find the Files Used in the
Tutorials?" (p. 10)
11. Define the hub curve:
l Left-click the hub as it turns to yellow.
l Right-click and select Link to Hub.
The hub curve is now displayed in the meridional view.
12. Define the shroud curve:
l Left-click the shroud as it turns to yellow.
l Right-click and select Link to Shroud.
The shroud curve is now displayed in the meridional view.
In addition to the axisymmetric hub and shroud curves defining the meridional domain, 3D surfaces
defining the non- axisymmetric end walls must be defined. These can be specified directly in the
".geomTurbo" file (more details in the User Guide) or imported through the Import CAD window.
13. Link the non-axisymmetric surface defining the hub:
l Left-click the surface defining the hub when highlighted in blue, it turns to yellow.
l Right-click and select Link Non Axi to Hub.
The 3D surfaces defining the non-axisymmetric end walls must have the same periodicity as the row.
14. Define the blade:
l Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row, if not done already.
l Left-click the first surface defining the blade when highlighted in blue (it turns to red or
yellow).
l Middle-click to select the second surface defining the blade.
l <Shift> + left-click the second surface defining the blade when highlighted in blue (it turns to
red or yellow).
The View/View Solid menu acts as a toggle and can be to visualize the surfaces that are active.
l Right-click and select Link to Blade.
The blade is now displayed in the meridional view.
15. Define leading edge and trailing edge:
l Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row, if not done already.
l Left-click the line defining the blade leading edge line, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Leading Edge.
l Left-click the line defining the blade trailing edge line, inside the Import CADwindow.
l As it turns yellow, right-click and select Link to Trailing Edge.
The leading and trailing edge are displayed in the meridional view.
When the blade intersects the hub and shroud, an inlet and outlet are displayed in the meridional
view.
16. Go to File -> Exit.
17. Left-click Row Definition -> row 1 to activate row 1.
18. Right-click row 1 to get the contextual menu and select Properties.
19. Enter the Periodicity (number of blades). Left-click inside the string input area and type
<36>, press <Enter> to confirm.
20. Enter <0> in Rotation Speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and will ease the input of
boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
21. The non-axisymmetric end walls generation is controlled in the Row Properties dialog box:
l Keep Non-Axisymmetric Hub active.
The Non-Axisymmetric Hub & Shroud options are used to enable or disable the mesh adaptation
on the specified non-axisymmetric surfaces.
l Keep Repair Non-projected Points active by default.
The Repair Non-projected Points allows to correct non-well projected points (i.e. when the mesh
points on boundaries are close to hub or shroud surface limits).
l Set the Geometry Repetition to <2> and press <Enter>.
The non-axisymmetric 3D surfaces must cover the entire hub or shroud blade-to-blade domain of the
axisymmetric mesh. If the specified surfaces does not cover the entire domain as shown in the next figure,
the Geometry Repetition option enables the user to repeat the entered surfaces by rotation on both sides.
The Display Non-Axisymmetric Hub & Shroud option is used to display the non- axisymmetric
surfaces in the 3D view.
22. Close the dialog box.
At the end of the 3D blade row generation, the mesh adaptation on the non-axisymmetric surfaces is
performed automatically. The axisymmetric mesh is adapted using hub to shroud grid points
redistribution along the curve obtained by intersecting the surfaces with the hub to shroud grid lines.
It is thus recommended to generate an axisymmetric mesh covering the non-axisymmetric surfaces
completely.
23. Left-click in the meridional view.
24. Go to Geometry Definition -> Import and Link CAD.
25. Left-click the surface defining the hub when highlighted in blue, it turns to yellow.
26. Select Geometry/Modify Surface/Add uv Curves.
27. Left-click the surface in order to add new curves defining the non-axisymmetry on the hub.
28. Left-click the new curve until it turns yellow.
29. Right-click and select Import Meridional.
The limit of the non-axisymmetric hub appears in the meridional view.
30. Move the hub curve to create a channel including the non-axisymmetric effect:
l Left-click the meridional view.
l Go to Geometry Definition -> Edit Hub to visualize the vertices defining the hub.
l Left-click the vertex at inlet and define its new position in the keyboard input area in ZRTH
coordinates, where Z is the Zinlet and R is lower than the Rmin of the non-axisymmetric effect:
type <-0.03 0.242 0> and press <Enter>.
l Left-click the vertex at outlet and define its new position in the keyboard input area in ZRTH
coordinates, where Z is the Z outlet and R is lower than the R min of the non-axisymmetric
effect: type <0.054737609091 0.242 0> and press <Enter>.
l Right-click to regenerate the channel.
The hub appears as a dashed green line because it is no longer mapped onto a curve.
The blade is no longer intersecting the new hub. The blade needs to be extended.
31. Left-click Row Definition -> row 1 -> Blades -> Main Blade.
32. Right-click Main Blade to get the contextual menu and select Geometry/Expand.
33. Select Hub treatment/expand:
l Set Cut offset to <0.001> and press <Enter>.
l Set Extension offset to <0.001> and press <Enter>.
l Click Apply to extend the blade.
The Tools/Distance tool is used to measure the distance between two points in the active view.
l Close the dialog box.
C.
Initialize Topology & Grid Points Distribution
34. Left-click Row Definition -> row 1 to activate the row, if not done already.
35. Set Grid Level/Medium under Mesh Control in Quick Access Pad.
36. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that Vref=30 m/s, Lref=0.3m and ν=1.038e-5 m²/s Assuming
one wishes to get y+ =1 at the wall, it turns out that y = 1 x 10-5 m. Input the value of the Cell
Width = <1e-5> and press <Enter> in Mesh Control -> Row Mesh Control.
37. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This
button will set the mesh topology to the default 04H topology.
The flow paths are now covering the non-axisymmetric hub.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
D. Meridional Control
38. Go to QAP/Mesh Control/Row Mesh Control.
39. Click on Flow Paths Control.
40. Modify the Number of Flow Paths to be <33> and press <Enter>.
The Expert section allows the user to control the visualization, the shape and the parameters related
to flow path smoothing. The meaning of these parameters is detailed in the User Guide. The Manual
Edit mode allows the user to directly control the block faces which are used to construct flow paths.
Edges can be moved, segments can be created or modified and the grid points distribution on the
segments can be controlled. More details can be found in the User Guide.
41. Keep all data identical.
42. Click Generate.
43. Close the dialog box.
E. Blade-to-Blade Control
44. Click Generate B2B (
).
45. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology
control field.
By default, non- matching connections are applied at periodic boundaries. Matching connections at
periodic boundaries can be obtained by activating the Matching Periodicity check button. Press
Initialize Topology & Grid Points Distribution button to regenerate the mesh in the blade- to-
blade plane.
In most cases, the presence of non-matching connections improves the orthogonality in the overall
mesh. This is especially true in highly staggered configurations.
46. Keep Matching Periodicity deactivated and all other data identical.
turbomachinery types, the blades are highly staggered ( Automatic High Staggered
In several
Blade Detection within AutoGrid5™). If the solid angle at the inlet (outlet) of the machine becomes
greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading
edge (trailing edge) of the blades, the default topology is not suitable anymore since the cells located
near
(outlet) boundary become very skewed. To improve this unexpected behavior,
AutoGrid5™ uses the High Staggered Blade Optimization.
the inlet
47. Close the Topology control field.
48. Open the Grid Points control field to control the number of grid points in the blade-to-blade
view.
49. Left-click the number of nodes, make the proper modifications in the entry box and press
<Enter> to confirm the modification.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
50. Visualize the result in the blade-to-blade view after selecting Generate B2B to regenerate the
flow paths and the mesh in the blade-to-blade plane.
51. Close the dialog box.
52. If necessary, go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt
the mesh optimization parameters to enhance the quality of the mesh.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block
elliptic techniques. The number of Optimization Steps represents the number of
iterations
performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
53. Keep the default number of Optimization Steps and all other data identical.
54. Close the dialog box.
55. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the
blade-to-blade mesh will be plotted in the blade-to-blade view.
By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer
selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%).
56. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
57. Click Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the blade-
to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using
the Type pull- down menu and plotted in the blade- to- blade view on the selected active layer in
Mesh Control/Active B2B Layer.
58. Check for grid quality by clicking
.
59. Select quality criteria using the Type pull-down menu.
60. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn for each row.
61. Left-click part of the histogram to plot the concerned cells in blade-to-blade view.
62. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
63. Close the dialog box.
F. 3D Mesh Generation
64. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
65. Click the Generate 3D icon and confirm the generation (Start).
At the end of the 3D blade row generation, the mesh adaptation on the non- axisymmetric hub is
performed automatically. The axisymmetric mesh is adapted using a hub to shroud grid points
redistribution along the curve obtained by intersecting the surfaces with the hub to shroud grid lines.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh and for each separate entity (row, technological effect, bulb). Data related to the
grid quality is automatically stored in a report file, once the project file is saved.
66. Close the dialog box. The page can be reopened by clicking
.
G. 3D Mesh Visualization
67. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
68. Right- click row 1 and select Properties to activate Default in order to plot the full
turbomachine. After this, Close the dialog box.
69. Right-click row 1 and go to View/Toggle 3D View to access the shaded blades in 3D view.
70. Left-click in the 3D view; the Quick Access Pad (QAP) is now modified.
71. Right-click to get the contextual menu and activate Full View.
72. Use the View menu in the QAP or the View/Patch Viewer... menu to toggle edge or mesh.
353
IGG™/AutoGrid5™ 13.1 Tutorials
H. Check Boundary Conditions & Mesh Quality
73. Check for boundary conditions by clicking
.
74. Select UND from the Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
75. Close the dialog box.
76. Check for negative cells by clicking
.
77. Click Apply.
78. Click ok and Close the dialog box.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
79. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can
only be performed once the 3D mesh has been generated. Information on orthogonality, angular
deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type
pull-down menu.
80. Select quality criteria using the Type pull-down menu.
81. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
82. Left-click part of the histogram to plot the corresponding cells in the 3D view.
83. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
84. Close the dialog box.
3.1.3
Save Project
85. Go to File -> Save Project As <tutorial3> and press <Enter> to save the mesh and template
files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
and
boundary
(".xmt_ txt"),
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
within AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
4.1
BYPASS CONFIGURATION
4.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of bypass turbomachine applications
(airplane engine). It makes exclusive use of AutoGrid5™ and describes the main actions required
to mesh the configuration of interest.
In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l control meridional flow paths especially at the nozzle;
l control the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for
beginners to perform the beginner tutorials 1 to 6 and the advanced tutorial 9.
C. Problem Description
The problem to be considered is shown schematically below (meridional view). The project
consists of the mesh generation of a bypass configuration (part of an airplane engine). The
configuration is composed of a fan in front of the nozzle, three rows in the down bypass and one
row in the up bypass.
D. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the bypass configuration!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is provided through a menu bar and a quick access
pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken
is summarized in the message box at the bottom of the interface.
4.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims to guide you through the
various steps that need to be executed from the creation of the mesh project to the validation of the
final mesh quality.
A. Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
B. Load Geometry & Define Main Properties
6. Locate and select "bypass.geomTurbo" (geometry defined in [Decimeter]) in the dialog box
and click Open. "Where to Find the Files Used in the Tutorials?" (p. 10)
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel block contains the definition of the turbomachinery meridional contour (hub, shroud and
nozzle). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two
channel curves named respectively "hub" and "shroud". Additionally, when meshing a bypass
configuration the nozzle must be defined.
The row definition contains the geometry of a complete row. The blade and splitter are defined by the
pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both
surfaces are specified by a set of cross sections of the blade at several spanwise location from hub to
shroud. Each section is defined by a set of points from leading to trailing edge.
The geometry can also be imported through a graphic window (Geometry Definition -> Import
and Link CAD) when defining a new project from scratch with bypass. Simply right-click in the
graphic window, a pop-up menu will allow the user to define the nozzle in addition to the hub and
shroud. Similarly, a row in the nozzle and in the up/down bypass can be added to the configuration.
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
8. Right-click row 1 and select Properties in the pop-up menu.
9. Enter the Periodicity (number of blades) to <18>and press <Enter>.
10. Enter <500> in Rotation Speed (rpm).
This speed will be transferred to FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
11. Choose Default in order to plot
View/Toggle 3D Solid View.
the full
turbomachine in 3D view when activating
12. Execute the same operations for elements row 2 , row 3 , row 4 and row 5 , defined
respectively by the following parameters :<77>-<0>, <119>-<0>,<127>-<500> and <117>-<0>
(it is not necessary to close the dialog box each time).
13. Close the dialog box.
14. Left-click Row Definition -> row 1.
15. Right-click and select Gap/Fillet / Define Shroud Gap in the pop-up menu.
16. Keep Width At Leading Edge = <0.06> [Decimeters] and press <Enter>.
17. Keep Width At Trailing Edge = <0.06> [Decimeters] and press <Enter>.
18. Close the dialog box.
19. Left-click Row Definition -> row 3 and row 5.
20. Right-click and select Gap/Fillet / Define Hub Gap in the pop-up menu.
21. Set Width At Leading Edge = <0.01> [Decimeters] and press <Enter>.
22. Set Width At Trailing Edge = <0.01> [Decimeters] and press <Enter>.
23. Close the dialog box.
24. Left-click Row Definition -> row 4.
25. Right-click and select Gap/Fillet / Define Shroud Gap in the pop-up menu.
26. Set Width At Leading Edge = <0.01> [Decimeters] and press <Enter>.
27. Set Width At Trailing Edge = <0.01> [Decimeters] and press <Enter>.
28. Close the dialog box.
The width at leading/trailing edge allows the user to specify the size of the gap at the leading and
trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the
shroud) according to these values.
29. Left-click Select All Rows.
30. Select Toggle 3D Solid View in the View menu to access the shaded blades in the 3D view.
31. Select Toggle 3D Solid View in the View menu to remove the shaded blades in 3D view.
C.
Initialize Topology & Grid Points Distribution
32. Left-click Select All Rows.
33. Select Grid Level/Medium through Mesh Control in the Quick Access Pad.
34. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
Input the value of the Cell Width = <1e-4> [Decimeters] and press <Enter> in Mesh Control ->
Row Mesh Control.
35. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This
button will set the mesh topology to the default O4H topology.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
D. Meridional Control
36. Check the quality of the flow paths:
l Left-click in the meridional view to activate it (red border).
l Left-click
.
l Left-click one row in the Row list and press <Enter>.
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left-click part of the histogram to plot the concerned cells in the meridional view.
l Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria.
l Close the dialog box.
37. Check the grid used to generate the flow path:
l Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to active it.
l Left-click Mesh Control -> Row Mesh Control -> Flow Paths Control -> Expert.
l Deactivate View Flow Path to plot the grid used to generate the flow paths.
l Close the dialog box.
Bypass - Nozzle Control
38. Control the block and points distribution on nozzle:
l Left-click the
icon.
l Left-click the double arrow when highlighted in red to control D (length of the C-block
covering the nozzle), keep <0.5> and press <Enter>.
l Left-click thickness (2.6%), type <5> and press <Enter> to increase the thickness of the C-
block covering the nozzle.
l Close the dialog box.
l Left-click Select All Rows.
l Left-click Generate Flow Paths.
Left-click the number of nodes, make the proper modification in the entry box and press <Enter> to
confirm the modification. The nozzle flow path index and nozzle cell width can also be imposed.
H-topology on the nozzle is adapted for bypass configuration containing a sharp nozzle.
39. Adapt control lines close to the nozzle:
l Left-click the control line defining the nozzle topology when highlighted in yellow.
l Left-click one of the control points defining the control line.
l Move the control point at desired location.
l Left-click the control point to validate its new location.
The exact coordinates of the control points can also be introduced by right-clicking the control point;
a dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
l Right-click the control line defining the nozzle topology when highlighted in yellow.
l Select Properties.
l Set the Cell width to <0.01>and press <Enter> for both control lines.
The same cell width has to be imposed on both control lines defining the nozzle.
l Set the streamwise number of points for the upper control line (Streamwise Npts) to <17> and
press <Enter>. For the lower control line set the number of points to <13> and press <Enter>
to confirm.
l Left-click Select All Rows.
l Left-click Generate Flow Paths.
Copy/Paste Flow Paths Distribution
40. Copy/paste flow path distribution to row 2:
l Right-click the outlet of the up bypass when highlighted in yellow.
l Select Copy Left Distribution.
l Right-click the rotor/stator of the up bypass when highlighted in yellow.
l Select Paste Right Distribution.
Copy/Paste is used to copy a distribution from a rotor/stator to another one or to a meridional
control line.
Merge is used to compute a common distribution from the left and right distributions at a
rotor/stator. It is created for rotor/stators where the left row has a hub gap and the right row a shroud
gap (or the opposite).
Clear is used to clean copy/merge operations on selected control line.
l Left-click Select All Rows.
l Left-click Generate Flow Paths.
Along the down bypass, automatic copy/paste and merge flow path distributions are performed.
Bulb Control
The configuration represents a hub defined with a control point at R=0. A bulb is automatically
detected and flow path controls are added.
41. Adapt the control line close to the bulb if necessary:
l Left-click the control line when highlighted in yellow.
l Left-click the control point defining the control line.
l Move the control point to the desired location.
l Left-click the control point to validate its new location.
l Click Select All Rows.
l Click Generate Flow Paths.
42. Adapt flow path distribution in bulb:
l Left-click
.
l Deactivate Singular line to impose a butterfly topology in the bulb.
Three topologies are available for bulbs: sharp (H- mesh), rounded (C- mesh) or radial. Using a C-
mesh, the zero radius area can be meshed with a singular line or a butterfly topology.
Left-click the number of nodes, make the proper modification in the entry box and press <Enter> to
confirm the modification.
l Close dialog box.
l Left-click Select All Rows.
l Left-click Generate Flow Paths.
43. Check the quality of the flow paths as presented in step 36.
E. Blade-to-Blade Control
44. Click Select All Rows.
45. Click Generate B2B (
).
When plotting all rows on the hub (active layer set 0% by default), row 2 does not appear in the
blade-to-blade view because it does not intersect the hub. To check the mesh on row 2, an active layer
intersecting row 2 should be selected.
46. Left-click Row Definition -> row i in the Quick Access Pad (QAP) to activate it.
47. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology
control field.
By default, non- matching connections are applied at periodic boundaries. Matching connections at
periodic boundaries can be obtained by activating the Matching Periodicity check button. Press
Initialize Topology & Grid Points Distribution button to regenerate the mesh in the blade- to-
blade plane.
In most cases, the presence of non-matching connections improves the orthogonality in the overall
mesh. This is especially true in highly staggered configurations.
48. Keep Matching Periodicity deactivated and all other data identical.
turbomachinery types, the blades are highly staggered ( Automatic High Staggered
In several
Blade Detection within AutoGrid5™ ). If the solid angle at the inlet (outlet) of the machine
becomes greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the
leading edge (trailing edge) of the blades, the default topology is not suitable anymore since the cells
located near the inlet (outlet) boundary become very skewed. To improve this unexpected behavior,
AutoGrid5™ uses the High Staggered Blade Optimization.
49. Close the Topology control field.
50. If necessary, open the Grid Points control field to control the number of grid points in the
blade-to-blade view.
51. Left-click the number of nodes, make the proper modification in the entry box and press
<Enter> to confirm the modification.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum 3 grid levels within FINE™.
52. Visualize the result in the blade-to-blade view after selecting Generate B2B to regenerate the
flow paths and the mesh in blade-to-blade plane.
53. Close the Grid Points control field.
54. Close the dialog box.
55. If necessary, go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt
the mesh optimization parameters to enhance the quality of the mesh.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block
elliptic techniques. The number of Optimization Steps represents the number of
iterations
performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
56. Keep default Optimization Steps and all other data identical.
57. Close the dialog box.
58. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the
blade-to-blade mesh will be plotted in the blade-to-blade view.
By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer
selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%)
and is applied on active row(s).
59. Click Select All Rows.
60. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
61. Select Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the
blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation .
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using
the Type pull-down menu and is plotted in the blade-to-blade view on the active layer selected in
Mesh Control/ Active B2B Layer.
62. Check for grid quality by clicking
.
63. Left-click one row in the Row list and press <Enter>.
64. Select quality criteria using the Type pull-down menu.
65. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn for each row.
66. Left-click part of the histogram to plot the concerned cells in the blade-to-blade view.
67. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
68. Close the dialog box.
F. 3D Mesh Generation
69. Left-click Select All Rows.
70. Click the Generate 3D icon and confirm the generation.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh and for each separate entity (row, technological effect, bulb). Data related to the
grid quality is automatically stored in a report file, once the project file is saved.
71. Close the dialog box. The page can be reopened by clicking
.
G. 3D Mesh Visualization
72. Left-click Select All Rows.
button to show the repetition if needed) to
73. Select View/Toggle 3D Solid View (click the
access the shaded blades in 3D view. Left-click in the 3D view; the Quick Access Pad (QAP) is
modified.
75. Right-click to access the contextual menu and activate Full View.
76. Use the View menu in the QAP or View/Patch Viewer... menu to toggle edge or mesh.
H. Check Boundary Conditions & Mesh Quality
77. Check for boundary conditions by clicking
.
78. Select UND from the Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
79. Close the dialog box.
80. Check for negative cells by clicking
.
81. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
82. Click ok and Close the dialog box.
83. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can
only be performed once the 3D mesh has been generated. Information on orthogonality, angular
deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type
pull-down menu.
84. Select quality criteria using the Type pull-down menu.
85. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
86. Left-click part of the histogram to plot the concerned cells in the 3D view.
87. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
88. Close the dialog box.
I.
Save Project
89. Go to File -> Save Project As <tutorial4> and press <Enter> to save the mesh and template
files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
within AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
5.1
TANDEM CONFIGURATION
5.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similar to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of tandem row configurations. It makes
exclusive use of AutoGrid5™ and describes the main actions required to mesh the configuration
of interest.
In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l define a tandem row;
l control the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for
beginners to perform the beginner tutorials 1 to 6 and the advanced tutorial 1.
C. Problem Description
The problem to be considered is shown schematically below (meridional view). The project
consists of the mesh generation of a tandem row configuration. The row (s) are considered as
tandem when it contains:
l a main blade and a splitter without overlap in the streamwise direction,
l two rows (main blade with or without splitter(s)) with the same periodicity and without overlap
in the streamwise direction.
D. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the tandem configuration!
The AutoGrid5™ graphical user interface includes several windows that allow you to visualize
the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and
3D view. The access to main menu and controls is provided through a menu bar and a quick
access pad, and is complemented with a tool/icon bar. The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
5.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims to guide you through the
various steps that need to be executed from the creation of the mesh project to the validation of the
final mesh quality.
A. Tandem Configuration A: Single Row (Main Blade +
Splitter)
Tandem configuration A allows the user to mesh a single row configuration representing a main
blade and only one splitter without overlap in the streamwise direction.
This configuration A is not suitable for cases where the tandem configuration contains more than
one splitter or if the splitter blade leading edge is too close to the main blade trailing edge. For
such configurations it is recommended to use configuration B, as presented in the Tandem
Configuration B section.
Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click Yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
Load Geometry & Define Main Properties
6. Locate and select "tandem-confA.geomTurbo" (geometry defined in [Millimeter]) in the dialog
box and click Open or OK. "Where to Find the Files Used in the Tutorials?" (p. 10)
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub and
shroud). It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two
channel curves named respectively "hub" and "shroud".
The tandem configuration is defined by a single row containing a main blade and a splitter
downstream of the main blade, without overlap in the streamwise direction.
The row definition contains the geometry of a complete row. The main blade and splitter are defined
by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction".
Both surfaces are specified by a set of cross sections of the blade at several spanwise location from
hub to shroud. Each section is defined by a set of points from leading to trailing edge.
The geometry can also be imported through a graphic window (Geometry Definition -> Import
and Link CAD ) when defining a new project from scratch. When right- clicking in the graphic
window, a pop-up menu will allow the user to define the hub and shroud, and to link surfaces and the
trailing and leading edge curves to the selected blade in Row Definition (Main Blade or Splitter
1). When right-clicking on row 1 under Row Definition, a menu allows the user to add a blade
(splitter) to the selected row.
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
8. Right-click row 1 and select Properties in the pop-up menu.
9. Keep the Periodicity (number of blades) to <75> and press <Enter>.
10. Keep <500> in Rotation Speed (rpm).
The speed will be transferred to the FINE™ graphical user interface and will ease the input of
boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
12. Set Default in order to plot the full turbomachine in 3D view when activating View/Toggle
3D Solid View.
13. Close the dialog box.
14. Left-click Select All Rows.
15. Select Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.
16. Select Toggle 3D Solid View in the View menu to remove the shaded blades in 3D view.
Initialize Topology & Grid Points Distribution
17. Left-click Select All Rows.
18. Select Grid Level/Medium through Mesh Control in the Quick Access Pad.
19. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
Input the value of the Cell Width = <1e-2> [Millimeters] and press <Enter> in Row Mesh
Control.
20. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (Yes). This
button will set the mesh topology to the default O4H topology.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
Meridional Control
21. Go to QAP/Mesh Control/Row Mesh Control.
22. Click on Flow Paths Control.
23. Keep the Number of Flow Paths at <57> and press <Enter>.
24. Keep the other data identical.
25. Close the dialog box.
Blade-to-Blade Control
26. Left-click the main blade or splitter mesh in the blade-to-blade view.
27. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology
control field.
By default, matching connections ( Matching Periodicity check button active) are applied at
periodic boundaries and at the connection between the main blade and the splitter.
28. Keep Matching Periodicity activated and all other data identical for the main blade and
splitter.
turbomachinery types, the blades are highly staggered ( Automatic High Staggered
In several
Blade Detection within AutoGrid5™ ). If the solid angle at the inlet (outlet) of the machine
becomes greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the
leading edge (trailing edge) of the blades, the default topology is not suitable anymore since the cells
located near the inlet (outlet) boundary become very skewed. To improve this unexpected behavior,
AutoGrid5™ uses the High Staggered Blade Optimization.
29. Close the Topology control field.
30. Open the Grid Points control field to control the number of grid points in the blade-to-blade
view if necessary.
In order to enable a matching connection with a tandem row, the following equalities should be
respected for the number of streamwise points.
By default, these equalities in the grid point distribution are respected.
31. Select Main Blade from the row tree in the Quick Access Pad. Change the number of grid
points on the main blade according to the figure below by left-clicking the number of nodes,
making the proper modification in the entry box and pressing < Enter > to confirm the
modification.
l Change the number of points in the inlet block (N1) to <33><Enter>,
l Change the number of points on the skin block (N2) to <53><Enter>,
l Change the number of points in the outlet block (N3) to <97><Enter>.
32. Select Splitter 1 from the row tree in the Quick Access Pad. The number of grid points on
the splitter has been updated automatically based on the modification performed on the main
blade. Now the streamwise grid points will be redistributed in order to respect the tandem row
configuration while keeping a matching connection. Change the distribution of grid points on the
splitter blade according to the figure below by left-clicking on the index between the blocks,
making the proper modification in the entry box and pressing < Enter > to confirm the
modification.
l Change the index between the inlet block and the skin block to <85><Enter>,
l Change the index between the skin block and the outlet block to <141><Enter>.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
When tandem row is specified, to keep matching connections at periodic boundaries and at connection
between main blade and splitter, the following equalities should be respected for the number of
streamwise points:
With the modifications performed in this step, a matching connection is enabled (85 = 33 + 53 - 1
and 97 = 57 + 41 - 1).
33. Visualize the result in blade-to-blade view after clicking Generate B2B to regenerate the flow
paths and the mesh in blade-to-blade plane.
34. Close the Grid Points control field. Close the dialog box.
35. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh
optimization parameters if necessary to enhance the quality of the mesh.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block
elliptic techniques. The number of Optimization Steps represents the number of
iterations
performed with the elliptic smoother. By default, 100 iterations are applied on fine grid.
36. Keep Optimization Steps and all other data at the default values.
37. Close the dialog box.
38. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the
blade-to-blade mesh will be plotted in the blade-to-blade view.
By default, the active layer is the hub of the machine (Active Layer (% span) set to 0). The layer
selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%)
and is applied on active row(s).
39. Left-click Select All Rows.
40. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
41. Select Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the
blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using
the Type pull- down menu and plotted in the blade- to- blade view on the active layer selected in
Mesh Control/ Active B2B Layer.
42. Left-click the blade-to-blade window to activate that view (red border).
43. Go to the View/Repetition... menu.
44. Increase Nb Repet to <1> and click Show.
45. Close the dialog box.
46. Check the grid quality by clicking
.
47. Select quality criteria using the Type pull-down menu.
48. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn for each row.
49. Left-click part of the histogram to plot the concerned cells in the blade-to-blade view.
50. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
51. Close the dialog box.
3D Mesh Generation
52. Left-click Select All Rows.
53. Click the Generate 3D icon and confirm (Start) the generation.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cells skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data is
available for the entire mesh as well as separately for each entity (row, technological effect, bulb).
Data related to grid quality report is automatically stored in a report file, once the project file is
saved.
54. Close the dialog box. This page can also be reopened by clicking
.
3D Mesh Visualization
55. Left-click Select All Rows.
56. Select View/Toggle 3D Solid View to access the shaded blades in 3D view.
57. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
58. Right-click to get the contextual menu and activate Full View.
59. Use the View menu in the QAP or the View/Patch Viewer... menu to toggle edge or mesh.
Check Boundary Conditions & Mesh Quality
60. Check the boundary conditions by clicking
.
61. Select UND from the Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
62. Close the dialog box.
63. Check for negative cells by clicking
.
64. Click Apply.
65. Click ok and Close the dialog box.
The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by
pressing the View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the number of
negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
66. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can
only be performed once the 3D mesh has been generated.
Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be
outlined in this window using the Type pull-down menu.
67. Select quality criteria using the Type pull-down menu.
68. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
69. Left-click part of the histogram to plot the concerned cells in the 3D view.
70. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
71. Close the dialog box.
Save Project
72. Go to File -> Save Project As <tutorial5-confA> and press <Enter> to save the mesh and
template files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduced the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
B. Tandem Configuration B: Multiple Rows
Tandem configuration B can be used to mesh a tandem configuration containing more than one
splitter or if the splitter leading edge is too close to the main blade trailing edge.
This configuration B is not suitable when the tandem configuration contains a row 2 far away in
theta direction compared to row 1.
Create Mesh Project
73. Go to File -> New Project.
74. Click Yes to close the active project.
75. Choose Initialize a New Project from a geomTurbo File.
Load Geometry & Define Main Properties
76. Locate and select "tandem-confB.geomTurbo" (geometry defined in [Meter]) in the dialog
box and click Open or OK.
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub and
shroud). It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two
channel curves named respectively "hub" and "shroud".
The tandem configuration is defined by two rows with the same periodicity containing
respectively a main blade and a main blade with two splitters.
The row definition contains the geometry of a complete row. The main blade and splitter (s) are
defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
The geometry can also be imported through a graphic window (Geometry Definition -> Import
and Link CAD ) when defining a new project from scratch. Simply right- click in the graphic
window, a pop-up menu allows the user to define the hub, shroud and to link the surfaces, trailing and
leading edge curves to the selected blade in the Row Definition (Main Blade or Splitters). Right-
click row 2 in Row Definition to access a menu that allows the user to add a blade (splitter) in the
selected row.
77. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
78. Right-click row 1 and select Properties in the pop-up menu.
79. Keep the Periodicity (number of blades) to <36> and press <Enter>.
80. Keep <500> in Rotation Speed (rpm).
The speed will be transferred to the FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
81. Set Tandem Row to With Next in order to set row 1 in tandem with the next row (row 2).
The option is automatically set to With Previous for row 2.
82. Activate Default in order to plot the full turbomachine in the 3D view when selecting
View/Toggle 3D Solid View.
83. Execute the same operations for row 2, using the following values: Periodicity = <36>,
Rotation Speed (rpm) = <500>. Make sure that Tandem Row is set to With Previous.
84. Close the dialog box.
85. Left-click Select All Rows.
86. Click Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.
87. Select Toggle 3D Solid View in the View menu to remove the shaded blades in 3D view.
Initialize Topology & Grid Points Distribution
88. Add two unfixed control lines upstream and downstream the interface of the rows to obtain a
full matching mesh between both rows:
l Select the meridional view by left-clicking it to activate the view, if not done already.
l Select Mesh Control -> Row Mesh Control -> Add Z Constant Line to add z-constant
lines upstream and downstream of the row interface.
l Left-click the shroud in the meridional view to add a z-constant line upstream of the interface.
l Repeat the previous step to add a second z-constant line downstream of the interface.
l Right-click to quit the menu related to the creation of a z-constant line.
l Right-click the upstream control line when highlighted and select Properties.
l Deactivate Fixed Geometry.
l Left-click on the downstream control line.
l Deactivate Fixed Geometry.
l Close the dialog box.
89. Left-click Select All Rows.
90. Select Grid Level/Medium through Mesh Control in the Quick Access Pad.
91. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends locating the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
Input the value of the Cell Width = <1e-5> [Meters] and press <Enter> in Row Mesh Control.
92. Impose matching periodic connections for row 1 and row 2:
l Expand the row tree for "row 1" and "row 2" by clicking on the plus-symbol. Left-click on
main blade under "row 1". By holding the <Ctrl> key, left-click on main blade, splitter 1,
and splitter 2 under "row 2" in order to select all blades.
l Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology
control field.
l Activate Matching Periodicity (select row 2/splitter 1 and row 2/splitter 2 to verify that the
Matching Periodicity option is activated for all blades).
l Close the dialog box.
93. Left-click Select All Rows. Select Initialize Topology & Grid Points Distributionin the
toolbar and confirm (Yes). This button will set the mesh topology to the default O4H topology.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
Meridional Control
The flow path distribution at the row interface must be equal. This will lead to continuous flow paths
between row 1 and row 2.
94. Left-click Select All Rows.
95. Go to QAP/Mesh Control/Row Mesh Control.
96. Click on Flow Paths Control.
97. Keep the Number of Flow Paths at <57> and press <Enter>.
98. Keep data identical.
99. Close the dialog box.
Blade-to-Blade Control
To obtain a full matching mesh in the B2B view, the number of points in the azimuthal direction at
the interface between both rows must be the same.
100. Left-click the main blade or splitter mesh in the blade-to-blade view.
101. Go to Mesh Control - > Row Mesh Control - > B2B Mesh Topology Control - >
Topology control field.
turbomachinery types, the blades are highly staggered ( Automatic High Staggered
In several
Blade Detection within AutoGrid5™). If the solid angle at the inlet (outlet) of the machine becomes
greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading
edge (trailing edge) of the blades, then the default topology is not suitable anymore since the cells
located near the inlet (outlet) boundary become very skewed. To improve this unexpected behavior,
AutoGrid5™ uses the High Staggered Blade Optimization.
102. Close the Topology control field.
103. Open the Grid Points control field. Manually change the number of grid points in the blade-
to-blade view, especially in the azimuthal direction:
l Select row 1/main blade and change the number of grid points according to the figure below
by left-clicking the number of nodes, making the proper modification in the entry box and
pressing <Enter> to confirm the modification.
l For the up block, change the azimuthal number of points at the inlet to <17><Enter>.
l For the down block, change the azimuthal number of points at the outlet to <113><Enter>.
l For the blade, change the streamwise number of points to <193><Enter>.
l Select row 2/main blade and change the number of grid points according to the figure below
by left-clicking the number of nodes, making the proper modification in the entry box and
pressing <Enter> to confirm the modification.
l For the up block, change the azimuthal number of points at the inlet to <17><Enter>.
l For the down block, change the azimuthal number of points at the inlet to <17><Enter>.
l For the blade, change the streamwise number of points to <93><Enter>.
l Select row 2/splitter 1 and change the number of grid points according to the figure below by
left- clicking the number of nodes, making the proper modification in the entry box and
pressing <Enter> to confirm the modification.
l For the up block, change the azimuthal number of points at the inlet to <17><Enter>.
l For the down block, change the azimuthal number of points at the inlet to <17><Enter>.
l Select row 2/splitter 2 and change the number of grid points in the same way as for row
2/splitter 1.
Before the modifications in step 103, the number of points in the azimuthal direction at the interface
between both rows was not the same.
After the modifications in step 103, the number of points in the azimuthal direction at the interface is
the same. A matching connection is enabled.
104. Close the dialog box.
105. Left-click Select All Rows.
106. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh
optimization parameters if necessary to enhance the quality of the mesh.
To ensure a full matching mesh, the optimization parameters of both rows are strictly linked together.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block
elliptic techniques. The number of Optimization Steps represents the number of
iterations
performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
107. Activate Expert. Activate Multigrid Acceleration. Keep all other data identical.
108. Close the dialog box.
109. Visualize the result in blade-to-blade view after selecting Generate B2B to regenerate the
flow paths and the mesh in the blade-to-blade plane.
110. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the
blade-to-blade mesh will be plotted in the blade-to-blade view.
By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer
selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%)
and is applied on active row(s).
111. Left-click Select All Rows.
112. Type for example <50> and press <Enter> in order to visualize the mesh at 50% span.
113. Select Generate B2B to regenerate the blade-to-blade mesh on new specified layer in the
blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using
the Type pull- down menu and plotted in the blade- to- blade view on the active layer selected in
Mesh Control/ Active B2B Layer.
114. Left-click the blade-to-blade window to activate that view (red border).
115. Left-click the
icon to activate the repetition.
116. Check the grid quality by clicking
.
117. Left-click one row in the Row list to select it and press <Enter>.
118. Select quality criteria using the Type pull-down menu.
119. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn for each row.
120. Left-click part of the histogram to plot the concerned cells in the blade-to-blade view.
121. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
122. Close the dialog box.
3D Mesh Generation
123. Left-click Select All Rows.
124. Click the Generate 3D icon and confirm (Start) the generation.
Once 3D grid generation is completed, grid quality is performed and displayed. Minimum cells
skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data are
available for the entire mesh separately for every entity (row, technological effect, bulb). Data related
to grid quality report are automatically stored in a report file, once the project file is saved.
125. Close the dialog box. The page can be reopened by clicking
.
3D Mesh Visualization
126. Left-click Select All Rows.
127. Select View/Toggle 3D Solid View to access the shaded blades in 3D view.
128. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
129. Right-click to access the contextual menu and activate Full View.
130. Use the View menu in QAP or View/Patch Viewer... menu to toggle edge or mesh.
Check Boundary Conditions & Mesh Quality
131. Check the boundary conditions by clicking
.
132. Select UND from the Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. In that case,
these can usually be removed by increasing the tolerance and launching the Search procedure.
133. Close the dialog box.
134. Check for negative cells by clicking
.
135. Click Apply.
136. Click ok and Close the dialog box
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
137. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can
only be performed once the 3D mesh has been generated. Information on orthogonality, angular
deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type
pull-down menu.
138. Select quality criteria using the Type pull-down menu.
139. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks). Left-click part of the histogram to
plot the concerned cells in the 3D view.
141. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
142. Close the dialog box.
Save Project
143. Go to File -> Save Project As <tutorial5-confB> and press <Enter> to save the mesh and
template files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
and
(".xmt_ txt"),
boundary
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
6.1
CASCADE CONFIGURATION
6.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of cascade configuration. It makes
exclusive use of AutoGrid5™ and describes the main actions required to mesh the configuration
of interest.
In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l define cascade configuration;
l control the meridional and blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
B. Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for
beginners to perform the beginner tutorials 1 to 6 and the advanced tutorial 9.
C. Problem Description
The problem to be considered is shown schematically below. The project consists of the mesh
generation of the T106 turbine blade cascade configuration.
D. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
or
menu
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the cascade configuration!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is provided through a menu bar and a quick access
pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken
is summarized in the message box at the bottom of the interface.
6.1.2 Mesh Generation
A step by step approach is proposed in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
A. Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Activate the Cascade option.
6. Choose Start a New Project From Scratch.
B. Load Geometry & Define Main Properties
7. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row.
8. Left-click in the meridional view.
9. Go to Geometry Definition -> Import and Link CAD.
A graphic window will open, allowing the user to import CAD geometry.
10. Left-click File -> Open....
11. Select the "cascade.dat" file from the file chooser. "Where to Find the Files Used in the
Tutorials?" (p. 10)
12. Define the geometry orientation if necessary:
l Choose Geometry Axis... in the Edit menu.
l It is possible to adapt origin, stream and span direction if required. For this case, keep
default settings.
l Click Apply.
l Close the dialog box.
13. Define the hub curve:
l <Shift> + left-click all the curves defining the hub as they turn to yellow.
l Right-click and select Link to Hub.
The hub curve is now displayed in the meridional view.
14. Define the shroud curve:
l <Shift> + left-click all the curves defining the shroud as they turn to yellow.
l Right-click and select Link to Shroud.
The shroud curve is now displayed in the meridional view.
15. Define the blade:
l Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row, if not done already.
l Left-click the surface defining the blade when highlighted in blue (it turns to red or yellow).
If the blade is defined by multiple surfaces, middle-click and <Shift> + left-click can be used to select
all the surfaces defining the blade.
The View/View Solid menu acts as a toggle and is used to visualize the surfaces that are active.
l Right-click and select Link to Blade.
The blade is now displayed in the meridional view.
16. Define leading edge and trailing edge:
l Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row, if not done already.
l Left-click the blade leading edge line definition, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Leading Edge.
l left-click the blade trailing edge line definition, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Trailing Edge.
The leading and trailing edges are displayed in the meridional view.
When the blade intersects the hub and shroud, the inlet and outlet are displayed in the meridional
view.
A warning will appear: "Geometry size does not seem in accordance with the units specified. Check
it" in the information area. To ensure correct treatment during the grid generation when computing
for example the intersection, the grid units are adapted in step 23.
17. Go to File -> Exit in the Import CAD window.
The geometry of the cascade configuration can also be defined from a native ".geomTurbo" file.
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The header for a cascade configuration should contain the keywords "cascade yes".
The channel format contains the definition of the turbomachinery meridional contour (hub and
shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two
channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. The blade is defined by the pressure and
the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are
specified by a set of cross sections of the blade at several spanwise location from hub to shroud. Each
section is defined by a set of points from leading to trailing edge.
18. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
19. Right-click row 1 and select Properties in the pop-up menu.
20. Enter the Periodicity = <79.9> and press <Enter>.
The periodicity for a cascade configuration corresponds to the pitch distance between two successive
blades.
21. Enter <0> in Rotation Speed (rpm).
The speed will be transferred to the FINE™ graphical user interface and will ease the input of
boundary conditions later on.
22. Close the dialog box.
23. Set the scaling factor:
l Go to Geometry Definition -> Units.
l Change the units to Millimeters.
The " units " of
the imported geometry must be changed to impose a scaling factor and a
corresponding tolerance. This ensures a correct treatment during the grid generation when computing
for example the intersection. If not necessary, we recommend to keep the default settings ( Scale
Factor set to 1).
24. Left-click Select All Rows.
25. Select Toggle 3D Solid View in the View menu to access the shaded blades in the 3D view.
26. Click Toggle 3D Solid View in the View menu to remove the shaded blades in 3D view.
C.
Initialize Topology & Grid Points Distribution
27. Left-click Select All Rows.
28. Set Grid Level/Medium through Mesh Control in the Quick Access Pad.
29. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
Input the value of the Cell Width = <5e-3> [Millimeters] and press <Enter> in Row Mesh
Control.
30. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This
button will set the mesh topology to the default O4H topology.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
D. Meridional Control
31. Go to QAP/Mesh Control/Row Mesh Control.
32. Click on Flow Paths Control.
33. Enter the following parameters:
l Change the Number of Flow Paths to <17> and press <Enter>.
The number of flow paths can be imposed as <2> in order to generate a 2D mesh.
l Set Cell width at Hub to <5.0> and press<Enter>.
l Set Cell width at Shroud to <7.0> and press <Enter>.
The hub and shroud are considered as an Euler wall and a mirror plane respectively. For these
reasons, the cell width at hub and shroud can be increased because there are no boundary layer to
capture.
The Expert section allows the user to control the visualization, the shape and the parameters related
to flow path smoothing. The meaning of these parameters is detailed in the User Guide.
The Manual Edit mode allows the user to control directly the block faces which are used to
construct flow paths. Edges can be moved, segments can be created or modified and grid points
distribution on segments can be controlled. More details can be found in the User Guide.
34. Click Generate.
35. Close the dialog box.
E. Blade-to-Blade Control
36. Click Generate B2B.
37. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology
control field.
By default, non- matching connections are applied at periodic boundaries. Matching connections at
periodic boundaries can be obtained by activating the Matching Periodicity check button. Press
Initialize Topology & Grid Points Distribution to regenerate the mesh in the blade- to- blade
plane.
In most cases, the presence of non-matching connections somehow improves the orthogonality in the
overall mesh. This is especially true in highly staggered configurations
38. Keep Matching Periodicity deactivated and all other data identical.
turbomachinery types, the blades are highly staggered ( Automatic High Staggered
In several
Blade Detection within AutoGrid5™). If the solid angle at the inlet (outlet) of the machine becomes
greater than 45° and if the location of the inlet (outlet) limits of the domain is close to the leading
edge (trailing edge) of the blades, then the default topology is not suitable anymore since cells located
near the inlet (outlet) boundary become very skewed. To improve the this unexpected behavior,
AutoGrid5™ uses the High Staggered Blade Optimization.
39. Close the Topology control field.
40. Open the Grid Points control field to control the number of grid points in the blade-to-blade
view if necessary.
41. Left-click the number of nodes, make the proper modification in the entry box and press
<Enter> to confirm the modification.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
42. Visualize the result in the blade-to-blade view after clicking Generate B2B to regenerate the
flow paths and the mesh in blade-to-blade plane.
43. Close the dialog box.
44. Move default location of leading/trailing edge:
l Left-click in the blade-to-blade view to activate the view (red border).
l Zoom in on the leading edge.
l When the leading edge is highlighted in red (move the mouse on it), left-click and drag to
move the leading edge location; right-click to access a popup menu allowing the user to
impose the point distribution at the leading edge (Properties).
Absolute Control Distance: the distance is given in absolute units and remain the same for each
layer.
Relative Control Distance : the distance is given in relative units (normalized with the blade
width).
First Cell Length: the distance is equal to the product of the cell width given by the user and the
number of nodes.
Another feature of this dialog box is to control the maximum expansion ratio of the cells in the
streamwise direction along the wall. Switching the Desired Expansion Ratio option on implies that
the number of grid points on the upper and lower side of the blade will be recomputed to ensure that
the expansion ratio remains lower than the target value. The total number of points around the blade
is then continuously updated.
l The above steps can also be applied on the trailing edge. Close the dialog box.
l Visualize the result in the blade-to-blade view after clicking Generate B2B to regenerate the
flow paths and the mesh in blade-to-blade plane.
45. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh
optimization parameters if necessary to enhance the quality of the mesh.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block
elliptic techniques. The number of Optimization Steps represents the number of
iterations
performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
46. Keep Optimization Steps and all other data at the default values.
47. Close the dialog box.
48. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the
blade-to-blade mesh will be plotted in the blade-to-blade view.
By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer
selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%)
and is applied on active row(s).
49. Left-click Select All Rows.
50. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
51. Click Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the blade-
to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using
the Type pull- down menu and plotted in the blade- to- blade view on the active layer selected in
Mesh Control/Active B2B Layer.
52. Check the grid quality by clicking
.
53. Select quality criteria using the Type pull-down menu.
54. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn for each row.
55. Left-click part of the histogram to plot the concerned cells in blade-to-blade view.
56. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
57. Close the dialog box.
F. 3D Mesh Generation
58. Left-click Select All Rows.
59. Click Generate 3D and confirm the generation (Start).
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cells skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data is
available for the entire mesh as well as separately for each entity (row, technological effect, bulb).
Data related to grid quality report is automatically stored in a report file, once the project file is
saved.
60. Close the dialog box. The page can be reopened by clicking
.
G. 3D Mesh Visualization
61. Left-click Select All Rows.
62. Select View/Toggle 3D Solid View to access the shaded blades in 3D view.
63. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
64. Right-click to get the contextual menu and activate Full View.
65. Use the View menu in the QAP or View/Patch Viewer... menu to toggle edge or mesh.
H. Check Boundary Conditions & Mesh Quality
66. Check the boundary conditions by clicking
.
67. Select UND from the Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
68. Close the dialog box.
69. Check for negative cells by clicking
.
70. Click Apply.
71. Click ok and Close the dialog box.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
72. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can
only be performed once the 3D mesh has been generated.
Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be
outlined in this window using the Type pull-down menu.
73. Select quality criteria using the Type pull-down menu.
74. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
75. Left-click part of the histogram to plot the concerned cells in the 3D view.
76. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
77. Close the dialog box.
I.
Save Project
78. Go to File -> Save Project As <tutorial6> and press <Enter> to save the mesh and template
files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
7.1
SNUBBER CONFIGURATION
7.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a turbomachine including a snubber.
It makes exclusive use of AutoGrid5™ and describes the main actions required to mesh the
configuration of interest.
In this tutorial you will learn how to:
l define geometry into AutoGrid5™;
l control snubber settings,
l control meridional flow paths;
l control the blade-to-blade mesh;
l control the quality of the mesh in the meridional, blade-to-blade and 3D views.
B. Prerequisites
This tutorial does not require any particular prerequisite but it is strongly recommended for
beginners to perform the beginner tutorials 1 to 6 and the advanced tutorial 12.
C. Problem Description
The problem to be considered is shown schematically below (meridional view). The project
consists of the mesh generation of a bypass configuration and an axial compressor (NASA rotor
37) including a snubber.
D. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the bypass configuration with a
fin on fan!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is provided through a menu bar and a quick access
pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken
is summarized in the message box at the bottom of the interface.
7.1.2 Mesh Generation - Snubber On Fan
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from the creation of the mesh project to the validation of the
final mesh quality. In this project, the snubber is axisymmetric defined by a set of curves.
A. Create Mesh Project
1. Select Expert Mode if necessary in the toolbar.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to menu File -> New Project.
4. Click yes to close the active project.
5. Activate With By Pass.
6. Choose Start a New Project From Scratch.
B. Load Geometry & Define Main Properties
7. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row.
8. Right-click and select Add Snubber to add a snubber to the configuration.
9. Left-click in the meridional view. Go to Geometry Definition -> Import and Link CAD.
Graphic window opens, allowing geometry import.
10. Left-click File -> Open....
11. Select "fan-bypass.dat" file from the file chooser. "Where to Find the Files Used in the
Tutorials?" (p. 10)
12. Define the geometry orientation if necessary:
l Select Geometry Axis... in the Edit menu.
l Keep default Origin , Stream, and Span Direction.
l Click Apply.
l Close the dialog box.
13. Define the hub curve:
l Left-click the hub as it turns to yellow.
l Right-click and select Link to Hub.
The hub curve is now displayed in the meridional view.
14. Define the shroud curve:
l Left-click the shroud as it turns to yellow.
l Right-click and select Link to Shroud.
The shroud curve is now displayed in the meridional view.
15. Define the nozzle curve:
l Left-click the curve defining the nozzle as it turns to yellow.
l Right-click and select Link to Nozzle.
The nozzle curve is now displayed in the meridional view.
16. Define the blade:
l Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row, if not done already.
l Left-click on first surface defining the blade when highlighted in blue (it turns to red or
yellow).
l Click-middle to select the second surface defining the blade.
l <Shift> + left-click the second surface defining the blade when highlighted in blue (it turns to
red or yellow).
The View/View Solid menu acts as a toggle and allows the user to visualize the surfaces that are
active.
l Right-click and select Link to Blade.
The blade is now displayed in the meridional view.
17. Define leading edge and trailing edge:
l Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row, if not done already.
l Left-click the blade leading edge line, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Leading Edge.
l Left-click the blade trailing edge line, inside the Import CAD window.
l As it turns yellow, click-right and select Link to Trailing Edge.
The leading and trailing edges are now displayed in the meridional view.
18. Define the snubber on the fan:
The snubber will be defined by two curves corresponding to respectively the up and down parts of the
axisymmetric snubber. Curves used to define the snubber should be defined from inlet to outlet and
not as B-splines.
l Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate
the snubber, if not done already.
l Left-click the upper side curve of the snubber, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Snubber... -> Meridional Curve Up.
l Left-click the lower side curve of the snubber, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Snubber... -> Meridional Curve Down.
19. Go to File -> Exit.
The geometry of the snubber can also be defined from a native ".geomTurbo" file. The ".geomTurbo"
file format is structured in three main blocks: the header, the channel and the row definitions. The
header when defining a bypass configuration should contain the keywords "byPass yes".
The channel format contains the definition of the turbomachinery meridional contour (hub and
shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two
channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of the snubber and the complete row. The snubber is
defined by two curves: upper_curve and lower_curve defining the axisymmetric surfaces that will be
used to define the snubber. The blade is defined by the pressure and the suction side surfaces
identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross
sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set
of points from leading to trailing edge.
20. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
21. Right-click row 1 and select Properties in the pop-up menu.
22. Enter the Periodicity (number of blades) to <40> and press <Enter>.
23. Keep <500> in Rotation Speed (rpm).
The speed will be transferred to FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ
direction, and negative otherwise.
24. Activate Default in order to plot
View/Toggle 3D Solid View.
25. Close the dialog box.
26. Left-click Row Definition -> row 1.
the full
turbomachine in 3D view when selecting
27. Right-click and select Gap/Fillet -> Define Shroud Gap in the pop-up menu.
28. Set Width At Leading Edge = <0.012> [Meters] and press <Enter>.
29. Set Width At Trailing Edge = <0.012> [Meters] and press <Enter>.
30. Close the dialog box.
The width at leading/trailing edge is used to specify the size of the gap at the leading and trailing
edge of the blade respectively. The gap curve is then constructed as a linear offset of the hub (or the
shroud) according to these values.
31. Left-click Select All Rows.
32. Select Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.
33. Select Toggle 3D Solid View in the View menu to remove the shaded blades in 3D view.
C.
Initialize Topology & Grid Points Distribution
34. Left-click Select All Rows.
35. Select Grid Level/Medium through Mesh Control in Quick Access Pad.
36. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and the width of the first cell close to the wall y is
driven by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
Input the value of the Cell Width = <1e-5> [Meters] and press <Enter> in Row Mesh Control.
37. Left-click Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control. Open
the Topology control field and activate Matching Periodicity. Close the dialog box.
38. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (Yes). This
button will set the mesh topology to the default skin-like topology.
D. Meridional Control
39. Control bypass - nozzle - snubber flow paths distribution:
l Left-click
in the toolbar on the top to access the bypass and nozzle controls.
l Left-click on the number of flow paths down the nozzle (Nozzle Index), decrease it to <57>
and press <Enter> to add more flow paths above the nozzle in the snubber area.
l Left-click on the number of flow paths on the nozzle, decrease it to <17> and press <Enter> to
add more flow paths above the nozzle in the snubber area.
l Close the dialog box.
More information about the control of the nozzle and bypass points distribution is provided in
advanced tutorial 4.
l Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate
the snubber.
l Right-click and select Properties in the pop-up menu.
l Decrease the Spanwise Index to <89> and <Enter> to have more flow paths between the
snubber and the shroud gap.
l Close the dialog box.
l If necessary, left-click in the meridional view to activate it (red border).
l Left-click on the control line defining the nozzle topology when highlighted in yellow.
l Left-click on the control point defining the control line.
l Move the control point to the desired location.
l Left-click to validate its new location.
The exact coordinates of the control points can also be introduced by right-clicking the control point.
A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
l Left-click Select All Rows.
l Left-click Generate Flow Paths.
40. Check the quality of the flow paths:
l Left-click in the meridional view to activate it (red border).
l Left-click
.
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left-click part of the histogram to plot the concerned cells in the meridional view.
l Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
l Close the dialog box.
E. Blade-to-Blade Control
41. Click Generate B2B (
).
42. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Topology
control field.
Matching connections are applied at periodic boundaries to allow the mesh generation of the snubber.
You can see the periodic boundary by showing the repetitions.
43. Left-click in the blade-to-blade window to activate that view (red border).
44. Go to View -> Repetition... .
45. Increase Nb Repet to <1> and click Show.
46. Close the dialog box.
47. Keep Matching Periodicity activated and all other data identical.
When the row is including a snubber, the topology cannot be high staggered and should be imposed
as Normal after deactivating the option Automatic High Staggered Blade Detection. For this
specific case when keeping the option active, the Inlet/Outlet Type is set as Normal.
48. Close the Topology control field.
49. Open the Grid Points control field to control the number of grid points in the blade-to-blade
view.
Left-click the number of nodes, make the proper modification in the entry box and press <Enter> to
confirm the modification. The number of points specified is recommended to be 4xn + 1 (where n is
an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.
Visualize the result in the blade-to-blade view after selecting Generate B2B to regenerate the flow
paths and the mesh in blade-to-blade plane.
When the row is including a snubber, the same number of grid points should be imposed on its
pressure and suction sides.
50. Increase the number of grid points in streamwise direction upstream the blade to < 33 >
<Enter> and on the blade to <57> <Enter>.
51. Close the dialog box.
52. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh
optimization parameters if necessary to enhance the quality of the mesh.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block
elliptic techniques. The number of Optimization Steps represents the number of
iterations
performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
When the row is including a snubber, it is recommended to set both fine grid and full multigrid
optimization steps to 300.
53. Set Optimization Steps on Fine Grid and Full Multigrid Optimization Steps to <300>
<Enter>.
54. Close the dialog box.
55. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the
blade-to-blade mesh will be plotted in the blade-to-blade view.
By default, the active layer is the hub of the machine (Active Layer (%span) set to 0). The layer
selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%)
and is applied on active row(s).
56. Left-click Select All Rows.
57. Enter for example <50> and press <Enter> in order to visualize the mesh at 50% span.
58. Select Generate B2B to regenerate the blade-to-blade mesh on the specified layer in the
blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window using
the Type pull-down menu and plotted in the blade-to-blade view on the active layer selected in Mesh
Control/Active B2B Layer.
59. Check the grid quality by clicking
.
60. Select quality criteria using the Type pull-down menu.
61. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn for each row.
62. Left-click part of the histogram to plot the concerned cells in the blade-to-blade view.
63. Left-click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria.
64. Close the dialog box.
F. 3D Mesh Generation
65. Left-click Select All Rows.
66. Click the Generate 3D icon and confirm the generation (Start).
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data is
available for the entire mesh as well as for each separate entity (row, technological effect, bulb). Data
related to grid quality report is automatically stored in a report file, once the project file is saved.
67. Close the dialog box. The page can be reopened by clicking
.
G. 3D Mesh Visualization
68. Left-click Select All Rows.
69. Select View -> Toggle 3D Solid View to access the shaded blades in 3D view.
70. Left-click in the 3D view; the Quick Access Pad (QAP) is modified.
71. Right-click to get the contextual menu and activate Full View.
72. Use the View menu in QAP or View -> Patch Viewer... menu to toggle edge or mesh.
H. Check Boundary Conditions & Mesh Quality
73. Check the boundary conditions by clicking
.
74. Select UND under the Type pull-down menu and check that there are no patches in the patch
list that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
75. Close the dialog box.
76. Check for negative cells by clicking
.
77. Click on Apply.
78. Click ok and Close.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pushing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
79. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can be
performed only once the 3D mesh has been generated. Information on orthogonality, angular
deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type
pull-down menu.
80. Select quality criteria using the Type pull-down menu.
81. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
82. Left-click part of the histogram to plot the concerned cells in the 3D view.
83. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
84. In step 66, the generated mesh is presenting a maximum expansion ratio and a maximum
aspect ratio too high, apply step 80 to step 83 to detect in the 3D mesh where the quality should
be improved:
l the too high maximum expansion ratio is mainly in the skin block around the snubber. To
improve the quality, the number of points in the snubber skin block is increased to <29>
<Enter> and in the streamwise direction adapted to i=<13> <Enter> and i=<45> <Enter>.
When the concerned cells are highlighted in the 3D view, the View/Sweep Surfaces... menu allows
to display grid on internal faces at constant I, J or K.
l the too high maximum aspect ratio is in the downstream blocks after the nozzle. To improve
the quality, the number of points in the streamwise direction is increased to <53> <Enter> in
the downstream block up and <45> <Enter> in the downstream block down.
84. Close the dialog box.
85. Left-click Select All Rows.
86. Click the Generate 3D icon and confirm the generation (Start).
87. Close the dialog box. The page can be reopened by clicking
.
I.
Save Project
88. Go to File -> Save Project As <tutorial7-fan> and press <Enter> to save the mesh and
template files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Manual.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Manual.
7.1.3 Mesh Generation - Axisymmetric Snubber On Axial
Compressor
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from the creation of the mesh project to the validation of the
final mesh quality. In this project, three different snubber configuration will be considered:
l an axisymmetric snubber defined by a set of curves,
l a 3D snubber without fillet defined by a set of surfaces and curves,
l a 3D snubber with fillet defined by a set of surfaces and curves.
The first configuration is presented in this section. The second and third configurations are
presented in Mesh Generation - 3D Snubber On Axial Compressor.
A. Axisymmetric Snubber - Create Mesh Project
89. Select Expert Mode if necessary in the toolbar.
90. Go to menu File -> New Project.
91. Click yes to close the active project.
Initialize a New Project
92. Choose
"axial-
compressor.geomTurbo" file from the file chooser. "Where to Find the Files Used in the
Tutorials?" (p. 10)
from a geomTurbo File . Select
B. Axisymmetric Snubber - Load Geometry
93. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the
current row.
94. Right-click and select Add Snubber to add a snubber to the configuration.
95. Left-click in the meridional view. Go to Geometry Definition -> Import and Link CAD.
Graphic window opens, allowing geometry import.
96. Left-click File -> Open....
97. Select "snubber-axi.dat" file from the file chooser. "Where to Find the Files Used in the
Tutorials?" (p. 10)
98. Define the snubber on the axial compressor:
The snubber will be defined by two curves corresponding to respectively the up and down parts of the
axisymmetric snubber. Curves used to define the snubber should be defined from inlet to outlet and
not as B-splines.
l Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate
the snubber, if not done already.
l Left-click the upper side curve of the snubber, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Snubber... -> Meridional Curve Up.
l Left-click the lower side curve of the snubber, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Snubber... -> Meridional Curve Down.
99. Go to File -> Exit.
The geometry of the snubber can also be defined from a native ".geomTurbo" file. The ".geomTurbo"
file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub and
shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two
channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of the snubber and the complete row. The snubber is
defined by two curves: upper_curve and lower_curve defining the axisymmetric surfaces that will be
used to define the snubber. The blade is defined by the pressure and the suction side surfaces
identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross
sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set
of points from leading to trailing edge.
C. Axisymmetric Snubber - Mesh Wizard
100. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate it.
101. Left-click Row Wizard under Mesh Control subpad in the Quick Access Pad (QAP).
102. Click Yes to start the wizard and to reset the mesh generation parameters.
103. Click Yes to confirm the geometry check (step 1).
104. Click Next in the dialog box to define the machine characteristics (step 2).
105. Select Axial Compressor as Row type in the Blade row type dialog box.
106. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <36>, press <Enter> to confirm.
107. Select Rotor.
108. Enter <-17188> in Rotation Speed (rpm).
109. Click Next in the dialog box to start the gap and fillet definition (step 3).
110. Activate Tip Gap in the Gap and Blending Control dialog box.
111. Define Width at leading edge = <0.000356> [Meters] <Enter>.
112. Define Width at trailing edge = <0.000356> [Meters] <Enter>.
113. Click Next>> in the dialog box to start the flow path definition (step 4).
114. Keep Spanwise Grid Point Number set to <73> (corresponding to the flow paths number)
in the Layer Control dialog box.
115. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref =175 m/s; L ref =0.2523m; ν=1.466e- 5 m²/s.
Assuming one wishes to get y+=1 at the wall, it turn out that y = 3 x 10-6 m. Input the value of the
Wall Cell Width = <3e-6> [Meters] <Enter> in the Layer Control dialog box.
116. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
117. Set the Number of Points (of the 3D mesh) around 1,000,000 (Level: -3) by clicking the
<< or >> buttons in the B2B Control dialog box .
118. Click Finish to end the initialization process (step 6).
119. Click No to not start the 3D mesh generation in order to verify the imposed settings before
generating the mesh.
120. Go to Mesh Control -> Row Mesh Control -> B2B Mesh topology Control to control the
imposed settings under the Topology and Grid Points control fields to allow the snubber
generation:
l the option Matching Periodicity is active,
l the topology is imposed to Normal for Inlet/Outlet Types,
l in Grid Points, the grid points on pressure and suction sides are similar: reduce number of
points to <65> <Enter> on both blade sides.
121. Close the dialog box.
122. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh
optimization parameters if necessary to enhance the quality of the mesh.
When the row is including a snubber, it is recommended to set both fine grid and full multigrid
optimization steps to 300.
123. Set Optimization Steps on Fine Grid and Full Multigrid Optimization Steps to <300>
<Enter>.
124. Close the dialog box.
125. Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to
activate the snubber.
126. Right-click and select Properties in the pop-up menu. Adapt settings as illustrated on figure
below.
127. Close the dialog box.
D. Axisymmetric Snubber - 3D Mesh Generation
128. Left-click Select All Rows.
129. Click the Generate 3D icon and confirm the generation (Start).
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh or for every each separate entity (row, technological effect, bulb). Data related to
grid quality report is automatically stored in a report file, once the project file is saved.
130. Close the dialog box. The page can be reopened by clicking
.
E. Axisymmetric Snubber - 3D Mesh Visualization
131. Repeat step 68 to step 72 to visualize the mesh.
F. Axisymmetric Snubber - Check Boundary Conditions &
Mesh Quality
132. Repeat step 73 to step 83 to check boundary conditions and mesh quality:
l to improve the expansion ratio upstream the blade, a control line is added to adapt only the
flow paths distribution without affecting the blade-to-blade mesh.
133. Repeat step 128 to step 130 to regenerate the 3D mesh.
G. Axisymmetric Snubber - Save Project
134. Go to File -> Save Project As <tutorial7-axi-snubber> and press <Enter> to save the mesh
and template files.
7.1.4 Mesh Generation - 3D Snubber On Axial Compressor
A. 3D Snubber - Create Mesh Project
135. Select Expert Mode if necessary in the toolbar.
136. Go to menu File -> New Project.
137. Click yes to close the active project.
Initialize a New Project
138. Choose
"axial-
compressor.geomTurbo" file from the file chooser. "Where to Find the Files Used in the
Tutorials?" (p. 10)
from a geomTurbo File . Select
B. 3D Snubber Without Fillet - Load Snubber Geometry
139. Left-click row 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate
the current row.
140. Right-click and select Add Snubber to add a snubber to the configuration.
141. Left-click in the meridional view. Go to Geometry Definition -> Import and Link CAD.
142. Left-click File -> Open....
143. Select "snubber-3D.dat" file from the file chooser. "Where to Find the Files Used in the
Tutorials?" (p. 10)
144. Define the snubber on one side of the axial compressor:
The snubber will be defined by a set of surfaces and curves on one side of the blade using the links
Surfaces & Leading/Trailing Edge on Blade Pressure Side.
When the snubber is defined by a set of curves and surfaces on both sides of the blade, part of the
snubber is defined on blade pressure side with the links Surfaces & Leading/Trailing Edge on
Blade Pressure Side and the second part is defined on blade suction side with the links Surfaces
& Leading/Trailing Edge on Blade Suction Side.
l Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate
the snubber, if not done already.
l Left-click on first surface defining the snubber when highlighted in blue (it turns to red or
yellow).
l Click-middle to select the second surface defining the snubber.
l <Shift> + left-click the second surface defining the snubber when highlighted in blue (it turns
to red or yellow).
l Right-click and select Link to Snubber... -> Surfaces on Blade Pressure Side.
l Left-click the leading edge of the snubber, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Snubber... -> Leading Edge on Blade
Pressure Side.
l Left-click the trailing edge of the snubber, inside the Import CAD window.
l As it turns yellow, right-click and select Link to Snubber... -> Trailing Edge on Blade
Pressure Side.
145. Go to File -> Exit.
The geometry of the snubber can also be defined from a native ".geomTurbo" file. The ".geomTurbo"
file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub and
shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two
channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of the snubber and the complete row. The snubber is
defined by surfaces and curves for leading and trailing edges. The blade is defined by the pressure and
the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are
specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each
section is defined by a set of points from leading to trailing edge.
C. 3D Snubber Without Fillet - Mesh Wizard
146. Repeat step 100 to step 119 to impose the mesh settings:
l Axial Compressor as Row type, Periodicity =< 36 >, Rotor, Rotation speed (rpm)=< -
17188>.
l Select Tip Gap , Width At Leading Edge = Width At Trailing Edge = < 0.000356 >
[Meters].
l Spanwise Grid Point Number= <73>, Wall Cell Width = <3e-6> [Meters].
l Set Number of points around 1,000,000 (Level: -2).
147. Go to Mesh Control -> Row Mesh Control -> Flow Paths Control , to increase the
Number of Flow Paths to <81> <Enter> to have more flow paths between the snubber and the
shroud gap.
148. Close the dialog box.
149. Go to Mesh Control -> Row Mesh Control -> Add Z Constant Line to add a control line
to adapt only the flow paths distribution without affecting the blade-to-blade mesh. Right-click on
the z constant line, and choose Properties. Select None in B2B control.
150. Close the dialog box.
151. Go to Mesh Control -> Row Mesh Control -> B2B Mesh topology Control to control the
imposed settings under the Topology and Grid Points control fields to allow the snubber
generation:
l the option Matching Periodicity is active,
l the topology is imposed to Normal for Inlet/Outlet Types,
l the grid points on pressure and suction sides are similar.
152. Close the dialog box.
153. Go to Mesh Control -> Row Mesh Control -> Optimization Control to set Optimization
Steps on Fine Grid and Full Multigrid Optimization Steps to <300> <Enter>.
154. Close the dialog box.
155. Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to
activate the snubber.
156. Right-click and select Properties in the pop-up menu. Increase the number of points in the
snubber skin block to <21> <Enter>.
157. Close the dialog box.
D. 3D Snubber Without Fillet - 3D Mesh Generation &
Visualization
158. Left-click Select All Rows.
159. Click the Generate 3D icon and confirm the generation (Start).
160. Close the dialog box. The page can be reopened by clicking
.
161. Repeat step 68 to step 72 to visualize the mesh.
E. 3D Snubber Without Fillet - Check Boundary Conditions &
Mesh Quality
162. Repeat step 73 to step 83 to check boundary conditions and mesh quality.
F. 3D Snubber Without Fillet - Save Project
163. Go to File -> Save Project As <tutorial7-3d-snubber> and press <Enter> to save the mesh
and template files.
G. 3D Snubber With Fillet - Load Snubber Fillet Geometry
164. Left-click in the meridional view. Go to Geometry Definition -> Import and Link CAD.
165. If needed, left-click File -> Close to clean the window. Left-click File -> Open....
166. Select "snubber-3D-fillet.dat" file from the file chooser. "Where to Find the Files Used in the
Tutorials?" (p. 10)
167. Add fillet to the snubber on both sides of the axial compressor:
l Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to activate
the snubber, if not done already.
l Left-click on first surface defining the snubber fillet on pressure side when highlighted in blue
(it turns to red or yellow).
l Click-middle to select the second surface defining the snubber fillet on pressure side.
l < Shift> + left-click the second surface defining the snubber fillet on pressure side when
highlighted in blue (it turns to red or yellow).
l Right-click and select Link to Snubber... -> Fillet on Blade Pressure Side.
l Left-click on first surface defining the snubber fillet on suction side when highlighted in blue
(it turns to red or yellow).
l Click-middle to select the second surface defining the snubber fillet on suction side.
l < Shift> + left- click the second surface defining the snubber fillet on suction side when
highlighted in blue (it turns to red or yellow).
l Right-click and select Link to Snubber... -> Fillet on Blade Suction Side
168. Go to File -> Exit.
The geometry of the snubber can also be defined from a native ".geomTurbo" file. The ".geomTurbo"
file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub and
shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two
channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of the snubber and the complete row. The snubber is
defined by surfaces (for straight snubber and fillet) and curves for leading and trailing edges. The
blade is defined by the pressure and the suction side surfaces identified by the keywords "pressure"
and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
169. Left-click snubber 1 in Row Definition -> row 1 in the Quick Access Pad (QAP) to
activate the snubber.
170. Right-click and select Properties in the pop-up menu. For the butterfly topology in the
snubber fillet, the radial number of points (Fillet Butterfly Radial Number of Points) in the
butterfly mesh is kept to zero. In that case, AutoGrid5™ automatically adapts the radial number of
points in the butterfly mesh.
When the Fillet Butterfly Radial Number of Points is imposed by the user, the streamwise
number of points in the inner block of the butterfly topology will be the difference between the
snubber skin block number of points and the Fillet Butterfly Radial Number of Points.
H. 3D Snubber With Fillet - 3D Mesh Generation &
Visualization
171. Left-click Select All Rows.
172. Click the Generate 3D icon and confirm the generation (Start).
173. Close the dialog box. The page can be reopened by clicking
.
174. Repeat step 68 to step 72 to visualize the mesh.
I.
3D Snubber With Fillet - Check Boundary Conditions &
Mesh Quality
175. Repeat step 73 to step 83 to check boundary conditions and mesh quality:
J. 3D Snubber With Fillet - Save Project
176. Go to File -> Save Project As <tutorial7-3d-snubber-with-fillet> and press <Enter> to save
the mesh and template files.
8.1
3D TECHNOLOGICAL EFFECT - CASING
TREATMENT
8.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
turbomachinery applications. Similarly to IGG™ , it is based on structured multi- block
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of casing treatments (3D technological
effects) for turbomachines. It makes exclusive use of AutoGrid5™ and describes the main actions
required to mesh the configuration of interest.
In this tutorial you will learn how to:
l read an existing project file into AutoGrid5™;
l adapt the existing project file;
l generate and control the mesh in the technological effect (casing);
l control the quality of the mesh in the 3D mesh.
B. Prerequisites
This tutorial requires the user to perform the mesh generation of the NASA rotor 37 as explained
in beginner tutorial 1. Furthermore, it is strongly recommended for beginners to perform the
beginner tutorials 2 to 6 too.
C. Problem Description
The problem to be considered is shown schematically below. The project consists of the mesh
generation of a casing treatment (3D technological effect) for the NASA rotor 37 that will include
the buffer block and groove meshes.
D. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
or
menu
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start the grid generation process and mesh the configuration presenting a
casing treatment (3D technological effect)!
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is provided through a menu bar and a quick access
pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken
is summarized in the message box at the bottom of the interface.
8.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims at guiding you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
A. Open Existing Mesh Project
1. Click Select a Project File in the Open Turbo Project Wizard dialog box.
2. Select the file "NASA-Rotor-37.trb". Click Open to load the selected project. "Where to Find
the Files Used in the Tutorials?" (p. 10)
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Select Expert Mode if necessary in the toolbar.
B. Adapt Mesh Project
4. Left-click in the meridional view.
5. Left-click row 1 in Row Definition in the Quick Access Pad (QAP) to activate the current
row.
6. Go to Geometry Definition -> Import and Link CAD.
A graphic window will open, allowing the user to import geometry.
7. Go to File -> Open....
8. Select "geometry.dat" file from the file chooser.
9. Define the new shroud curve:
l Left-click the curve ("new_shroud") as it turns to yellow.
l Right-click and select Link to Shroud.
A new shroud curve is now displayed in the meridional view.
10. Go to File -> Exit.
11. Left-click the " + " in front of row 1 in QAP to get the blade information.
12. Left-click Blades -> Main Blade -> Shroud gap, right-click and select Properties in the
contextual menu.
13. Set Width At Leading/Trailing Edge to <0.0156> to define the main blade tip in addition to
the 3D technological effect thickness (0.0356 - 0.02).
14. Keep all other data identical.
15. Close the dialog box.
16. Control the flow paths through Mesh Control -> Row Mesh Control -> Flow Paths
Control.
17. Set Cell width at Shroud to <0.001>.
18. Keep all other data identical.
19. Click Generate to generate flow paths.
20. Close the dialog box.
21. Click Generate B2B (
(active layer = 0%).
) to generate the blade-to-blade mesh by default on hub
22. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
23. Click
and then click on Start to start the mesh generation.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data are
available for the entire mesh separately for every entity (row, technological effect, bulb). Data related
to grid quality report is automatically stored in a report file, once the project file is saved.
24. Close the dialog box.
25. Select View / View/Hide 3D Solid Mesh to view/hide the shading and grid on blades and
hub in 3D view.
C. 3D Technological Effect Generation
Configuration Control
26. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
27. Click the Add 3D Effect button to add a 3D technological effect in the configuration.
Geometry Control
28. Left-click Row Definition -> row 1 -> 3d techno effect 1 in the Quick Access Pad (QAP)
if not active already.
29. Go to Geometry Definition -> Import and Link CAD.
A graphic window will open, allowing the user to import geometry.
30. Select the curves and surfaces defining the active 3D technological effect:
l <Shift> + left-click all the curve(s) (from "curve_1" to "curve_3") as they turn yellow.
l <Shift> + left-click all the surface(s) (from "surface_1" to "surface_3") as they turn blue.
l Right-click and select Link to 3D Effect.
31. Go to File -> Exit.
32. Left-click Row Definition -> row 1 -> 3d techno effect 1 in the Quick Access Pad (QAP)
if not active already.
33. Right-click 3d techno effect 1 to get the contextual menu and select Edit to access the 3D
technological effect edit mode.
Curves and surfaces defining the selected 3d technological effect are displayed in the 3D view.
Curves and surfaces defining the 3d technological effects are specified in the ".geomTurbo" file.
In the edit mode, it is not recommended to define new geometrical entities by using the Geometry
menu. Otherwise, when relaunching the template including the 3d technological effect, problems may
occur.
Topology & Mesh Control
The domain defining a technological effect must be filled by several structured 3D blocks (like in
IGG™ ). The block edges are mapped on the geometry. The Grid subpad provides the tools to create
and control the blocks.
34. Left-click Insert New Face icon in the Grid subpad to start to fill the geometry of the
grooves.
35. Set the first corner of the 2D block by left-clicking (yellow spot when attracted on existing
curve).
36. Left-click to set the opposite corner of the 2D block.
37. Finish the creation of the 2D block with another left-click.
38. Left-click the vertex (when highlighted in yellow) of the 2D block to move it when necessary.
39. Fix the new position of the vertex on the geometry by left-clicking.
40. Repeat the above steps for all vertices defining the 2D block.
41. Repeat step 34 to step 40 in order to fill the "inlet" geometry of the technological effect with
two new faces as presented in the following figure.
42. Change the number of points on the edges:
l Left-click an edge (highlighted in yellow).
l Right-click and select Segment/Set Number of Points.
l Set number of points (by default set to 9) as presented in figure below.
l Click Apply.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
43. Change the points distribution on edges defining two groups:
l Left-click an edge (highlighted in yellow).
l Right-click and select Segment -> Distribution: a new window appears.
l Left-click Define/Edit Group.
l Choose Create.
l Set a user defined group name <group-1> and press <Enter> to validate it.
l Click Modify and left-click to select edges to be included in group-1.
l Middle-click to add the selected edge in the group-1 as presented in the following figure.
If the menu to select and/or add edges in a group is no longer visible, left-click on the group in the
list and choose on Modify.
l Left-click Create.
l Set a userdefined group name <group-2> and press <Enter> to validate.
l Left-click to select edges to be included in group-2.
l Middle-click to add the selected edge in the group-2 as presented in the following figure.
l Close the dialog box.
l Select group-1 under Group name.
l Impose Hyperbolic Tangent with a cell width of <0.0003> at start and end.
l Left-click Apply to group.
l Select group-2 under Group name.
l Impose Hyperbolic Tangent with a cell width of <0.0003> at start and <0.001> at end.
l Left-click Apply to group.
l Close the dialog box.
44. Create the 3D blocks starting from the 2D grid faces:
l Left-click an edge to select grid face (highlighted in white or black).
l Select Block by Face Translation.
l In keyboard input area, type <y> to allow edge creations - type <1> to select translation - set
<0 0 25.3466> as the translation vector - type <n> to avoid geometry creation - type <n> to
avoid to intersect selected surfaces: a 3D block is created by translating the 2D grid face.
Note that depending on the local coordinate axis system IJK selected for the three blocks created
in the steps 34 to 41, the above step may require a small adaptation. For example, the translation
should be applied with <0 0 -25.3466> as the translation vector if K is pointing to the opposite
direction than in the current configuration.
l Repeat the above steps for the others two 2D grid faces.
45. Connect the 3D blocks:
l Select Connect / Face-Face.
l Left-click an edge to select the reference face (highlighted in white or black) of the concerned
block (highlighted in red).
l Middle-click to confirm.
l Left-click a second edge to select a second face.
l Middle-click to confirm: a new window appears.
l Left-click All: faces appear in green or red if they are properly connected.
l Repeat the above steps for the other face.
l Close the dialog box connect_faces.
46. Change the number of points in the axial direction:
l Left-click the edge (highlighted in yellow).
l Right-click and select Segment/Set Number of Points.
l Set the number of points to <201> (by default set to 9) as presented in figure below.
l Apply and Close the dialog box.
47. Map the 3D blocks on the imported curves:
l Left-click a vertex (when highlighted in yellow) of the 3D block to move it onto a curve.
l Left-click to fix the new position of the vertex on the geometry.
l Repeat above steps for all vertices defining the 3D blocks.
48. For the buffer block, repeat step 34 to step 40 to create a face block lying on the curves
"curve_1" and "surface_1".
49. Set the grid settings (Grid/Grid Settings... menu) of the new block ("block 13") as presented
below.
50. Create the 3D block by face rotation of 10 degrees:
l Left-click an edge to select grid face (highlighted in white or black).
l Select Block by Face Rotation.
l In keyboard input area, type <y> to allow edge creations - type <2> to select rotation axis
along z - set <10> as the rotation angle - type <n> to avoid geometry creation - type <n> to
avoid to intersect selected surfaces: a 3D block is created by rotating the 2D grid face.
51. Generate a 3D mesh by left-clicking Grid -> Generate -> Block 6 Bnd in the QAP.
52. Enter <10-13> in the Selected Block(s) area, click Apply and Close dialog box.
Boundary Conditions & Quality Control
53. Define the periodicity of the blocks in the 3D technological effect:
l Select Periodicity... in the Grid menu.
l Enter <10-12> in the Selected Block(s) area.
l Click View/Hide Selection to visualize selected block(s).
l Select ROTATION.
l Adapt Axis and Number Of Periodicity as presented below and press <Enter> to validate.
l Click Apply.
l Enter <13> in the Selected Block(s) area.
l Click View/Hide Selection to visualize selected block(s).
l Select ROTATION.
l Adapt Axis and Number Of Periodicity as presented below and press <Enter> to validate.
l Click Apply and Close the dialog box.
54. Adapt and check boundary conditions:
l Select Boundary Conditions... in the Grid menu.
l Click Search to automatically define the connections between blocks 10, 11, 12 and 13: 2
connections and 2 periodic connections are created.
l Define a periodic full non matching connection between the buffer ("block 13") and the
channel mesh (O4H topology):
l Click on Define... button in Full Non Matching.
l In the left list, type <shroud> in the Name area and <Ctrl> + left-click the patches as
presented in the following figure (select only all the patches of the "shroud" without "tip_
gap").
l In the right list, select UND in the Type filter and select the patch at the bottom of "block
13".
l Set the Connection Name to <fnmb-per>.
l Activate Periodic and set Repetition to <2>.
l Click on Create/update and Compute & Show.
l Click on Close.
l Define a rotor/stator interface between the buffer ("block 13") and the grooves mesh:
l Select UND under Type area.
l <Ctrl> + left-click the patches as presented in the following figure.
l Left-click Set Patch Type and choose ROT to change the type from undefined (UND) to
rotor/stator (ROT).
537
IGG™/AutoGrid5™ 13.1 Tutorials
l Select UND under Type area.
l <Ctrl> + left-click on all the patches.
l Left-click Set Patch Type and choose SOL to change the type from undefined (UND) to
solid (SOL).
l Select UND under Type pull-down menu and check that there are no patches in the patch list
that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
l Close the dialog box.
55. Check for negative cells by clicking
.
56. Click Apply.
57. Click ok and Close the dialog box.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
58. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh (in blocks, at boundaries and at FNMB) can
only be performed once the 3D mesh has been generated. Information on orthogonality, angular
deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type
pull-down menu.
59. Select quality criteria using the Type pull-down menu.
60. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
61. Left-click part of the histogram to plot the concerned cells in the 3D view.
62. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria.
63. Close the dialog box.
64. Click Close Edit Mode (
).
All the actions performed during an edit session are stored in the template file (".trb") and can be
replayed on similar geometries.
D. Save Project
65. Go to File -> Save Project As <tutorial8> and press <Enter> to save the mesh and template
files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
(".xmt_ txt"),
boundary
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".geom"
".cgns",
".bcs",
types:
".igg",
".config"
and
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
9.1
COOLING & SOLID MESH GENERATION
9.1.1
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a multi-stage axial-flow turbine
including the solid and fluid domains inside the blades and cooling cavities. It makes exclusive
use of AutoGrid5™ and describes the main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:
l open a project in AutoGrid5™;
l define a blade solid body;
l define endwall cooling holes;
l define a basin with cooling holes and separator;
l define cooling holes and pinfins box;
l define a penny;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh.
A. Prerequisites
This tutorial requires the user to perform the mesh generation of the Aachen Turbine explained in
the beginner tutorial 2. Furthermore, it is strongly recommended for beginners to perform the
beginner tutorials 1 to 6 as well.
B. Problem Description
The Aachen 1-1/2 turbine rig stage is used to illustrate most of the cooling and conjugate heat
transfer capabilities available in AutoGrid5™ . The turbine has been investigated both
experimentally (Gallus and Walraevens, 1995) and numerically (Walraevens et al., 1998).
The low aspect ratio blading and the constant tip and hub end walls contour enhance strong
secondary flows. Both stators (36 blades) and rotor (41 blades) are cylindrical and untwisted. The
rotor is unshrouded with a tip-clearance of 0.4 mm. Testing conditions are characterized by low
inlet gas temperature (about 300 K) and a design speed of 3,500 RPM.
C. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
or
menu
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start
configuration with cooling holes and pin fins box!
the grid generation process and mesh the Aachen Turbine
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is provided through a menu bar and a quick access
pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken
is summarized in the message box at the bottom of the interface.
9.1.2 Mesh Generation
A step by step approach is provided in the following lines. It aims at guiding you through the
various steps that need to be executed from the creation of the mesh project to the validation of the
final mesh quality.
A. Open Existing Mesh Project
1. Keep Load Mesh active and click Select a Project File in the Open Turbo Project Wizard
dialog box.
2. Select the file "tutorial2.trb". Click Open to load the selected project (template with associated
grid). "Where to Find the Files Used in the Tutorials?" (p. 10)
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, the existing axial turbine project will be completed by solid and cooling mesh
generation.
3. Select Expert Mode if necessary in the toolbar.
B. Stator 1: End Wall Cooling Holes
4. Left-click in the meridional view.
5. Left-click row 1 in Row Definition in the Quick Access Pad (QAP) to activate the current
row.
6. Left-click the "+" in front of row 1 in the QAP to access the blade information.
Add Solid Body
7. Left-click row 1 -> Blades -> Main Blade, right-click and select Cooling -> Add Solid Body
in the contextual menu.
8. Left- click row 1 - > Blades - > Main Blade - > Solid Body , right- click and select
Configuration in the contextual menu.
9. In the Solid Body Configuration window, choose "Blade Solid Body + Cooling Channel
Without Tip Wall", then click Close.
Add Hub Wall
10. Left-click row 1, right-click and select Cooling -> Add Hub Wall in the contextual menu.
11. Left-click row 1 -> Hub wall, right-click and select Properties in the contextual menu.
12. Set the Width to <0.0114> to increase the width of the hub wall.
13. Keep all the other data identical.
The width allows the user to specify the size of the wall respectively at the hub and shroud of the
blade. The end walls are now automatically displayed in the meridional view.
14. Click Close.
Initialize Topology & Grid Points Distribution
15. Left-click row 1 and go to Mesh Control -> Row Mesh Control in the QAP and set the
Cell Width to <1e-5>.
16. Go to Mesh Control -> Row Mesh Control -> Optimization Control in the QAP and set
the number of Optimization Steps on Fine Grid and Gaps and/or CHT Optimization Steps to
<100>. Close the dialog box.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block
elliptic techniques. The number of Optimization Steps represents the number of
iterations
performed with the elliptic smoother. By default, 100 iterations are applied on the fine grid.
The cell width defines the size of the first cell, a default value of 1e-5 is chosen here.
17. Press Initialize Topology & Grid Points Distribution button and Yes to generate the blade-
to-blade mesh.
The topology is composed of an OH-mesh in the cooling channel, an O-mesh for the solid body and a
default O4H topology in the channel including 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
Adapt Default B2B Mesh
The trailing edge of the blade is moved to avoid low orthogonality in the end wall solid mesh based
on H-mesh topology.
18. Go to the B2B mesh by clicking the B2B view and use the viewing button to zoom in near
the trailing edge of the hub wall.
19. Left-click and drag the trailing edge of the hub wall to move it upwards, as shown below:
20. Click the Generate B2B button.
The Relative Control Distance of the trailing edge of the blade is increased to release the
clustering at the trailing edge in order to increase the minimum orthogonality.
21. Use the viewing buttons to zoom in near the trailing edge of the blade. Right-click the trailing
edge and select Properties in the contextual menu.
22. Set the Relative Control Distance to <1.0>.
23. Click Close.
24. Click Generate B2B.
Add End Wall Holes Line
25. Left-click row 1 -> Hub Wall, right-click and select Add Holes line in the contextual menu.
26. Left-click row 1 -> Hub Wall -> holes line 1, right-click and select Properties in the
contextual menu.
27. Set the properties as shown below. Keep all other parameters at their default values. Click
Close.
3D Mesh Generation
28. Left-click row 1 and click Generate 3D, activate Generate End Wall and Generate End
Wall Cooling Holes and press Start.
Once the 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cells skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data are
available for the entire mesh separately for every entity (row, technological effect, bulb). Data related
to grid quality report is automatically stored in a report file, once the project file is saved.
The spanwise angular deviation is the angular deviation computed along J- direction in all blocks,
including solid and cooling holes blocks in which the J-direction is no longer the spanwise direction.
In such a configuration, warnings related to an excessive high angular deviation should be
disregarded.
29. Click Close after checking the grid quality for the first row.
3D Mesh Visualization
30. Left-click row 1.
31. Select View/View 3D Solid Mesh.
32. Left-click in the 3D view.
33. Right-click to get the contextual menu and activate Full View.
34. Use the viewing buttons to visualize the mesh of the blade and of the hub wall cooling holes.
Select View/Hide 3D Solid Mesh to hide the mesh on solid walls.
The solid end wall is based on a H- mesh topology completed for each cooling hole by a O4H
topology (5 blocks) as follows:
l the skin block is an O-mesh surrounding the hole;
l the left block is a H-mesh located on the left side of the hole;
l the right block is a H-mesh located on the right side of the hole;
l the up block is a H-mesh located above the hole;
l the down block is a H-mesh located under the hole.
Save Project
35. Go to File -> Save Project As <tutorial9> and press <Enter> to save the mesh and template
files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
and
(".xmt_ txt"),
boundary
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
C. Rotor: Blade Cooling Holes
36. Right-click in the 3D view to get the contextual menu and activate MultiView. Left-click in
the meridional view.
37. Left-click row 2 in Row Definition in the Quick Access Pad (QAP) to activate the current
row.
38. Left-click the "+" before row 2 in the Quick Access Pad (QAP ) to access the blade
information.
Add Basin & Cooling Channel
39. Left-click row 2, go to Mesh Control -> Row Mesh Control in the QAP and set the Cell
Width to <1e-5>.
40. Go to Mesh Control -> Row Mesh Control -> Optimization Control in the QAP and set
the number of Optimization Steps on Fine Grid and Gaps and/or CHT Optimization Steps to
<100>.
41. Left-click row 2 -> Blades -> Main Blade, right-click and select Cooling -> Add Solid
Body in the contextual menu.
42. Left- click row 2 - > Blades - > Main Blade - > Solid Body , right- click and select
Configuration in the contextual menu.
43. In the Solid Body Configuration window, choose "Blade Solid Body + Basin + Cooling
Channel". Click Close.
44. Left-click row 2 -> Blades -> Main Blade -> Solid Body -> Basin, right-click and select
Properties in the contextual menu.
45. Set the Width At Leading Edge and Width At Trailing Edge to <0.0014>, click Generate
Flow Paths and Close.
The width specifies the size of the basin respectively at the leading and trailing edges of the blade.
The flow paths are modified according to this width.
46. Left-click row 2 and increase the Number of Flow Paths to <105> from Flow Paths
Control in the QAP in Mesh Control -> Row Mesh Control. Click
.
Add Basin Holes
47. Left-click row 2 -> Blades -> Main Blade -> Solid Body in the QAP, right-click and select
Add Radial Hole in the contextual menu.
48. Left-click hole 1, right-click and select Properties in the contextual menu.
49. Set the parameters as shown in the following figure:
50. Click Close.
51. Repeat the step 47 to step 50 for hole 2 and hole 3. For hole 2, set Location (%chord)/
(%width) to <40.0> and <10.0>, give <0.003> to Diameter and keep all other parameters
unchanged. For hole 3, set Location (%chord)/(%width) to <60.0> and <10.0> then give
Diameter <0.003>, keep all other parameters at their default values.
The Optimization Steps and Streamwise Mesh Resolution of hole 2 and hole 3 will be
automatically changed corresponding to the value of hole 1.
52. Left-click row 2 -> Blades -> Main Blade -> Solid Body in the QAP, right-click and select
Add Separator in the contextual menu.
53. Left-click separator 1, right-click and select Properties in the contextual menu.
54. Set the parameters as shown in the following figure:
55. Click Close.
B2B Mesh Visualization
56. Left-click row 2 and click
.
57. Left-click in the Blade-to-Blade View.
58. Right-click to get the contextual menu and activate Full View.
59. Use the viewing buttons to visualize the blade-to-blade mesh and the basin cooling holes.
Left- click in the Blade- to- Blade View and right- click to get the contextual menu, activate
MultiView.
Blade Cooling Holes
60. Left-click row 2 -> Blades -> Main Blade, right-click and select Cooling -> Add Holes line
in the contextual menus.
61. Left-click holes line 1, right-click and select Properties in the contextual menu.
62. Set the properties as shown below:
63. Click Close.
64. Repeat step 60 to step 63 for holes line 2. Set the parameters as shown below:
The mesh around the blade cooling holes is based on an O4H topology, similar to the mesh around
the end wall cooling holes.
65. Left-click row 2 -> Blades -> Main Blade -> Solid Body. Right-click and select Define
Internal Geometry in the contextual menu.
66. Activate Blunt Trailing Edge and click Close.
The trailing edge of the solid body is set as a blunt trailing edge in order to define the trailing edge
grooves. Indeed, the trailing edge grooves are not compatible with the rounded trailing edge of the
solid body.
67. Repeat step 60 to step 63 for holes line 3. Set the parameters as follows:
68. Click Close.
D. 3D Mesh Generation
69. Left-click row 2. Click the Generate 3D button. Select Generate Blade Cooling Holes
(deactivate Generate End Wall and Generate End Wall Cooling Holes if still active) and click
Start.
70. Check the grid quality in the grid quality report at the end of the generation, then click Close.
The spanwise angular deviation is the angular deviation computed along J- direction in all blocks,
including solid and cooling holes blocks in which the J-direction is no longer the spanwise direction.
In such a configuration, warnings related to an excessive high angular deviation should be
disregarded.
The high expansion ratio can be decreased by increasing the number of flow paths, together with the
increase the number of cells in the mesh
percentage of mid- flow cells. However,
significantly.
this will
3D Mesh Visualization
71. Left-click row 2.
72. Select View/View 3D Solid Mesh.
73. Left-click in the 3D view.
74. Right-click to get the contextual menu and activate Full View.
75. Use the viewing buttons to visualize the mesh of the blade cooling holes and basin cooling
holes.
Pin Fins Generation
76. Select View/Hide 3D Solid Mesh.
77. Right-click to get the contextual menu and activate MultiView.
78. Left-click in the meridional view, the QAP is now modified.
79. Left-click row 2 -> Blades -> Main Blade -> Solid Body -> Cooling Channels, right-click
and select Add Pin Fins Channel in the contextual menu.
80. Left-click pin fins channel 1, right-click and select Edit in the contextual menu.
81. In the Edit Mode, click the Toggle Edges button in the QAP under View -> Grid to toggle
all the blocks.
82. In the Edit Mode, go to File - > Scripts - > Execute... ,
<pinfinsbox.py> in the dialog box and click OK.
locate and select
the file
83. Click Yes to skip the warning messages.
84. Wait for the generation of the pin fins block, then click Close Edit Mode.
The Python script creates a new block that will be used to insert the pin fins and that will replace four
existing blocks in the cooling channel inside the blade. The script will create surfaces from the faces
of the four existing blocks in the cooling area. Then, a new block is mapped onto those surfaces.
Finally, the number of grid points is set and the mesh is generated for this block.
85. Left-click row 2 -> Blades -> Main Blade -> Solid Body -> Cooling Channels -> pin fins
channel 1, right-click and select Add Pin Fins Line in the contextual menu.
86. Left-click pin fins 1, right-click and select Properties in the contextual menu.
87. Set the properties as follows:
l Define Number of holes on the line = <4> and press <Enter>;
l Define V Location (% of Box Height): Set Start = <10.0> % and press <Enter>, set End =
<70.0> % and press <Enter>;
l Define U Location (% of Box Width) = <30.0> % and press <Enter>;
l Decrease upstream number of points from 17 to <13> <Enter>.
88. Click Close.
89. Repeat step 85 to step 88 for pin fins 2. Set the properties as follow:
l Define Number of holes on the line = <3> and press <Enter>;
l Define V Location (% of Box Height): Set Start = <20.0> % and press <Enter>, set End =
<60.0> % and press <Enter>;
l Define U Location (% of Box Width) = <60.0> % and press <Enter>.
90. Left-click pin fins channel 1, right-click and select Generate Pin Fins in the contextual
menu.
91. Left-click pin fins channel 1, right-click and select View Mesh in the contextual menu.
92. Click in the 3D view and use the viewing buttons to visualize the pin fins mesh.
Pin fins are usually located in the cooling channel of the blade and used to promote turbulence and to
exchange heat. The final mesh contains solid blocks defining the pin fins and fluid blocks around the
pin fins defining the fluid cooling area of the box.
93. Go to View/Hide 3D Solid Mesh.
94. Go to File/Save Project.
Set Pin Fins Boundary Conditions
The mesh of the pin fins box includes six full non matching connections with only left patches
defined. These connections are useful
to define the link between the pin fins boxes and the
surrounding areas, such as the blade solid body. These connections must be defined manually by
imposing the boundary conditions on the pin fins box, creating or editing the FNMBs and erasing the
former cooling channel blocks.
95. Left-click row 2 and click Add 3D Effect in the QAP.
96. Left-click row 2 -> Blades -> 3d techno effect 1, right-click and select Edit in the contextual
menu.
97. In the QAP, go to View -> Grid and click Toggle Edges twice to view all the blocks.
98. Go to File -> Scripts -> Execute..., locate and select <fnmb.py> in the dialog box and click
OK and Yes.
The Python script creates and updates the FNMB (Full Non Matching Boundaries) for the pin fin
blocks. One of the FNMBs has to be split in two to be computed properly.
Then, the four blocks that were used for the generation of the pin fins box are deleted to avoid
overlap in the mesh. Those steps are necessary to prepare the FINE™/Turbo computation. To check if
the FNMB are well defined and computed, go to respectively Grid/Boundary Conditions ( Full
Non Matching/ Define) and Grid/Compute All Fnmbs in the Edit Mode.
Once the script has been executed, the pin fins box properties can not be modified because it required
the former cooling channel blocks that were deleted.
99. Click
.
100. Go to File/Save Project.
E. Stator 2: Penny Generation
101. Left-click in the meridional view.
102. Left-click row 3 in Row Definition in the Quick Access Pad (QAP) to activate the current
row.
103. Left-click the "+" in front of row 3 in the Quick Access Pad (QAP) to access the blade
information.
Initialize Topology & Grid Points Distribution
104. Left-click row 3, go to Mesh Control -> Row Mesh Control in the QAP and set the Cell
Width to <1e-5>.
105. Go to Mesh Control -> Row Mesh Control -> Optimization Control in the QAP and set
the number of Optimization Steps on Fine Grid and Gaps and/or CHT Optimization Steps to
<100>.
106. Left-click row 3, go to Mesh Control -> Grid Level and press Initialize Topology & Grid
Points Distribution and Yes.
Default O4H topology is needed here for the generation of the penny illustrated in the next steps.
Add Solid Body & Penny
107. Left-click row 3 -> Blades -> Main Blade, right-click and select Cooling -> Add Solid
Body in the contextual menu.
108. Left- click row 3 - > Blades - > Main Blade - > Solid Body , right- click and select
Configuration in the contextual menu.
109. In the Solid Body Configuration window, choose "Blade Solid Body + Pennies". Click
Close.
The shroud and/or hub gaps will be defined automatically in this configuration. The blade solid body
is meshed and a penny is defined at the hub and/or shroud. Spanwise tip wall holes and blade holes
are not allowed in this configuration.
110. Left-click penny, right-click and select Properties.
111. Set Diameter to <0.003>, Optimization Steps to <500>, Streamwise Mesh Resolution to
<2> and click Close.
3D Mesh Generation
112. Left-click row 3, press Generate 3D and Start (deactivate Generate Blade Cooling Holes
if still active).
113. Click on Close after checking the grid quality.
3D Mesh Visualization
114. Left-click row 3.
115. Select View/View 3D Solid Mesh.
116. Left-click in the 3D view.
117. Right-click to access the contextual menu and activate Full View.
118. Use the viewing buttons to visualize the mesh of the penny.
119. Go to File -> Save Project.
10.1 SCRIPTING OVERVIEW
10.1.1
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbines applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the mesh generation of a multi-stage axial-flow turbine
using Python commands in a script. It makes exclusive use of AutoGrid5™ and describes the
main actions required to mesh the configuration of interest.
In this tutorial you will learn how to:
l launch a script in AutoGrid5™;
l set the row configuration;
l load and link geometry;
l set the mesh parameters of a row with the row wizard;
l set the mesh parameters of a row without the row wizard;
l generate and save the 3D mesh.
A. Prerequisites
This tutorial does require some basic knowledge of the object-oriented Python language. For a
more complete description of the Python language and generic commands, see the AutoGrid5™
User Manual. Furthermore, it is strongly recommended for beginners to perform beginner tutorials
1 to 6 as well.
B. Problem Description
The Aachen 1-1/2 turbine rig stage is used to illustrate the scripting capability available in
AutoGrid5™. The turbine has been investigated both experimentally (Gallus and Walraevens,
1995) and numerically (Walraevens et al., 1998).
The low aspect ratio blading and the constant tip and hub end walls contour enhance strong
secondary flows. Both stators (36 blades) and rotor (41 blades) are cylindrical and untwisted. The
rotor is unshrouded with a tip-clearance of 0.4 mm. Testing conditions are characterized by low
inlet gas temperature (about 300 K) and design speed of 3,500 RPM.
C. Preparation
Start AutoGrid5™ v13.1 :
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
or
menu
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You are now ready to start
configuration by launching an existing Python script !
the grid generation process and mesh the Aachen Turbine
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is provided through a menu bar and a quick access
pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken
is summarized in the message box at the bottom of the interface.
A step by step approach is provided in the following lines. It aims at guiding you through the
successive Python commands that need to be executed from the creation of the project to the
generation of the final 3D mesh.
10.1.2 Adapt Script
1. Open the script with your editor of choice: right-click "tutorial10.py" and choose Open With...
to select the desired editor. "Where to Find the Files Used in the Tutorials?" (p. 10)
2. Adjust the working directory "rootdir" in the script to a suitable location and make sure that the
"_data" subfolder is well located in that folder.
3. Keep the parameter "wfc" set to 1, if you want the script to pause between the different steps.
For this tutorial it is recommended that you keep this parameter set to 1.
4. Save the adapted script as <tutorial10.py>.
Example
##
## USER INPUT
## Adapt the rootdir to a suitable directory and execute the script in AutoGrid5
##
# working directory
rootdir = "/home/user/Tutorial10/"
# Wait for click
wfc = 1
The other directories and file paths needed by the script are automatically generated and will later on
be used to load or save files.
## define the used directories
datadir = rootdir + "_data/"
meshdir = rootdir + "_mesh+template/"
if not os.path.isdir(meshdir):
os.makedirs(meshdir)
## directories of the needed files
datafile= datadir + "aachen.dat"
geomTurboFile_stator2= datadir + "aachen_stator2.geomTurbo"
geomTurboFile_rotor= datadir + "aachen_rotor.geomTurbo"
template_file= meshdir + "aachen-1.5-stage.trb"
10.1.3
Launch Script
5. Select Expert Mode if necessary in the toolbar.
6. Left-click File -> Scripts -> Execute... in the menu bar.
7. Locate and select the adapted script "tutorial10.py" (saved in step 4). Left-click OK and click
Yes to skip the warning message.
All "print" statements made in the script will be displayed in the terminal window associated with
AutoGrid5™. For convenience a print statement is added at the beginning of the script, in that way it
is possible to see when the script is executed. Another print statement is added at the end of the script
to see if the script is finished.
print"******************* Start *******************"
ALL OTHER COMMANDS
print"****************** Finished *****************"
10.1.4 Set Row Configuration
For the purpose of this tutorial the script is paused several times during the execution (only if
parameter "wfc" is set to 1). The terminal window will indicate when the script is paused and
what step will be executed next. To continue in the script left-click inside the AutoGrid5™ GUI.
In the script these pauses are represented by the following line of code:
if wfc==1: print "Click to set row configuration";
a5_waitLeftClick()
A. Create New Project
8. The first step in the script after defining the directories is to create a new project. This is done
using the command a5_ new_ project (bypass) where "bypass" is a boolean (0 or 1) value
specifying if the type of configuration is a bypass or not.
9. The a5_clean_import_geometry() command is used to make sure no imported geometry is still
loaded in AutoGrid5™.
10. The units for the project are then set using the command a5_ set_ configuration_ units
("Meters").
Example
#start new project
a5_new_project(0)
a5_clean_import_geometry()
a5_set_configuration_units("Meters")
B. Add & Rename Rows
11. When creating a project, a row is automatically added. The Aachen turbine case is composed
of three rows, so two rows need to be added. To add a row at the end of the channel, use the a5_
row_at_the_end_of_the_channel() command.
12. These rows can be renamed to "stator1", "rotor" and "stator2" using the set_name("string")
function from the row class. Since this function is a member of a specific class, it can only be used
on elements of that class. In this case, it applies only to members of the row class.
Example
#create configuration
#rename row 1
row(1).set_name("stator1")
#create and rename row 2
a5_row_at_the_end_of_the_channel()
row(2).set_name("rotor")
#create and rename row 3
a5_row_at_the_end_of_the_channel()
row(3).set_name("stator2")
13. If the parameter "wfc" is set to 1, the script will halt directly after execution If so, the user has
to perform one left-click in the GUI of AutoGrid5™ to execute this part of the script. After the
execution the final configuration can be seen in the Quick Access Pad (QAP), as presented in
figure below.
10.1.5
Load & Link Geometry
A.
Import Geometry Using CAD File
14. The first way to import a geometry is to load a CAD file. This is done using the following
command: a5_ import_ geometry_ file (datafile) . This "datafile" file contains several curves
defining the hub, shroud and blade "stator1" geometry of the turbine.
15. The hub and shroud can be linked to the geometry using the a5_link_to_hub(["curve_
name"]) and a5_link_to_shroud(["curve_name"]) commands respectively. The "curve_name"
should be replaced with the name of the curve in the CAD file. In this case the names are "hub"
and "shroud". It is important to note that all geometry linking functions require a list as input, even
when only one curve is linked. For that reason, the strings are enclosed in square brackets "[]".
Example
# open the CAD file to import from
a5_import_geometry_file(datafile)
# link hub to appropriated loaded curve
a5_link_to_hub(["hub"])
# link shroud to appropriated loaded curves
a5_link_to_shroud(["shroud"])
16. To link the correct geometry to the blade of "stator1" the function link_geometry([surface_
names]) from the blade class is used. In the CAD file the blade is defined by two surfaces, one for
the pressure side ("stator1_ps") and one for the suction side ("stator1_ss"). The function requires a
list as input, so the square brackets are used but here the list contains two elements.
Note that a blade is an attribute of an element of the row class. All functions from the blade class can
only be used on elements of that class and will therefore have the following syntax.
row(1).blade(1).function_of_blade_class()
17. The leading and trailing edge of the blade are defined by curves from the CAD file. The
functions link_to_leading_edge([curve_names]) and link_to_trailing_edge([curve_names]) of
the blade class with similar syntax are used.
Example
# link blade of stator 1
row(1).blade(1).link_geometry(["stator1_ps", "stator1_ss"])
# link main blade leading edge to appropriated loaded curve
row(1).blade(1).link_to_leading_edge(["stator1_le"])
# link main blade trailing edge to appropriated loaded curve
row(1).blade(1).link_to_trailing_edge(["stator1_te"])
B.
Import Geometry Using "geomTurbo" File
18. Geometry can also be loaded from a "geomTurbo" file. In that case, the geometry is loaded
into a row. the function load_ geometry (geomTurboFile) from the row class is used. The
geometry of both "rotor" and "stator2" is defined using "geomTurbo" files.
Example
# Load row 2 and 3 from geomTurbo files
row(2).load_geometry(geomTurboFile_rotor)
row(3).load_geometry(geomTurboFile_stator2)
19. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script.
After execution the loaded geometry will be visible in the MERIDIONAL view.
10.1.6 Stator1 Mesh Settings: Row Wizard
20. To define the mesh settings of "stator1" the row wizard will be used. This means that only
functions of the row_wizard class are used. This is a subclass of the row class. The first step is to
initialize the row with the command initialize (machine_ type, row_ type, rotationSpeed,
periodicity).
The first input defines the machine type with a number. The number corresponds to the different
machine types: wind turbine (1), axial turbine (2), Francis turbine (3), Kaplan turbine (4), inducer
(5), axial compressor (6), centrifugal impeller (7), centrifugal diffuser (8), return channel (9),
contra rotating fan (10), centrifugal pump (11), axial fan (12) and marine propeller (13).
The second input indicates the row type, either rotor (1) or stator (0).
The third and fourth inputs are numbers corresponding to the rotation speed and periodicity of the
row. In the case of "row 1" of the Aachen turbine, the command is:
#row 1 definition
row(1).row_wizard().initialize(2,0,0,36)
21. A hub gap is added with the three commands below. The first one creates the hub gap. The
second and third commands specify the width at the leading and trailing edge respectively.
row(1).row_wizard().hub_gap_is_asked(1)
row(1).row_wizard().set_hub_gap_width_at_leading_edge(0.0004)
row(1).row_wizard().set_hub_gap_width_at_trailing_edge(0.0004)
22. The flow path number (corresponding to the spanwise grid point number) is set using the set_
flow_path_number(value) function.
23. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that Vref=65.4715 m/s, Lref=0.3m and ν=1.038e-5 m²/s for
row 2 ("rotor"). Assuming one wishes to get y+ =1 at the wall, it turns out that y = 5.3 x 10-6m.
Assuming V ref=42.2633 m/s, Lref=0.3m and ν=1.038e-5 m²/s for row 1 ("stator1") and row 3
("stator2"), and keeping y+ =1 at the wall, it follows that y = 7.8 x 10-6 m. The first cell width at
the wall is imposed with the set_row_cell_width_at_wall(value) command.
24. The number of points (of the 3D mesh) will be set to around 300,000 by setting the grid level
to "-8". To set the grid level, the set_grid_level(value) function can be used. To verify the current
grid level one can use the get_grid_level() function.
25. To apply all the settings set in the row_wizard class the generate() command should be
executed.
Example
#row 1 definition
row(1).row_wizard().initialize(2,0,0,36)
row(1).row_wizard().hub_gap_is_asked(1)
row(1).row_wizard().set_hub_gap_width_at_leading_edge(0.0004)
row(1).row_wizard().set_hub_gap_width_at_trailing_edge(0.0004)
row(1).row_wizard().set_flow_path_number(61)
row(1).row_wizard().set_row_cell_width_at_wall(7.8e-6)
row(1).row_wizard().set_grid_level(-8)
#apply settings
row(1).row_wizard().generate()
26. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script.
After execution the settings will be applied to "stator1".
10.1.7 Rotor Mesh Settings: Expert Mode
A. Define Main Properties
27. The first step in configuring the rotor is to set the periodicity and the rotation speed with the
functions set_periodicity(value) and set_rotation_speed(value) from the row class.
Example
# set periodicity and rotation speed
row(2).set_periodicity(41)
row(2).set_rotation_speed(-3500)
28. To add a shroud gap to the rotor, it is sufficient to define the gap width (set_width_at_
leading/trailing_edge (value)) and AutoGrid5™ will automatically add the gap. In this case the
width at leading and trailing edge will be defined using the shroud_gap class commands which
apply on an element of the blade class.
29. A span interpolation of 0.5% is imposed on the rotor with the command set_ row_
interpolation_spacing(value). This enables to reduce the angular spanwise deviation.
30. Next to a shroud gap a hub fillet is also defined. This is again done on the blade by defining
the radius at leading and trailing edge (hub_fillet class commands).
31. To improve the mesh a butterfly topology will be used in the fillet, this can be imposed with
the set_butterfly_topology(1) command of the hub_fillet class.
Example
# define tip gap
row(2).blade(1).shroud_gap().set_width_at_leading_edge(0.0004)
row(2).blade(1).shroud_gap().set_width_at_trailing_edge(0.0004)
# define fillet radius and other properties
row(2).blade(1).hub_fillet().set_radius_at_leading_edge(0.003)
row(2).blade(1).hub_fillet().set_radius_at_trailing_edge(0.003)
row(2).blade(1).hub_fillet().set_butterfly_topology(1)
B.
Initialize Topology & Grid Points Distribution
32. The grid level can be set with the set_coarse_grid_level(level, target) command. "Level"
specifies the grid level desired: 1 for coarse, 2 for medium, 3 for fine and 4 for user defined.
"Target" is an optional argument only useful when "level" is set to 4 and represents the desired
number of points.
33. The cell width at the wall can be set with the set_clustering(value) command. In this tutorial a
value of 5.3 x 10-6 m is used (step 23).
34. To initialize the topology and the grid points distribution of the "rotor", the a5_initialize_
topology() command is used. In order to make sure that only the "rotor" gets reset, first all rows
are unselected and then only the "rotor" is selected.
Example
# set grid level
row(2).set_coarse_grid_level(2)
# set cell width at wall
row(2).set_clustering(5.3e-6)
# initialize topology & grid points distribution of row 2
unselect_all()
row(2).select()
a5_initialize_topology()
35. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script.
After the reset is applied the blade-to-blade mesh of the "rotor" will be visible in addition to the
"stator1".
C. Blade-to-Blade Control: Matching Periodicity
36. To set the topology to matching periodicity, the set_b2b_default_topology_periodicity_type
(1) command is used. The input can either be 0 for non matching or 1 for matching. To apply this
the default topology should be reset as explained in step 33.
Example
# set topology to matching periodicity
row(2).blade(1).set_b2b_default_topology_periodicity_type(1)
# initialize topology & grid points distribution of row 2
unselect_all()
row(2).select()
a5_initialize_topology()
D. Flow Path Control
37. The number of flow paths can be set using the set_row_flow_path_number(value) function,
with an integer number of flow paths as "value". For this case the number of flow paths is set to
73.
38. The percentage of constant cells is also defined with the function set_flow_path_control_cst_
cells_number(value) of the row class. The "value" is the desired percentage, in this tutorial 33%
is used.
39. These settings are applied by generating the flow paths with the generate_ flow_ paths()
command from the row class.
Example
# flow path control
row(2).set_row_flow_path_number(73)
row(2).set_flow_path_control_cst_cells_number(33)
row(2).generate_flow_paths()
E. Blade-to-Blade Control: Grid Points
40. To have more control over the blade-to-blade mesh the number of grid points can be adapted.
The functions to set these grid points are part of the blade class and have a syntax of the form:
set_b2b_default_topology_grid_point_number_location(value). Where "location" is specifying
every location available in the topology.
Example
# control the grid points
row(2).blade(1).set_b2b_default_topology_grid_point_number_streamwise_inlet(9)
row(2).blade(1).set_b2b_default_topology_grid_point_number_azimutal_inlet_down(13)
row(2).blade(1).set_b2b_default_topology_grid_point_number_streamwise_blade_upper_side
(61)
The difference between the two grid point distributions can be seen below. The original default
distribution is shown on top and the grid point distribution after the adaptation is shown below.
To check the current number of grid points for a certain location the get function can be used. The
number will be shown in the terminal window. The syntax looks like:
print row(2).blade(1).get_b2b_default_topology_grid_point_number_streamwise_inlet()
F. Optimization Control
41. The final step for improving the mesh is to increase the number of optimization steps. This is
done by executing the set_row_optimization_steps(value) command. The "value" is an integer
representing the desired optimization steps, in this case 150 was chosen.
42. To apply these improved settings the blade-to-blade mesh needs to be regenerated. Similar to
resetting the default topology all rows are unselected first, after which the desired row is selected.
The generation of the blade-to-blade mesh is done using the a5_generate_b2b() command.
Example
# switch on and control the optimization
row(2).set_row_optimization_steps(150)
# generate B2B
unselect_all()
row(2).select()
a5_generate_b2b()
43. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script.
After the execution the B2B mesh will be updated. The difference between the default mesh and
the improved mesh can be seen below. The left image shows the original default mesh (step 34)
while on the right the mesh after applying the expert settings is shown.
10.1.8 Stator2 Mesh Settings: Expert Mode
A. Define Main Properties
44. The main properties of "stator2" are set in a similar way as for the rotor. The steps are
explained in step 27 to step 35. "Stator2" will have a periodicity of 36 and a rotation speed of zero
(since it is a stator). A hub gap is added with a width of 0.4 mm. A medium grid level is chosen as
well as matching periodicity.
45. After imposing these settings a reset of the default topology is done as explained in step 34.
Example
# set periodicity and rotation speed
row(3).set_periodicity(36)
row(3).set_rotation_speed(0)
# define hub gap
row(3).blade(1).hub_gap().set_width_at_leading_edge(0.0004)
row(3).blade(1).hub_gap().set_width_at_trailing_edge(0.0004)
# set grid level
row(3).set_coarse_grid_level(2)
# cell width at wall
row(3).set_clustering(7.8e-6)
# set topology to matching periodicity
row(3).blade(1).set_b2b_default_topology_periodicity_type(1)
# initialize topology & grid points distribution of row 3
unselect_all()
row(3).select()
a5_initialize_topology()
46. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script.
After the reset is applied the blade-to-blade mesh of "stator2" will be visible.
B. Add & Adapt Control Line
In order to improve the mesh on the final row a control line will be added. This new control line
will be located close to the trailing edge of the blade so that the topology of "stator2" becomes
more similar to the one of "stator1".
47. To add a control line the function compute_default_z_cst_line(point, channel_curve_type) is
used. The first input is a "point" declared as Point(Z, R, theta) with its three coordinates. The
second input for the control line is the curve type. In this tutorial the control line is created at the
point (Z=0.18, R=0.245, theta=0) and the type in not imposed.
48. The new control line is saved into a variable to adapt it afterwards. In this case it is called "Z_
cst_line" but any variable name could have been used. The set_linear_shape() function can now
be used to define control line shape.
49. The option Fixed Geometry available in control line dialog box can be imposed using the
command geometry_is_not_fixed().
50. To apply the presence of this new control line the topology of "stator2" should be reset. This
is done as explained in step 34.
Example
# add a control line
Z_cst_line = compute_default_z_cst_line(Point(0.18,0.245,0),0)
Z_cst_line.set_linear_shape()
Z_cst_line.geometry_is_not_fixed()
# initialize topology & grid points distribution of row 3
unselect_all()
row(3).select()
a5_initialize_topology()
51. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to execute this part of the script.
After the execution the new control line and the new blade-to-blade mesh will be visible.
10.1.9 Generate & Save Mesh
52. To generate the final 3D mesh, all rows are selected first by using the select_all() command.
The actual generation is then performed by executing a5_start_3d_generation().
53. Finally the project is saved with the a5_save_project(template_file) command to the location
specified at the beginning of the script (step 4). A quality report will be saved in the "_mesh"
folder as well.
Example
# select all rows and compute 3D mesh
select_all()
a5_start_3d_generation()
# save the project
a5_save_project(template_file)
54. If "wfc" is set to 1, left-click once in the AutoGrid5™ GUI to generate and save the 3D mesh.
When the mesh is saved a quality report will be displayed in the AutoGrid5™ GUI and the script
will have finished.
606
IGG™/AutoGrid5™ 13.1 Tutorials
11.1
FILLET ON BLADE
11.1.1
Introduction
A.
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations. Called FINE™/Turbo,
integrates the
following tools:
the environment
l IGG™ is an Interactive Geometry modeler and Grid generator software, based on structured
multi-block techniques.
l AutoGrid5™ is a three- dimensional Automated Grid generation software, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine space (liquid rockets), land propulsion system but also in hydraulic,
gas and steam turbines applications. It is also involved in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, among others.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
The blade geometry can be connected to the hub or shroud surface of revolution by means of a
fillet. This tutorial is particularly adapted to the geometry creation and mesh generation of a blade
fillet. It makes exclusive use of AutoGrid5™ and describes the main actions required to mesh the
configuration of interest.
In this tutorial you will learn how to:
l create the geometry of a blade fillet in AutoGrid5™;
l import the CAD geometry of a blade fillet in AutoGrid5™;
l use the dedicated butterfly topology for the fillet mesh generation;
l create and define a blade fillet on a non-axisymmetric hub configuration.
B. Prerequisites
This tutorial does not require any particular prerequisite but it is strongly recommended for
beginners to perform the beginner tutorials 1 to 6 and the advanced tutorials 1 and 3.
C. Problem Description
The blade geometry can be connected to the hub or shroud surface of revolution by means of a
fillet. The fillet geometry can be defined in different ways:
l created by AutoGrid5™ with various methods,
l imported from Import CAD window using Link to Hub/Shroud Fillet,
l incorporated in blade definition either in native ".geomTurbo" or through Import CAD
window (Link to Blade).
Depending of the mesh topology in the fillet, different methods are proposed in AutoGrid5™ to
create the fillet. When the topology in the fillet is not butterfly, the method is called "B2B section
offset". While when the topology is butterfly, three additional methods to define the geometry of a
fillet in AutoGrid5™ are available: create "from meridional curve", create with "constant radius"
approach and import user-defined CAD geometry.
An axial compressor with axisymmetric hub (NASA Rotor 37) is used to illustrate the "B2B
section offset" and "from meridional curve" approaches. The "constant radius" method is
presented on an axisymmetric (NASA Rotor 37) and a non-axisymmetric hub (axial turbine) case.
Lastly, a second axial turbine is used to show the user-defined hub fillet via CAD import.
D. Preparation
Start AutoGrid5™ v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems, you can access the IGG™ graphical user interface from the start
menu
or
/Programs/NUMECA software/AutoGrid131/IGG-AutoGrid5 and then in the Modules
menu, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
/Programs/NUMECA software/Fine131/IGG- AutoGrid5
going
by
to
You're now ready to start the grid generation process and mesh the configuration presenting a
blade fillet on hub!
AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is proposed through a menu bar and a quick access
pad, and is completed with a tool/icon bar. The execution of the different actions undertaken is
summarized in the message box at the bottom of the interface.
A step by step approach is proposed in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
11.1.2
Fillet Non-Butterfly Mesh Topology : B2B Section
Offset
When the mesh topology in the fillet is not butterfly, the method is called "B2B section offset":
l starting from the fillet flow path (defined either by radius at leading/trailing edge or an external
curve) towards the channel flow paths (hub/shroud), on each flow path the intersection of the
blade is computed.
l starting from this intersection, the blade geometry is enlarged according to the local radius. The
blade offset is computed in order to ensure the specified Minimum Angle . When the
Minimum Angle is reached along the fillet, the fillet geometry is approximated by following
the tangent up to the channel curve (hub/shroud).
A. Load Existing Project
1. Click on Select a Project File in the Open Turbo Project Wizard dialog box.
2. Select the file "tutorial1.trb". Click Open Project to load the selected project (template with
associated grid). It corresponds to the template created in the basic AutoGrid5™ tutorial 1 entitled
"NASA Rotor 37". "Where to Find the Files Used in the Tutorials?" (p. 10)
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
3. Select Expert Mode if necessary in the toolbar.
B. Add & Control Hub Fillet
4. Left-click in the meridional view.
5. Go to Mesh Control -> Grid level -> Row Wizard and keep all the parameters unchanged
except in the Gap and Blending Control window.
6. Activate Hub Fillet and set the Radius at leading edge and Radius at trailing edge to
<0.07><Enter>.
7. At the end of the wizard, click on No to skip the 3D Mesh Generation.
8. Left-click on row1 -> Blades -> Main Blade -> Hub Fillet, right-click on Properties in the
contextual menu. The pop-up window of the fillet properties will appear. Check the values of
Radius At Leading Edge and Radius At Trailing Edge.
Radius At Leading/Trailing Edge allows to specify the size of the fillet at respectively the leading
and trailing edge of the blade. The fillet spanwise bounding curve is then constructed as a linear offset
of the hub (or the shroud) according to these values. Cell Width At Leading/Trailing Edge
controls the cell size imposed at the junction between the straight blade and the fillet (at the hub or
shroud according to the fillet type) at respectively the leading and trailing edge of the blade. By
default set to <0.0> to allow AutoGrid5™ to compute an optimized value. Minimum Angle avoids a
zero skewness angle (orthogonality) of the cell connected to the hub or shroud. Minimum Angle set
to < 20> meaning that, from the point where the angle between the tangent to the fillet and the
hub/shroud direction is equal to 20 degrees, the fillet is extended following this tangent.
Show/Hide buttons allow to display the flow path (the fillet spanwise bounding curve) from which
the fillet is created.
9. Close the dialog box.
C. 3D Mesh Generation & Visualization
10. Click-left on row 1 in the QAP and press
and then click on Start.
Once 3D grid generation is completed, grid quality is performed and displayed. The minimum cells
skewness, the maximum expansion ratio and aspect ratio are reported, among others. Data are
available for the entire mesh separately for every entity (row, technological effect, bulb). Data related
to grid quality report are automatically stored in a report file, once the project file is saved.
The spanwise angular deviation is exceeding 40 degrees due to the method of the Minimum Angle
used to generate the hub fillet. A warning is issued, that indicates the blocks where the maximum
values has been reached. In this case, the high spanwise angular deviation is normal because of the
fillet angular deviation.
The minimum skewness is associated to the Minimum Angle imposed to control the fillet geometry.
A detailed analysis of the mesh quality (using the icon
in the toolbar) shows that part of the cells
with an orthogonality below 25 degrees (represented in the following figure with markers) are in the
fillet area but there are also some cells with poor orthogonality at the periodicity.
As consequence, the mesh settings have to be adapted to improve the orthogonality at the periodicity.
11. Click on Close after checking the grid quality. The page can be reopened by clicking
.
12. Select row 1 in the QAP.
13. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control -> Grid
Points to control the number of grid points in the blade-to-blade view
14. Left-click on the number of nodes, make the proper modification according to the following
figure in the entry box and press <Enter> to confirm the modification.
15. Close the dialog box. Click-left on row 1 in the QAP and press
on Start.
and then click
16. Click on Close and select View/View 3D Solid Mesh.
17. Left-click in the 3D view and right-click to get the contextual menu and activate Full View.
in the toolbar to perform a detailed analysis of the mesh quality. In figure
18. Click on icon
below, there are no more cells presenting an orthogonality below 30 degrees at the periodicity.
The minimum orthogonality is only in the fillet area due to the "B2B section offset" approach.
19. Visualize the mesh topology in the fillet area:
l Go to View/Patch Viewer....
l Choose CON as type and select the patches corresponding to the fillet.
l Select a color for the grid and click on Show Grid to visualize the grid in the fillet.
l Select a color for the solid and click on Show Solid.
20. Close the dialog box.
D. Save Project
21. Go to File -> Save Project As <fillet_b2b_offset> <Enter> to save mesh and template files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
and
(".xmt_ txt"),
boundary
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
11.1.3
Fillet Butterfly Mesh Topology : From Meridional
Curve
When the mesh topology in the fillet is butterfly, a first mesh is generated considering a straight
blade. Then the skin block is split at the fillet meridional layer, the block in the fillet area is
replaced by a butterfly topology respecting the created or imported fillet geometry. If the skin
block of the O4H default mesh is thicker than the fillet, the endwall is partly included in the
butterfly topology and the same treatment is applied everywhere. While if the fillet is thicker than
the skin block, the butterfly topology is applied in the skin block and out of this block a non-
axisymmetric treatment is performed.
The first method is called "from meridional curve": the fillet is created between the specified
meridional curve (defined either by radius at leading/trailing edge or an external curve) and the
channel (hub/shroud) and will allow to impose the fillet tangency at hub or shroud and on blade.
The methods to create the fillet geometry in AutoGrid5™ when the topology is butterfly may lead to
problem due to Parasolid™ limitations when the specified radius is equal or bigger than the
leading/trailing edge radius.
The method from meridional curve is not fully compatible with non- axisymmetric hub/shroud
especially if the non-axi deviation is too large.
A. Control Hub Fillet
22. Left-click in the 3D view, then click-right to get the contextual menu and activate Multi
View.
23. Left-click on the meridional view, it will update the QAP.
24. Left-click on row 1->Blades->Main Blade->Hub Fillet, click-right and select Properties in
the contextual menu.
25. Activate Butterfly topology. Set Geometry Creation Method to From meridional curve.
Keep the other parameters unchanged.
26. Click on Generate Flow Paths then click on Close.
For the butterfly topology, the radial number of points in the butterfly mesh can be kept to zero. In
that case, AutoGrid5™ automatically adapts the radial number of points in the butterfly mesh.
B. 3D Mesh Generation & Visualization
27. Left-click on row 1 in the QAP and press
button and then click on Start.
The grid quality is better with the butterfly topology:
l The minimum skewness has increased to 32 degrees. The number of cells with poor orthogonality
has decreased a lot and are no more in the blade fillet area.
l The spanwise angular deviation (not computed in the fillet butterfly topology) is now correct.
Moreover, the fillet mesh is now tangent to the blade and channel while it was not the case with the
non-butterfly fillet mesh topology that uses an approximation of the geometry.
With the butterfly topology, the fillet is not represented in the blade-to-blade view, only in the 3D
view.
28. Click on Close.
29. Visualize the mesh topology in the fillet area:
l Left-click on row 1.
l Select View/View 3D Solid Mesh.
l Left-click in the 3D view. Right-click to get the contextual menu and activate Full View.
l Repeat step 19.
l Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.
C. Save Project
30. Go to File -> Save Project As <fillet_from_meridional_curve> <Enter> to save mesh and
template files.
11.1.4
Fillet Butterfly Mesh Topology : Constant Radius
When the mesh topology in the fillet is butterfly, the second method is called "constant radius".
This approach creates the fillet by rolling a ball along the blade (rolling ball method) on the
hub/shroud surface.
This method will allow to impose the fillet tangency at hub or shroud and on blade but also
remove limitations of the "from meridional curve" method when combining fillet creation with
non axi hub/shroud surface.
A. Axisymmetric Case : NASA Rotor 37
Control Hub Fillet
31. Left-click in the 3D view, then click-right to get the contextual menu and activate Multi
View.
32. Left-click on row 1->Blades->Main Blade->Hub Fillet, right-click and select Properties in
the contextual menu.
33. Choose Constant radius for the method of creation of the fillet. Set the Constant Radius to
<0.07><Enter>. Click on Generate Flow Paths then click on Close.
When selecting the constant radius method, the radius of the fillet is specified by the user, the
Defined Shape option is automatically activated and the fillet meridional curve (spanwise bounding
curve) will be computed to ensure that it is located everywhere above the fillet.
3D Mesh Generation & Visualization
34. Left-click on row 1 in the QAP and press
button and then click on Start.
35. Click on Close after checking the grid quality.
36. Visualize the mesh topology in the fillet area:
l Left-click on row 1.
l Select View/View 3D Solid Mesh.
l Left-click in the 3D view. Right-click to get the contextual menu and activate Full View.
l Repeat step 19.
l Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.
When using the constant radius method, a rolling ball generates the fillet. In the from meridional
curve approach, the fillet is created based on a flow path. As consequence, in the case the blade is
straight at hub (i.e. the NASA Rotor 37), the mesh quality and the geometry are very similar when
using both methods.
The choice of the method depends on the user geometry. For example, if the blade is slightly tilted,
the constant radius method gives the same radius on the suction side and on the pressure side while
the from meridional curve method will give different radius.
Save Project
37. Go to File -> Save Project As <fillet_axi_constant_radius> <Enter> to save mesh and
template files.
B. Non-Axisymmetric Case : Axial Turbine
The "constant radius" or the "user-defined fillet" methods are recommended when combining
fillet with a non-axisymmetric hub or shroud.
Setup Non-Axisymmetric Project
38. Go to menu File -> New Project.
39. Click yes to close the active project.
40. Choose the icon Initialize a New Project from a geomTurbo File.
41. Select the file "axial-turbine-nonaxi.geomTurbo". Click OK to load the selected geometry.
The 3D surfaces defining the non-axisymmetric end walls are specified in the ".geomTurbo" file. In
the Row Properties dialog box the non- axisymmetric hub can be visualized in 3D view by
activating Display Non-Axisymmetric Hub under Non-Axisymmetric Hub.
The non-axisymmetric surfaces could also be imported from external CAD files. The contextual menu
of the Import CAD window allows the user to link imported surfaces to the hub and/or shroud
definition.
An example can be found in the advanced AutoGrid5™ tutorial 3 entitled "Non- axisymmetric
Hub/Shroud".
42. Select row 1 in the QAP and press
then answer Yes.
The topology is composed by a default O4H topology in the channel including 5 blocks as follows:
l the skin block is a O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
43. Left-click on row 1 in the QAP and press
button and then click on Start.
44. Close the grid quality report.
45. Visualize the non-axisymmetric hub:
l Left-click on row 1.
l Select View/View 3D Solid Mesh.
l Left-click in the 3D view. Right-click to get the contextual menu and activate Full View.
l Use the viewing buttons to visualize the non-axisymmetric hub.
At the end of the 3D blade row generation, the mesh adaptation on the non-axisymmetric surfaces is
performed automatically. The axisymmetric mesh is adapted by hub to shroud grid points
redistribution along the curve obtained by intersecting the surfaces with the hub to shroud grid lines.
It is thus recommended to generate a axisymmetric mesh covering completely the non- axisymmetric
surfaces.
When combining non axisymmetric hub/shroud (blue curve) with a fillet (purple curve) creation in
AutoGrid5™, the hub or shroud (green curve) used to generate the axisymmetric mesh should be
well defined below/above the non-axi hub/shroud surface locally in the skin block region otherwise
the fillet mesh generation may fail. If axisymmetric channel curve is not located sufficiently far
compared to non axi surfaces, it can happen that the modified skin block (red curve) does not include
completely the fillet and non axi surfaces, leading to fillet mesh generation failure.
As consequence, the lower point of the non-axisymmetric hub must be represented in the meridional
view to edit correctly the axisymmetric hub. However, the non- axisymmetry on the hub is not
directly represented in this view. A curve including the lower limit of the non-axisymmetric hub must
be imported in the meridional view.
46. Import the limit on the non-axisymmetric hub in the meridional view:
l Left-click in the 3D view, then right-click to get the contextual menu and activate Multi View.
l Left-click in the meridional view.
l Go to Geometry Definition in the QAP and left-click on Import and Link CAD to open the
CAD window.
l In the Import CAD window go to File- >Open and select
the file "axial- turbine-
nonaxi.geomTurbo". Click on OK to load the geometry.
l Left-click on surface including the non-axisymmetry when highlighted in blue, it turns red or
yellow.
l Select Geometry->Modify Surface->Add uv Curves.
l Move the mouse on the active surface.
l When previewed curves are including lower limit of the non-axisymmetric hub, left-click in
order to add new curves defining the non-axisymmetry of the hub.
l Left-click on the new meridional curve until it turns yellow.
l Right-click and select Import Meridional in the contextual menu.
l Click on File->Exit.
The limit of the non-asymmetric hub appears in the meridional view. The hub curve has now to be
moved manually in order to create a channel including the non-axisymmetrical effect.
47. Move the hub curve to create a channel including the meridional effect.
l Left-click in the meridional view.
l Go to Geometry Definition in the QAP and click on Edit Hub.
l Left-click the vertex at inlet and define its new position in the keyboard input area in ZRTH
coordinates. The new position must be slightly below the imported curve. So, Z is the Zinlet
and R is lower than the Rmin of the non-axisymmetric effect: type <-0.1 0.495 0> and press
<Enter>.
l Left-click the vertex at outlet and define its new position in the keyboard input area in ZRTH
coordinates. The new position must be slightly below the imported curve. So, Z is the Zoutlet
and R is lower than the Rmin of the non-axisymmetric effect: type <0.1 0.495 0> and press
<Enter>.
l Right-click to regenerate the channel.
The hub appears as a dashed green line because it is no longer mapped onto a curve.
48. Expand the blade geometry because the blade is no longer intersecting the new hub.
l Left-click on row 1 -> Blades -> main, click-right and select Geometry -> Expand in the
contextual menu.
l Set the Hub Treatment to expand and the Expansion factor to <0.2>, then click on Apply.
l Click on Close.
Add & Control Hub Fillet
49. Left-click on row 1 -> Blades -> main, right-click and select Gap/Fillet -> Define Hub
Fillet in the contextual menu.
50. Activate the Butterfly option. Choose Constant radius for the method of creation of the
fillet. Set the Constant Radius to <0.004> and the Cell Width At Leading/Trailing Edge to
<0.001>. Click on Generate Flow Paths then click on Close.
3D Mesh Generation & Visualization
51. Left-click on row 1 in the QAP and press
button and then click on Start.
52. Close the grid quality report after checking the grid quality.
53. Visualize the mesh topology in the fillet area:
l Left-click on row 1.
l Select View/View 3D Solid Mesh.
l Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.
The flow paths number in the fillet can be increased to improve the mesh quality and have more
points on the fillet.
Adapt Hub Fillet : Increase Number of Flow Paths in Fillet
54. Left-click in the meridional view.
55. Left-click on row 1 -> Blades -> main -> Hub Fillet, right-click and select Properties in the
contextual menu.
56. Increase the Number of Points in fillet from 17 to <25>. Click on Generate Flow Paths
then click on Close.
57. Left-click on row 1 in the QAP and press
button and then click on Start.
58. Close the grid quality report after checking the grid quality.
59. Visualize the mesh topology in the fillet area:
l Left-click on row 1.
l Select View/View 3D Solid Mesh.
l Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.
If Butterfly Radial Number of Points is kept to 0, it automatically computes to optimize mesh
quality. In this case, a clustering effect can be observed on the blade due to a small buffer blocks. A
solution to avoid this problem is to impose the Butterfly Radial Number of Points.
Adapt Hub Fillet : Impose Butterfly Radial Number of Points
60. Left-click in the meridional view and then on row 1 -> Blades -> Main Blade -> Hub Fillet,
right-click and select Properties in the contextual menu.
61. Impose the Butterfly Radial Number of Points to <13>. Click on Generate Flow Paths
then click on Close.
62. Left-click on row 1 in the QAP and press
button and then click on Start.
63. Close the grid quality report after checking the grid quality.
64. Visualize the mesh topology in the fillet area:
l Left-click on row 1.
l Select View/View 3D Solid Mesh.
l Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.
There is no more clustering effect. To improve the mesh quality, the number of points in the skin
mesh will be increased.
Adapt Hub Fillet : Increase Number of Points in Skin Mesh
65. Left-click in the meridional view, select row 1 in the QAP and go to Mesh Control -> Row
Mesh Control -> B2B Mesh Topology Control in QAP.
66. Open the Grid Points control field and increase the number of points in the skin block from
17 to <25><Enter>.
67. Close the dialog box.
68. Left-click on row 1 in the QAP and press
button and then click on Start.
69. Close the grid quality report after checking the grid quality.
70. Visualize the mesh topology in the fillet area:
l Left-click on row 1.
l Select View/View 3D Solid Mesh.
l Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.
643
IGG™/AutoGrid5™ 13.1 Tutorials
In the quality report, an increase of the minimum skewness can be observed. The 3D view shows the
good mesh quality of the fillet area when using the constant radius method and that the fillet is well
combined with the non-axisymmetric hub.
Save Project
71. Go to File -> Save Project As <fillet_nonaxi_constant_radius> <Enter> to save mesh and
template files.
11.1.5
Fillet Butterfly Mesh Topology : User-Defined Hub
Fillet
Lastly, the fillet geometry can be defined by importing surfaces from Import CAD window using
Link to Hub/Shroud Fillet. This method is also well adapted both for axisymmetric case and
non-axisymmetric case.
A. Create Mesh Project
72. Go to menu File -> New Project.
73. Click Yes to close the active project.
74. Choose the icon Initialize a New Project from a geomTurbo File.
75. Locate and select "axial-turbine-axi.geomTurbo"  in the dialog box and click Open.
76. Select row 1 in the QAP and press
then answer Yes.
77. Go to Mesh Control -> Row Mesh Control -> Flow Paths Control and change the
Number of Flow Paths to <45> <Enter>. Click on Generate and Close the dialog box.
B.
Import User-Defined Hub Fillet
Link to Hub Fillet is used to link a surface selection to the active blade including a fillet at hub.
That surfaces set will thus compose the blade fillet surface geometry. Before linking fillet geometry, a
fillet should be added on the blade with Gap/Fillet / Define Hub Fillet menu in the Row
Definition subpad.
78. Left-click on row 1 -> Blades -> main blade, right-click and select Gap/Fillet -> Define
Hub Fillet in the contextual menu to add a fillet in the configuration.
79. Close the Fillet Properties dialog box.
80. Select main blade and click on Import and Link CAD under Geometry Definition subpad
in the QAP.
81. In the Import CAD window go to File- >Open and select the file "userdefined_ hub_
fillet.xmt_txt". Click on OK to load the file.
82. Go to Geometry->Select->Surfaces and press on <a> to select all surfaces (until it turns to
yellow or red). Right-click and select Link to Hub Fillet in the contextual menu.
83. Click on File->Exit.
C. Adapt & Control Hub Fillet
84. Go to row 1 -> Blades -> main blade -> Hub Fillet, right-click and select Properties in the
contextual menu.
85. Set the Number of Points to <25> under Spanwise Parameters and impose the Butterfly
Radial Number of Points to <13>. Click on Generate Flow Paths and Close the dialog box.
In this configuration in the Fillet Properties dialog box, the fillet is automatically set with a
Butterfly topology with the option Defined Shape active. The corresponding spanwise bounding
curve (where the skin block will be split) is automatically computed to include the whole imported
fillet geometry.
When the fillet is not created by AutoGrid5™, the parameter Geometry Creation Method is set to
None.
86. Select row 1 in the QAP and click on
.
87. Go to Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control in the QAP.
88. Open the Grid Points control field and increase the number of points in the skin block from
17 to <25> <Enter>. Close the dialog box.
D. 3D Mesh Generation & Visualization
89. Left-click on row 1 in the QAP and click on
button and Start.
90. Click on Close after checking the grid quality.
91. Visualize the mesh topology in the fillet area:
l Left-click on row 1.
l Select View/View 3D Solid Mesh.
l Repeat step 19.
l Use the viewing buttons to visualize the mesh on the blade and in the hub fillet.
E. Save Project
92. Go to File -> Save Project As <fillet_userdefined> <Enter> to save mesh and template files.
12.1 MARINE PROPELLER - FROM CAD TO
GEOMTURBO
12.1.1
Introduction
A.
Introduction
This tutorial describes how to create a .geomTurbo from a Parasolid geometry definition within
AutoGrid5™.
B. Preparation
Start AutoGrid5 v13.1:
l For Linux systems, you can directly access the AutoGrid5™ graphical user interface with the
following command line:
igg -niversion 131 -autogrid5 -print
or
igg -niversion autogrid131 -autogrid5 -print
l For WINDOWS systems:
a. access
the
IGG™ graphical user
interface
from the
/Programs/NUMECA software/Fine131/IGG- AutoGrid5 or
software/AutoGrid131/IGG-AutoGrid5
b.
in the Modules menu, select AutoGrid5 and
c. confirm (yes) to enter AutoGrid5™.
start menu
to
/Programs/NUMECA
going
12.1.2
Initialize from CAD import
1. Close Open Turbo Project Wizard window. The project will be initialized from scratch.
2. Select Expert Mode in the toolbar.
3. Click on Import and link CAD in Geometry Definition in the Quick Access Pad.
4. In the Import CAD window, select the File/Open... menu, choose the file "Acoustic_
DTMB4119_ cf.x_ t" in the directory "Tutorial_ 12". "Where to Find the Files Used in the
Tutorials?" (p. 10)
5. In the Import CAD window, select the Edit/Geometry Axis... menu. For Stream Direction,
enter <-1 0 0> <Enter>. Click on Apply and Close the dialog box.
12.1.3 Define & link the hub & shroud curves
6. Define the hub curve:
a. Left-click the shaft patch as it turns to yellow.
b. Select the Geometry/Draw CSpline/Free menu.
c. Place successively the yellow control points of the spline at the edge of the shaft, then right-
click.
d. Select the Geometry/Draw CSpline/Free menu.
e. Place the first yellow control point at the location of the first control point of the previous
spline.
f. For the second control point, enter the coordinates <-0.067091 0 0> <Enter> in the keyboard
area (Enter >> indicated by a blue rectangle in the above picture), then right-click.
g. Now that the hub is defined, go to the Geometry/Select/Curves menu, left-click on the new
curves. Then right-click.
h. Right-click and select Link to Hub.
7. Define the shroud curve:
a. Make sure there is no selection (unselect all curves and surfaces).
b. Select the Geometry/Draw CSpline/Free menu.
c. Enter the coordinates <0.067091 0 0.15189> <Enter> in the keyboard area (Enter >>).
d. Enter the coordinates <-0.067091 0 0.15189> <Enter> in the keyboard area (Enter >>).
e. Right-click and select Link to Shroud, do not take into account the error message, click Ok.
12.1.4 Link the leading & trailing edge
8. Make sure for all operations that row 1 is selected in Row Definition in the Quick Access Pad
(QAP).
9. Make sure there is no selection (unselect all curves and surfaces).
10. Left-click the leading edge curve as it turns to yellow.
11. Right-click and select Link to Leading Edge, do not take into account the error message,
click Ok.
As the propeller features a blunt, it is only required to link one of both trailing edge curves.
12. Make sure that row 1 is selected.
13. Make sure there is no selection (unselect all curves and surfaces).
14. Left-click on a trailing edge curve as it turns to yellow.
15. Right-click and select Link to Trailing Edge, do not take into account the error message,
click Ok.
12.1.5
Link the blade
16. Make sure there is no selection (unselect all curves and surfaces) and that row 1 is selected.
17. Select the pressure side and the suction side of one blade of the propeller. Do not link the
blunt.
18. Right-click and select Link to Blade.
12.1.6 Define the periodicity
19. Select the File/Exit menu to leave the Import CAD window.
The meridional view has been updated during the linking process.
20. Left-click on row 1 in Row Definition. Right-click and select Properties.
21. Enter <3> <Enter> for the Periodicity. Leave the other value.
12.1.7
Save the geomTurbo
22. Select the File/Save Template As menu. Click on Select a new Template File Name. Type
< tutorial_ 12 > in the browser and press < Enter > to save the template files including the
geomTurbo file.
It is now possible to use this .geomTurbo file as an input in the tutorial: Marine propeller - blade
fitting
© NUMECA International, all rights reserved
EN201808281624

CONTENTS
CHAPTER 1. GETTING STARTED
Introduction
1.1
1.2 How To Use This Manual
1.3 First Time Use
1.3.1
1.3.2
Basic Installation
Expert Graphics Options
A. Graphics Driver
B. Background & Foreground Colors
1.4 How to Start AutoGrid5™ Interface
1.5 Required Licenses
CHAPTER 2. GRAPHICAL USER INTERFACE
2.1 Project Selection
2.2 Basic Mode GUI
2.2.1 Main Menu Bar
A. File Menu
B. View Menu
C. Grid Menu
D. Tools Menu
2.2.2
Toolbar
2.2.3 Quick Access Pad
2.2.4
2.2.5 Graphics Area & Views
Control Area
2.3 Expert Mode GUI
2.3.1 Main Menu Bar
A. File Menu
B. Geometry Menu
C. View Menu
D. Grid Menu
E. Tools Menu
2.3.2
Toolbar
2.3.3 Quick Access Pad
A. Rows Definition Subpad
B. Geometry Definition Subpad
C. Mesh Control Subpad
D. View Subpad
Control Area
2.3.4
2.3.5 Graphics Area & Views
2.4 File Chooser
CHAPTER 3. MESHING FUNDAMENTALS
3.1 Mesh Domain Definition
3.2 Geometry Definition
IGG™/AutoGrid5™ 13.1 User Guide
11
12
12
12
12
13
14
14
18
21
21
22
24
31
53
56
59
62
69
73
74
75
111
111
114
124
124
129
131
133
135
138
158
158
158
CHAPTER 1.
GETTING STARTED
Welcome to the AutoGrid5™ User's Guide, a presentation of NUMECA's fully automatic grid
generator for turbomachines. This chapter presents the basic concepts of AutoGrid5™ and shows how
to get started with the program by describing:
In this section
1.1 Introduction
1.2 How To Use This Manual
1.3 First Time Use
1.4 How to Start AutoGrid5™ Interface
1.5 Required Licenses
11
12
14
14
1.1
INTRODUCTION
What is AutoGrid5™
AutoGrid5™ is an automatic meshing system for turbomachinery configurations developed to
ease pre-processing for numerical computations on such configurations. Pre-processing consists of
defining the geometrical description of the to-be-studied model and the discretization (mesh
generation) of the to-be-studied domain. The number of computational nodes needed increases
rapidly with the detail in the model. For 3D geometries, this easily reaches from 100,000 to
1,000,000 nodes and even higher. This vast number of nodes, along with the description of the
complex geometries, necessitates the use of a powerful mesh generator that allows providing a
computational mesh with sufficient quality in an automatic way. AutoGrid5™ enables to deal
with complex geometries resulting in a structured mesh of high quality.
Features
The advanced tools of AutoGrid5™ enable to create mesh for a large range of gas turbines, fans
and compressors:
l turbofan, turboprop, turboshaft,
l turbojet and after burning turbojet,
l axial or centrifugal,
l single or multistage,
l including or not bulbs on the hub,
l with one or multiple splitter blades (centrifugal),
l with hub or shroud clearances,
l with bypass,
l with seal leakages,
l with meridional or 3D technological effects.
Structured vs. Unstructured
the user should define the requested mesh type:
Depending on the geometry complexity,
structured or unstructured. Structured meshes are to be preferred for reasons of accuracy in cases
of aligned flow even if their generation can sometimes be difficult and cumbersome. Unstructured
meshes can be easily generated independently of the geometrical complexity and owing to their
nature generally tend to generate less points than in the structured case. For turbomachinery
design, because of a request of high accuracy, it is recommended to use AutoGrid5™ which
enables to provide adapted structured meshes.
Users requiring an unstructured mesh may consider the use of the NUMECA automatic
hexahedral mesh generation software HEXPRESS™ or automatic hybrid mesh generation
software HEXPRESS™/Hybrid.
Approach
To obtain fully automatic or semi-automatic grids with an optimal quality control, AutoGrid5™
takes advantage of the characteristics of turbomachinery configurations by creating blade to blade
grids onto surfaces of revolution. The generation based on a conformal mapping between the 3D
Cartesian space (XYZ coordinates) and the cylindrical surfaces of the 2D blade to blade space
(dm/r-θ plane) follows 4 main steps:
1. Definition of the geometry:
l The blade surface description.
l The curves for the definition of the hub and shroud surfaces of revolution.
l The additional data needed to handle special features such as splitters, meridional or 3D
technological effects.
2. Generation of meridional flow paths. These flow paths define the meridional trace of the
surfaces of revolution on which the 3D mesh will be built.
3. Generation and control of 2D meshes on spanwise surfaces. This 2D generation enables the
user to control the mesh topology, the grid clustering and the mesh orthogonality along the
solid walls.
4. Generation of the final 3D mesh. This generation combines the meridional flow paths and the
2D blade to blade meshes to create the mesh on surfaces of revolution. The use of the
conformal mapping between the 3D Cartesian space and the 2D blade to blade space ensures
conservation of quality in terms of orthogonality and clustering for each axisymmetric surface
mesh.
The settings used to create a mesh are controlled interactively through dialog boxes. At the end of
the grid generation process, all the parameters can be saved in a template file (".trb"). Meshes for
similar geometries can be created automatically using this file.
Project Management
To manage complete mesh generation, AutoGrid5™ integrates the concept of project. An
AutoGrid5™ project involves template files and mesh files:
Mesh files
The mesh files contains the multiblock mesh topology, geometry, grid points, patch grouping and
the boundary condition types:
l new_prefix.bcs: boundary conditions files
l new_prefix.cgns: grid points files (CGNS format described in IGG™ User Manual - Input &
Output Files)
l new_prefix.geom and new_prefix.xmt_txt: geometry files
l new_prefix.igg: topology file
l new_prefix.qualityReport: mesh quality report file
l new_prefix.config: mesh configuration file used for the grouping in FINE™ GUI and for the
subProject (more details in FINE™ User Manual)
These files can be loaded into the structured multiblock grid generation system IGG™ and by the
CFD integrated environment FINE™/Turbo.
The mesh quality file is saved at the end of the grid generation. If the new project has not yet been
saved before launching the 3D generation, no grid quality report file will be saved because the system
is not able to determine automatically the file location.
Template files
The files when saving the template contain the parameters and the geometry needed to reproduced
the mesh with AutoGrid5™:
l new_prefix.geomTurbo and new_prefix.geomTurbo.xmt_txt: the geometry files (geomTurbo
format)
l new_prefix.trb: the template file containing the grid generation parameters.
l new_prefix.info: the information file
l new_prefix_b2b.png: a picture of the blade to blade view only available on LINUX
l new_prefix_merid.png: a picture of the meridional view only available on LINUX
FIGURE 1.1
Example of file management for an AutoGrid5™ project
1.2
HOW TO USE THIS MANUAL
Outline
This manual consists of four distinct parts:
l Getting Started and Graphical User Interface,
l Meshing Fundamentals,
l From chapter Geometry Definition to chapter 3D Generation : Mesh generation and
parameters,
l Meridional Technological Effect and 3D technological effects.
l Cooling & Conjugate Heat Transfer Modules.
l Python Script.
At first time use of AutoGrid5™ it is recommended to read this first chapter carefully and
certainly sections First Time Use, How to Start AutoGrid5™ Interface and Required Licenses.
The Graphical User Interface and Meshing Fundamentals chapters give a general overview of the
AutoGrid5™ interface and the way to manage a project. For every mesh generation, the input
parameters can be defined as described from chapter Geometry Definition to chapter 3D
Generation . Meridional Technological Effect and 3D technological effects chapters give an
overview of how to add technological effects in the Meridional or in the 3D view. Cooling &
Conjugate Heat Transfer Modules is describing how to define cooling holes, basin, cooling
channel with pin fins/ribs and to mesh the solid body (blade and end walls). The Python Script
chapteris presenting python commands available within AutoGrid5™.
Conventions
Some conventions are used to ease information access throughout this guide:
l Commands to type in are in italic.
l Keys to press are in italic and surrounded by <> (e.g.: press <Ctrl>).
l Names of menu, sub-menu items and names of buttons in dialog boxes are in bold.
l Numbered sentences are steps to follow 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 blue notice indicates an important note.
Keyboard shortcuts are shown in blue italic.
A light bulb indicates a section with a description of expert parameters.
1.3
FIRST TIME USE
1.3.1
Basic Installation
When using AutoGrid5™ for first time it is necessary that AutoGrid5™ is properly installed
according to the installation note. The installation note provided with the installation software
should be read carefully and 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 AutoGrid5™ according to the described procedure in a directory chosen by the
user and referenced in the installation note as 'NUMECA_INSTALLATION_DIRECTORY'.
l A license should be requested that allows for the use of AutoGrid5™ and the desired
component and modules . The license should
be installed according to the described procedure in the installation note.
l Each user willing to use AutoGrid5™ or any other NUMECA software must perform a user
configuration as described in the installation note.
When these points are checked the software can be started as described in the installation note or
section How to Start AutoGrid5™ Interface of this users guide.
1.3.2
Expert Graphics Options
A. Graphics Driver
The graphics area of AutoGrid5™ interface uses by default an OPENGL driver that takes
advantage of the available graphics card. When the activation of OPENGL is source of issues,
AutoGrid5™ uses an X11 or OPENGL2 driver (on Linux) or MSW driver (for Windows)
instead.
It is possible to explicitly change the driver used by AutoGrid5™ through a registry key or
through preferences:
l when launching AutoGrid5™ from FINE™ (through the Modules menu), the graphic driver
will be read from the registry key. Changing the preference will have no effect on it,
l when launching AutoGrid5™ alone, the graphic driver will be read from the preferences. The
registry key will have no effect on it.
Define Driver Through A Registry Key
On Linux
in csh, tcsh or bash shell:
setenv NI_DRIVER X11 (or OPENGL2)
in korn shell:
NI_DRIVER=X11 (or OPENGL2)
export NI_DRIVER
The selection will take effect at the next session.
On Windows (when FINE™/Turbo installed)
l Log in as Administrator.
l Launch regedit from the Start/Run menu.
l Go to the HKEY_ LOCAL_ MACHINE/SOFTWARE/NUMECA International/Fine# or
AutoGrid# register.
l Modify the DRIVER entry to either OPENGL or MSW.
The selection will take effect at the next session.
Define Driver Through Preferences
The driver used in AutoGrid5™ when launched alone can be controlled in the File/Preferences
menu in the Graphics page.
The selection will take effect at the next session.
B. Background & Foreground Colors
The background and foreground colors of
File/Preferences menu available within IGG™ in the Colors page.
the graphics area can be adapted through
1.4
HOW TO START AUTOGRID5™ INTERFACE
In order to run AutoGrid5™, the following command should be executed:
On Linux
igg# -autogrid5 <Enter> where # refers to the version (131).
On Windows
1. click on the IGG- AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or in
Start/Programs/NUMECA Software/AutoGrid# (where # refers to the version). Then
AutoGrid5™ is accessible through the menu Modules/AutoGrid5.
2. alternatively AutoGrid5™ can be launched from a dos shell by typing:
<NUMECA_ INSTALLATION_ DIRECTORY>\fine#\bin64\iggx86_ 64.exe
<Enter> or
- autogrid5
<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe -autogrid5
<Enter>
where NUMECA_ INSTALLATION_ DIRECTORY is the directory indicated in Basic
Installation and # is the version.
1.5
REQUIRED LICENSES
Standard AutoGrid5™ License
The standard license for AutoGrid5™ allows for the use of all basic features of AutoGrid5™
including:
l CAD importation and geometry management (except CATIA V5),
l single row and multistage management,
l skin, HOH and H&I blade-to-blade topology management,
l mesh wizard (except for wind turbine and propeller),
l introduction of blade to blade cut,
l no meridional technological effect,
l no 3D technological effect,
l no solid mesh, cooling channel, holes, pin fins and ribs.
Additional Licenses
Within AutoGrid5™ the following features are available that require a separate license:
l parallel mesh generation,
l CATIA V5 importation,
l introduction of bypass configuration,
l introduction of meridional technological effect,
l wind turbine and propeller mesh wizard,
l introduction of 3D technological effect,
l introduction of solid mesh, cooling channel, holes, pin fins and ribs.
Next to AutoGrid5™ other products are available that require a separate license:
l FINE™/Turbo (structured mesh generator - solver - visualization software),
l FINE™/Design3D (3D inverse design),
l HEXPRESS™ (unstructured mesh generator),
l HEXPRESS™/Hybrid (unstructured mesh generator),
l FINE™/Open (unstructured mesh generator - solver - visualization software),
l FINE™/Marine (unstructured mesh generator - solver - visualization software).
CHAPTER 2.
GRAPHICAL USER INTERFACE
When launching AutoGrid5™ as described in chapter Getting Started the interface appears in its
default layout (Basic Mode) as shown in FIGURE 2.1. Two user modes Basic Mode/Expert Mode
are available and accessible in the toolbar (User Mode).
FIGURE 2.1
AutoGrid5™ Basic Mode Interface
The Basic Mode GUI will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient. When selecting Expert Mode (FIGURE 2.2),
the user will have access to all parameters presented in the Expert Mode GUI section and in Chapters
5 to 12. These parameters may be useful in some more complex projects.
The user mode can be defined and controlled with the variable "autogrid5_ mode" in the file
~/.numeca/igg.preferences set to 0 or 1 respectively for Basic Mode or Expert Mode. When starting
AutoGrid5™, this file is read automatically and the preferences are restored directly. If this file cannot be
found, the system is initialized with default settings (Basic Mode).
FIGURE 2.2
AutoGrid5™ Expert Mode Interface.
Together with the AutoGrid5™ interface, a Open Turbo Project Wizard window is opened, which
allows to open an existing project. See Open Existing Template/Project for description of this
window.
A File Chooser window is available for browsing through the file system and to select a file. More
detail is given on the File Chooser section.
In this section
2.1 Project Selection
2.2 Basic Mode GUI
2.3 Expert Mode GUI
2.4 File Chooser
17
IGG™/AutoGrid5™ 13.1 User Guide
18
21
2.1
PROJECT SELECTION
Together with the AutoGrid5™ interface, a Open Turbo Project Wizard window is opened,
which allows to open an existing template with or without the corresponding mesh. See Open
Existing Template/Project for description of this window. After use of this window it is closed.
To create or open a template or a project is also possible using the File menu.
Create New Template/Project
To create a new template or project when launching the AutoGrid5™ interface:
1. close the Open Turbo Project Wizard window.
2. select File/New Project or click on the New Project icon (
). A new window will appear,
which allows to confirm. Click yes to confirm.
3. A project initialization window appears to assign a geometry to the new project. There are two
or four possibilities in respectively Basic Mode or Expert Mode:
l to start a new project presenting no bypass and no cascade configuration from scratch.
l to start a new project presenting a bypass (if license key) from scratch only in Expert
Mode.
l to start a new project presenting a cascade configuration from scratch only in Expert
Mode.
l to initialize a new project from an existing ".geomTurbo" file. Then a File Chooser
window is available for browsing through the file system and to select a file. When clicking
on OK (Open) the geometry is loaded in AutoGrid5™.
Open Existing Template/Project
If the Open Turbo Project Wizard window is closed, select File/Open Project. A new window
will appear, which allows to confirm. Click yes to confirm.
To open an existing project the following possibilities are available in the Open Turbo Project
Wizard window:
l Click on the icon Select a Project File. A File Chooser will appear that allows to browse to
the location of the existing template. Automatically the filter in the File Chooser is set to
display only the files with extension ".trb", the default extension for a template file. If the
option Load Mesh is active, the corresponding mesh will also be loaded.
l Select a Project in the List by left clicking on it, this list contains all projects available in the
local AutoGrid5™ library. To view all information on the selected template, click on Info>>.
To remove the selected template from the list, click on Hide. To open the selected template
click on Open Template or double-click on the selected template. To open the selected project
(the template with the corresponding mesh) click on Open Project.
20
IGG™/AutoGrid5™ 13.1 User Guide
2.2
BASIC MODE GUI
FIGURE 2.3
AutoGrid5™ Graphical User Interface (Basic Mode)
An overview of the complete layout and all items in the AutoGrid5™ Basic Mode interface are
described in more detail.
2.2.1 Main Menu Bar
The menu bar contains a part of available options of AutoGrid5™. Menu items can be activated
using click and drag or click and release modes.
A. File Menu
Open Project
The menu item File/Open Project allows to open an existing AutoGrid5™ project. When
clicking on File/Open Project a new window will appear, which allows to confirm. Click yes to
confirm and to open the Open Turbo Project Wizard window presented in Open Existing
Template/Project.
New Project
The menu item File/New Project allows to create a new AutoGrid5™ project. When clicking on
File/New Project a new window will appear, which allows to confirm. Click yes to confirm and
to open the project initialization window presented in Create New Template/Project section.
Save Project / Save Project As
The File/Save Project or File/Save Project As menu item stores the project file (template and
mesh) on disk. When clicking on File/Save Project As a new window will appear, which allows
to:
l Save the project (template and grid) under a new name when clicking on the icon Select a new
Project File Name.
l Save the project (template and grid) under an existing name selected in the list when clicking
on the icon Overwrite the Selected Project.
l Add information to the project in the Enter Project Info area.
White spaces should be avoided in the file name.
Save Template / Save Template As
The File/Save Template or File/Save Template As menu item stores the template files (template
".trb" and geometry ".geomTurbo") on disk. When clicking on File/Save Template As a new
window will appear, which allows to:
l Save the template under a new name when clicking on the icon Select a new Template File
Name.
l Save the template under an existing name selected in the list when clicking on the icon
Overwrite the Selected Template.
l Add information to the project in the Enter Template Info area.
White spaces should be avoided in the file name.
Quit
File/Quit is used to end the interactive session. A dialog box is inserted to confirm the end of the
the current work is NOT automatically saved when exiting
session. Please notice that
AutoGrid5™.
B. View Menu
The View menu options provide a set of display options to visualize the grid boundaries, surface
and block grids, repetition, hidden lines and rendered surfaces. The viewing parameters and
projection can also be modified interactively.
Patch Viewer
View/Patch Viewer... is used to visualize selected patches in wireframe or solid mode to produce
full rendered pictures of the grid. The dialog box provides control over the colour and
transparency effects for each patch.
Patch Browser
The patch browser  lists all the patches in the grid, according to the current
Block, Face, Patch or Type filters. In this browser, one or more patches can be selected with the
left mouse button.
It is possible to select several patches at once in the following way:
l While holding the <Ctrl> key down, select the desired patches in the browser.
l While holding the <Shift> key down, select two patches delimiting a range of patches.
l While pressing the left mouse button, drag the mouse and release the left button to select a
range of patches.
FIGURE 2.4
Patch Viewer dialog box
Filters
The different filters allow to display specific patches of a grid in the browser while hiding the
others. The Block, Face and Patch filters work together and allow to display patches by indices.
For example:
Block Filter: '*'
Face filter: '1 2'
Patch filter: '*'
shows in the browser all the patches of faces 1 and 2 of all the blocks. '*' means ALL. The Face
filter allows also to select a boundary face by choosing imin, imax, jmin, jmax, kmin or kmax.
These items can be shown and selected by left-clicking on the Face filter arrow.
The Type filter is very useful to list all the patches of a given type (according to the other filters).
In particular it allows to easily identify the periodic and connected patches (PER, PERNM, CON,
NMB) and the patches that have not any type yet (UND).
Patch visualization
To assign a color to one or several patches:
1. Select the patches in the patch browser,
2. Select one color from the predefined colors or from customized colours (Ed. button),
3. Press the Show Grid (wireframe representation) or the Show Solid (solid representation)
button.
To hide the patches representation, proceed in the same way by pressing the Hide Grid or the
Hide Solid button.
It is possible to make some patches semi-transparent by specifying a transparency factor on the
selected patches. The transparency factor can vary from 0 (no transparency) to 1 (highly
transparent). By default, the transparency factor is only applied when pressing the Show Solid
button. This default may be overwritten by activating the Full Visibility toggle button. In this
case, the transparency effect will be recomputed each time the transparency slider is moved.
Since the rendering of transparent patches is computationally intensive and may take up to several
minutes, it is not advised to use the Full Visibility flag on large grids.
Sweep Surfaces
View/Sweep Surfaces... is used to scroll the constant grid index surfaces within 3D grid blocks.
If the active block is not generated or has been modified since the last generation (by moving a
vertex, for example), the following message will appear:
FIGURE 2.5
Message indicating that the block may be regenerated
It asks for block regeneration. If the block is not generated and that the no button is pressed, the
dialog box of the next figure will appear but without being able to do something except pressing the
Close button. If the block has been modified since the last generation (a block is not automatically
regenerated after modifications of its topology) and that the no button is pressed, the mesh that will
be interactively displayed may look quite strange.
Mesh sweeping is done through the following dialog box:
FIGURE 2.6
Sweep Surfaces dialog box.
The Block box allows to choose the active block in which the surface grids will be scrolled. Next
to this box, the active block name and the amount of grid points in each direction (according to
the coarse grid levels selected) are displayed.
It is to be noticed that setting the Block to 0 allows to scroll the grid surface on all blocks.
The I, J and K scrollers allow to interactively sweep the surface grid along the three directions.
While scrolling, surface grids are displayed for each constant index direction.
Coarse Grid
View/Coarse Grid is used to view in the meridional, blade to blade and 3D views the selected
coarse grid level in the active view. When selecting the menu, a dialog box allows to impose the
Coarse Grid Level to plot.
FIGURE 2.7
Coarse level viewer
In the meridional and blade to blade views, the option is available when respectively the flow
paths and the blade to blade mesh are generated.
In the 3D view, the coarse grid levels can be plotted on the active block or grid. To select the
scope (active block or grid), set the viewing scope  to Block or Grid mode. The active coarse grid levels are taken into consideration
while:
l displaying the block faces and boundary conditions patches on all active views,
l saving the block or face coordinates,
l scrolling the block surface grids or cells.
These graphical representations are automatically updated after each change to the coarse grid
levels.
The finest grid level is identified as 1. The smallest number of grid points for coarse levels is 2.
The coarsest level is computed and updated in each index direction separately. The keyboard
input area is used to enter the desired levels within available ranges.
Repetition
View/Repetition... opens the following dialog box to control the repetition of the blocks on the
active view (in 3D and blade-to-blade views only):
FIGURE 2.8
View Repetition dialog box
For each block, the number of repetition desired can be set in the Nb Repet entry. The repetition
of all blocks can be displayed or hidden respectively by pressing the Show or Hide button.
To perform a repetition, AutoGrid5™ takes the information about the periodicity of each block
(angle, rotation axis,...) in the Grid/Periodicity dialog box (menu available in Expert Mode). By
default, the repetition is not displayed.
Face Displacement
View/Face Displacement menu allows to adapt the view if interferences are appearing between
the grid lines and the shading.
When the block face grids are visualized, in both wireframe and solid modes (shading), visual
interference may be produced between the grid lines and the shading. For this reason,
AutoGrid5™ slightly shifts the grid lines towards the user to get a correct picture.
This shift is controlled by the Face displacement. This parameter represents the amount by which
the grid is shifted along the view plane normal vector (normal to the screen), and is used to correct
the display when combining wireframe and solid representations.
The following window is shown to enter the face displacement (higher or equal to 1).
Apply and Close to respectively apply the new parameter and close the window.
View/Hide 3D Solid Mesh
View/view 3D Solid Mesh and View/hide 3D Solid Mesh are used to respectively show or hide
in the 3D view the mesh on hub and blades (shading and mesh on hub/blades). Furthermore, the
View/Patch Viewer... menu can be used to adapt or to clean the visualized solid mesh.
Toggle 3D Solid View
View/toggle 3D Solid View is used as a toggle to show shaded view of the complete hub and
single blade on each of the rows of the turbomachine in the 3D view.
In Expert Mode , the number of blades in the graphics area can be repeated for each row
individually using the Number Of Graphics Repetition parameter available in the Row
Properties dialog box. Activate the Default option to see a complete view of all the blades of the
selected row.
FIGURE 2.9
3D solid view with graphics repetition
C. Grid Menu
The Grid menu includes the connectivity and boundary conditions definitions, as well as the grid
quality tools.
Boundary Conditions
Grid/Boundary Conditions... menu item allows to check or to serve three different purposes
performed automatically within AutoGrid5™:
1. To divide the faces of the grid into patches, for grid generation purposes.
2. To specify the boundary conditions on these patches, as input to a flow solver.
3. To establish connection between the patches.
When invoking the menu item, a dialog box is opened:
Patch Browser
The patch browser lists all the patches in the grid, according to the current " Block", " Face",
"Patch", "Type", "Nb levels" or "Name" filters. In this browser, a patch can be selected with the
left mouse button. This patch is automatically visualized in the graphics area according to the
visualization options in the dialog box:
l Show Grid will display the grid of the patch.
l Show Solid will display the patch as a solid face.
It is possible to select several patches at once in the following ways:
1. While holding the <Ctrl> key down, select the desired patches in the browser.
2. While holding the <Shift> key down, select two patches delimitating a range of patches.
3. While pressing the left mouse button, drag the mouse and release the left button to select a
range of patches.
The last patch selected is always the ’current patch’ for manual connections and patch editing.
Filters
The different filters allow to display specific patches in the browser while hiding the others. The
"Block", "Face" and "Patch" filters are cumulative and allow to display patches by indices. For
example:
Block Filter: ’*’ (’*’ means ALL)
Face filter: ’1 2’
Patch filter: ’*’
shows in the browser all the patches of faces 1 and 2 of all the blocks. The "Face" filter allows
also to select a boundary face by choosing imin, imax, jmin, jmax, kmin or kmax. These items can
be shown and selected by left-clicking on the "Face" filter arrow.
The " Type" filter is very useful to list all the patches of a given type (according to the other
filters). In particular it allows to easily identify the connected patches (CON, NMB, PER,
PERNM) and the patches that have not any type yet (UND).
The "Nb levels" filter can be used to see the list of patches for a given multigrid level.
The " Name" filter allows to display patches by name. Enter or choose an expression. All the
patches of which the name contains this expression will be listed.
Patch Type Specification
An option menu allows the setting of the boundary condition type for the selected patch(es). The
possible boundary condition types are the following:
l UND : undefined type.
l INL : inlet.
l OUT : outlet.
l EXT : external. Used to impose farfield conditions.
l SOL : solid. Used for walls.
l SNG : singular. Used for patch degenerated into a line.
l MIR : mirror. Used to impose a symmetry plane.
l ROT : rotating. Used for rotor-stator interaction.
l CON : matching connection.
l NMB : non matching connection.
l PER : periodic matching connection.
l PERNM : periodic non matching connection.
The following types can be set manually: INL, OUT, EXT, SOL, SNG, ROT, MIR. To set such
a type, left-press on the Set Patch Type button of the dialog box; a list with all the types that can
be set manually appears. Move the cursor to the desired type and release the left button to set it to
the selected patch(es).
If a patch is involved in a full non matching connection, a "*" will appear next to the patch type.
Patch Definition & Editing
The patch definition mode is enabled by pressing the Edit Patch >> button. The dialog box is
then enlarged to show a symbolic definition of the current face, as shown in the next figure.
In this example the active face has three patches with a topology indicated in the figure. The
current patch is represented in yellow.
The current patch can be changed by clicking with the left mouse button within the rectangle
corresponding to the desired patch. The current patch is automatically updated in the browser and
in the graphics area.
An information area is used to display information about the current patch (limits, indices and
relative orientation of the connected patch if existing, and patch type). See Manual Connectivity
Settings section for information about the relative orientation.
The patch definition mode is disabled by pressing the "<<" button.
Automatic Connectivity Search
Automatic connectivity search allows to perform connections between patches (matching and non
matching, periodic or not).
For periodic connections,
Grid/Periodicity... menu item.
the block periodicity must be set previously by using the
Matching connections are obtained between two patches with same number of grid points along
the two directions, and when all their points are matching at a specified tolerance. Non matching
connections are obtained when some patches points are not matching at the specified tolerance, or
when the number of grid points is not the same in one or both directions.
A periodic connection between two patches (PER or PERNM) is equivalent to a simple
connection, after application of the periodicity of the block to one of the patch.
The following checks are performed by AutoGrid5™ when trying to connect two patches:
l Four patch corners must be matching at the given tolerance ("patch corner" means the patch
grid point at the corner of the patch).
l Four patch boundaries must be matching at the given tolerance ("patch boundaries" means
curves passing through the patch grid points defining the patch limits).
l Patch points must lie on a same common surface. For this, some points of the first patch are
projected on the surfacic cells of the second patch. An intersection must be found and the
distance between the point and its projection must be lower than an internally calculated value
based on the given tolerance and the patch dimension.
l All the patch points must be matching at the given tolerance. Obviously, when number of grid
points is different in one or both directions, this test is never satisfied.
The three first tests are performed for both matching and non matching connections and determine
if a connection is possible between the two considered patches. The last test determines if the
connection is matching or non- matching. The relative orientation of the two patches is
automatically found after the three first tests and is assigned to the connection.
Three interactors are provided with the automatic connectivity search: one field to input the
absolute tolerance used to compare point coordinates, another one to delete all connections
currently set (CON, NMB, PER, PERNM types) and one to start the search.
To make a new automatic connectivity search on all the patches, left-click on the Delete All
button to delete all connections currently set. To delete only some connections, select the
corresponding patches and set the patch type to UND by using the related button.
Before starting the automatic search, the tolerance must be adjusted. It is specified in absolute
units in the Tol input field. For example, if the mesh coordinates range from 0 to 1, a possible
value is 1e-5, whereas if the mesh coordinates range from 0 to 10000, a value of 1e-3 is more
appropriate. The default value that is set at the dialog box opening is 1e-5.
It is highly recommended to avoid setting a tolerance close to the patch size , otherwise
connection can be wrongly found. For example, having two square patches of size 1 and distant of 2,
a tolerance of 3 will connect them whereas they should remain disconnected.
The search can be started by clicking on the Search button. At the end of the operation, the
number of simple connections found as well as the number of periodic connections are displayed
in the information area. The " Type" filter is automatically set to CON and the corresponding
patches are listed in the Patch browser.
It is advised to do this search operation after all the blocks have been properly defined and are ready
to be used by the solver.
Manual Connectivity Settings
When automatic connectivity search fails, the manual connectivity option can be activated by
pressing the Manual... button. Within this option, the relative orientation of the two selected
patches must be entered manually and checks are performed according to the connection type
selected to detect if the connection is possible or not.
This option opens a dialog box shown below:
FIGURE 2.10
Manual Connectivity dialog box
Firstly, specify the indices of the patch that will be connected to the current patch and the
connection type. Patch indices are defined as follows: Block, Face and Patch index. Enter them
with the keyboard and validate them by pressing <Enter>.
Secondly, the correct relative orientation of the two patches must be chosen. To define this, a
reference patch is needed, which is always in this case the current patch selected in the "Patch
browser". In general, with a couple of patches, by taking either the first or the second one as
reference, the relative orientation will be different.
In fact, for each patch, two axis can be defined, which are equal in direction and orientation to
those of the block to which it belongs. So, there are three possibilities: I, J or K. To connect two
patches, their relative orientation must be determined by specifying the correspondence between
their axis. It is done by assigning an expression (such as "Ilow", "Khigh") for each axis.
(expression = dir 1 for first axis and expression = dir 2 for second one). Dir 1 and dir 2 are
determined as follows:
1. Take the first axis of the reference patch.
2. Search the axis of the connected patch which has the same direction, that is to say X (where X
is I, J or K).
3. If the two axis have the same orientation, dir 1 = "Xhigh", else dir 1 = "Xlow".
4. Do the same with the second axis of the reference patch to determine dir 2.
The first axis of the reference patch has to be chosen as follows:
l axis (I, J) -> I
l axis (J, K) -> J
l axis (I, K) -> I
Example:
Reference patch: Patch 1 - Patch 1 first axis: I - Dir 1: Klow - Dir 2: Ihigh
Indeed, it can be seen that Patch 1 axis I increasing corresponds to Patch 2 axis K decreasing,
while Patch 1 axis J increasing corresponds to Patch 2 axis I increasing. The correct relative
orientation specification should consequently be: "Klow", "Ihigh".
After pressing " Apply " , AutoGrid5™ checks whether the connection is possible or not. A
warning appears if the connection cannot be set.
Full Non Matching Connections
This type of connection allows to connect several patches of several blocks with non matching
boundaries. The definition of such connection consists of the following:
l A connection name.
l A list of "left" patches defining one side of the connection.
l A list of "right" patches defining the other side of the connection.
The patches in one list are not restricted to belong to the same face or same block.
It is to be noticed that full non matching connections are always defined on top of existing patches
and that these ones must have a valid basic type (no undefined type (UND)), even if the patch is
entirely contained in the connection region. In the case a patch has an undefined type (UND) and is
used in the definition of the FNMB (full non matching boundary), AutoGrid5™ automatically sets its
type to solid (SOL). This is required by the solver to run properly. However, the type is not reset to
UND when deleting a FNMB connection, even if the SOL type has been set automatically by
AutoGrid5™.
The following rules must be respected when performing FNMB connections:
1. A patch can be contained in only one list (either the left patches list or the right one) and one
type of FNMB connection (fluid-fluid or fluid-solid).
2. For periodic FNMB connections, all the patches defining the connection must have the same
periodicity information.
FIGURE 2.11
Full Non Matching Connections dialog box
To define and edit full non matching connections:
Press the Full Non Matching/Define... button of the Patch Selector dialog box (Grid/Boundary
Conditions... menu).
The Full Non Matching Connections dialog box contains two patch browsers to define the left
and right patches lists. The use of the patch browsers and filters is the same as for the Patch
Selector dialog box. A list containing the connections already defined is displayed on the right of
the dialog box.
To define a FNMB connection:
l Select the patches defining the "left" side. These patches are highlighted in yellow in the
graphics area.
l Select the patches defining the "right" side. These patches are highlighted in blue.
l Enter a name for the connection.
l Select the Periodic button to define a periodic FNMB connection.
l Select the Repetition number to allow periodic FNMB connection that is not covering the
same area (option compatible with EURANUS starting from FINE™/Turbo 7.1- 1). The
number of repetition has to be set in order to fully cover one side (yellow patch(es) - "left" side
list of patch(es)) with the other side (blue patch(es) - "right" side list of patch(es)) and its
repetition.
l Press on the Create/update button to define the FNMB connection.
l This connection will appear in the connection list.
Once a connection is created, patches can be added and/or removed from it. Simply update
patches lists by clicking on them and press the Create/update button.
To compute a FNMB connection:
Once a connection is defined, it is possible to visualize the triangulation of the common region by
pressing the Compute & Show button. This triangulation is not directly used in AutoGrid5™ but
only serves to visualize the triangulation that will be used by the solver and to verify that the
connection is correctly performed. Calling this item is optional in AutoGrid5™. This calculation
can be performed on the desired grid level by selecting it freely in the Grid level computed entry
(this parameter is global and not saved in connections). Moreover several parameters can be
controlled by pressing the Options button. It opens an additional frame:
FIGURE 2.12
FNMB computing parameters
The process of the computation involves that one side of the connection is triangulated whereas
the other side is projected on it. Default values should normally be used. If the computation fails,
parameters can be tuned. These parameters are local to each connection and saved into it,
therefore to be taken into account they must be set before creating the connection or the button
Create/update must be pressed once a parameter is modified.
ADT algorithm: to use the new projection algorithm based on the use of the Alternating Digital
Trees (ADT). The main advantage of this method is a decrease of the time required by the
projection stage.
Reverse triangulated side: to reverse the triangulated side which is by default the one containing
the greater number of points.
Maximum projection distance: when the projection distance of a point is greater than this value,
it is rejected.
Minimum projection distance: when all the points of a patch (contained in the projected side of
the connection) have a projection distance greater than this value, the patch projection is rejected.
Normals smoothing steps: before projection, some smoothing steps are done on the projection
normals.
Edge attraction: after the triangulation process, while projecting the vertices on both the sides of
the FNMB, sometimes the projections end close to some boundary of the triangles, which impacts
negatively on the robustness of the treatment. The edge attraction tolerance removes this impact
and forces the projected point to belong to the triangle boundaries whenever necessary.
To view and/or delete an existing FNMB connection:
l Left-click on the desired connection in the connection list to select it.
l The patches participating in the definition of the connection will be automatically highlighted
in the dialog box as well as in the graphics area. A "*" is also displayed next to the patch type
to indicate that the patch is involved in a FNMB connection. If the computation of the
triangulation was performed for this connection, it will also be shown on the screen.
l To list only the patches involved in the desired connection, middle-click on it in the connection
list.
l Press the Delete button to delete the selected FNMB connection (the type of the corresponding
patches is unchanged).
Rotor/Stator Connections
The tool is available when Save CGNS patch info / family name control option is active in the
Autogrid Preferences dialog box (Preferences). This type of connection allows to connect
several patches of several blocks with rotor/stator boundaries. The definition of such connection
consists of the following:
l A connection name.
l A list of "left" patches defining one side of the connection.
l A list of "right" patches defining the other side of the connection.
The patches in one list are not restricted to belong to the same face or same block.
It is to be noticed that this tool is only required to have a grouping of patches in several output
formats, including the ".cgns" format, and only when saving from IGG™ but not from AutoGrid5™.
Family Names
The tool is available when Save CGNS patch info / family name control option is active in the
Autogrid Preferencesdialog box (Preferences). The tool allows to impose user-defined family
names on selected patches. To define user-defined family names:
l Select patch(es) in the list,
l Type user-defined family name under Set Family Name and <Enter>.
The specified family names are limited to 32 characters.
The specified family names are only saved to have a grouping of patches in several output formats,
including the ".cgns" format, for external solver and are not read when reading a project. Therefore, if
a project is read and directly saved, the specified family names will disappear.
Grid Quality
This item gives access to a tool for performing an analysis of the flow paths quality (if meridional
view active), of the grid quality of the blade-to-blade mesh (if blade-to-blade view active) and on
the final 3D mesh generated (if 3D view active). The following dialog box will appear:
FIGURE 2.13
Mesh Quality dialog box
This dialog box contains two or three pages, one dedicated to analyze the grid quality on all block
cells (inside the blocks and not between the blocks), and the second to the grid quality at the block
boundaries (boundary faces), including matching connections with adjacent blocks. The items for
both pages are similar and described here after. The quality criteria are just slightly different. The
last page (FNMB) only available for the 3D mesh allows to control the mesh quality along the
full non matching connections.
The Row list or Block entry allows to choose the row or block in which the quality will be
analyzed. It is selected by respectively its name or its number. Each change must be validated by
pressing <Enter> to recompute the quality checking.
l In meridional and blade-to-blade views, if all rows selected (left-click and <Shift>), the mesh
quality is analyzed on all rows.
l In 3D view, if 0 is entered, the mesh quality is analyzed on all the blocks of the grid. Next to
this entry, the selected block name and the grid points number in each direction are displayed.
By default, when opening this dialog box, the active block is selected. If the selected block is
not generated or has been modified since the last generation (by moving a vertex, for
example), the following message will appear:
FIGURE 2.14
Message indicating that the block may be regenerated
It asks for block regeneration. If the no button is pressed, the quality analysis is not performed.
The next entry Butterfly block is a special item dedicated to butterfly topologies allowing to
choose the butterfly block in which the quality will be checked. When the block selected in the
first entry is a parent block, the second entry is activated, displaying the number of the butterfly
block which is analyzed. The range goes from 0 to 6. The number 0 represents the inner block
and is therefore always present. The other numbers between 1 and 6 represent the parent face
number and thus the associated buffer blocks. If there is no associated buffer, the corresponding
number does not appear.
The Quality Criterion frame is used to choose the criterion type which will be used to analyze
the block cells quality. The criterion is chosen through the Type pull-down menu. According to
the criterion, a preferential direction can be chosen through the second pull-down menu Direction
(only for Block page in 3D view). It is used when the criterion gives different results along
different directions (for example 2D criterion applied on surfacic cells). When it is not the case,
this menu is deactivated. The following possibilities are available: All, I, J or K. ’All’ is equivalent
to the three directions I, J, K. Moreover, a range can be selected for each criterion; each range
modification must be validated by pressing <Enter>.
The Visualization control frame is used to select the representation mode of the cells. Cells can
be displayed with markers and/or with a shaded representation (Cells button). Markers are useful
to detect cells that cannot be seen with the shaded representation only. Moreover, cells shading
can be deactivated to greatly improve the speed of representation. In the shaded representation,
cells are shaded with a different color according to their quality value. The link between colors
and values is established by a colormap which is displayed in the graphics area after the tool
selection. The range of the colormap is automatically updated according to the criterion range.
The cells can be displayed as surfaces (in meridional, blade-to-blade and 3D views) or volumes
(in 3D view) by switching on the corresponding button.
The Display frame is used to show in the AutoGrid5™ graphics area the cells falling inside the
quality criterion range. The Display all cells (All cells) button shows all the bad quality cells of the
selected block(s). The Sweep cells scrollers, only available in 3D view, allow to sweep the
selected block to display cells by constant I,J,K face.
The Show chart button is used to toggle a histogram displaying the result of the quality checking.
Left-clicking on a bar displays the corresponding cells in the AutoGrid5™ graphics area.
FIGURE 2.15
Quality analysis histogram
The entry Number of intervals is used to select the number of bars of the histogram. The default
value is 5 and the maximum number is 10. Each new number must be validated by pressing
<Enter>.
The More info button is used to toggle a window giving more information about the quality
checking: minimum and maximum values with their location (and possibly the block number in
which they are detected if the check is performed on all the blocks in the 3D view).
Quality Criterion Definitions (Block Page)
These criteria are dedicated to evaluate the grid quality on whole cells of a block.
l Criterion class
Two classes can be defined according to the type of cell on which criterion is applied:
l 2D criteria: application on surfacic cells (quadrilateral cells)
l 3D criteria: application on volumic cells (hexahedral cells)
Obviously, the number of cells falling in the criterion range is always greater for a 2D criterion
than for the equivalent 3D one because an hexahedral cell contains six quadrilateral cells. This
means that, for a 2D criterion, the number of cells falling in the range can easily be greater than
the block number of points.
On the other hand, as 2D criteria are applied on surfacic cells, they are all direction dependent.
l Criteria definition
Following criteria are available:
l Overlap,
l Orthogonality,
l Angular Deviation,
l Aspect Ratio,
l Expansion Ratio,
l Cell Width.
Each one is described here below.
Overlap
2D criterion available in meridional view. Range: 0 - 1. Overlap allows to detect overlapping cells
(flow paths) in the meridional view when the value is set to 1.
Orthogonality
2D criterion available in blade-to-blade and in 3D views. Range: 0 - 90 degrees. Orthogonality is
a measure of the minimum angle between edges of the cell. If angle between two edges is greater
than 90 degrees, the value taken into account is (180 - real angle).
Angular deviation
3D criterion available in 3D view. Range: 0 - 180 degrees. Angular deviation is a measure of the
angular variation between two adjacent cells in I, J and K directions.
FIGURE 2.16
Angular deviation definition
Aspect ratio
2D criterion available in blade-to-blade and 3D views. Range: 1 - 50,000. If the calculated value
is outside the range, the value is reset to 50,000.3
FIGURE 2.17
Aspect Ratio definition
Expansion ratio
3D criterion available in meridional, blade-to-blade and 3D views. Range: 1 - 100. Expansion
Ratio is a measure of the size variation between two adjacent cells. It is direction dependent. If the
calculated value is outside the range, the value is reset to 100. Obviously, this criterion is
nonsense if there is only one cell in the selected direction.
FIGURE 2.18
Expansion Ratio definition
Cell width
3D criterion available in 3D view. Range: 0 - 1,000,000. Cell width is the height of the cell
measured along I, J and K directions. If the calculated value is outside the range, the value is reset
to 1,000,000.
Quality Criterion Definitions (Boundaries Page)
These criteria are dedicated to evaluate the grid quality at the boundaries of a block (boundary
faces), including matching connections with adjacent blocks (only CON and PER boundary faces
are considered).
Following criteria are available:
l Orthogonality (available in blade-to-blade and 3D views),
l Angular Deviation (available in blade-to-blade and 3D views),
l Expansion Ratio (available in meridional, blade-to-blade and 3D views),
l Cell Width (available in 3D view),
l Cell Width at Wall (available in 3D view).
Each one is described here below.
Orthogonality
Range: 0 - 90 degrees. Orthogonality is a measure of the cell angle relatively to the block
boundary (face). If angle is greater than 90 degrees, the value taken into account is (180 - real
angle).
FIGURE 2.19
Orthogonality definition
Angular deviation
Range: 0 - 90 degrees. Angular deviation is a measure of the angular variation between two
adjacent cells, the first one being in the current block and the adjacent one in the matching
connected block. Obviously, this criterion is nonsense if there is no matching connected block.
FIGURE 2.20
Angular deviation definition
Expansion ratio
Range: 1 - 100. Expansion Ratio is a measure of the size variation between two adjacent cells, the
first one being in the current block and the adjacent one in the matching connected block.
Obviously, this criterion is nonsense if there is no matching connected block. The definition is the
same as for the Block page .
Cell width
Range: 0 - 1,000. Cell width is the height of the cell measured normally to the block boundary
(face). If the calculated value is outside the range, the value is reset to 1,000.
Cell width at wall
Range: 0 - 1,000. Cell width at wall is the height of the first cell close to the wall measured
normally to the solid wall. If the calculated value is outside the range, the value is reset to 1,000.
As the criterion is applied on all solid patches, it will also be applied on solid patches of FNMB
connections, even if there are not real walls (e.g. periodic FNMB streamwise connection inside a ZR
effect or periodic FNMB connection of a row).
Quality Criterion Definitions (FNMB Page)
These criteria are dedicated to evaluate the grid quality across fully non-matching boundary
(FNMB) connections.
FNMB connection must be computed with the fine mesh level before checking the quality.
Following criteria are available:
l Expansion ratio
l Cell Width Ratio
l Inner Gap
l Relative Inner Gap
Each definition is described here below.
Expansion Ratio
Range: 1 - 100. This computes the expansion ratio perpendicularly and through the FNMB for
each cell involved in the FNMB connection. This criterion is symmetric, which means the result is
the same on the left and right parts of the FNMB.
Cell Width Ratio
Range: 0 - 1,000. This computes the difference of cell size between each side of the FNMB. It is
available for each cell involved in the FNMB connection. It identifies how many cells are
connected to the cell considered. The criterion takes into account the "wall fraction", which
means one left cell is connected to only a part of a right cell. Then the ratio will be balanced
according to the size of the connected part. This criterion is not symmetric, which means the result
is not the same on the left and right parts of the FNMB.
Example: One cell (A) on the left, four cells (B, C, D and E) on the right covering exactly the left
cell. The result will be 4 for cell A (because this cell is connected to 4 right cells) and 0.25 for
each right cell, B, C, D or E (because each one is connected to only 0.25 part of the left cell).
For this criteria the lower values are not too important, it is more the maximum value that should
be considered. Really small values (~1e-5) can easily happen on the boundaries (due to the
difference of mesh discretization even a value 0 as in the above example for cell 2 that is not
crossing cell A.
Inner Gap
Range: 0 - 1e6. This computes the gap between the left and right side of the FNMB (absolute
distance). It is available for each cell involved in the FNMB connection. This criterion is
symmetric.
Relative Inner Gap
Range: 0 - 1,000. It is exactly the same as the previous criterion except that the result is balanced
with the cell size perpendicular to the FNMB. It enables the user to have a better idea on how the
order of magnitude of the gap is compared to the cell size around FNMB. The cell size taken into
account can be either the one of the left or the right side (depending on which side has been done
the FNMB projection) but it does not matter as if the cell size is too different on both sides, the
expansion ratio criterion will be bad.
Grid Quality Report
A mesh quality report can be displayed with the top menu item Grid/Grid Quality Report. It
includes the characteristics of the mesh in terms of minimum and maximum of the expansion ratio,
the expansion ratio and the angular deviation along spanwise direction (J), the aspect ratio and the
cells skewness (orthogonality). These data are available for the entire mesh or by configurations
entity (row, technological effect, bulb).
FIGURE 2.21
3D grid generation and quality check
Negative cells are detected and indicated on top of the histogram as well as the blocks where there
are located at the bottom of the histogram. The number of multigrid levels of each entity (row and
technological effects) is listed in the Nb levels column.
If the spanwise angular deviation exceeds 40 degrees, a warning appears at the bottom of the
window that indicates the blocks where the maximum value has been reached.
Negative Cells
Grid/Negative cells... is used to compute, store the indices and show the cells with a negative
volume. The following dialog box is provided to select calculation preferences:
FIGURE 2.22
Preferences dialog box for Negative cells calculation
Four preferences can be controlled:
l Scope: determines whether the calculation will proceed on the active block or on all blocks.
l Coord Sys: specifies whether calculation should proceed using a left-handed local reference
frame for each cell or a right-handed one.
l Precision: specifies whether to perform calculation in single or double precision.
l This preference is the most important to control. Indeed, AutoGrid5™ always works in double
precision. However some solvers may work in single precision. Consequently, checking
negative cells in double precision in AutoGrid5™, with no negative cells as a result, may give
negative cells in the solver !
l Coarse Levels: specifies on which multigrid level the calculation should proceed. The All
button allows to perform the calculation on all the available uniform multigrid levels at once,
"uniform" meaning that the levels are equal in the three directions I, J and K, for example "0 0
0", "1 1 1" and "2 2 2". The "Custom" button allows to select a specific multigrid level, like
"1 2 2".
The Apply button performs the negative volumes calculation. If the active block is not generated
or has been modified since the last generation (by moving a vertex, for example), the following
message will appear:
FIGURE 2.23
Message indicating that the block may be regenerated
The View neg cells button allows to visualize cells with negative volume. The computation of the
negative volumes is performed automatically as a first step. Cells with negative volumes are
displayed in a shaded representation and with markers, which are useful to detect cells that cannot
be seen only with the shaded representation.
Beware that the visualization of negative cells can be memory consuming when a large number of
cells must be displayed. It is then advised to first check the number of negative cells by pressing the
Apply button.
If no cell with negative volume is detected, the message " No negative cells" appears. On the
contrary, if there are cells with negative volumes after the complete search, a message like the
following will appear:
FIGURE 2.24
Grid contains cells with negative volume
It shows the number of each block containing negative cells and the corresponding number of
negative cells.
For butterfly topologies,
the butterfly blocks of the
corresponding parent block. The number of negative cells of each butterfly block is added and
displayed in the previous dialog box by referencing the parent block.
the calculation is performed on all
D. Tools Menu
The Tools menu includes tools to measure distance or angle in the graphics area.
Distance
Tools/Distance is useful to measure the distance between two points or between a point and a
line. The following dialog box will appear, showing the distances computed along principal
directions between the two points:
The following prompt appears, asking to enter the first point:
Enter first point (toggle selection: a = points, c = curves, s = surfaces, l =distance to line)
Once the first point (or line) is entered, a second prompt appears, asking to enter the second point:
Enter second point (toggle selection: a = points, c = curves, s = surfaces, l =distance to line)
To measure the distance between two points, simply select the points with the mouse or enter the
coordinates with the keyboard. For example, to measure the distance between (0,0,0) and (1,1,1),
enter the sequence '0 0 0' in the graphics area, followed by <Enter>. Then enter '1 1 1' followed
by <Enter>. The distance is indicated in the graphics area and in the information area.
To select an existing point, attraction features are available, allowing attraction to points, curves
and surfaces. To activate the attraction to points, press <a> in the graphics area, then move the
cursor to the desired point. Similarly, to activate the attraction to curves or surfaces, press
respectively <c> or 
, then move the cursor to the desired curve or surface. The attraction
works on:
l end points of the curves,
l visible Cartesian points,
l visible curves,
l visible surfaces,
l block vertices and fixed points.
In this last case, the attraction cannot be deactivated. When there is attraction, the corresponding
point is highlighted. Simply press the left mouse button to select it.
To measure the distance between a point and a line, press <l> in the graphics area. Then enter a
line origin (with the mouse or the keyboard) and direction (this one must be entered with the
keyboard). The attraction features are also available for the line origin.
Enter line origin (toggle selection: a = points, c = curves, s = surfaces)
Enter line direction (keyboard only)
>> 1 1 1
This option can be activated before or after having entered the first point. The distance is
measured perpendicularly to the line.
Once a distance is calculated, another distance can be measured by selecting other points.
To quit this tool, press <q> or the right mouse button.
Angle
Tools/Angle is useful to measure the angle between two points projected in a specified plane.
The following prompt appears, asking to enter the origin of the angle (origin of the plane):
Enter origin (o = (0,0,0))
The origin can be specified in the keyboard input area or by left-clicking in graphics area (with
attraction on curves, surfaces and edges) or with the shortcut <o> to impose the origin at (0,0,0).
Once the origin is specified, a second prompt appears asking to enter the plane normal:
Enter normal (<1> = view plane normal; <x>,<y> or <z> to select axis)
The plane normal can be specified in the keyboard input area or by left-clicking in graphics area
(with attraction on curves, surfaces and edges) or with the shortcuts <x>, <y> or <z> to impose
normal respectively along X, Y or Z.
The following prompt appears, asking to enter the first point:
Enter start point
The point can be specified in the keyboard input area or by left-clicking in graphics area (with
attraction on curves, surfaces and edges).
Once the first point is entered, a last prompt appears, asking to enter the second point:
Enter end point
The point can be specified in the keyboard input area or by left-clicking in graphics area (with
attraction on curves, surfaces and edges).
The resulting angle is displayed in the graphics area and in the information area. The angle is
expressed in degrees in the range [0,180] and with a sign according to the normal direction (+
sign if moving first point on second point leads to a crossproduct of same direction as normal).
2.2.2
Toolbar
The toolbar contains icons and buttons providing fast input/output options . These are divided into 6 sections.
FIGURE 2.25
Top toolbar
User Mode
By clicking on the arrow at the right the user may select the user mode.
The Basic Mode will give access to a simplified graphical user interface (GUI)Basic Mode GUI.
For most projects the available parameters in the Basic Mode are sufficient. When selecting
Expert Mode, the user will have access to the GUI and all parameters presented from Chapter
Row Wizard. These parameters may be useful in some more complex projects.
Project Management Icons
These icons are related to the most often used options of project management.
TABLE 2.1 Project Management icons
Icon
Description
Opens an existing project previously created by AutoGrid5™.
See the File/Open Project
Closes the current project and opens a new empty one.
See the File/New Project
Saves the current work in the files of the current project.
See the File/Save Project
Mesh Generation Buttons
These buttons are used to start the mesh wizard or the 3D mesh generation.
TABLE 2.2 Mesh Generation buttons
Buttons
Description
Start the row wizard process for the selected row.
Generate the flow paths, the blade to blade mesh and the 3d
mesh of the selected rows.
See the Generate 3D button
View & Mesh Quality Management Icons
These icons are related to view management and the mesh quality analysis.
TABLE 2.3 View & Mesh Quality Management icons
Icon Description
Open the Mesh Quality dialog box of AutoGrid5™.
See the Grid/Grid Quality
Open the Grid Quality Check dialog box of AutoGrid5™.
See the Grid/Grid Quality Report
Open the Negative Cells dialog box of AutoGrid5™.
See the Grid/Negative Cells
Open the Patch Selector dialog box of AutoGrid5™.
See the Grid/Boundary Conditions
Select the grid level used by AutoGrid5™ to visualize the mesh.
See the View/Coarse Grid
Open the Sweep Surface dialog box of AutoGrid5™.
See the View/Sweep Surface
Act as a toggle and perform a repetition in the blade-to-blade or 3D views based on the settings
imposed by the user in the View Repetition dialog box of AutoGrid5™.
See the View/Repetition
Visualize or hide the solid model of the machine in the 3D view.
See the View/toggle 3D Solid View
Set the active view in full display mode.
Reset the display mode to multiview.
View Management Icons
These icons allow to set any view in full display mode or to reset the display mode to multiview.
TABLE 2.4 View Management icons
Icon
Description
Set meridional view in full display mode.
Set blade-to-blade view in full display mode.
Set 3D view in full display mode.
Reset the display mode to multiview.
Copy/Paste Row Wizard Settings Icons
The copy/paste wizard settings icons allow the user to apply same row wizard options from one
row to others. It is especially dedicated for multistage machine with several rows of same type
(i.e. axial compressor or axial turbine).
TABLE 2.5 Copy/Paste Row Topology icons
Icon
Description
Copy the selected row wizard options into a buffer.
Replace the selected row(s) wizard options by the wizard options
stored into the current buffer.
2.2.3 Quick Access Pad
The Quick Access Pad is located in the left part of the GUI. It contains icons and more evolved
options providing a fast access to the more used functions of AutoGrid5™. Some of these
functions are only accessible through the Quick Access Pad whereas others are also accessible
through the menu bar, so that their description will be referenced to these menus.
FIGURE 2.26
Quick Access Pad
The pad is divided into four subpads, each of which can be toggled by a simple mouse left-click:
l Rows Definition subpad
l Geometry Definition subpad
l Mesh Control subpad
l View subpad
All the commands and options accessible with these subpads are described in detail in this section.
The four subpads are composed of pages containing buttons, icons, input areas. The icons
perform specific function related to the subpad and the page. Each page can also be toggled by a
simple mouse left-click.
Rows Definition Subpad
The rows definition subpad is used to control
the machine configuration through project
management buttons and a tree. In the rows definition tree subpad, the user can access following
options:
l Select all the rows
l Define new rows
l Define or remove new blade(s) through the row contextual menu (right-click)
l Define and control the blade geometry through the blade contextual menu (right-click)
FIGURE 2.27
Contextual popup menus
Geometry Definition Subpad
The geometry definition subpad gives access to:
l The project initialization through the selection of a native AutoGrid5™ geomTurbo file (The
".geomTurbo" File Format).
l The geometry initialization through external CAD files ("Import CAD" (p. 195)). The import
CAD window has been simplified to give access only to blade and end wall geometry
definition.
l The units definition (Keyboard Input Area).
Mesh Control Subpad
The mesh control subpad displays the number of mesh points of the selected row(s) and allows to
choose the layer (Active Layer (% span)) on which the user wants to display the blade-to-blade
mesh by pressing the button Update B2B View.
View Subpad
The view control subpad is used to control the display of mesh entities in the blade-to-blade view
and in the 3D view. When clicking in the 3D view or pressing the viewing icon View 3D, the
viewing buttons are associated to the mesh field of application buttons and the Geometry
Definition and Mesh Control subpads are closed.
2.2.4
Control Area
The control area is composed of seven major areas:
l Message area
l Keyboard input area
l Mouse coordinates
l Information area
l Grid parameters area
l Generation Status area
l Viewing buttons
Each one is described in the following sections.
Message Area
This area has several display functions:
l Display of warning messages notifying the user
l Display of request messages asking the user for inputs from Keyboard input area or
Graphics area
l Display of general information messages (current function options,...)
Keyboard Input Area
To mesh 3D technological effects, AutoGrid5™ gives access to the structured multiblock grid
generation module IGG™. Some of the options in IGG™ require numerical inputs from the user.
For example, rotating a curve around a given line requires to specify the direction of the line, its
origin and the rotation angle.
The keyboard input area is provided to allow such inputs. When an option requires numerical
inputs, a message is indicated in the Message area. Without leaving the graphics area, the user
can then type the required data. The keystrokes are automatically echoed in the keyboard input
area and the user has the possibility to modify the inputs. The input is acknowledged after
pressing <Enter>.
Entering scalar values: a scalar value is specified by a floating number followed by <Enter>.
Valid values are 5 1.32323 -0.1234 1.4E-5.
Entering vectors: a vector is specified by typing its three components separated by a blank and
followed by <Enter>.
The Keyboard input area can also be used to select the active block, face, edge or segment.
Simply enter the related indices separated by blanks and press <Enter> to make the corresponding
entity active. This obviously causes the update of the Grid parameters area.
Mouse Coordinates
This area displays the mouse cursor coordinates in the Graphics area. If the cursor is out of it, it
indicates the last cursor position in it.
Information Area
This area gives general informations (about edges, curves,...). For example, when moving a
vertex and attracting it to a curve, the name of that curve is displayed in this area.
Grid Parameters Area
This area shows very useful information about the grid:
l Active Block, Face, Edge and Segment indices
l Number of grid blocks, active block faces, active face edges, active edge segments
l Block:
l Number of active block points
l Number of grid points
l Name of the block
l Number of points in each block direction
l Face: constant direction and the corresponding index
l Edge: constant direction according to the active face and the corresponding index
l Segment: number of points on the segment
l The maximum multigrid level available in the I, J and K direction
If the name of the active block is "invalid", it means that any block has been created yet or all the
blocks have been deleted.
Generation Status Area
During grid generation process, the status of each steps is displayed in this area.
When left- clicking in this area, playing with keyboard arrows or mouse wheel allow to access all
progress content especially to check history of the warnings and find origin of problems.
In addition a pop-up window can also be displayed to control the progress status of all the
generation steps. The window is optional and can be deactivated by toggle the button Show this
next time.
FIGURE 2.28
Progress status & Optimization status windows
Viewing Buttons
The Viewing buttons are used to perform viewing manipulations on the active view, such as
scrolling, zooming and rotating. The manipulations use the left, middle and right buttons of the
mouse in different ways. The sub-sections below describe the function associated with each
mouse button for each viewing button.
For systems that only accept a mouse with two buttons, the middle mouse button can be emulated for
viewing options by holding the <Ctrl> key with the left mouse button.
During viewing operations, AutoGrid5™ automatically removes from the active view all 'heavy'
graphics representations such as solid model or color shading. This is done to keep a reasonable speed
during rotation, translation or zoom operations. The complete picture is restored after a viewing
operation is finished. A 'full visibility' can be explicitly requested during viewing operations by
calling the Autogrid Preferences dialog box and setting the visibility flag to Full in the Graphics
page.
Viewing manipulations can be done while another action is already undertaken (for example, a vertex
displacement). That action is temporarily stopped until the viewing operation is finished; then, the
action can be performed just like before the viewing. This is useful when operations have to be
executed in very distant areas of the model.
X, Y & Z Projection Buttons
These buttons allow to view the graphics objects on X, Y or Z projection plane.
l Left : press this mouse button to project the view on an X, Y or Z constant plane. If the same
button is pressed more than one time, the horizontal axis sense changes at each press.
Coordinate Axis
The coordinate axis button acts as a toggle to display different types of coordinate axis on the
active view using the following mouse buttons:
l Left : press to turn on/off the display of symbolic coordinate axis at the lower right corner of
the view.
l Middle : press to turn on/off the display of scaled coordinate axis for the active view. The
axis surrounds all objects in the view and may not be visible when the view is zoomed in.
l Right : press to turn on/off the display of IJK axis at the origin of the active block (in Block
Viewing Scope) or of all the blocks (in Grid Viewing Scope). (For more information about
the viewing scope, see the View/Grid page of the Quick Access Pad).
Scrolling
This button is used to translate the contents of active view within the plane of graphics window in
the direction specified by the user. Following functions can be performed with the mouse buttons:
l Left: press and drag the left mouse button to indicate the translation direction. The translation
is proportional to the mouse displacement. Release the button when finished.
The translation magnitude is automatically calculated by measuring the distance between the
initial clicked point and the current position of the cursor.
l Middle : press and drag the middle mouse button to indicate the translation direction. The
translation is continuous in the indicated direction. Release the button when finished.
The translation speed is automatically calculated by measuring the distance between the initial
clicked point and the current position of the cursor.
3D Viewing Button
This button allows to perform viewing operations directly in the graphics area. Allowed
operations are 3D rotation, scrolling and zooming.
After having selected the option, move the mouse to the active view, then:
l Press and drag the left mouse button to perform a 3D rotation
l Press and drag the middle mouse button to perform a translation
l Press and drag the middle mouse button, while holding the <Shift> key, to perform a zoom
l To select the centre of rotation, hold the <Shift> key and press the left mouse button on a
geometry curve, a vertex or a surface (even if this one is visualized with a wireframe model).
The centre of rotation is always located in the center of the screen. So, when changing it, the
model is moved according to its new value.
This 3D viewing tool is also accessible with the <F1> key.
Rotate Around X, Y or Z axis
The rotation buttons are used to rotate graphical objects on the active view around the X, Y or Z
axis. The rotations are always performed around the centre of the active view. Following
functions can be performed with the mouse buttons:
l Left : press and drag the left mouse button to the left or to the right. A clockwise or
counterclockwise rotation will be performed, proportional to the mouse displacement. Release
the button when finished.
l Middle : press and drag the middle mouse button to the left or to the right. A continuous
rotation will be performed, clockwise or counterclockwise. Release the button when finished.
Zoom In/Out
This button is used for zooming operations on the active view. Zooming is always performed
around the centre of the view. Following functions can be performed with the mouse buttons:
l Left : press and drag the left mouse button to the left or to the right. A zoom in - zoom out will
be performed, proportional to the mouse displacement. Release the button when finished.
l Middle : press and drag the middle mouse button to the left or to the right. A continuous zoom
in - zoom out will be performed. Release the button when finished.
Region Zoom
This button allows to specify a rectangular area of the active view that will be fitted to the view
dimensions. After having selected the button,
l Move the mouse to the active view
l Press and drag the left mouse button to select the rectangular region
l Release the button to perform the zoom operation
l These operations can be repeated several times to perform more zooming.
l Press <q> or the right mouse button to quit the option.
This tool is also accessible with the <F2> key.
Fit Button
The fit button is used to fit the content of the view to the view limits without changing the current
orientation of the camera (which can be interpreted as the user's eyes).
Original Button
The original button is used to fit the content of the view and to give a default orientation to the
camera.
Cutting Plane
This option displays a movable plane that cuts the geometry and the blocks of the mesh. The
plane is symbolically represented by four boundaries and its normal, and is by default semi-
transparent. After having selected the button,
l Press and drag the left mouse button to rotate the plane
l Press and drag the middle mouse button to translate the plane
l Press <x>, <y> or <z> to align the plane normal along the X, Y or Z axis
l Press <n> to revert the plane normal
l Press < t > to toggle the transparency of the plane (to make it semi- transparent or fully
transparent). It is highly advised to deactivate the plane transparency when using X11 driver to
increase the execution speed.
2.2.5
Graphics Area & Views
The graphics area is the region of the screen dedicated to the display of all graphical objects
created by the system. These graphical objects may be distributed in different windows called
'views' in the AutoGrid5™ terminology.
FIGURE 2.29
Graphics area
Four views are displayed simultaneously in the graphics area:
l The symbolic view.
l The meridional view.
l The blade to blade view.
l The 3D View
Although four views can be visible at a time, only one can be active. This view is identified by a
red border and is called the 'active view'. The active view can be changed with the left mouse
button. Right-click into a view gives access to contextual menu which always contains the two
items dedicated to the view management
Selecting the Full View item display the active view on the entire graphics area. To return to the
multiview environment, right click on the item MultiView.
Full View can also be accessed by double left-clicking in the view. MultiView mode can be
retrieved by pressing <Esc>.
Symbolic View
The symbolic view displays a theoretical scheme of the turbomachinery row (s). Each entities
(rows, blades, shroud & hub gaps) can be select using left click.
FIGURE 2.30
Symbolic view
Meridional View
The meridional view displays the entities of the machine projected in (z,r) coordinates. This view
is mainly used to create and control the flow paths in each row.
FIGURE 2.31
Meridional view
Blade to Blade View
The blade to blade view displays one blade to blade layer of the mesh in (dm/r,theta) coordinates.
The m coordinates is the curvilinear arc length along the active layer (flow path). The angles (cell
orthogonality) and the distances (expansion ratio and boundary cell width) are kept by the
conformal mapping (x,y,z → dm/r,theta).
The blade to blade view is mainly used to control blade to blade generation of the mesh.
FIGURE 2.32
Blade to blade view
3D View
The 3D view is used to display the solid body of the geometry and the 3D generated mesh, to
check the mesh quality.
FIGURE 2.33
3D view of solid body
View & User Interaction
The graphical object displayed in the symbolic, meridional and blade to blade view are related to
entities of the configuration tree (row, blade, domain limit, shroud & hub gap). Object under the
mouse are automatically highlighted in yellow indicating that their selection can be operated by
left-click. Right-click displays contextual menus related to the underlying object. To unselect all
objects, left-click on a empty location.
2.3
EXPERT MODE GUI
An overview of the complete layout and all items in the AutoGrid5™ Expert Mode interface are
described in more detail.
FIGURE 2.34
AutoGrid5™ Graphical User Interface (Expert Mode)
2.3.1 Main Menu Bar
The menu bar contains a part of available options of AutoGrid5™. Menu items can be activated
using click and drag or click and release modes.
A. File Menu
Open Project
The menu is described in detail in Open Project.
New Project
The menu is described in detail in New Project.
Save Project / Save Project As
The menu is described in detail in section Save Project / Save Project As.
Save Template / Save Template As
The menu is described in detail in section Save Template / Save Template As.
Save Grid -> Save Grid As
The File/Save Grid/Save Grid As menu item stores the grid files on disk to enable to launch a
computation within FINE™/Turbo 8.7.
Save Grid -> Save Grid As Fine 7.4
The File/Save Grid/Save Grid As Fine 7.4 allows to save the grids generated in the current
version of AutoGrid5™ in a format compatible with IGG™ 5.7 (FINE™/Turbo 7.4).
Save Grid -> Save Grid As Fine 8.6
The File/Save Grid/Save Grid As Fine 8.6 allows to save the grids generated in the current
version of AutoGrid5™ in a format compatible with IGG™ 8.6.
Save Grid -> Merge Project Grid
The File/Save Grid/Merge Project Grid menu item allows when dealing with multistage
machine already generated to adapt the ".cgns" file when regenerating one or more rows of the
machine based on a new geometry but still meshed with the same topology.
Steps:
1. Generate full mesh of the multistage machine,
2. Save project,
3. Change geometry of one or more rows,
4. Regenerate mesh of rows presenting new geometry but keep same topology,
5. Merge project grid
Save Grid -> Save Fluid Domain(s)
In addition to the save subproject feature, the menu Save Fluid Domain(s) creates and saves a
subproject named SubProject Fluid containing only the fluid blocks of the project.
Project List -> Transfer File List
The File/Project List/Transfer File List menu item enables to store a library of project files
contained in the project list when selecting File/Open Project.
Project List -> Open File List
The File/Project List/Open File List menu item enables to load a library of project files
accessible afterwards through the Project Selection and Template Selection windows
Scripts -> Edit
File/Scripts/Edit... opens a dialog box displaying some of the commands performed by the user
when defining the geometry using Import CAD window, when performing a technological
effect,... The user can easily edit this script (add, remove and modify commands). More details on
the available commands are presented in the Python Script chapter.
The dialog box contains two pull-down menus. File menu allows to open a script in a separate
dialog box and to save the script in a file. Run menu allows to run the script shown in the
window under the current session ("Rerun on top").
Scripts -> Save All
File/Scripts/Save All... is used to save the dynamic recording of all commands performed by the
user since the beginning of its session.
Scripts -> Execute
File/Script/Execute... is used to run a python script file containing IGG™ commands.
A file chooser is opened to select a file with a ".py" extension. Upon selection of a valid file, the
script is executed in the current session and the result is visualized in the graphical window.
Depending on the content of the script, operations will be added to the current project or a new
project will be automatically opened before operations are performed (The previous project is
closed).
If the script being run contains a syntactical error it will be aborted and a message will appear in
the shell.
Scripts -> Re-execute Last
File/Script/Re- execute Last can be used to rerun the last script that was run using the
Scripts/Execute... command. This option is most useful when writing own scripts manually to
rapidly test it on the fly.
Print -> As PostScript
File/Print/As PostScript is used to dump the graphics area in a true PostScript file. This option
uses true Postscript statements to save the graphics content and can produce compact files when
all graphics entities in AutoGrid5™ consist of lines (i.e. visualization of the grid in wireframe).
When displaying surfaces in solid model, the quality of the saving reduces considerably while the
size of the file can become very large.
Print -> As Bitmap PostScript
File/Print/As Bitmap PostScript is used to dump the graphics area in a bitmap PostScript file. In
this mode each pixel of the graphics area is saved in the file. The size of the file can be very large.
Bitmap saving may be more advantageous than true postscript when solid surfaces in hidden line
mode appear in the graphics area.
Print -> As PNG
File/Print/As PNG is used to dump the graphics area in a PNG file.
Export -> IGES
File/Export/IGES... menu is used to export geometry entities in the standard IGES format.
The entire geometry repository can be saved or only the selected curves and surfaces. The length
unit must also be specified through the following dialog box:
The file created in this way can be read back by using the File/Import/IGES Data... menu item.
IGES export is not implemented for Parasolid™ surfaces.
Export -> Parasolid
File/Export/Parasolid...
is used to save the selected geometry curves and surfaces into a
Parasolid™ format. It was already automatically done when saving the project for Parasolid™
entities (e.g. from Parasolid™ or CATIA import) but not for SISL entities (e.g. entities manually
created in AutoGrid5™, IGES import). In AutoGrid5™, only wireframe and sheet bodies are
created from a collection of curves and surfaces and no volume model.
Export -> Geometry Selection
File/Export/Geometry Selection... is used to save the selected geometry curves and surfaces into
an ASCII file.
Only the curves and surfaces selected respectively by the Geometry/Select/Curves and by the
Geometry/Select/Surfaces options are saved.
When selected geometry is containing Parasolid™ and/or CATIA V5 entities, a Parasolid™ file will
also be saved in addition of ".dat" file.
Export -> Geometry Control Points
File/Export/Geometry Control Points... is used to save the control points of the selected
geometry curves into an ASCII file. It does not save the complete information about the curve
(type, parametrization,...). The files created in this way are not intended to be directly read by
AutoGrid5™. Their main use is to print out the coordinates of the control points of the curves.
This option is only available for curves, not for surfaces.
Export -> Block Coor
File/Export/Block Coor... is used to save the coordinates of an active block range in ASCII
format, according to the level of coarseness selected for the grid (set by using View/Coarse Grid
menu item). A warning is given if the grid has not been created yet. The standard block grid file
format is used and is detailed in IGG™ User Manual - Input & Output Files.
The block range to save must be determined by two points, specified by their IJK coordinates in
the keyboard input area (indices start at 1):
Enter imin jmin kmin (q)
Enter imax jmax kmax (q)
By default, values for the full block range are displayed.
Export -> Face Coor
File/Export/Face Coor... is used to save the coordinates of the active face in ASCII format,
according to the level of coarseness selected for the grid (set by using the View/Coarse Grid
menu item). The standard surface grid file format is used and is detailed in the IGG™ User
Manual - Input & Output Files.
Export -> Patch Coor
File/Export/Patch Coor... is used to save the coordinates of the active face patches in ASCII
format, according to the level of coarseness selected for the grid (set by using the View/Coarse
Grid menu item).
The standard face grid file format is used and is detailed in the IGG™ User Manual - Input &
Output Files. One file is created for each patch of the active face and is named automatically by
appending the patch number to the specified file name. The files are written with a ".dat"
extension.
Export -> Face Boundary Coor
File/Export/Face Boundary Coor...
coordinates in ASCII format.
is used to save the active face boundary grid point
Export -> Plot3D
File/Export/PLOT3D... is used to save the coordinates of all grid blocks in a PLOT3D format
file. The saved file will have a ".g" extension and its format is described in the IGG™ User
Manual - Input & Output Files.
The following dialog box is opened to select a file with a ".g" extension and the corresponding
file format.
FIGURE 2.35
Output file and file format selection
The following file types can be selected in the File type entry:
l ASCII
l Binary single
l Binary double
l Unformatted single
l Unformatted double
Binary stands for C binary files whereas Unformatted stands for Fortran binary files. Single and
double describe the precision of reals.
Then two radio buttons are provided to select the binary order desired in the output file: little or
big endian. This information must be specified only for binary files (the buttons are deactivated
when ASCII type is selected).
The desired file can be selected by entering its full path name into the Plot3D File entry or
through a file chooser opened by pressing the icon (
) next to the file entry.
Export -> CEDRE
File/Export/CEDRE... is used to save the mesh in CEDRE native format. It opens a dialog box
including several options to select the blocks to export (list of block IDs, group of blocks, all
blocks or row by row), and an option specifying if these blocks have to be merged in one single
domain.
In case of merge, the user is able to select the name of the merged block. If nothing is specified,
name will be "DOMAIN_1". In case the option Row by Row is selected, the name will be
composed of this username completed by the row name depending on the Family name
options/Short name preference.
When clicking on Export button, a file-chooser is opened to select the exported file name and
location.
A main file name with extension ".dat" will be created as well as additional files needed for multi-
domain, periodic connections and boundary conditions:
l main_file_name.dat
l main_file_name_multi.dat
l main_file_name_psl.dat
l main_file_name_bcs.dat
When the Row by Row option is selected, an exported file per row is created and each file
contains the export of all the blocks of a row. The file name is completed by the row name. E.g.
when exporting a project composed by 2 rows named "row 1" and "row 2", and with selected file
name "filename.dat", two files will be created: "filename_row_1.dat" and "filename_row_2.dat".
The string length can be limited to 14 characters in some version of CEDRE, or to 50 characters
in newer versions. The option Family name options/Short name in the menu File/Preferences
allows to use shorter strings.
Boundary conditions are defined through mark names in the exported files. By default, the
family names created for CGNS export within AutoGrid5™ are used as mark names.
If no family names are available (IGG™ mesh), a mark name is created according to the patch
boundary condition type:
l EXT : EXTERNAL_i
l INL : INLET_i
l OUTL : OUTLET_i
l MIR : MIRROR_i
l PER : PER_LEFT_i & PER_RIGHT_i
l SNG : SINGULAR_i
l SOL : SOLID_WALL_i
l ROT : RS_i
l CON : CONNECTION
Where i is an index incremented each time such a condition is encountered and PER_LEFT_i is
the patch with negative periodic sign, otherwise PER_RIGHT_i is used.
Non matching connection type is not allowed for export because CEDRE does not support such
connection.
If the block selection contains CON or PER patches and the connected block is not contained in the
list, the export cannot be performed.
When exporting Row by Row, only row meshes are saved and not the zr effect meshes. A zr effect
mesh can be only exported when using other block selection options.
If family names are available (AutoGrid5™ mesh), a mark name is created based on them as
presented below.
l When Family name options/Short name active:
row_name = 'R(<i>)' where i is the row number
blade_name = 'B(<i>)' where i is the blade number
l When Family name options/Short name deactivate and Keep row name deactivate:
row_name = 'ROW(<i>)' where i is the row number
blade_name ='BLADE(<i>)' where i is the blade number
l When Family name options/Short name deactivate and Keep row name active:
row_name = 'row name'
blade_name = 'blade name'
The row mark names are:
l Row Inlet: <row_name>+"_INFLOW"
l Row Outlet: <row_name>+"_OUTFLOW"
l Row Outlet 2 (bi-flux):
<row_name>+"_OUTFLOW_BYPASS" if Family name options/Short name off
<row_name>+"_OUTFLOW_2" if Family name options/Short name on
l Row Shroud End wall: divided into section defined by the Zcst lines:
Blade area: <row_name>+"_SHROUD"
Upstream area:
<row_ name>+"_ SHROUD_ UPSTREAM_ "+<zcst- line- id> if Family name
options/Short name off
<row_name>+"_SHROUD_UP_"+<zcst-line-id> if Family name options/Short name
on
Downstream area:
<row_ name>+"_ SHROUD_ DOWNSTREAM_ "+<zcst- line- id> if Family name
options/Short name off
<row_ name>+"_ SHROUD_ DO_ "+<zcst- line- id> if Family name options/Short
name on
l Row Hub End wall: divided into section defined by the Zcst lines:
Blade area: <row_name>+"_HUB"
Upstream area:
<row_name>+"_HUB_UPSTREAM_"+<zcst-line-id> if Family name options/Short
name off
<row_name>+"_HUB_UP_"+<zcst-line-id> if Family name options/Short name on
Downstream area:
<row_ name>+"_ HUB_ DOWNSTREAM_ "+<zcst- line- id> if Family name
options/Short name off
<row_name>+"_HUB_DO_"+<zcst-line-id> if Family name options/Short name on
l Row Nozzle End wall: <row_name>+"_NOZZLE"
l Row Blade: <row_name>+"_"+<blade_name>
If Family name options/Blade pressure/suction sides active, the Row Blade will be splitted
in two groups, one for the pressure side (<row_name>+"_"+<blade_name>+"_PS") and one for
the suction side (<row_name>+"_"+<blade_name>+"_SS") instead of one family name (<row_
name>+"_"+<blade_name>) to group all blade patches.
l Row Periodic: <row_name>+"_PER1" & <row_name>+"_PER2"
l Row RS:
"Rotor_ stator_ "+<rs- id>+"_ left" & "Rotor_ stator_ "+<rs- id>+"_ right" if Family name
options/Short name off
"RS_"+<rs-id>+"_left" & "RS_"+<rs-id>+"_right" if Family name options/Short name on
The bulb mark names are: bulb_ name = "inlet_ bulb" or "outlet_ bulb" if Family name
options/Short name off.
The snubber (solid patches) mark names are: snubber_name = "SNUBBER" if Family name
options/Short name off.
Export -> Fluent
File/Export/Fluent... is used to save the mesh in Fluent native format. It will open a file chooser
to select the exported file name and location. A file name with extension ".msh" will be created.
For each patch, a dedicated face section is written in exported file and a boundary condition ID is
assigned. Next table gives the correspondence between AutoGrid5™ patch type and Fluent
boundary condition type:
AutoGrid5™ Type
Fluent Type ID
Fluent Type Description
EXT
INL
OUT
MIR
PER
PERM
NMB
SOL
ROT
10
36
pressure-far-field
velocity-inlet
outflow
symmetry
12 or 8
periodic or periodic-shadow
24
24
interface
interface
wall
4 or 5 (or 3)
pressure-inlet or pressure-outlet (or wall)
For patches defining rotor-stator, they will be exported as "pressure-inlet", "pressure-outlet" or "wall"
if their name is respectively containing the keyword "inlet_rotor-stator", "outlet_rotor-stator" or none
of the previous keywords.
Only one patch is allowed on each side of the rotor- stator interface in Fluent. When needed in
AutoGrid5™ the patches should be merged prior to the export to Fluent.
Singular line (SNG) and FNMB will not be recognized in Fluent.
It it possible to define a boundary condition name in Fluent format through the use of a dedicated
section. If this section is not defined, when loading the mesh, Fluent will automatically define a
boundary condition name by adding an increment to the boundary condition description, e.g.
"outflow_1" or "fluid_1".
Such section will be created for a patch only if the patch family name is defined. The boundary
condition name will be "familyName_i", "i" being an index incremented each time this family
name is encountered. The family names are defined as presented in previous section
( File/Export/CEDRE... ) and the option Family name options/Short name in the menu
File/Preferences allows to use shorter family names.
A similar section will also be created for each block, specifying if the block is fluid or solid. The
boundary condition name will be "fluid(solid)_blockName".
This way of defining boundary condition names will allow an easy patch/block grouping or merging
in Fluent. Among others as the block name in AutoGrid5™ contains the row name, it allows quite
easily in Fluent to merge all the zones related to a row.
Export -> CFD++
File/Export/CFD++... is used to save the mesh in Metacomp CFD++ solver native format.
Metacomp CFD++
from
IGG™/AutoGrid5™ must be converted, similarly to the existing unstructured outputs to Fluent and
CEDRE formats.
unstructured meshes. Therefore,
structured meshes
uses
the
When exporting, the user is asked to give a base name for the output files of the CFD++ format
filtered by the .bin file ending. The name <base name>_<file ending> is then assigned to the
output files except in the following cases:
l the given base name is "nodesin.bin", in which case the output names are simply the file
endings,
l there is no base name given (e.g. in Linux, only ".bin" chosen in the file selector), then the
output names are only the file endings.
Most of the CFD++ output files are written in binary format. The boundary conditions type
cannot be directly defined in the exported mesh. Instead, each patch is given a boundary condition
ID which is linked to a boundary condition name.
File name
Content
<base name>_nodesin.bin
Coordinates of the nodes in XYZ format
Format
C style big endian
binary
<base name>_cellsin.bin
List of computational cells defined by the indices
of their nodes
C style big endian
binary
<base name>_cgrpsin.bin.<nb
of groups>
<base name>_exbcsin.bin
Group ID for each computational cell
C style big endian
binary
Boundary conditions ID and nodes ID for each
boundary cell face
C style big endian
binary
<base name>_mcfd.bc
List of names for each boundary conditions ID
ASCII
There are several IDs used to identify nodes, boundary conditions, and cell groups.
l The node ID uniquely identifies each node. It starts with 0 and is given by the position of the
node in the file "nodesin.bin".
l The cell group ID is written if at least one block of the structured grid has a family name.
Then, all cells from blocks with the same family name are assigned the same ID. All cells from
blocks without a family name get a common ID. If no family names are set, the cell group ID
is not written. It starts with 0.
l All patches with the same family name are assigned the same boundary conditions ID. It starts
with 1.
If a patch has a family name, the boundary condition name will be identical otherwise the patch
gets assigned a boundary condition name according to its type, as described in the following table:
AutoGrid5™ type
CFD++ boundary condition type
SOL
PER
INL
OUT
ROT
SOLID_i
PER_LEFT_i and PER_RIGHT_i
INLET_i
OUTLET_i
RS_i
AutoGrid5™ type
CFD++ boundary condition type
MIR
EXT
SNG
NMB
MIRROR_i
EXTERNAL_i
SINGULAR_i
NMB_LEFT_i and NMB_RIGHT_i
PERNM
PERNM_LEFT_i and PERNM_RIGHT_i
"i" is an index incremented each time such a condition is encountered.
PER_ LEFT_ i and PERNM_ LEFT_ i will be used if AutoGrid5™ patch periodic sign is negative,
otherwise respectively PER_RIGHT_i and PERNM_RIGHT_i will be used.
For NMB, the keywords LEFT and RIGHT are arbitrarily set, and their only purpose is to identify the
connected faces.
Export -> CRUNCH CFD
File/Export/CRUNCH CFD... is used to save the mesh in CRUNCH CFD® solver native
format.
CRUNCH CFD® uses
from
IGG™/AutoGrid5™ must be converted, similarly to the existing unstructured outputs to Fluent,
CEDRE, Metacomp CFD++ or OpenFOAM formats.
unstructured meshes. Therefore,
structured meshes
the
When exporting, the user is asked to give a base name for the output file(s) of the CRUNCH
CFD® format
filtered by the .precrunch file ending. The name <base name>_ <group
name>.precrunch is then assigned to the output file (e.g. rotor37_row_3.precrunch), except if
there is only one group of blocks in which case the group name is omitted. The group name is set
to the row name containing at least one block of the group. For a tandem row, the group name is
the name of the two rows connected by an underline.
The CRUNCH CFD® output file is an unformatted Fortran file in big endian format and has the
following sections:
l the header, containing information about the number of nodes, cells, and boundary faces;
l the cells, defined by the IDs of their eight edges;
l the nodes;
l the boundary faces, defined by IDs of their four edges and the boundary tag.
The boundary conditions are defined on faces grouped by boundary tags. The tag is an integer
between 1 and 999 and must be different from 10. All patches having the same family name
receive the same boundary tag. For the boundary conditions only an ID identifying associated
patches is given. The user has to specify which kind of boundary condition is assigned to these
patches. The patch family names are not contained in the exported file neither. The family name
will be automatically set. Both sides of a rotor-stator interface will receive the same name and
therefore the same tag. In a multi-row configuration (several .precrunch files will be written), tags
are unique even if the corresponding patches belong to different groups. Only the rotor-stator
interfaces have the same tag in both groups where they belong to.
Patch family names can be manually created through the Family Name option in the boundary
conditions dialog box (available when the preference Save CGNS patch info / family name
control is active).
The periodic edges of the rotor-stator interface have to be straight radial lines. This can be achieved
by using in AutoGrid5™ the option Frozen Inlet/Outlet Angle in the blade-to-blade control dialog
box.
The axis of rotation is the x axis in the CRUNCH CFD® solver. Therefore, the IGG™/AutoGrid5™
coordinates are automatically rotated via the mapping (x,y,z) -> (z,x,y).
FNMB connections will not be recognized in CRUNCH CFD®.
Export -> OpenFOAM
File/Export/OpenFOAM... is used to save the mesh in OpenFOAM official (v2.4.0) or extend
(v3.1) branch. The OpenFOAM extend branch is very commonly used in turbomachinery
applications.
the structured meshes from IGG™ must be
OpenFOAM uses unstructured meshes. Therefore,
converted, similarly to the existing unstructured outputs to Fluent, CEDRE, Metacomp CFD++ or
CRUNCH CFD® formats.
When exporting, the user is asked to give a folder name for the output file(s) of the OpenFOAM
format.
The OpenFOAM mesh consists of five formatted files with predefined names: "boundary",
"faces", "neighbour", "owner" and "points". In addition a "cellZones" file is saved and contains
one cell zone per block family name.
The output precision is set to 12 digits to avoid any accuracy problems.
If the grid is including unsplit butterfly blocks, both parent and butterfly blocks will be exported.
Each AutoGrid5™ patch will obtain a separate entry in the "boundary" file. Its name is the patch
family name appended by an index. If the family name is not set, we use the naming convention
from the CFD++ output.
The "inGroups" keyword is used to group patches and use the patch family name as group name. This
option allows easier specification of
the boundary/initial conditions which otherwise must be
prescribed patch by patch. It is not available in the extend branch.
If boundary tags should be merged in AutoGrid5™, patch family names can be manually created and
adapted through the Family Name option in the boundary conditions dialog box (available when the
preference Save CGNS patch info / family name control is active).
Each of the following boundary conditions requires a certain set of additional information to be
written to the boundary file.
AutoGrid5™
type
OpenFOAM official
branch type
OpenFOAM extend
branch type
Fluent boundary condition
type
INL
patch
patch
velocity-inlet
AutoGrid5™
type
OpenFOAM official
branch type
OpenFOAM extend
branch type
Fluent boundary condition
type
OUT
EXT
MIR
SOL
ROT
patch
patch
symmetry
wall
cyclicAMI
NMB
cyclicAMI
PERNM
cyclicAMI
PER
SNG
cyclic
wall
patch
patch
symmetry
wall
mixingPlane
ggi
cyclicGgi
cyclic
wall
outflow
pressure-far-field
symmetry
wall
pressure-inlet or pressure-
outlet or wall
interface
interface
periodic or periodic-shadow
wall
FNMB connections will not be recognized in OpenFOAM. The original type (usually SOL) of the
patches involved in the FNMB connection will be considered.
A rotor-stator interface must consist of only one patch. In case it consists of several patches, their type
will be set to "patch".
A periodic connection at the rotor-stator interface of a meridional technological effect cannot be read
into OpenFOAM.
When the "checkMesh" utility is run on cyclic patches, it depends on the grid quality whether the
check is successful. If the test is not successful, then the mesh should be modified and in particular the
aspect ratio should be decreased. If this does not help:
l in OpenFOAM v2.4.0 (official branch), it
is recommended to change the "matchTolerance"
keyword in the "boundary" file to higher values, or change the type of the boundary condition to
"cyclicAMI".
l in OpenFOAM v3.1 (extend branch), it is recommended to change the type of the boundary
condition to "cyclicGgi" and to set the "bridgeOverlap" parameter to "true".
When the "checkMesh" utility is run on non- matching connections or rotor- stator patches, the
message "The mesh has multiple regions which are not connected by any face" will appear and can be
ignored.
the checks for high aspect ratio and non- orthogonal faces from the
Depending on the mesh,
"checkMesh" utility might fail. This utility uses a different way of calculating the grid quality criteria.
Meshes which are of high quality according to NUMECA standards might still fail the "checkMesh"
utility tests.
Export -> Meridional Mesh
File/Export/Meridional Mesh... is used to save the meridional mesh in CGNS format. The
export is based on a row selection and only the meridional mesh of the selected rows will be
exported. The faces used to build the row flow paths will be exported. The faces go from inlet to
outlet, without capturing the leading and trailing edges. There can be several blocks per row,
generally one main block and one per gap.
After selecting rows in AutoGrid5™, select the menu to open file-chooser to select the exported
file name and location. The exported CGNS file will only contain the block points coordinates of
the mesh.
Rows meridional mesh does not need to be generated before export, it will be done automatically.
Export -> B2B Mesh
File/Export/B2B Mesh... is used to save the blade-to-blade mesh in CGNS format. The export is
based on a row selection and only the blade-to-blade mesh of the selected rows will be exported
for the selected spanwise layer.
After selecting rows and the spanwise layer (Active Layer (% span)) in AutoGrid5™, select the
menu to open file-chooser to select the exported file name and location. The exported CGNS file
will only contain the block points coordinates of the mesh.
Rows blade-to-blade mesh does not need to be generated before export, it will be done automatically.
The blade- to- blade mesh does not
interpolation, etc.
include 3D mesh controls as non- axi
treatment, hub/shroud
When exporting blade-to-blade mesh, the spanwise layer is computed for each row according to the
span percentage, whereas in the blade-to-blade view in AutoGrid5™ it is only computed based on the
first row selected, then the closest flow path is chosen for the other rows. The method used when
exporting blade-to-blade mesh allows in bypass case to obtain the desired layer on whatever row.
Export -> Abaqus
File/Export/Abaqus... is used to save all the solid blocks to a single Abaqus formatted file.
Only solid blocks are considered. If other blocks should be exported, the block type has to be changed
to solid.
When exporting, the user is asked to give a base name for the output file of the Abaqus format
filtered by the .inp file ending. The name <base name>.inp is then assigned to the output file.
The Abaqus output file consists of:
l the header;
l the nodes definition;
l the elements definition;
l the definition of node sets and surfaces for the specification of the boundary conditions.
The header includes comments on the exported model.
The nodes are identified using a unique number and can be grouped using the NSET keyword
into node sets. The node set ALL contains all nodes of a row.
The boundary conditions are not defined in the exported file, but must be defined later on the
solver side. Separate node sets must be defined for periodic boundaries and fully non matching
boundaries (FNMB) using the NSET keyword. Therefore, a node set is defined per patch family
name. If a patch does not have a family name, it gets assigned a boundary condition name
according to its type (e.g. NMB or SOL appended by an index per patch).
In Abaqus, surfaces are used to apply loads (e.g. pressure) to the mesh. Therefore, we create a
surface per node set using the *SURFACE keyword. For each surface, we give a list of all
elements which possess a face touching the corresponding surface, and the corresponding face
index.
The elements can be assigned to element sets using the ELSET keyword. We create an element
set per block family name. When the export is done through the graphical interface, the element
types than C3D8 are available in Abaqus. The
type is always C3D8. Other element
corresponding python command includes an optional argument to change the element type.
C3D8 and C3D8I are the only supported element types in IGG™/AutoGrid5™.
The family names are used to define the node sets. When exporting the solid blocks in Abaqus
format:
l for blocks in a hub or a tip wall, the base family name is the row family name appended by _
HUB_WALL or _TIP_WALL. If the short family names option is activated, the suffixes are _
HW and _TW. For all other solid blocks, the base name is the row name appended by the
blade name.
l for the periodic patches, the suffixes _PER1 and _PER2 are appended. All patches connected
to fluid blocks obtain the suffix _ FLUID_ CONNECTION. If the preference Blade
pressure/suction sides is activated, _PS is appended if the patch lies on the blade pressure
side, or _SS if it lies on the blade suction side. For solid patches connected to the hub, _HUB_
CONNECTION is appended, and for
those connected to the shroud, _ SHROUD_
CONNECTION. All other solid patches obtain a family name consisting only of the base
name.
l for FNMB connections, the corresponding patches will be named with the name of the FNMB
and the suffixes _LEFT or _RIGHT, depending on which side of the FNMB the patch is. If
the short family names option is activated, the name is set to FNMB_ with an index unique per
FNMB followed by the _LEFT or _RIGHT keyword.
Family names must not be longer than 80 characters.
Import -> IGG Project
File/Import/IGG Project... is used to merge an existing IGG™ project stored on disk with the
currently opened project. It allows several people working on large projects to perform the
meshing in separate sessions and to merge their work at a later stage.
When combining an AutoGrid5™ project with an IGG™ project, the AutoGrid5™project should be
loaded first
in order to keep the hub and shroud curves data for latter post- processing of the
computation in CFView™.
Prefix
To easily recognize blocks and groups of an imported project from those in the current project, a
prefix can be specified during importation. For this purpose, a dialog box is provided:
Upon proper prefix specification, all the names of patches, blocks, geometry groups and block
groups will be automatically prepended with the prefix. For example, if a block being imported is
named "Inlet" and a prefix "stage1" is specified, the name of the block within the current session
will be "stage1#Inlet". Due to limitations in the CGNS format, the length of the prefix should be
limited to 5 characters. Moreover it cannot begin with a number.
If no prefix is specified blocks and groups names will not be modified. Exception to this rule
holds however when an imported block has the same name as a block in the current project. In
that case an underscore will be automatically appended to the name.
Pressing on the Cancel button will cancel the importation of the selected project in AutoGrid5™.
Importation operations
During project importation the following operations are performed:
l All the curves and surfaces from the imported project are added to the current project. When a
name clashing occurs with existing curves or surfaces, AutoGrid5™ automatically renames the
imported entities. The prefix currently does not apply to curves and surfaces.
l All the blocks of the imported project are appended to the existing blocks. The index of the
imported blocks is adapted automatically to follow the last block of the current project. The
name of the patches and blocks follow the rule described here above.
l The geometry and block groups are imported in the current project. The names of the groups
follow the rule described here above.
Import -> IGG Data
File/Import/IGG Data... is used to read external curves and surfaces stored in an ASCII IGG™
format. The file formats are specific to IGG™ (Curve & Surface data files) and are described in
IGG™ User Manual - Input & Output Files.
When using the option, a file chooser is opened to select files with ".dat" or ".dst" extensions.
Upon acceptance, the entities are automatically stored in the geometry repository and displayed in
the graphical area.
A fitting of the view may be needed to see all the entities properly.
Since AutoGrid5™ uses the name of curves and surfaces to access them, no duplicate is allowed.
During importation of a geometry file, AutoGrid5™ checks for name duplication. When an entity
being loaded has the same name as an existing entity in the current session, a dialog box is opened
with different possibilities:
FIGURE 2.36
Importation options dialog box.
Replace:
When using this mode, AutoGrid5™ replaces the existing curve or surface by the one being
imported. At the end of importation, AutoGrid5™ remaps all the vertices and edges lying on the
replaced entities so that the topology of the grid fits onto the new geometry.
This mode should be used when using the current project as a template. See the chapter related to
templates for additional information.
Don’t Load:
When using this mode, the entity having the same name will NOT be imported in the session.
Auto Rename:
When using this mode, AutoGrid5™ imports the entity and automatically modifies its name so
that it becomes unique in the current session. If no replacement is desired (as described above),
this option should be used.
Import -> External Grid
File/Import/External Grid... is used to import inside the current AutoGrid5™ project a block
grid generated either by IGG™/AutoGrid5™ (using File/Export/Block Coor... menu item) or by
another grid generator. A file chooser is opened to select a file with a ".dat" extension. Several file
formats are available:
l Block data file
l Surface data file (2D or 3D wireframe)
l Multiple surface data file (2D or 3D wireframe)
See the IGG™ User Manual - Input & Output Files for a detailed description of the formats.
Upon selection of a valid file, a new block (or several for multiple data files) is created and put at
the end of the list of blocks. For "Surface data file", which represent surfacic meshes, only face 1
of the block is created. For 2D meshes, the z coordinate is set automatically to 0 for all the points.
AutoGrid5™ automatically creates the block topology (edges) by using the boundary grid points
of the block.
Import -> Face Grid
File/Import/Face Grid... is used to import and copy a 2D or 3D grid surface to the active face or
to a BC patch on this face. A file chooser is opened to select a file, which must have a ".dat"
extension and have the Surface data file format . The type of surface and the edge creation mode are
indicated from the keyboard input area. If the edges of selected surface are on the boundaries
and the edge creation flag is on, the segments of that edge are created as polylines.
When the active face contains several patches, the imported grid can be copied on the entire face
or on one of its patches. In this case, the following prompt(s) appear:
Surface (=0) or Patch (=1) ? (q)
>> 1
Patch number (1...3) ? (q) (if previous answer is 1)
>> 2
Then the following prompt will appear to specify if edges must be reconstructed by using the face
boundary grid points:
Create boundary segments (y/n) ?
>> y
Import -> Topology
The option File/Import/Topology... allows to re-use an existing IGG™/AutoGrid5™ project on
a similar geometry by importing all the topology and grid information from the related ".igg" file.
The complete current project is deleted before importing. During the import operation, the
following happens:
l all the geometry entities are discarded from the imported project.
l the geometry groups are loaded, emptied from any curve or surface.
l the grid information like number of blocks, connection between blocks, clustering,... is kept.
l the blocks topology (vertices and edges) is kept, as well as their position and shape.
l the face generation recording, including the projection on geometry groups is kept.
Then, to use the imported topology on a similar geometry, do the following:
l Import the new geometry with the File/Import/IGG Data... or IGES... options.
l Redefine the geometry groups by selecting the proper surfaces and by adding them to the
existing groups (right button press on a geometry group pops up a menu for adding or
removing the current geometry selection).
l Remap all the vertices manually onto the new geometry. New vertices may be added if the
topology of the new geometry has changed.
Regenerate the faces with the Regenerate Face option. It is to be noted that face projected onto a
geometry group will be successfully re-projected if the groups have been redefined as described in
the previous operation.
Import -> CATIA V5
The option File/Import/CATIA V5... reads external geometry files in CATIA format up to R26.
Several CATIA files can be opened when defining the geometry.
Whatever the units of the CATIA V5 geometry, it will be automatically converted in meters. For
example a curve of 100 [Millimeter] length will present a length of 0.1 into AutoGrid5™.
CATIA V5 file is read by the DATAKIT cross-CAD library and converted into a Parasolid™ file.
The DATAKIT feature added in the NUMECA license will replace TTF- based libraries, also
maintained to ensure backward compatibility. The TTF library is upgraded to v7.9.0.9 to allow
importation of CATIA V5 files up to R19.
DATAKIT cross-CAD library is exclusively available on Windows 64 bits and Linux 64 bits while
TTF library is not available on Windows 64bits.
Running Windows 64-bits, an additional Windows security patch is required to enable CATIA V5
http://www.microsoft.com/
import
details,
downloads/details.aspx?dispalylang=en&FamilyID=766a6af7-ec73-40ff-b072-9112bab119c2.
Datakit.
more
with
link
For
to
Import -> Parasolid
The option File/Import/Parasolid... reads external geometry files in Parasolid™ format ".x_t".
Several Parasolid™ files (Parasolid™ and CATIA V5) can be opened when defining the
geometry.
The supported Parasolid™ version is 28.1.228.
A geometry can be correctly represented only if it is fully included in a cube between the points (-
500,-500,-500) and (500,500,500) due to the Parasolid™ library limitation.
Import -> IGES
File/Import/IGES... menu is used to import CAD data stored in the standard IGES format. When
names are defined for entities the IGES file, AutoGrid5™ uses them for the new entities created
in the repository. When these names are already used by existing entities, a dialog box is opened
to resolve the conflict. See the menu option File/Import/IGG Data... for details about the dialog
box.
This option provides a powerful browser to scan the content of an IGES file and selectively
import IGES entities recognized by AutoGrid5™. In the case of composite curves and surfaces,
the browser allows to view each component defining the entity and to select them individually.
Filters, reserved to expert users, allows to filter the data viewed by the browser. Each filter
corresponds to a criterion defining if entities with the corresponding attribute set accordingly will
be displayed in the browser/imported.
It might be useful to uncheck the Blank Filter/Blanked item in order to import only the entities
meant to be visible and get a clear view of the intended geometry. The same holds for the Entity
Use Filter with only the geometry item checked.
For the Subordinate Filter items, it might be useful to also have the both item checked if top-
level entities cannot be translated, preventing the importation of their depending entities.
The Filters default settings have the following items checked: all Blank Filter items, all Entity
Use Filter items but the definition item, the Subordinate Filter independent and logical items,
all Hierarchy Filter items.
FIGURE 2.37
IGES file browser
See the IGES reference manual for a complete understanding of all filter values. The list of
available IGES entities that can be imported in AutoGrid5™ are presented in the next table.
Entity Type Nr
Entity Type
100
Circular Arc
Entity Type Nr
Entity Type
102
104
106
110
112
114
116
120
122
126
128
130
140
142
144
158
196
Composite Curve
Conic Arc
Copious Data (only curves and not points in AutoGrid5™
Line
Parametric Spline Curve
Parametric Spline Surface
Point
Surface of Revolution
Tabulated Cylinder
Rational B-spline Curve
Rational B-Spline Surface
Offset Curve (only uniform offset in AutoGrid5™)
Offset Surface
Curve On Parametric Surface
Trimmed Parametric Surface
Sphere
Spherical surface
When units are imposed in the IGES file, these are purely informative and will not be used by
AutoGrid5™.
Import -> geomTurbo
File/Import/geomTurbo... is used to load "geomTurbo" files coming from AutoGrid4™ or
AutoGrid5™.
Import -> PLOT3D
File/Import/PLOT3D... is used to import inside the current AutoGrid5™ project block (s)
generated either by IGG™/AutoGrid5™ (using File/Export/PLOT3D... menu item) or by
another grid generator. The imported file must have a ".g" extension and have the PLOT3D file
format, as described in IGG™ User Manual - Input & Output Files.
The following dialog box is opened to select a file with a ".g" extension and the corresponding
file format.
FIGURE 2.38
Input file and file format selection
The following file types can be selected in the File type entry:
l ASCII
l Binary single
l Binary double
l Unformatted single
l Unformatted double
Binary stands for C binary files whereas Unformatted stands for Fortran binary files. Single and
double describe the precision of reals.
Then three buttons are provided to select the remaining file specifications. These ones must be
specified only for binary files (the buttons are deactivated when ASCII type is selected). The two
first radio buttons allow to select the binary order in the file: little or big ending. The last button
specifies if the file is single or multi-block.
The desired file can be selected by entering its full path name into the Plot3D File entry or
through a file chooser opened by pressing the icon (
) next to the file entry.
Upon selection of a valid file, the blocks of the imported file are created and put at the end of the
current list of blocks. AutoGrid5™ automatically creates the block topology by using the block
coordinates.
Import -> CGNS
File/Import/CGNS... is used to import CGNS grid files inside the current AutoGrid5™ project.
CGNS is a widely used standard for the exchange of CFD data. In particular it is very well suited
to exchange meshes and boundary conditions between heterogeneous systems. Block coordinates
and boundary conditions are read from the ".cgns" file. Only connections of type CON can be
read and performed automatically by AutoGrid5™.
It is to be noticed that a CGNS file is automatically created during the saving of a project, using
the File/Save options. This file can be reread by AutoGrid5™ using this option or exchanged
with other CGNS compliant systems.
The imported file must have a ".cgns" extension and must be a valid CGNS format, as described
in IGG™ User Manual - Input & Output Files.
A file chooser is opened to select a file with a ".cgns" extension. Upon selection of a valid file,
the blocks of the imported file are created and put at the end of the current list of blocks.
AutoGrid5™ automatically creates the block topology by using the block coordinates.
Import -> GridPro
File/Import/GridPro... is used to import inside the current AutoGrid5™ project block(s) created
by the GridPro grid generator.
A file chooser is opened to select a GridPro file. Upon selection of a valid file, the blocks of the
imported file are created and put at the end of the current list of blocks. A message indicating
what block is read appears in the AutoGrid5™ message area. AutoGrid5™ automatically creates
the block topology by using the block coordinates. Blocks connection information is read by
IGG™and patch decomposition is automatically performed. Periodicity information is not read
from the file and must be specified manually within AutoGrid5™, when required, using the
Grid/Periodicity... and Grid/Boundary Conditions... menu items.
Preferences
The File/Preferences opens a dialog box to control the default settings of AutoGrid5™.
This dialog box contains four pages. All the parameters are validated by pressing the Apply
button, which
file
~/.numeca/igg.preferences. When starting AutoGrid5™, this file is read automatically and the
preferences are restored directly. If this file cannot be found, the system is initialized with default
settings.
automatically
them in
applies
option
saves
and
the
the
Grid Control & General Page
Import CAD Streamwise Direction is used to specify the preference for streamwise direction
during CAD import.
If the preference is changed after opening the Import CAD window, the axis in this window will not
be changed. A new session should be started.
Number of grid levels is used to define the default number of grid levels (lower or equal to 7) of
the generated mesh when starting a project from scratch.
Number of threads is used to define the default number of processors used when generating the
mesh but also when performing block interpolation, grid quality checks and block negative cells
computation.
When no parallel license is available, a warning will appear in the shell ("Warning: no parallel
license available, will run sequentially") and the mesh generation will start in sequential.
The blade-to-blade mesh generation is not parallelised for HOH topology.
Depending on the case, there is no warranty on the scalability, especially on its linearity with the
number of threads (e.g.
the multi- threading performances are not optimal when dealing with
Parasolid due to the layers intersection process). It can even occur that increases too much the number
of threads will increase the total generation time (e.g. a lot of threads for a quite small mesh).
106
IGG™/AutoGrid5™ 13.1 User Guide
Saving Page
Backup when saving (.bak) is used to make a backup of the geometry and topology files at
extension
of
saving. AutoGrid5™ makes
(<projectname>.igg.bak).
project using
backup
".bak"
the
Ask quality check when saving option is used to make automatically some tests on the grid each
time a project is saved. It includes:
l A calculation of the number of multigrid levels available in the I, J and K directions for the
whole grid.
l A calculation of the negative cells in single and double precision.
l A rough idea of the grid quality (extremum values) in terms of orthogonality, aspect ratio and
expansion ratio.
The results are displayed in a dialog box appearing automatically just after the saving.
CGNS Format/ADF (Compatible with CGNS2) and CGNS Format/HDF5 options are used
to select the format of the CGNS v3 file. The default format is ADF and is compatible with
CGNS v2.
Save CGNS patch info / family name control option is used to save automatically in many
In
formats including CGNS,
AutoGrid5™, groups of patches of same boundary condition type including rotor/stator are
automatically created and are saved with predefined family names.
info related to the boundary conditions and connections.
In addition the option Save CGNS patch info / family name control allows:
l to display and control manually the family name for the patches and the blocks under the
Grid/Boundary Conditions... and the Grid/Grid Settings... menus. These family names are
used in many formats including CGNS to define patch and block groups.
l to display also the Rotor Stator control (Grid/Boundary Conditions... menu) which allows
manual definition of a rotor-stator interface. This option is used to define rotor/stator interfaces
for export from IGG™ to CGNS, but also to CRUNCH CFD.
Family name options/Keep row name option is used to control the way the row names and
blade names are saved:
l "ROW(<i>)" and "BLADE(<i>)" where i is the row and blade number when Keep row
name is not active.
l row and blade names imposed in AutoGrid5™ (Quick Access Pad/Rows Definition) when
Keep row name is active.
Family name options/Short name option allows to use shorter family names when saving
CGNS patch info in ".cgns" file or when exporting CEDRE or Fluent native formats.
When option is active, the Keep row name option has no effect and is considered as not active.
Family name options/Blade pressure/suction sides option allows to create two family names,
one for the pressure side (<row_name>+"_"+<blade_name>+"_PS") and one for the suction side
(<row_ name>+"_ "+<blade_ name>+"_ SS") instead of one family name (<row_ name>+"_
"+<blade_name>) to group all blade patches.
To consider the new preferences, the project should be reloaded or regenerated in AutoGrid5™
To consider the new names of row or blade in the family names after generating the 3D mesh, the
mesh should be regenerated otherwise family names will still contain the previous names.
Keep Left Handed Orientation After Saving option. When saving the mesh, left-handed blocks
are converted to right- handed. When the option is active, after saving the mesh, they are
reconverted back to left-handed in the GUI. At project loading, the blocks converted to right-
handed at saving are converted back to left-handed whatever the option is active or not. For a new
template created in AutoGrid5™ v13.1, all the left-handed blocks are converted to right-handed at
the end of the mesh generation. Therefore this preference has no more effect. (New in AutoGrid5™
v13.1)
Graphics Page
The Graphics Driver flag is used to select the driver OPENGL or OPENGL2/ X11 (on Linux)
or MSW (on Windows).
When launching AutoGrid5™ from FINE™ (through the Modules menu), the graphic driver will be
read from the registry key but when launching AutoGrid5™ alone, the graphic driver will be read
from the preferences.
The Visibility flag is used to control the rendering of graphic objects during dynamic viewing
operations. With full visibility, all graphic objects are displayed during viewing operations, which
may slow down the system response. When partial visibility is selected, only grid boundaries are
displayed during viewing operations.
Turn On Additional Lights option allows to enhance the lightening for shaded representations.
Edges width frame allows to control the width of the block edges displayed in the graphics area.
The width of the active block edges can be controlled by Highlight width and the width of other
block edges by Normal width.
Grid Line Width allows to control the width of the grid lines displayed in the graphics area.
Geometry Curve Width allows to control the width of the geometry curves displayed in the
graphics area.
Meridional channel shading option allows to have the channel
represented with shading.
in the meridional view
B2B Full Mesh Visibility option allows to see the mesh moving in the blade to blade view when
applying the modified blade to blade mesh parameters. This option is interesting for demo
purposes but it is not recommended to keep it active when generating the 3D mesh.
B2B Full Quality Visibility option allows to see the mesh skewness (orthogonality) field moving
in the blade to blade view when applying the modified blade to blade mesh parameters. This
option is interesting for demo purposes but it is not recommended to keep it active when
generating the 3D mesh.
Automatic 3D Mesh Viewing option allows to see the 3D solid mesh (View/Hide 3D Solid
Mesh) when loading a project or after generating the mesh.
Layout Page
This page allows to control some aspects of the AutoGrid5™ graphical interface.
Quick Access Pad is used to toggle the Quick Access Pad.
Control Area toggles the visibility of the control area at the bottom of AutoGrid5™ main
window. It allows to use a larger part of the screen for better graphics rendering, but cannot be
used during the interactive generation of a mesh, since it hides the keyboard input area and the
viewing buttons.
Balloon Help is used to activate or deactivate the on-line balloon help available in AutoGrid5™.
When activated, help balloons are displayed when the cursor is located on some buttons or icons.
Progress Status is used to toggle the progress status window when performing the mesh
generation.
Quit
File/Quit is used to end the interactive session. A dialog box is inserted to confirm the end of the
session. Please notice that
the current work is NOT automatically saved when exiting
AutoGrid5™.
B. Geometry Menu
All menus are described in detail in the dedicated IGG™ User Manual - Geometry Menu. This
menu is only available when selecting the 3D view or when adding a 3D technological effects
For Blade-to-Blade and Meridional views, only the Distance tool is available.
C. View Menu
The View menu options provide a set of display options to visualize the grid boundaries, surface
and block grids, repetition, hidden lines and rendered surfaces. The viewing parameters and
projection can also be modified interactively.
Patch Viewer
The menu is described in detail in section Patch Viewer.
Sweep Surfaces
The menu is described in detail in section Sweep Surfaces.
Coarse Grid
The menu is described in detail in section Coarse Grid.
Repetition
The menu is described in detail in section Repetition.
Face Displacement
The menu is described in detail in section Face Displacement.
View Depth
View/View Depth menu allows to control the view depth. This depth is used for all interactive
geometry editing operations with the mouse.
When using the option, the new depth for the active view is imposed by entering the coordinates
of the reference point:
New reference pt coordinates (q)
>> 0 0 0
All subsequent inputs with the mouse will be at z = 0. To quit this option, enter <q> and press
<Enter>.
Toggle 3D Solid View
The menu is described in detail in section Toggle 3D Solid View.
View/Hide 3D Solid Mesh
The menu is described in detail in section View/Hide 3D Solid Mesh.
View 3D Solid Block
View/view 3D Solid Block is used to show in the 3D view the mesh on the solid blocks (shading
and mesh).This option is not a toggle, the View/Patch Viewer... menu has to be used to adapt or
to clean the visualized solid mesh.
Toggle Throughflow Mesh
View/toggle throughflow mesh is used as a toggle to show the throughflow mesh in the
meridional view. This mesh is used for the initial turbomachinery solution available in FINE™
GUI.
Toggle Tool Bar / Symbolic View / Configuration/IGG Panel
View/Toggle Tool Bar is used as a toggle to show or hide the toolbar presented in Toolbar.
View/Toggle Symbolic View is used as a toggle to show or hide the symbolic view presented in
Symbolic View.
View/Toggle Configuration Panel is used as a toggle to show or hide the quick access pad
presented in Quick Access Pad.
View/Toggle IGG Panel is used as a toggle to show or hide the quick access pad of IGG™
available when activating the 3D view or performing a 3D technological effect as presented in the
Edit Mode section and in IGG™ User Manual.
D. Grid Menu
The Grid menu includes the connectivity and boundary conditions definitions, as well as the grid
quality tools.
Periodicity
Grid/Periodicity... menu is used to define the periodicity for each block of the grid to generate. It
can be done in the following dialog box:
FIGURE 2.39
Periodicity dialog box
The first thing to choose is the Block(s). Four possibilities are available (simply left-click on the
desired one in the box):
1. Active Block. Select only the active block.
2. Selected Block(s). Select the desired blocks by entering with the keyboard their number in the
dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be
selected by entering two numbers separated by a '-'. For example, enter '4 6 10-15' to select the
blocks 4, 6 and the range 10->15. The numbers do not have to be ordered. If a syntax error is
made, a warning message will appear.
3. Block Group. Select all the blocks of the group. To see all the group names and select the
desired one, left-click on the dedicated arrow.
4. All Blocks. Select all blocks of the project.
Next, the type of periodicity which will be applied to the block(s) must be selected. There are four
types available: none, rotation, translation and mirror. Simply left-click on it to select one type.
l None: When no periodicity are needed on block(s).
l Rotation: A rotation periodicity rotates a block around a given axis by a specified angle. The
rotation axis is specified by a rotation axis direction (axis) and an anchor point (origin). The
angle is indirectly specified by indicating the number of periodicity for the block (e.g. a
compressor with 4 blades should have a number of periodic i ties of 4) and the number of
meshed passages is directly specified.
l Translation: A translation periodicity, e.g. a cascade in turbomachinery, is obtained by
specifying a translation vector, in direction and magnitude. For example, a translation
vector of (0,0,2) will repeat a block along the Z axis by 2 absolute units.
l Mirror: A mirror periodicity mirrors a block with respect to a symmetry plane and is
specified by the origin and normal of the mirror plane.
The dialog box contains also three buttons at the bottom:
l View/Hide Selection: it highlights the selected block(s) in the graphics area.
l Apply: it applies the current settings to the specified block(s).
l Close: it closes the dialog box.
Grid Settings
Grid/Grid Settings... menu is used to examine or modify all important grid parameters of the
segments, edges, faces and blocks of the current project, using a dialog box.
FIGURE 2.40
Grid Settings dialog box.
There is no Apply button which implies that the changes in the different input fields take effect
IMMEDIATELY after pressing < Enter > or selecting another field, without any possibility of
automatic undo.
The dialog box is divided into four different parts:
l Block data: The active block index can be specified from the Block box. The total number of
grid points in J, K directions and I can be checked in the related box and modified at any time
on the active block. The values can be changed by simply left-clicking on the box arrows or
with the keyboard. In this latter case, press <Enter> to validate the change.
The Propagate option is used to propagate the changes in number of points to the connected
blocks.
See below for a complete description on the change of block limits Imax, Jmax, Kmax and
propagation.
The name and the CGNS family name of the block can also be specified respectively in the
Name and Family Name fields.
The Family Name field is available when Save CGNS patch info / family name control
option is active in the Autogrid Preferences dialog box.
The specified family names are limited to 32 characters.
The specified family names are only saved in ".cgns" file for external solver and are not read
when reading a project. Therefore, if a project is read and directly saved, the specified family
names will disappear in the ".cgns" file.
The family names imposed to butterfly parent block are not transferred to butterfly children.
A domain type can be stamped as a fluid or solid domain using the Type drop down menu.
Fluid or Solid domain type can be specified for the active block. It helps to enhance the
grouping capability as obtained from Grid Configuration page in the View subpad . The settings imposed here, will also be transferred automatically to
the FINE™ GUI.
l Face data: The active face index can be specified from the Face box. When changing the
active face index, the edge and segment informations are automatically updated.
l Edge data: The active edge index can be specified from the Edge box. The total number of
segments of the active edge is displayed (it cannot be changed here, it is only for information
purpose).
l Segment data : The active segment index can be specified from the Segment box. The
number of grid points on that segment is displayed next to this area. The low and high limits of
the active segment can be changed with the keyboard from the min and max boxes. Once a
new value is entered, press <Enter> to activate the change. The following constraints must be
respected:
l new lower limit > lower index of the previous segment
l new upper limit < upper index of the next segment
When changing the limits of a segment, the index of the fixed points delimiting it will be
obviously changed. If the new values imply the change of an internal grid line index, it is done
automatically without asking any confirmation. However, if the new values imply the change of
an internal face index, the following message appears:
FIGURE 2.41
New block limits imply the change of internal face index
If the no button is pressed, the index will not be changed and the limit will be reset to the previous
one.
The dialog box also contains at its bottom two buttons: MG Levels and Close buttons. The first
one opens a box containing the table of the MultiGrid levels. It allows to choose a number of grid
points in order to have multigrid meshes. The second one is obviously used to close the dialog
box.
Changing block limits Imax, Jmax or Kmax
The following considerations have to be taken into account when changing block limits:
1. The minimum number of grid points in one direction is 2, which corresponds to one cell.
2. When changing the number of grid points in the I, J or K direction, the faces and block grids
affected by the modification are deleted. For example, when modifying the number of points in
the K direction, the grids of the faces 3, 4, 5 and 6 are deleted.
3. Connections with patches of the touched faces are also deleted. Moreover, patch boundaries
are resized automatically in order to cover the whole face.
4. Connected segments remain connected, even if there is an inconsistency with the number of
points. It allows to change after the number of points on the connected segment and to keep
the connection. Despite this, if the number of points remains different for the two connected
segments, the connection will be deleted at the next loading of the project.
5. When increasing the number of points in one direction, these points are added to the last
segment of edges aligned on this direction.
6. If a block contains an internal face whose constant direction is the same as the one in which
the number of points has to be decreased, a message appears when the new number of points
is lower than or equal to the internal face index:
It gives the possibility to change the internal face index without leaving the Topology Settings
dialog box. If the no button is pressed, the index will not be changed and the limit will be reset
to the previous one.
7. When there are several segments in one direction, the number of grid points in that direction
cannot be freely decreased and the following constraint must be satisfied for each edge in the
modified direction: the lower limit of the last segment must be lower than the new number of
grid points in that direction. In the following example, the edges along the I direction are
divided into several segments:
FIGURE 2.42
Example of segment division
It will not be possible to reduce Imax below 41, since segment s2 on the figure has its lower
bound equal to 40. To reduce Imax to 30, for instance, the lower limit of segments s1, s2 and s3
must be manually changed below 30 (the last segment must have at least 2 points). The segments
before the last ones may also need to be changed (recall that a segment must have at least two grid
points).
If a bad limit is entered, an error message similar to the following will appear:
It indicates the segment(s) that have to be modified to impose the new block limits. Once the
Close button is pressed, the limits are reset to the previous ones.
Grid resizing and propagation
The increasing or decreasing of the number of points on a segment can be automatically
propagated along connected blocks. This option drastically reduces the number of operations
required to modify the number of grid points in meshes consisting of a large number of connected
blocks.
Propagation is insured through segment connections. This means that if two blocks are connected
along some of their segments, changing the number of points of a segment of one block will
automatically change the number of points in the other block, along the connection. When several
blocks are connected together as a chain (along segment connections), the grid point modification
will be performed on all these blocks.
If propagation is disabled, the modification of the number of points will only be applied to the
active block and the segment connections (parallel to the reference segment) with other blocks
will be deleted to keep consistency.
Resizing of one block
Changing the number of points of an isolated block segment affects all the edges of the block
"parallel" to the segment, as shown in next figure.
FIGURE 2.43
Example of resized block
The distribution of the grid points among the segments of an edge will be proportional to the
overlapping between the segments and the initial resized segment. In the previous example, the
segment s3 does not overlap with the resized segment and consequently its number of points
remains unchanged. Only segments s1 and s2 are affected. The index of the internal edges and
internal faces will be adapted consistently.
Limitations
l Multigrid
Due to possible division of an edge into several segments and the existence of internal edges or
internal faces in the blocks, it is not possible to insure that a block resizing (as a consequence
of segment resizing), will conserve multigrid levels for each segment touched by the operation.
It is the user responsibility to adapt the index of the segment fixed points.
l Patches
l The limits of the patches of each face modified during a segment resizing are not changed
automatically. The user must explicitly adapt these limits.
l Patch connections are deleted for each face modified during a segment resizing.
l Decreasing the number of points of a segment
Decreasing the number of points of a segment can only be performed to a certain limit. When
decreasing the size of a segment below a certain limit, it may happen that parallel segments
overlapping the reference segment would be assigned a negative value, which is obviously
impossible. In this case, the operation will not be performed and a message will be given to the
user. The user will have to reduce the number of segments along the parallel edges before
attempting to change the size again.
Boundary Conditions
The menu is described in detail in section Boundary Conditions.
Grid Quality
The menu is described in detail in section Grid Quality.
Grid Quality Report
The menu is described in detail in section Grid Quality Report.
Grid Quality Report (HTML)
The Grid/Grid Quality Report (HTML) menu (not available on Windows) allows to
automatically write a mesh quality report. When selecting the menu, a window enables to select
the images that will be inserted into the report and provides disk usage necessary for the report
and images.
122
IGG™/AutoGrid5™ 13.1 User Guide
123
IGG™/AutoGrid5™ 13.1 User Guide
Negative Cells
The menu is described in detail in section Negative Cells.
Compute All Fnmbs
Grid/Compute All Fnmbs is used to ease the calculation of the full non matching connections by
computing all full non matching connections defined in the menu Grid/Boundary Conditions at
once on all available grid levels. A window appear when full non matchings are failing on
specific grid level(s).
Internal Grid Line / Internal Face / Create Edge/Face/Block / Grid
Density
Grid/Internal Grid Line , Grid/Internal Face , Grid/Create Edge , Grid/Create Face,
Grid/Create Block and Grid/Grid Density are used to create and adapt the mesh on a edge or
on a face or in the block. The available features are fully described in the Grid Menu chapter of
the IGG™ User Manual.
E. Tools Menu
The menu is described in detail in section Tools Menu.
2.3.2
Toolbar
The toolbar contains icons and buttons providing fast input/output options . These are divided into 6 sections.
FIGURE 2.44
Top toolbar
User Mode
The menu is described in detail in section User Mode.
Project Management Icons
These icons are related to the most often used options of project management.
TABLE 2.6 Project Management icons
Icon
Description
Opens an existing project previously created by AutoGrid5™.
See the File/Open Project
Closes the current project and opens a new empty one.
See the File/New Project
Saves the current work in the files of the current project.
See the File/Save Project
Mesh Generation Buttons
These buttons are used to start the mesh generation with different scope of application.
TABLE 2.7 Mesh Generation buttons
Buttons
Description
Reset all topology and the grid points number according to
the grid level chosen by the user AutoGrid5™.
Generate the flow paths of the selected rows
See the Generate Flow Paths button description on
Meridional Control.
Generate the flow paths and the blade to blade mesh of the
selected rows.
See the Generate B2B button description on Blade to
Blade Control.
Buttons
Description
Generate the flow paths, the blade to blade mesh and the 3d
mesh of the selected rows.
See the Generate 3D button description in 3D Generation.
View & Mesh Quality Management Icons
These icons are related to view management and the mesh quality analysis.
TABLE 2.8 View & Mesh Quality Management icons
Icon Description
Open the Mesh Quality dialog box of AutoGrid5™.
See the Grid/Grid Quality
Open the Grid Quality Check dialog box of AutoGrid5™.
See the Grid/Grid Quality Report
Open the Negative Cells dialog box of AutoGrid5™.
See the Grid/Negative Cells
Open the Patch Selector dialog box of AutoGrid5™.
See the Grid/Boundary Conditions
Select the grid level used by AutoGrid5™ to visualize the mesh.
See the View/Coarse Grid
Open the Sweep Surface dialog box of AutoGrid5™.
See the View/Sweep Surface
Act as a toggle and perform a repetition in the blade-to-blade or 3D views based on the settings
imposed by the user in the View Repetition dialog box of AutoGrid5™.
See the View/Repetition
Visualize or hide the solid model of the machine in the 3D view.
See the View/toggle 3D Solid View
Set the active view in full display mode.
Reset the display mode to multiview.
Mesh Control Icons
These icons open dialog boxes use to change the mesh parameters.
TABLE 2.9 Mesh Control icons
Icon Description
Select all the rows of the current project.
Create new control lines in the meridional view.
Open the Row: Flow Path Control dialog box.
Open the dialog box dedicated to the blade to blade topology control.
Open the Optimization Properties dialog box.
Open the 3D Mesh Control dialog box.
Open the Inlet Bulb Mesh Topology dialog box. Displayed only if AutoGrid5™ detects a bulb at
inlet (hub reaches R=0).
Open the Outlet Bulb Mesh Topology dialog box. Displayed only if AutoGrid5™ detects a bulb at
outlet (hub reaches R=0).
Open the Nozzle Mesh Topology dialog box. Displayed only in case of machine with by-pass
Contextual Icons
During an AutoGrid5™ session, the contextual icons are updated according to the active entity
(rows, blades, hub/shroud gap, fin, control lines). These icons are used to manage these entities.
Row Management Icons
TABLE 2.10 Row Management icons
Icon Description
Remove the selected row(s) from the project database.
Copy the selected row topology into a buffer.
Icon Description
Replace the selected row(s) topology by the topology stored into the current buffer.
Open the Row Properties dialog box.
Open a file chooser used to select a ".geomTurbo" file which contains the (new) geometry of the
row.
Add a new blade to the selected row (s) (splitter blade or tandem blade).
Define a hub gap for the blade(s) of the selected row(s).
Define a shroud gap for the blade(s) of the selected row(s).
Blade Management Icons
TABLE 2.11 Blade Management icons
Icon Description
Remove the selected blade(s) from the project database.
Copy the selected blade to blade topology into a buffer.
Replace the selected blade to blade topology by the topology stored into the current buffer.
Open a file chooser used to select a ".geomTurbo" file which contains the (new) blade geometry.
Open the Blade Expansion dialog box.
Define a hub gap for the selected blade(s).
Define a shroud gap for the selected blade(s).
Shroud & Hub Gap Management Icons
TABLE 2.12 Shroud & Hub Gap Management icons
Icon Description
Remove the selected gap(s) from the project database.
Icon Description
Copy the selected gap(s) topology into a buffer.
Replace the selected gap(s) topology by the topology stored into the current buffer.
Open a Gap Properties dialog box.
2.3.3 Quick Access Pad
The Quick Access Pad is located in the left part of the GUI. It contains icons and more evolved
options providing a fast access to the more used functions of AutoGrid5™. Some of these
functions are only accessible through the Quick Access Pad whereas others are also accessible
through the menu bar, so that their description will be referenced to these menus.
The pad is divided into four subpads, each of which can be toggled by a simple mouse left-click:
l Rows Definition subpad
l Geometry Definition subpad
l Mesh Control subpad
l View subpad
All the commands and options accessible with these subpads are described in detail in this section.
The four subpads are composed of pages containing buttons, icons, input areas. The icons
perform specific function related to the subpad and the page. Each page can also be toggled by a
simple mouse left-click.
FIGURE 2.45
Quick Access Pad
A. Rows Definition Subpad
The rows definition subpad is used to control
the machine configuration through project
management buttons and a tree. All the turbomachinery entities, rows or technological effects
(seal leakage, cooling holes,...) composing a project are symbolically displayed into the tree.
FIGURE 2.46
Row definition subpad
Project Management Buttons
These buttons are used to select or add entities into the tree.
TABLE 2.13 Project Management buttons
Icon
Description
Select all the entities of the tree: rows, meridional
effects (bleed, seal leakage,...) and 3d effects
(cooling holes,...).
Select all the rows of the project.
Add a meridional effect (seal leakage, bleed,...)
into the tree of the project.
Add a 3d effect (cooling holes,...) into the tree of
the project.
Add a row at the outlet of the machine. When the
project has a configuration with bypass, the row is
added before the nozzle.
Icon
Description
Available only if the project has a configuration
with bypass. Add a row (arm) on the nozzle.
Available only if the project has a configuration
with bypass. Add a row near the outlet of the by-
pass.
Available only if the project has a configuration
with bypass. Add a row near the outlet of the
compressor in the core engine.
Add a B2B Cut into the tree of the project.
Configuration Tree
The configuration tree is used to navigate through the project configuration, to select and modify
the configuration entities.
FIGURE 2.47
Configuration Tree
The turbomachinery entities defining a project are:
l The rows containing the blade(s), the upstream and downstream boundaries (inlet & outlet).
l The meridional effects defining seal leakage, bleed... Their domain is axisymmetric and define
in the meridional plane (ZR).
l The 3D effects defining cooling holes,... Their domain is define in the XYZ space. These
entities are considered as sub-entities of the rows.
l The solid mesh of end walls and/or the blade.
l The basin, cooling channel with pin fins and/or ribs in the blade.
l The cooling holes in the end walls and/or the blade.
The selection of the entities and navigation through the tree is performed using left-click. Multiple
selection is allowed. It can be performed by keeping the <Shift> or <Ctrl> button pressed during
the selection process.
Contextual Popup Menu of Tree Items
The entities of the tree can be managed with the features available through their related quick
access popup menu. After selection, right-click displays these menus. For quick access, they
appears above the mouse location and allows the user to add, remove or modify the properties of
all selected entity.
FIGURE 2.48
Contextual popup menus
B. Geometry Definition Subpad
The geometry definition subpad contains button and interaction area used to define or modify the
geometry of the configuration entities.
FIGURE 2.49
Geometry definition subpad
The geometry defining the channel and the blades as well as the technological effects can be
specified from external CAD files and/or from ".geomTurbo" file (native geometry format).
TABLE 2.14 Geometry Management buttons
Icon
Description
Start the editing tool used to define the
axisymmetric lower limit defining the blade
channel from the basic meridional curves
defined in the geometry file.
Start the editing tool used to define the
axisymmetric upper limit defining the blade
channel from the basic meridional curves
defined in the geometry file.
Start the editing tool used to define the
meridional trace of the nozzle. Available only
if the project has a configuration with bypass.
Open a dialog box to control the number of
control points defining the channel curves used
to define the inlet, outlet, rotor-stator and
control lines.
Open a dialog box to control the completeness
of the geometry as well as validity of the end
walls, before starting the mesh generation. It
also repairs the curves wherever it is required.
Select and load a geometry file to define or
replace the geometry of the entities found in
the file.
Start the import geometry manager to load
external CAD file and define the geometry of
the configuration entities. More details in
Geometry Definition.
The Units page allows to select the "units" of the imported geometry in order to apply an internal
scaling and tolerance adaptation transparent for the user that will ensure correct treatment during
the grid generation when computing for example the intersection. If the global geometry size is
below 100 it is recommended to keep the default settings (Scale Factor set to 1), otherwise the
value should be adapted to the geometry units.
C. Mesh Control Subpad
The mesh control subpad is divided into three pages containing buttons and interaction areas used
to control the mesh of the active row(s). Left click to open or close the desired page.
FIGURE 2.50
Mesh control subpad
In this subpad, the number of points used to mesh the selected entities (rows and technological
effects) is displayed and continuously updated following the modifications of the mesh generation
parameters.
Grid Level Page
The buttons and the input area of the grid level page are used to set up a default mesh.Four grid
levels are available to define the number of points used to mesh the selected row(s). The button
Initialize Topology & Grid Points Distribution (re)set a new default mesh topology according to
the geometry configuration and the chosen grid level. The button Row Wizard allows to access
the mesh wizard mode in order to mesh the selected row in few steps by defining few parameters
(more details in Geometry Definition).
FIGURE 2.51
Grid level control
The option Detailed Control allows:
l to control the number of grid levels per row (lower or equal to 7). The imposed value can be
different from the one imposed in the preferences (section ar.1) "Grid Control Page" on page
2-59).
When loaded project/template is presenting a number of grid levels different from user preference, a
warning will appear.
The number of grid levels is not respected when using userdefined or HOH B2B topology and when
adding 3D technological effect.
For bypass configuration, the blocks near the nozzle at the rotor/stator interface will respect number
of grid level of the main channel row and not the one of the bypass row if different.
When the number of points becomes very important (e.g. in a gap), the B2B mesh generation
algorithm may fail. Workaround: decrease manually the cell width and/or expansion ratio.
For high staggered topologies, for the inlet (- outlet)Up(- Down) number of points that have to be
projected on the blade, it
is not possible to find a location on the blade that ensures a good
orthogonality of the mesh. Workaround: increase manually number of points on blade.
For bulb configuration, to ensure number of grid level in the final 3D mesh, number of grid level +1
should be imposed locally manually.
l to increase the number of points in the streamwise direction respectively at the inlet, on the
blade and the outlet.
Row Mesh Control Page
The buttons and input area of the row mesh control page are used to control all the grid generation
parameters of the selected row(s).
FIGURE 2.52
Row mesh control
Quick access is given for the main parameter defining the cell width.
Additional buttons give access to several dialog boxes used to control all the expert grid
generation parameters.
TABLE 2.15 Mesh Control buttons
Icon
Description
Open the flow paths control dialog box.
Open the dialog box dedicated to the blade to blade topology
control.
Open the optimization properties dialog box.
Open the dialog box dedicated to the 3D controls.
Create new control lines in the meridional view.
Active B2B Layer Page
FIGURE 2.53
Active layer control
The input area of the active B2B layer page, is used to change the flow path on which the mesh is
computed and displayed in the blade to blade view.
D. View Subpad
When the blade-to-blade view active, the View subpad contains five buttons allowing viewing
operations on the blade to blade grid. The selected rows define the scope of the buttons.
TABLE 2.16 View buttons
Icon
Description
Toggle the vertices of the blade to blade blocks of the selected row(s).
Toggle the fixed points of the blade to blade blocks of the selected row(s).
Toggle the grid points of the blade to blade blocks of the selected row(s).
Toggle the edge of the blade to blade blocks of the selected row(s).
Toggle the face grid of the blade to blade blocks of the selected row(s).
When the 3D view active, the View subpad provides commands and tools that allow viewing
operations on the geometry and the grid. In particular, the three first pages provide options
permitting the creation and the visualization of geometry and block groups. The four pages of this
subpad are described in the following sections.
Geometry Groups Page
Geometry groups are powerful means of classifying geometrical entities by grouping them under
the same name. This tool proves to be essential as soon as the input geometry gets a little
complicated. Using groups, the user can easily perform selective visualization of parts of interest
and focus on the current region being meshed.
The geometry group page allows the creation, the deletion and the visualization of geometry
groups, which can contain curves and/or surfaces. Different groups can contain the same curve(s)
or surface(s).
FIGURE 2.54
Geometry Groups page
All the existing geometry groups are listed by name in the browser of the page. Each group name
is preceded by two buttons. Left-clicking on the first one toggles the list of curves and surfaces of
the corresponding group in the Quick Access Pad. Left-clicking on the second one toggles the
display of curves and surfaces of the group in the graphics area.
Each item in a group is also preceded with a check button that allows to individually show or hide
the item.
The page contains four buttons at the bottom:
l Create Group. Before pressing this button, curves and surfaces that will be put in the new
group must be selected . The
following dialog box will be opened:
Simply enter the new group name and press the Create button to create the new group.
l Delete Group. It opens the following dialog box:
All existing geometry groups are listed in the box. Simply select a group by left-clicking on its
name and press the Delete button to delete it (this will not delete the related geometrical
entities).
l Show All. This button shows all the geometry in the graphics area: curves, surfaces and
Cartesian points.
l Hide All. This button hides all the geometry in the graphics area: curves, surfaces and
Cartesian points.
Two pop-up menus are also accessible by right-clicking on a group name or on a geometry entity
in the page browser:
The first menu contains three items:
l Add Selection. This adds the currently selected curves and surfaces to the group.
l Remove Selection. This removes the currently selected curves and surfaces of the group. If
some selected curves or surfaces are not in the group, the removal of these entities will have no
effect on the group.
l Delete. This deletes the geometry group.
The second menu allows to remove of the group the geometry entity from which the menu is
opened.
Block Groups Page
This page allows the creation, deletion and the visualization of block groups. Different groups can
contain the same block(s).
FIGURE 2.55
Block Groups page
All the existing block groups are listed by name in the browser of the page. Each group name is
preceded by two buttons. Left- clicking on the first one toggles the list of blocks of the
corresponding group in the Quick Access Pad. Left-clicking on the second one toggles the
display of blocks of the group in the graphics area.
Each item in a group is also preceded with a check button that allows to individually show or hide
the item.
The page contains four buttons at the bottom:
l Create Group. The following dialog box will open:
Simply enter the new group name and press the Create button to select the group blocks. The
following prompt will appear:
<1> Select a Block, <2> Add to Group, <3> Quit, <Keyboard Area>: Add Block by
Indices to Group
Left-click on a block to select it. The block will be highlighted. Then, middle-click to add the
block to the group. This block will remain highlighted until leaving this tool. Add in the same
manner as many blocks as desired.
Blocks can also be added to the group by entering their number in the keyboard input area. In
this case, the blocks are directly added to the group without being highlighted and without any
validation. The numbers must be separated by spaces. A range of blocks can also be added by
entering two numbers separated by a '-'. For example, enter <1 5 10-15 3><Enter> to add the
blocks 1, 3, 5 and the range 10->15. The numbers do not have to be ordered and the same
number can be entered more than one time. If a syntax error is made, a warning message will
appear.
Press <q> or the right mouse button to complete the group creation.
l Delete Group. It opens the following dialog box:
FIGURE 2.56
Block group deletion
All existing block groups are listed in the box. Simply select a group by left-clicking on its
name and press the Delete button to delete it (this will not delete the related blocks).
l Show All. This button shows all the blocks in the graphics area.
l Hide All. This button hides all the blocks in the graphics area.
Two pop-up menus are also accessible by right-clicking on a group name or on a block in the
page browser:
FIGURE 2.57
Block group pop-up menus
The first menu contains three items:
l Modify. This allows to add blocks to the group with same menu as when creating group.
l Add Selection. This adds the active block to the group.
l Remove Selection. This removes the active block of the group. If it is not in the group, this
operation will have no effect on the group.
l Delete. This deletes the block group.
The second menu allows to remove of the group the block from which the menu is opened.
Grid Configuration Page
When creating a mesh with AutoGrid5™,
the multiblock data structure can become very
complex. A new database, named Grid Configuration, is created by AutoGrid5™ at the end of
the mesh generation, saved together with the project into a file ".config". When loading the mesh
in IGG™, AutoGrid5™ or in FINE™GUI, the grid configuration is also loaded.
The grid configuration describes the mesh structure of the project as a set of fluid and solid
domains interconnected together through domain interfaces. Each domain contains a set of
subdomains and a set of interfaces. Each domain interface contains a type of boundary condition,
a type of free boundary condition and the possible connected domain reference. The domain
encapsulates the list of structured blocks defining the domain. The domain interface encapsulated
the list of structured patches defining the interface.
This new data structure is very useful. It can be used to reduce the time needed to analyse the
mesh of a project, to set up the boundary conditions into FINE™ GUI and to easily visualize the
mesh.
AutoGrid5™ computes automatically the grid configuration of the meshed turbomachine after
each 3D generation as well as after loading or saving a project. This configuration is composed by
a tree of domains similar to the configuration tree used to set the template configuration. The Main
Project of an AutoGrid5™ configuration contains a single subdomain named "AG5 <project
name>" where project name is the name of the template. The AutoGrid5™ domain contains the
list of subdomain related to each row and each technological effect 3D.
When navigating through the configuration, the boundary edges of the selected domain and the
grid of the selected interface are automatically displayed and updated in the XYZ view. This
behavior can be switched off using the buttons Highlight Domain and Highlight Boundaries on
the bottom of the Grid Configuration page.
Selecting one or several item of the configuration and using right-click gives access to all the
management options through contextual menus dedicated to each type of configuration item.
Main Project Management
Duplicate Main Project
The menu option Duplicate is used to create an new instance of the Main Project into the
configuration. This new instance is called a SubProject and is a perfect copy of the main project
configuration.
Merge Main Project
The option Merge can be used to merge together subprojects with the main project. A new
instance of the Main Project is created and if mesh and template files exist on disk for the selected
subproject, new mesh and template files are created for the new merged subproject resulting of the
concatenation of the main project mesh and template files with the subproject mesh and template
files.
SubProject Management
Subprojects are useful when part of the main configuration must be analysed separately. In
addition AutoGrid5™ allows also to redefine geometry in a subproject
through template
manipulation and remeshing partially the machine. Each subproject can have its own mesh and
template inside which the user can modify locally some part of the geometry (i.e. a blade
definition). Once the computation is fruitful on the subproject a merge process allow the user to
concatenate the main project with the selected subproject to analyse the complete configuration
with the new geometry defined in the subproject.
Rename SubProject
This option can be used to rename the subproject. A entry prompts the user to enter a new name.
Blank and special characters are allowed excepted tabulation. The system warns the user if the
name is already used.
When a new subproject name is accepted, the subproject files and directory are also renamed.
Therefore it is strongly recommended to save also the main project (File/Save Project menu) after
renaming process to keep consistency between the main project configuration stored on disk and
the name of the subproject files.
Duplicate SubProject
The menu option Duplicate is used to create an new instance of the SubProject into the
configuration.
Save SubProject
The menu item Save is used to save the mesh and the template of the selected subproject. By
default, when a subproject is created from the main project, the mesh and the template files are not
duplicated. Once the subproject editing done, the option Save creates a new directory <main-
project-file-name>_<subproject-name>. The partial mesh and template related to the subproject
are automatically created and stored in this directory.
All the structured patches boundary condition type of the mesh belonging to a domain interface
connected to a subdomain removed in the subproject are switched to the free boundary condition
define in the interface properties. In the next example, the patch type of the RS Connection With
row 1 are switched to Inlet when saving the subproject mesh.
When saving the subproject, AutoGrid5™ asks if the main project mesh and template must
remain the active one. If not, the created subproject file or template are automatically loaded
replacing the main project.
Load SubProject
The menu Load can be used to load the mesh (and the template) of a subproject if the file exists
on disk. If not a warning prompts the user to first save the subproject.
Merge SubProject
The menu Merge can be used to merge together subprojects and/or with the main project. The
figure illustrates the process to merge together the subproject 1 & subproject 2 into a subproject 3.
This operation can takes some time because of the following steps needed to keep consistency:
l An new subproject is created in the configuration as the result of the merging process between
the selected subproject,
l The main project is saved (needed to keep consistency),
l The main project is duplicated and saved into the new subproject directory,
l The mesh and template of the selected subproject are loaded to replace partially the data into
the duplicated main project,
l The domains which does not appear in the new subproject are removed from the mesh and the
template,
l The final subproject is saved on disk.
At the end of the merging process the subproject 3 remains loaded. To retrieve the original
interface status, the user must load again the main project (File/ Open Project).
Delete SubProject
The menu Delete can be used to delete the mesh (and the template) of a subproject if the file
exists on disk.
Domain Management
Each domain edges are automatically highlighted in red in the XYZ view when selected (click-
left) in the configuration.
Each row domain contains a list of subdomains which depends of the option chosen by the user
during the turbomachinery configuration setup. In the example, each row contains only a
subdomain corresponding to the Main Blade definition. For each domain, a folder named Domain
Boundaries contains the interface of the domain. Right-clicking on a domain gives access to the
domain menu.
Each subdomain contains a list of IGG™ blocks. When dealing with butterfly topology created in
IGG™ or as 3D technological effect in AutoGrid5™, the button Update assumes that all the blocks
are now included in the grid configuration except the parent blocks. This is a suitable behavior for the
usage of the grid configuration in the FINE™ GUI.
Domain Properties
The menu Properties opens the dialog box use to control the type and the rotation speed of the
domain.
Each modification will affect all the blocks linked to the domain. The type Fluid-Solid means that
the domain contains subdomains of different type.
In the example, the Main Blade subdomain contains the core flow domain around the blade
(fluid), the shroud gap domain (Fluid) and the solid body of the blade (Solid). Therefore the type
of the domain Main Blade is set to the hybrid type Fluid-Solid.
Rename Domain
The menu Rename can be used to rename a domain.
Group Domain
The menu Group can be used to group the domain together. The resulting domain contains a list
of subdomains equal to the selected list. This menu is available only in the grid configuration
within IGG™.
Delete Domain
The menu Delete can be used to remove the selected domain from the related main project and/or
from the related subprojects.
Domain Interface Management
Each domain of the main project or a subproject contains domain interfaces defining the physical
boundaries of the configuration and the connections between the domains. These interfaces are
stored in the Domain Boundaries folder of the domain. If the button Highlight Boundaries is
checked, the selected domain interfaces are automatically displayed using grid and color shading
representations as presented in the next figure.
In addition, the main project and the subprojects include also a Domain Boundaries folder
containing the full list of the project domain interfaces. For more visibility, the list has been
divided into several subfolder according to the boundary condition type of each interface: inlet,
outlet,
rotor- stator, connection (Fluid- >Fluid), connection (Solid- >Solid),
connection(Fluid->Solid), connection(Solid->Fluid).
solid, external,
Each subfolder contains a list of interfaces and/or subfolders. The interfaces are given by their full
composite name. The composite name is composed by the name of the tree entity and all its
parents separated by a character "/". The subfolders (i.e. row 1 Connection(Fluid->Fluid)) contain
a list of interfaces. These subfolders represent interfaces groups and are defined for quick access.
These groups are defined automatically by AutoGrid5™ or manually using the features dedicated
to the domain boundary management. These features are available through the right-click menu of
the domain boundaries.
Domain Boundary Properties
The menu Properties opens a dialog box dedicated to the management of the interfaces
properties.
In the dialog box, the rotation speed, the option to assign acoustic source, the name, the type of
the boundary in the main project (Boundary Condition Type) and in the subproject (Free
Boundary Condition Type) are available.
In a subproject, some domains can be removed by the user. When saving the grid of a subproject,
all the boundary condition type of the domain boundaries connected to the removed domains are
set to the free boundary condition type.
In addition, when the interface selected is a rotor-stator, the side (upstream or downstream) of the
interface can be setup (Rotor/Stator Side).
Rename Domain Boundary
The menu Rename can be used to rename a domain boundary.
Group Domain Boundaries
The menu Group can be used to group together domain boundaries of the same type within
IGG™. As the groups are stored in the main project or the subproject boundaries, the menu item
group appears only when at least two boundaries of the same type of a subproject or the main
project are selected.
By default the name of the group is composed by the "type name" + "group id" (i.e. Solid 1). A
new subfolder is automatically displayed in the tree and contains all the selected boundaries.
Ungroup Domain Boundaries
The menu Ungroup is used to ungroup existing group or domain boundaries within IGG™.
Ungroup a group of domain boundaries results in removing the initial group.
Ungroup an existing domain boundary split it into a list of new domain boundaries. The number
of new boundaries is equal to the number of grid patches defined in the selected domain
boundaries. The name of the new domain boundaries is equal to B <block-id> F <face-id> P
<patch-id>.
Connect Domain Boundaries
Three types of interfaces between domains of a grid configuration are available:
l Interface with no connection with other domain (i.e: hub,shroud,…),
l Interface connected with another domain: connection (Connect), full non matching connection
(Connect As FNMB) and rotor/stator connection (Connect As Rotor/Stator),
l Internal domain full non matching connections.
If the mesh (including patch connection and full non matching definition) is completed, the
connected boundaries between domains are automatically defined by AutoGrid5™ or by IGG™
when using the button Update of the grid configuration page.
In some circumstances, the complete mesh of a project results of a concatenation of submeshes
created in separate session of IGG™ and/or AutoGrid5™. During this mesh concatenation within
IGG™, the grid configuration is also concatenate. The menu Connect, Connect As FNMB and
Connect As Rotor/Stator are used to establish the connection between the different
concatenated configuration.
The next example illustrates the concatenation between two meshes created in separate
IGG™session connected through one domain boundary:
1. Two meshes are created separately and stored into the mesh files "mesh1-fluid.igg" and
"mesh2-fluid.igg". Both meshes have an inlet and an outlet. The inlet of mesh2 is equal to the
outlet of mesh 1. Both meshes have similar grid configuration.
2. A new IGG™ project is initialized and is composed by both meshes imported into this new
project.
3. The Outlet 1 and Inlet 2 are selected than connected together using the menu Connect.
The same above steps can be repeated to connect with a full non matching connection. In this
case, a new full non matching connection is created automatically using the mesh patches of the
selected boundaries. Finally, a rotor/stator connection between two imported domains can also be
established in such way.
Interface Viewer
The menu Interface Viewer opens a dialog box dedicated to the domain interface visualization. It
allows to select the display of the grid and/or a solid representation of the selected interfaces.
Export Surfaces
The menu Export Surfaces is used to export a IGG™ data file format of the surfaces created as
new wireframe of each patches defining the interface. The file name is defined automatically
using as prefix the name of the configuration file (".config" file) and the name the interface.
Grid Page
This page provides visualization commands on the grid. It consists of two rows: a row of buttons
and a row of icons.
The first row of buttons is used to determine the viewing scope, that is the grid scope on which
the viewing commands provided by the icons of the second row will apply. There are five modes
determining the scope, each one being represented by a button: Segment, Edge, Face, Block,
Grid (all blocks). Only one mode is active at a time and the current mode is highlighted. Simply
left-click on a button to select the desired mode.
l In Segment mode, a viewing operation applies to the active segment only.
l In Edge mode, a viewing operation applies to the active edge only.
l In Face mode, a viewing operation applies to the active face only.
l In Block mode, a viewing operation applies to the active block only.
l In Grid mode, a viewing operation applies to all the blocks of the grid.
The icons of the second row and their related commands are listed in the next table:
TABLE 2.17 View buttons
Icon
Description
Toggles vertices
Toggles fixed points
Toggles segment grid points
Toggles edges
Toggles face grid
Toggles shading
When the Grid configuration page is opened, the viewing button related to the grid topology acts
on the selected configuration item. The user is now able to draw the grid edges row by row.
2.3.4
Control Area
The menu is described in detail in section Control Area.
2.3.5
Graphics Area & Views
The menu is described in detail in section "Graphics Area & Views" (p. 69).
2.4
FILE CHOOSER
For file management (opening and saving of files) AutoGrid5™ uses the standard file chooser
window. The layout of the file chooser depends on the used operating system but a typical layout
is shown in FIGURE 2.58. The directories and files list allows to browsing through the available
directory structure to the project directory.
In the case a file needs to be opened an existing file should be selected in the list of available files.
In the case a new file needs to be created the user can type a new file name with the appropriate
extension.
In the Files of type bar the default file type is set by default to list only the files of the required
type.
FIGURE 2.58
Typical layout of a file chooser
CHAPTER 3.
MESHING FUNDAMENTALS
AutoGrid5™ has been developed to ensure a quick management of the grid generation process of
turbomachinery configurations. The software is able to take into account the most used components of
a turbomachinery. These components are divided into five types:
l the blade rows
l the meridional technological effects (seal leakage, bleed,...)
l the 3d technological effects (volute, cooling holes,...)
l the solid mesh
l the cooling holes, cooling channel and basin
The software provides a highly interactive user interface ( Graphical User Interface ) and a mesh
wizard (Row Wizard) allowing an easy setup of the mesh generation process for complex geometries.
Based on a template approach, it ensures reusability of the interactive work on similar geometries
through the full batch mode capability.
The application field of AutoGrid5™ covers all the turbomachinery types:
l axial and centrifugal machine
l multistage machine
l turbine, compressor
l multisplitters
l tandem rows
l return channel
l inducer
l airplane engine compressor stages with fan and by-pass
In this section
3.1 Mesh Domain Definition
3.2 Geometry Definition
3.3 Mesh Generation Steps
3.4 Meshing Similar Geometry & Batch Mode
160
IGG™/AutoGrid5™ 13.1 User Guide
161
163
3.1
MESH DOMAIN DEFINITION
A turbomachinery configuration domain is defined by the space located between the hub, the
shroud and the blades of the machine. Additional domains can be added to the configuration to
mesh technological effects (bleed, seal leakage, cooling holes)
FIGURE 3.1
Turbomachinery domain
Hub & Shroud Definition
The hub & shroud are defined by their meridional trace (ZR coordinates). They define the
spanwise boundaries of the domain. The 3D blade to blade domain is meshed on surface of
revolution located between the hub and the shroud definition. The geometry of the hub and the
shroud are defined using curves in (x,y,z), (r,theta,z) or (r,z).
Row Definition
The turbomachine is composed by rows defined by one type of blade (main blade) or several
(main blade & splitter(s)).
Blade Definition
The blades are defined (x,y,z coordinates) by several surfaces and two curves defining their
leading and trailing edge locations. During the mesh generation the blades surfaces are intersected
by surfaces of revolutions defined from the hub to the shroud.
Inlet & Outlet Limits
The inlet and outlet limits of the domain are by default automatically defined by AutoGrid5™
using two straight lines joining the limits of the hub and shroud definitions. The shape and the
location of the inlet and outlet boundaries can be interactively modified in the meridional view. In
case of multistage configuration (multiple rows), the location of the rotor/stator mixing plane is
also automatically defined by AutoGrid5™. Their default
the average
streamwise location between the upstream trailing edge and the downstream leading edge.
Furthermore, the shape and the location of the rotor/stator can be interactively modified in the
meridional view.
location are set at
Technological Effects
The technological effects are divided in two types: the meridional and the 3d effects. They define
additional domains stuck to the main channel domain.
Meridional Technological Effects
The seal leakages, the cavities and the bleed belong to the meridional effect types. The meridional
effect is axisymmetric and its geometry is defined by meridional curves (z,r coordinates). The
domain of a meridional effect must always be connected to one or more blade row(s).
The mesh of these configuration entities are generated in 3 steps:
l manual blocking in the meridional space
l automatic settings of the number of grid points and the clustering in the meridional space
l 3D mesh generation obtained by the combination of the meridional blocking and the mesh at
the connection(s) with the blade row(s).
More details are presented in Meridional Technological Effect and in the Meridional Effect
tutorial.
3D Technological Effects
The draft tube, pipe diffuser, volute belong to the 3D technological effects. These effects are
defined by 3D surfaces or 3D curves (x,y,z coordinates). Their meshes are created manually using
the structured multiblock grid generation system IGG™. The steps used to create the mesh (more
details in IGG™ user manual and in dedicated tutorial) are automatically saved and can be
replayed on similar geometry.
Cooling & Conjugate Heat Transfer
AutoGrid5™ allows the mesh generation of the blade and the end wall solid bodies (Conjugate
Heat Transfer module). Furthermore, the cooling module allows the mesh generation of basin,
basin holes, blade holes, end wall holes, cooling channel with or without pin fins and ribs. More
details are presented in Cooling & Conjugate Heat Transfer Modules.
3.2
GEOMETRY DEFINITION
The geometry curves and surfaces defining the turbomachinery domain can be entered using two
different ways:
l ".geomTurbo" native files (NUMECA turbomachinery geometry file format)
l external CAD files (Parasolid™, CATIA V5, IGES format, ".geomTurbo" native, ".dat" files)
The ".geomTurbo" File Format
The ".geomTurbo" native file is containing the surfaces and the curves defining the blades and the
meridional contour of the turbomachinery that can be imported within AutoGrid5™.
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the
row(s) definitions. More details are available on The ".geomTurbo" File Format section.
External CAD Format
AutoGrid5™ is able to import the geometry defining the domain from various external CAD
format (IGES, CATIA V5, Parasolid™). The files containing the surfaces and the curves defining
the blades and the meridional contour of the turbomachinery are loaded and displayed. Easy
selection of the geometrical entities can be operated interactively and linked to the project
configuration through contextual menu  for more details). The
blade channel must be defined by a set of curves (i.e. axisymmetric boundary of a surface of
revolution). The blade(s) of each row are defined by a set of surfaces and two curves defining the
leading and the trailing edges. As long as these curves are not defined, AutoGrid5™ is not able to
create the inlet, outlet and mixing plane boundary of the domain.
Parasolid™ and CATIA V5 import
installation note for more details.
is not available on specific platforms. Please refer to the
3.3 MESH GENERATION STEPS
The mesh generation of a turbomachinery configuration is divided into 6 main steps:
FIGURE 3.2
Mesh generation steps
Additional steps can be defined to mesh technological effects.
3.3.1
Project Initialization
AutoGrid5™ provides two different ways to initialize a new project according to the type of the
geometry definition (".geomTurbo" or external CAD file). The dialog box Create a new Project
(available through the menu item File/New Project ) lets the choice between a manual
initialization from external CAD file and an automatic initialization from a ".geomTurbo" file.
FIGURE 3.3
Project initialization dialog box
As mentioned in the previous chapter, the ".geomTurbo" file contains data used to set up
automatically the number of rows and to link the geometry contained in the files.
3.3.2
Project Setup
The project setup can be divided in 3 main steps:
Geometry & Configuration Definition
The geometry & configuration definition step is only needed if the project is initialized from
external CAD file. In this case, the configuration of the machine must be set through the subpad
Row Definition of the Quick Access Pad (for example the row contextual menu items Add
Row Downstream/Upstream in Expert Mode allow to add respectively a row downstream or
upstream the selected row). The link with the geometry must be done manually through the
Import CAD window before starting the grid generation.
Global Parameters Settings
The global parameters settings involves the definition of the periodicity for each row, the shroud
and hub gap definition and the first cell width at the solid wall definition.
These parameters can be imposed in the first steps of the row wizard as presented in previous
figure (more details in Geometry Definition) or in different contextual menus in Expert Mode:
l the periodicity in the row contextual menu Properties,
l the shroud and hub gap definition in the row contextual menu Gap/Fillet/Define Shroud Gap
& Gap/Fillet/Define Hub Gap,
l the first cell width at the solid wall definition using Mesh Control/Row Mesh Control/Cell
Width in the Quick Access Pad.
Row Properties
The row contextual menu item Properties in Expert Mode opens the dialog box Row
Properties. The options and parameters available in this dialog box control the mesh generation
of the rows.
Periodicity
The parameter Periodicity defines the number of main blade passage into the row. It defines the
pitch angle of the blade to blade domain pitch = 2PI/periodicity.
Number of Geometry Periodicity
Usually the geometry is specified for one main blade passage: main blade and possibly the splitter
surfaces. If the geometry is specified for 2 blade passages, the parameter Number Of Geometry
Periodicity must be set to 2. This option is useful for dissymmetric blading.
Rotation Speed
The parameter Rotation Speed is an information not used by the grid generation process.
However it will be used in FINE™ GUI.
Hub/Shroud/Shroud Gap Non-Axisymmetric
These options allow to control the hub, shroud and shroud gap when non-axisymmetric. All these
options are explained in details in sections "Non-Axisymmetric Hub/Shroud" (p. 216) and "Non-
Axisymmetric Shroud Gap" (p. 227).
Tandem Row
The parameters Tandem Row must be set to With Next/With Previous in case of tandem row.
This is taken into account during the blade to blade grid generation process to improve the quality
of the initial mesh (before optimization).
Number of Meshed Passages
The option allows to mesh multiple passages by duplication and rotation of the original blade
passage mesh. The specified value should be defined between the number of geometry periodicity
and the periodicity number.
The multiple mesh passages generation is not available for blade or end-walls including coolings.
Number of Repetition
By default, when selecting the menu View/toggle 3D Solid View, a single blade of each row will
appear in the 3D view.
The number of blades in the graphics area can be repeated for each row individually using the
Number Of Graphics Repetition parameter available in the Row Properties dialog box.
Activate the Default option to see a complete view of all the blades of the selected row.
Hub/Shroud Gap
The row contextual menu item Gap/Fillet/Define Hub/Shroud Gap in Expert Mode opens the
dialog box allowing to control the geometry and the meshing parameters of the gap as presented
in section Hub/Shroud Gaps Control.
Cell Width
The Cell Width imposed in the subpad Mesh Control in Expert Mode will allow to impose the
cell width at the hub, shroud, shroud and hub gap, and the cell width at the wall in the blade to
blade mesh. Afterwards, the cell width can be controlled in the meridional and in the blade to
blade views (refer to Meridional Control and Blade to Blade Control chapters).
B2B Topology Definition
The mesh topology is controlled by either the type of machines and the expected number of points
in the row wizard steps (more details in Row Wizard) or by Mesh Control/Grid Level page of
the Quick Access Pad and the button Initialize Topology & Grid Points Distribution of the top
menu bar in Expert Mode:
l When using the row wizard, according to the machine type and the expected number of points,
AutoGrid5™ will choose and adapt the most appropriated mesh generation parameters
available in AutoGrid5™ Expert Mode.
l When using the button Initialize Topology & Grid Points Distribution of the top menu bar in
Expert Mode, the default O4H topology is set up automatically. It defines the topology and
the grid points distribution in the mesh. During this process, AutoGrid5™ searches an
optimized topology according to some geometrical criterion and the grid level selected through
the Mesh Control/Grid Level page of the Quick Access Pad:
The button Initialize Topology & Grid Points Distribution applies to the active row(s).
The total number of points resulting from the automatic default topology settings depends of the
geometry, the number of splitter, the shroud and/or hub gap definition (Coarse ≈ 150,000 points,
Medium ≈ 300,000 points and Fine ≈ 1,000,000 points per blade).
3.3.3
Flow Paths Control
The 3D row meshes generated with AutoGrid5™ are obtained by stacking blade to blade meshes
on surfaces of revolution generated from meridional curves called flow paths. Each row of the
project has its own set of flow paths. In Expert Mode, the default number of flow paths is equal
respectively to 33, 57, 97 (if the blade is without hub/shroud gap) according to the grid level
chosen during the topology initialization (coarse, medium or fine mesh) when clicking on button
Initialize Topology & Grid Points Distribution of the top menu bar. This number can be modified
in the dialog box available through the menu item Mesh Control/Row Mesh Control/Flow
Path Control in Expert Mode . When using the row wizard, the number of flow paths is
controlled in the Control Layer dialog box.
FIGURE 3.4
Flow path definition
If the default flow path definition generated by AutoGrid5™ is not suitable for the project
configuration or for the CFD computation, the features of the dialog box Row: Flow Paths
Control can be used to obtain a complete control of the flow path definition. This dialog box is
available through the menu item Mesh Control/Row Mesh Control/Flow Path Control in
Expert Mode.
3.3.4
Blade to Blade Control
The 3D row meshes generated with AutoGrid5™ are obtained by stacking blade to blade meshes
created in the (dm/r,theta) space. Each blade to blade mesh is related to a flow path. The "m"
coordinate is equal to the curvilinear coordinate along this flow path. A blade to blade mesh is
generated in four steps:
The button Initialize Topology & Grid Points Distribution ( Expert Mode ) and the button
Preview B2B in the B2B Control dialog box (row wizard) perform automatically these steps.
Afterwards, the user is able to modify manually the default settings proposed by AutoGrid5™ in
Expert Mode.
Conformal Mapping
The flow paths defined in the meridional space are used to create surfaces of revolution named
layers. These surfaces are intersected by the blade(s) definition to obtain 3d sections projected into
the (dm/r,theta) space. The projection, named conformal mapping , preserves the angles and
ensures reciprocity of the distances.
FIGURE 3.5
Blade cross section
Blade to Blade Mesh Initialization
The blade to blade mesh initialization is divided in 3 steps:
l Definition of a default topology around the cross sections projected in the (dm/r,theta) space.
l Initialization of the grid point clustering.
l Initialization of the mesh by transfinite interpolation.
Default (O4H) Blade to Blade Topology
The default B2B topology computed by AutoGrid5™is composed by 5 Blocks:
FIGURE 3.6
Default mesh topology
The inlet, outlet, upper and lower blocks use a H-topology. The skin block around the blade uses
a O-topology.
The Initialize Topology & Grid Points Distribution settings algorithm can change the upper
and/or the lower blocks topologies from H to C-topology if one of the following criteria is
reached:
l The inlet solid angle of the blade becomes higher than 45 degrees and the distance between the
inlet and the stagnation points (in the (dm/r,theta) space) becomes smaller than the pitch angle
divided by 4.
l The outlet solid angle of the blade becomes higher than 45 degrees and the distance between
the outlet and the trailing edge (in the (dm/r,theta) space) becomes smaller than the pitch angle
divided by 4.
This mesh topology adaptation is called high staggered blade topology optimization:
FIGURE 3.7
Mesh topology for high staggered blade
Beside the default (O4H) topology (5 blocks), AutoGrid5™ allows the use of HOH and H&I
topology.
The topology can be modified through the dialog box Define B2B Topology For Active Blade. This
dialog box is available through the menu item Mesh Control/Row Mesh Control/B2B Mesh
Topology Control in Expert Mode.
Grid Points Clustering
The feature Initialize Topology & Grid Points Distribution or the row wizard compute the most
appropriated grid points clustering on each block edge of the default topology (and possibly the
HOH or H&I topology) according to either the chosen grid level or the type of the turbomachine
and the expected number of points for the row wizard.
The grid point number can be modified through the dialog box Define B2B Topology For Active
Blade. This dialog box is available through the menu item Mesh Control/Row Mesh Control/B2B
Mesh Topology Control in Expert Mode.
Initial Mesh
The initial mesh is computed using transfinite interpolation techniques inside all the blocks of the
default topology except in the skin block inside which a hyperbolic mesh is generated.
FIGURE 3.8
Initial mesh for a normal blade
The parameters used to control the initial mesh can be modified through the dialog box Define B2B
Topology For Active Blade . This dialog box is available through the menu item Mesh
Control/Row Mesh Control/B2B Mesh Topology Control in Expert Mode.
Blade to Blade Mesh Optimization
The optimization system is based on a multiblock elliptic smoother with source terms. All the
blocks of the initial mesh (all edges included except the solid wall) are optimized to increase the
cells orthogonality and to reduce the cells expansion ratio
FIGURE 3.9
High staggered mesh optimization
The parameters used to control
the optimization can be modified through the dialog box
Optimization Properties. This dialog box is available through the menu item Mesh Control/Row
Mesh Control/Optimization Control in Expert Mode.
Blade to Blade View Control
The blade to blade view is used to display and control the quality of the blade to blade mesh of
the rows. The blade to blade mesh quality can also be controlled using the menu Grid/Grid
Quality... or the corresponding icon (
)
Display Update
After each modification of the blade to blade topology, the grid points number, the initial mesh or
the optimization parameters, the blade to blade view of the active row(s) can be updated using the
top menu bar button Generate B2B in Expert Mode or the button Preview B2B in the B2B
Control dialog box in the row wizard.
Active Layer
The blade to blade view of the row is related to an active layer. By default, the active layer is the
hub of the machine (and mid- span when starting row wizard). The interaction area Mesh
Control/Active B2B Layer is used to change the active layer on which the blade to blade mesh
is computed and displayed.
FIGURE 3.10
Active layer set to 100% (shroud) of the span
In multistage configuration, the user controls row by row the blade to blade display. A particular
attention must be focused on the undesirable behavior obtained when different blade to blade row
meshes are displayed for different active layers: as the blade to blade view abscissa is the arc
length on the active layer, the blade to blade mesh of different rows could overlap if they are
displayed on different layers. To avoid this and retrieve a correct display, all the rows must be
selected and the top menu bar button Generate B2B in Expert Mode or the button Update B2B
View in the Mesh Control/Active B2B Layer area in Basic Mode, applied after selecting the
new active layer.
3.3.5
3D Mesh Generation
The 3D mesh generation of the active blade rows is performed through the top menu bar button
Generate 3D. The 3D mesh is automatically computed by AutoGrid5™ and displayed in the 3D
view. A mesh quality report can be computed and displayed with the top menu item Grid/Grid
Quality Report (
).
FIGURE 3.11
3D grid generation & quality check
3.3.6
Project Persistence
The project persistence is performed using the menu items of the File menu. The name and the
location of the project files are entered through the dialog box Save Project available through the
top menu item File/Save Project.
FIGURE 3.12
Save Project dialog box
Create New Project
The button Select a new Project File Name opens a file chooser used to specify the location and
the prefix use to save the new project files. The new prefix is automatically added in the project
library.
Overwrite Existing Project
The button Overwrite the Selected Project overwrites all the project files of the project selected in
the project library.
Project Library
The project library is the list of all projects saved previously. It is ordered using alphabetical order
and a quick search can be performed using the Search interaction area.
Project Info
The interaction area Enter Project Info is used to specify or modify text information about the
saved project. When scanning the library, the interaction area is automatically updated with the
text of the selected project.
Project Files
Two types of files are saved by AutoGrid5™: the mesh and the template files.
Mesh files
The mesh files contain the multiblock mesh topology, geometry, grid points, patch grouping and
the boundary condition types:
l new_prefix.bcs: boundary conditions files,
l new_prefix.cgns: grid points files (CGNS format described in IGG™ User Manual - Input &
Output Files),
l new_prefix.geom and new_prefix.xmt_txt: geometry files,
l new_prefix.igg: topology file,
l new_prefix.qualityReport: mesh quality report file,
l new_prefix.config: mesh configuration file used for the grouping in FINE™ GUI and for the
subProject (more details in FINE™ User Manual).
These files can be loaded into the structured multiblock grid generation system IGG™ and by the
CFD integrated environment FINE™/Turbo.
The mesh quality file is saved at the end of the grid generation. If the new project has not yet been
saved before launching the 3D generation, no grid quality report file will be saved because the system
is not able to determine automatically the file location.
Template files
The template files contain the parameters and the geometry needed to reproduced the mesh with
AutoGrid5™:
l new_prefix.geomTurbo and new_prefix.geomTurbo.xmt_txt: the geometry files (geomTurbo
format),
l new_prefix.info: the information file,
l new_prefix.trb: the template file containing the grid generation parameters,
l new_prefix_b2b.png: a picture of the blade to blade view only available on LINUX,
l new_prefix_merid.png: a picture of the meridional view only available on LINUX.
In some cases, the Parasolid™ file (".xmt_txt") is also needed in AutoGrid5™ to replay the template
(using ".geomTurbo.xmt_txt") or to load the project (using ".xmt_txt"):
l If the Import CAD window is used with Parasolid™ or CATIA V5 entities. For IGES and IGG™
native files the Parasolid™ file is not needed as these are stored in the ".geomTurbo" file.
l If AutoGrid5™ creates additional surfaces/curves in the available options, these are stored in
Parasolid™ file as well. For example, if the Import CAD window is used to define the geometry,
the expansion is treated in Parasolid™ and the resulting surfaces are Parasolid™ entities, even if
the initial geometry was IGES or native IGG™.
Open Project File
Open an existing project is performed using the menu item Open Project of the top menu File.
The geometry, the parameters and the existing mesh are loaded during this process. The project is
opened by selecting its template file (".trb" extension). The template file of the project can be
selected through a file chooser or through the project library of the Open Turbo Project Wizard.
The Open Project Turbo Wizard is divided into three areas presented on FIGURE 3.13.
Select Project File
This button opens a file chooser used to select a template file (".trb" extension).
Project File Library
All the previously generated projects can be selected in the list and opened using the button Open.
The last opened project becomes the active project of the list.
Project Information Area
The button Info>> opens the information area containing two pictures of the selected project, the
userdefined and global information of the project. This information are automatically updated
when scanning the projects of the list.
FIGURE 3.13
Open turbo project wizard
3.4 MESHING SIMILAR GEOMETRY & BATCH
MODE
When a particular turbomachinery configuration has been meshed within AutoGrid5™, the
original template files of the project can be used to mesh automatically similar geometries.
In AutoGrid5™ when using an existing template for different geometry, it is not sufficient to rename
the template as the ".geomTurbo" file (as in AutoGrid4™). It is mandatory to use a ".geomTurbo" file
presenting the same row and blade names as the ones used in the template (e.g. when using a new
".geomTurbo", only the geometrical entities with the same naming as the ones used in the template
file will be replaced).
FIGURE 3.14
Batch Generation
The original template file and ".geomTurbo" file are first duplicated using the menu item
File/Save Template As. The geometry in the duplicated ".geomTurbo" file is then replaced by
the user by a similar geometry. Finally, AutoGrid5™ is launched in batch mode using command
lines arguments specifying the template ".trb" file, the geometry ".geomTurbo" file and the target
location of the mesh files:
igg -niversion <version> -autogrid5 -batch -trb <template file> -geomTurbo <geomTurbo file>
-mesh <mesh file> -print on Linux,
iggx86_64.exe -autogrid5 -batch -trb <template file> -geomTurbo <geomTurbo file> -mesh
<mesh file> -print on Windows.
where <version> , <template file> , <geomTurbo file> and <mesh file> are respectively the
version number and the full path names of the template file (".trb" extension), the geometry file
(".geomTurbo" extension) and the mesh file (".igg" extension).
Multithreading can be used with the additional argument -numproc <np>:
igg -niversion <version> -autogrid5 -batch -numproc <np> -trb <template file> -geomTurbo
<geomTurbo file> -mesh <mesh file> -print on Linux,
iggx86_ 64.exe - autogrid5 - batch - numproc <np> - trb <template file> - geomTurbo
<geomTurbo file> -mesh <mesh file> -print on Windows.
Example
igg - niversion 131 - autogrid5 - batch - trb /usr/user1/template/template1.trb - geomTurbo
/usr/user1/geometry/geometry1.geomTurbo -mesh /usr/user1/mesh/mesh1.igg on Linux,
iggx86_ 64.exe - autogrid5 - batch - trb c:/usr/user1/template/template1.trb - geomTurbo
c:/usr/user1/geometry/geometry1.geomTurbo -mesh c:/usr/user1/mesh/mesh1.igg on Windows.
The location of the grid quality report file can also be specified using the command line: -
qualityReport <quality report file full path name>.
The option -real-batch can also be specified to allow to generate the mesh in batch mode without the
need of a display: igg -niversion 131 -real-batch -autogrid5 -trb ....
When the original geometry has been specified through external CAD geometry files, the similar
geometry CAD files can also be specified using the command lines: -dat <geometry file 1> -dat
<geometry file 2> ...
CHAPTER 4.
GEOMETRY DEFINITION
In addition to define the geometry using a ".geomTurbo" file,
the geometry definition can be
performed interactively through the Import CAD window. Geometry data can be imported from
several CAD file formats, interactively selected and linked to configuration entities in an AutoGrid5™
project.
The user can build a test case starting from scratch and using CAD data in an interactive way. The
blade geometry is defined by selecting one or more surfaces while the definition of other configuration
features such as the leading edge, the trailing edge, the hub, the shroud, is performed by selecting one
or more curves and attaching that curve selection to the required feature.
In this section
4.1 Import ".geomTurbo" File
4.2 Import CAD
4.3 Hub/Shroud Editing
4.4 Blade Editing
4.5 Cascade Configuration
4.6 Blade Geometry Check
4.7 Blade Geometry Export
185
195
214
220
248
250
254
4.1
IMPORT ".GEOMTURBO" FILE
Within AutoGrid5™, the ".geomTurbo" file format can be imported in different ways:
l when creating a new project (File/New Project (
)), a Create a new Project window
appears that allows to initialize a new project from an existing ".geomTurbo" file. Then a File
Chooser window is available for browsing through the file system and to select a file. When
clicking on OK (Open) the geometry is loaded in AutoGrid5™.
l in the Quick Access Pad Geometry Definition subpad, the Import Geometry File menu (in
Expert Mode) and the Init From a GeomTurbo File menu (in Basic Mode) allows to select
IGG™ geometry, Parasolid™ coupled with ".dat",
and load geometry file (IGES,
".geomturbo", CATIA V5 files) to define or replace the geometry of the entities found in the
file.
l in the Quick Access Pad Rows Definition subpad, the popup menu on rows allows to load a
".geomTurbo" file to define or replace the geometry of the selected entities found in the file.
After row(s) selection, right-click displays this menu. Define Geometry item replaces only the
geometry of the row (blades, shroud/hub gap, cooling wall,...) selected. To import a new hub
or shroud, the Import CAD window must be used.
AutoGrid4™ ".geomTurbo" file can be loaded within AutoGrid5™. When AutoGrid4™ geometry file
loaded, a warning will appear before loading and the geometry is always replaced whatever the row or blade
name.
In AutoGrid5™ "geomTurbo" (native format without import CAD) when using an existing template
for different geometry, it is not sufficient to rename the template as the ".geomTurbo" file (as in
AutoGrid4™). It is mandatory to use a ".geomTurbo" file presenting the same row and blade names
as the ones used in the template. When using a new ".geomTurbo" for a row containing several
blades, only the geometrical entities with the same naming as the ones used in the template file will
be replaced.
In AutoGrid5™ "geomTurbo" (with import CAD), all surfaces and curves whatever row or blade
name in the file will replace the corresponding entity name in original row or blade. Note that if
original row or blade name cannot be found in ".geomTurbo", warning will be issued even if some
geometry is replaced.
4.1.1
The ".geomTurbo" File Format
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the
row (s) definitions. Following is a example of a ".geomTurbo" file format structure for a
turbomachinery with three blade rows respectively named impeller, diffuser and return channel.
The UNITS-FACTOR parameter allows to select the "units" of the imported geometry in order to
apply an internal scaling and tolerance adaptation transparent for the user that will ensure correct
treatment during the grid generation when computing for example the intersection. If the global
geometry size is below 100 it is recommended to keep the default settings (UNITS-FACTOR set
to 1), otherwise the value should be adapted to the geometry units.
The SCALE-GEOMETRY-FACTOR is an optional parameter. It allows to scale the imported
geometry when defined in native .geomTurbo file.
The bypass parameter must be set to yes in case of a project configuration with bypass (airplane
engine,...)
The cascade parameter must be set to yes in case of a cascade configuration.
Channel Format
The channel format contains the definition of the turbomachinery meridional contour (hub,
shroud, seal leakage, bleed,...). It is defined by two types of curves:
l The basic curves defined by a set of points.
l The channel curves defined as a composite of basic curves.
The number of basic curves is unlimited.
The ".geomTurbo" file must contain two channel curves named respectively hub and shroud.
Basic Curves
The basic curve format is used to defined a curve and project it in the meridional space (z,r). The
curve is defined by a name, an interpolation method (c-spline or polyline), the coordinate type, the
number of control points and the points coordinates:
The coordinate types are identified by the following keyword: ZR, XYZ, RTHZ, ZRTH, THRZ,
RZTH,... where X,Y and Z are the 3 Cartesian coordinates and R,TH and Z are the 3 cylindrical
coordinates.
A basic curve name cannot contain the keyword "rotating" if its properties are set to non rotating,
because corresponding patch name will finally contain the keyword "rotating".
By default a c-spline interpolation between the control points is applied. The keyword polyline can be
added beside the coordinate type (ZR) to switch off the c-spline interpolation. In this case, the basic
curve is defined by straight lines joining the control points.
The DISCRETISATION number is the number of points defined between each control points of the
c-spline.
The DATA_REDUCTION when set to 1 allows to perform a data reduction of the basic curve based
on DATA_REDUCTION_ANGLE and DATA_REDUCTION_DISTANCE.
Channel Curves
The channel curves are used to define the hub, the shroud and possibly the nozzle in case of
bypass configuration. A channel curve is a composite of defined basic curves. It is defined by a
name and vertices. Each vertex belong to a basic curves and is defined by its parametric location
(normalized arc length).
The name of the channel curve is part of the format definition and should stay "hub", "shroud" or
"nozzle" by using lower case letters.
The nozzle curve is defined starting from the lower radius side from the outlet to the "inlet" (reverse
hub direction) and then on the upper radius side from the "inlet" to the outlet (shroud direction).
FIGURE 4.1
Nozzle curve orientation
Row(s) Definition Format
The row format contains the geometry definition of a complete row. It is defined by a row name,
a row type, a periodicity and the definition of the main blade and possibly the splitter(s):
A row name should not end with the name of another row. For example "row 1" and "row 11" are
allowed but not "row1" and "uprow1".
Row Type
The row type is used to specify the row location in case of bypass configuration. Four types,
identified by the keyword normal, on nozzle, in bypass and down bypass, are respectively used to
locate the row before the nozzle (inlet fan), on the nozzle (arm), in the bypass and in the
compressor.
Row Periodicity
The periodicity defines the number of main blades in the row.
Row Rotation Speed
The row rotation speed will always be read from ".trb" file, but it will be saved in both ".trb" and
".geomTurbo" files to avoid loosing this data in ".geomTurbo" file. However when initializing a
project from a ".geomTurbo" file, the rotation speed can be read from ".geomTurbo" if keyword
"ROTATION_SPEED" available.
Blade Definition
The blade(s) and possibly the splitter(s) are defined by a name and two surfaces defining the
pressure and the suction side. The surfaces are identified by the keywords pressure and suction:
The gap and/or fillet can be defined and are saved in both ".geomTurbo" and ".trb" files. The info
provided in the ".geomTurbo" will have the priority if different from the info in ".trb" file.
The pressure side and the suction side are defined by a set of cross sections of the blade at several
spanwise location. Each section is defined by a set of points:
The coordinate types of each sections are identified by the following keyword: ZR, XYZ, RTHZ,
ZRTH, THRZ, RZTH,... where X,Y and Z are the 3 Cartesian coordinates and R,TH and Z are the
3 cylindrical coordinates.
In AutoGrid5™ the rows and blades can be named by the user. These names are appearing in the
".geomTurbo" file and are used in the ".trb" file. In case the user wants to use a template for different
".geomTurbo" files, the row and blade names should be the same.
When the surfaces defining the blade are physically ruled and that the blade is defined through a
set of sections within the ".geomTurbo" file, user must take care to select the same number of
points to define each section. In addition, when using the keyword uniform_parametrization,
the ith point of the first section will be connected to ith point of the second section.
Example:
Section_1
XYZ uniform_parametrization
36
0.5 0.3 0.1
...
Section_2
XYZ uniform_parametrization
36
0.55 0.35 0.11
...
When having a blunt leading and trailing edges, "BLENT_ AT_ LEADING_ EDGE" and
"BLENT_AT_TRAILING_EDGE" keywords are saved in the ".geomTurbo" file if the blend
treatments are activated in the GUI.
Control Lines Format (Optional)
The definition of the control lines as inlet, outlet, rotor-stator or additional control lines can be
defined as polylines by the user by adding a section in the ".geomTurbo" file after the channel
definition and before the row(s) definition.
4.2
IMPORT CAD
The Import CAD window is started by clicking on Import and Link CAD (in Expert Mode)
or Init From an External CAD File (in Basic Mode) in the Quick Access Pad Geometry
Definition subpad.
FIGURE 4.2
Import CAD window
4.2.1 Menu Bar
The menu bar gives access to several options which can be useful during the setup of a project.
l The pull-down menu File used to import and/or export geometry data in several CAD formats.
l The pull-down menu Geometry used to perform some geometry editing operations such as
creation of geometric entities
l The pull-down menu Edit used to specify the rotation axis of the configuration being defined.
l The pull-down menu View used to perform interactive viewing operations.
l The pull-down menu Select used to perform interactive selection operations.
l The pull-down menu Tools used to measure distance and angle in the view.
File Menu
Open...
File/Open... is used to import geometry data from a file. A file chooser is opened to select a CAD
file with one of the following extensions:
l '.igs', '.IGS', '.iges', '.IGES' : IGES files.
l '.dat', '.geom', '.dst' : IGG™ geometry files.
l '.X_T', '.xmt_txt' : Parasolid™ files.
l '.geomturbo', '.geomTurbo' : AutoGrid™ geometry files.
l '.CATpart' : CATIA V5 files (license key required).
FIGURE 4.3
Data Files selection window
A geometry can be correctly represented only if it is fully included in a cube between the points (-
500,-500,-500) and (500,500,500) due to the Parasolid™ library limitation.
When units are imposed in the IGES file, these are purely informative and will not be used by
AutoGrid5™.
Open IGES
File/Open IGES is used to import CAD data stored in the standard IGES format. When names
are defined for entities in the IGES file, AutoGrid5™ uses them for the new entities created in the
repository.
FIGURE 4.4
IGES file browser
This option provides a powerful browser to scan the content of an IGES file and selectively
import IGES entities recognized by AutoGrid5™. In the case of composite curves and surfaces,
the browser allows to view each component defining the entity and to select them individually.
Filters, reserved to expert users, allows to filter the data viewed by the browser. Each filter
corresponds to a criterion defining if entities with the corresponding attribute set accordingly will
be displayed in the browser/imported.
It might be useful to uncheck the Blank Filter/Blanked item in order to import only the entities
meant to be visible and get a clear view of the intended geometry. The same holds for the Entity
Use Filter with only the geometry item checked.
For the Subordinate Filter items, it might be useful to also have the both item checked if top-
level entities cannot be translated, preventing the importation of their depending entities.
The Filters default settings have the following items checked: all Blank Filter items, all Entity
Use Filter items but the definition item, the Subordinate Filter independent and logical items,
all Hierarchy Filter items.
See the IGES reference manual for a complete understanding of all filter values. The list of
available IGES entities that can be imported in AutoGrid5™ are presented in the next table.
Entity Type Nr
Entity Type
100
102
104
106
110
112
114
116
120
122
126
128
130
140
142
144
158
196
Circular Arc
Composite Curve
Conic Arc
Copious Data (only curves and not points in IGG™)
Line
Parametric Spline Curve
Parametric Spline Surface
Point
Surface of Revolution
Tabulated Cylinder
Rational B-spline Curve
Rational B-Spline Surface
Offset Curve (only uniform offset in IGG™)
Offset Surface
Curve On Parametric Surface
Trimmed Parametric Surface
Sphere
Spherical surface
When units are imposed in the IGES file, these are purely informative and will not be used by
AutoGrid5™.
Export/All Geometry...
File/Export/All Geometry... is used to save all geometry curves and surfaces into an ASCII file
with extension ".dat", using the IGG™ geometry file format, combined with a Parasolid™ ".xmt_
txt" file.
Export/Parasolid...
is used to save the selected geometry curves and surfaces into a
File/Export/Parasolid...
Parasolid™ format. It was already automatically done when saving the project for Parasolid™
entities (e.g. from Parasolid™ or CATIA import) but not for SISL entities (e.g. entities manually
created in AutoGrid5™, IGES import). In AutoGrid5™, only wireframe and sheet bodies are
created from a collection of curves and surfaces and no volume model.
Close
File/Close closes the current Import CAD session and opens a new one. All curves and surfaces
are removed without been saved from the geometry repository.
Exit
File/Exit is used to close the Import CAD window.
The geometry entities imported in the Import CAD window session are not deleted by this action.
When reopening the Import CAD window, it shows still all entities.
Geometry Menu
The Geometry menu provides simple and efficient tools to create, edit and delete points, curves
and surfaces. Without having the complexity of CAD systems, it allows to create wire or surface
models from scratch or to complement imported geometries. The menu allows to:
l create and edit basic and advanced curves and surfaces,
l visualize and probe the geometry entities,
l perform advanced geometry operations such as surface- surface intersection, offsetting...
including attraction features to points, curves and surfaces.
The Geometry menu is inherited from the IGG™ technology. Please refer to the IGG™ User
Manual.
Edit Menu
Geometry Axis...
Edit/Geometry Axis... is used to specify the rotation axis of the rotating parts of the configuration
under definition by the user. By default, the z-axis is assumed to be this rotation axis. The rotation
axis is defined by the position of the origin of the axis (X,Y,Z coordinates) and a direction vector
(dx,dy,dz components). The modification is validated when pressing Apply.
View Menu
View Solid
View/View Solid is used to toggle the display of the solid triangulated representation for the
selected surfaces. If a surface does not have any triangulated representation yet, one will be
created with default settings.
A triangulated representation with custom settings can be generated using Geometry/View/Prepare
View.
Select Menu
Surfaces
Select/Surfaces allows the user to select or unselect one or more visible surfaces with the mouse.
When selected, the boundary curves of the selected surfaces appear highlighted in yellow
(default) else they appear in blue.
Surface selection is possible by simple positioning of the mouse over the surface. When several
surfaces are stacked on top of each other, AutoGrid5™ provides a way to sweep through the
surfaces before selecting the desired one. The following prompt appears when selecting this
option:
Subsequent operations are done with the mouse in the graphics area:
l Move the mouse to a surface to select (unselect). The surface is ready for selection
(unselection) when it becomes highlighted in blue.
l Left-click to select (or unselect) the surface. The surface changes its highlight to reflect its new
selection status.
l It is possible to select several surfaces at once by defining a selection rectangle. This rectangle
can be specified by pressing the left mouse button without releasing it and dragging the mouse.
Releasing the left button will select all the surfaces totally included in this rectangle.
l When several surfaces are stacked on top of each other, in the direction of the user's eyes,
AutoGrid5™ takes by default the closest surface to the user. The user can sweep through the
surfaces by middle-clicking the mouse, until the desired surface is highlighted. Left-click then
allows to select the highlighted surface.
l Pressing the right button or <q> terminates the selection process.
It is possible to select or unselect all surfaces at once by pressing <a> in the graphics area. The first
time <a> is pressed all the surfaces are unselected. The next time, <a> acts as a toggle.
Curves
Select/Curves allows the user to select or unselect one or more visible curves with the mouse.
When selected, the curves appear highlighted in yellow (default) else they appear in blue. The
following prompt appears when selecting this option:
Subsequent operations are done with the mouse in the graphics area:
l Moving the mouse over a non-selected curve highlights it,
l Pressing the left mouse button selects it,
l Pressing one more time unselects it,
l Pressing the left mouse button without releasing it and dragging the mouse draw a rectangle.
Releasing the left button selects all the curves having a part in this rectangle,
l Pressing the right button or <q> terminates the selection process.
It is possible to select or unselect all curves at once by pressing <a> in the graphics area. The first
time <a> is pressed all the curves are unselected. The next time, <a> acts as a toggle.
Surface List ...
A surface chooser, showing all the surfaces in the geometry repository, is opened to select the
surfaces. The selected surfaces are highlighted. To make one or more surfaces selected, choose
them with the left mouse button in the chooser, then press Apply. The boundary curves of the
surfaces are automatically highlighted in yellow in the graphics area.
The <Ctrl> key is used in combination with the left mouse button to select several surfaces in the
chooser.
The <Shift> key is used in combination with the left mouse button to select a range of surfaces in
the chooser. A range of surfaces can also be selected by pressing the left button, dragging the
mouse and releasing the left button.
A filter, using regular expression search, is provided to select or unselect surfaces by their name.
Curve List ...
A curve chooser, showing all the curves in the geometry repository, is opened to select the curves.
The selected curves are highlighted. To make one or more curves part of the selection, select them
with the left mouse button in the chooser, then press Apply. The curves automatically appear
highlighted in yellow in the graphics area.
The <Ctrl> key is used in combination with the left mouse button to select several curves in the
chooser.
The <Shift> key is used in combination with the left mouse button to select a range of curves in
the chooser. A range of curves can also be selected by pressing the left button, dragging the
mouse and releasing the left button.
A filter, using regular expression search, is provided to select or unselect curves by their name.
Invert Selection
Select/Invert Selection toggles the selection status for each curve and surface in the geometry
repository. The geometry selection representation, which is highlighted in yellow in the graphics
area, is automatically updated
Hide Selection
Select/Hide Selection hides the selected curves and surfaces, i.e. the selected curves and surfaces
are no longer visible in the graphics area.
Curves and surfaces visibility can be controlled further by using Geometry/View/Curves... and
Geometry/View/Surfaces...
Tools Menu
Tools/Distance and Tools/Angle allow the user to respectively measure a distance or an angle in
the view.
4.2.2
Viewing Buttons
The viewing buttons allow the user to perform viewing manipulations on the geometry data. They
are all inherited from the IGG™ technology.
From left to right, the viewing buttons are the following:
l X, Y, and X projection buttons.
l Coordinate axis
l Scrolling
l 3D viewing button
l Rotate around X, Y or Z axis
l Zoom in/out
l Region zoom
l Fit button
l Original button
l Cutting plane
For further details, please refer to Viewing Buttons.
4.2.3 Quick Access Pad
The Quick Access Pad is located on the left of the Import CAD window. It contains one subpad
Geometry including the Geometry Groups page allowing the creation, the deletion and the
visualization of geometry groups, which can contain curves and/or surfaces.
When importing CATIA V5 data, a geometry group is automatically created for each solid model
contained within the file. The name of the group is the name of the corresponding solid model.
For further details, please refer to section View Subpad.
4.2.4 Graphics Area Interaction
Overview
The Import CAD window allows the user to define the geometry for a configuration by importing
external geometry files. The curves and surfaces in the geometry repository can be interactively
selected by the user. Once selected, geometry entities can be linked to a configuration entity such
as the hub, the shroud, the blade,...
The Check Surfaces option allows to automatic check the geometry when linking the blade
surfaces, blade leading/trailing edges. The status of the checks is displayed into a Blade Geometry
Check dialog box.
When the blade is defined by multiple surfaces, a single body will be created using a tolerance to
fill the potential holes between the surfaces defining the blade. When clicking on the Check
button, AutoGrid5™ checks if the body can be created within the specified tolerance. If not, the
tolerance is automatically adapted and the user can manually increase the tolerance in case of
failure.
"Link to..." Description
In the graphics area of the Import CAD window, the capabilities of linking geometry curves and
surfaces to configuration entities, whether in meridional representation or in 3D- space, are
accessed by pressing the right mouse button after selecting the curves and surfaces (highlighted in
yellow) in the graphics area.
All operations on a body (edge reversing, transformation,...) in import CAD should be done before
the first link involving some entities of this body.
The operation is linking a geometry to a specific entity of the configuration that should be selected
in the configuration before performing the link otherwise the user may be requested to specify the
entity. For example when linking curve to leading edge of the blade, the concerned blade should
be selected in the configuration.
Link to Hub
Link to Hub is used to link a curve selection to the hub of the configuration. The meridional
representation of the hub is updated to display the new hub geometry.
When importing a single curve, the orientation of the curve will be taken into account.
When importing several curves, the Z minimum from all the end points of the imported curves will
be set as the starting point of the meridional curve whatever the orientation of the curves is. This may
lead to a reversed hub/shroud curve that needs to be manually reversed. Merging the curves in a
single curve in the Import CAD window allows to control the curve orientation before importing it.
Link to Shroud
Link to Shroud is used to link a curve selection to the shroud of the configuration. The
meridional representation of the shroud is updated to display the new shroud geometry.
When importing a single curve, the orientation of the curve will be taken into account.
When importing several curves, the Z minimum from all the end points of the imported curves will
be set as the starting point of the meridional curve whatever the orientation of the curves is. This may
lead to a reversed hub/shroud curve that needs to be manually reversed. Merging the curves in a
single curve in the Import CAD window allows to control the curve orientation before importing it.
Link Non Axi to Hub
Link Non Axi to Hub is used to link a surface selection to the active row of the configuration in
case of a non-axisymmetric hub.
Link Non Axi to Shroud
Link Non Axi to Shroud is used to link a surface selection to the active row of the configuration
in case of a non-axisymmetric shroud.
Link Non Axi to Shroud Gap
Link Non Axi to Shroud Gap is used to link a surface selection to the tip gap of the
configuration in case of a non-axisymmetric shroud gap.
Link to Nozzle
Link to Nozzle is used to link a curve selection to the nozzle of the configuration. The meridional
representation of the nozzle is updated to display the new nozzle geometry. This item only
appears in case of bypass configuration
Import Meridional
Import Meridional is used to import the geometry selection in the meridional representation.
Geometry selection may contain surfaces but those will not be taken into account by the import
process. Only the curves in the geometry selection will effectively be imported and displayed in
the meridional representation.
Link to 3D Effect
Import 3D is used to import the geometry selection and link it to the selected 3D effects.
Link to Blade
Link to Blade is used to link a surface selection to the active blade. That surfaces set will thus
compose the blade surface geometry. The meridional representation of the blade is updated in
order to display the new blade representation.
Link to Pressure/Suction Side
Link to Pressure Side/Link to Suction Side is used to link a selection of surfaces respectively to
the pressure/suction side of the active blade. The blade is assumed blunt at both edges and is not
compatible with Link to Blade. In particular, this link overrides the link to the blade geometry.
Link to Leading Edge
Link to Leading Edge is used to link a curve selection to the leading edge of the active blade.
The meridional representation is updated in order to display the new leading edge geometry.
For a blunt leading edge, only one leading edge curve of the two blade sides should be selected.
Link to Trailing Edge
Link to Trailing Edge is used to link a curve selection to the trailing edge of the active blade.
The meridional representation is updated in order to display the new trailing edge geometry.
For a blunt trailing edge, only one trailing edge curve of the two blade sides should be selected.
Link to Hub Gap
Link to Hub Gap is used to link a curve selection to the hub gap geometry for the active blade.
The curve orientation must be from leading to trailing edge. The meridional representation is
updated in order to display the hub gap geometry.
Link to Shroud Gap
Link to Shroud Gap is used to link a curve selection to the shroud gap geometry for the active
blade. The curve orientation must be from leading to trailing edge. The meridional representation
is updated in order to display the shroud gap geometry.
Link to Hub Fillet
Link to Hub Fillet is used to link a surface selection to the active blade including a fillet at hub.
That surfaces set will thus compose the blade fillet surface geometry. Before linking fillet
geometry, a fillet should be added on the blade with Gap/Fillet / Define Hub Fillet menu in the
Row Definition subpad (Quick Access Pad).
In this configuration in the Fillet Properties dialog box ( "Blade Fillet" (p. 229) ), the fillet is
automatically set with a Butterfly topology, and is specified as Defined Shape and the
corresponding meridional curve (where the skin block will be split) is automatically computed at
linking.
Link to Shroud Fillet
Link to Shroud Fillet is used to link a surface selection to the active blade including a fillet at
shroud. That surfaces set will thus compose the blade fillet surface geometry. Before linking fillet
geometry, a fillet should be added on the blade with Gap/Fillet / Define Shroud Fillet menu in
the Row Definition subpad (Quick Access Pad).
In this configuration in the Fillet Properties dialog box ( "Blade Fillet" (p. 229) ), the fillet is
automatically set with a Butterfly topology, and is specified as Defined Shape and the
corresponding meridional curve (where the skin block will be split) is automatically computed at
linking.
Link to Inlet
Link to Inlet is used to link a curve selection to the inlet geometry of the active row.
Link to Outlet
Link to Outlet is used to link a curve selection to the outlet geometry of the active row.
Link to Outlet Up
Link to Outlet Up is used to link a curve selection to the second outlet (upper outlet) geometry of
the active row. Therefore the active row should be the row just before or on the nozzle. This item
only appears in case of bypass configuration.
All link operations replace the previous link, if any. If the entity is composed of multiple curves or
surfaces, a multiple selection is therefore required (using < Shift > - left- click) before the link
operation is applied. For instance, the two sides surfaces of a blade must be selected before invoking
the link command.
Link to Snubber
Link to Snubber... is used to link a geometry selection to the active snubber. Before linking the
snubber geometry, a snubber should be added on the row with Add Snubber menu in the Row
Definition subpad (Quick Access Pad).
Only one snubber can be defined per row.
The snubber can be defined by a 2D or a 3D geometry:
l If the geometry is of revolution, it is possible to link only 2 meridional curves, an upper and
lower one. The system will automatically create the corresponding 3D axisymmetric geometry.
Link to Snubber... > Meridional Curve Up/Down is used to link a curve selection
respectively to the upper/lower curve of the active snubber.
Curves used to define meridional curve up and down parts should be defined from inlet to outlet and
not as B-splines.
l If the geometry is 3D, three snubber parts should be defined: the snubber surfaces, the snubber
leading and trailing edge.
l If the snubber geometry is created in a blade passage, there is then only one link per part
and it should be linked on the blade pressure side: Link to Snubber... > Surfaces on
Blade Pressure Side/Leading Edge on Blade Pressure Side/Trailing Edge on Blade
Pressure Side.
l If the snubber geometry is created on each side of the blade, there will be two links per part,
one link for the blade pressure side (Link to Snubber... > Surfaces on Blade Pressure
Side/Leading Edge on Blade Pressure Side/Trailing Edge on Blade Pressure Side)
and one for the blade suction side (Link to Snubber... > Surfaces on Blade Suction
Side/Leading Edge on Blade Suction Side/Trailing Edge on Blade Suction Side).
When the snubber geometry is created on each side of the blade, the distinction between pressure and
suction sides is not important, both sides can be inverted, only the separation is important.
The possible closing surfaces at
definition.
the snubber periodic side should not be part of the geometry
The snubber surfaces should clearly and completely intersect blade geometry even if it may work if
lying completely on blade surface.
When the snubber is defined by a 3D geometry, a fillet can be added on the snubber on both
blade sides. Link to Snubber.... > Fillet on Blade Pressure/Suction Side is used to link a
surface selection to the active snubber including a fillet on respectively the blade pressure and
suction side. That surfaces set will thus compose the snubber fillet surface geometry.
When the fillet geometry is added on each side of the blade, the side should be coherent with the
snubber geometry definition.
4.3
HUB/SHROUD EDITING
The hub & shroud are defined by their meridional trace (ZR coordinates). They define the
spanwise boundaries of the domain. The geometry of the hub and the shroud are defined using
curves in (x,y,z), (r,theta,z) or (r,z) coming from a ".geomTurbo" file (NUMECA turbomachinery
geometry file format) or from external CAD files (Parasolid™, CATIA V5, IGES format).
Edit Hub/Shroud
Furthermore, in the Quick Access Pad Geometry Definition subpad, the Edit Hub/Edit Shroud
(Edit Nozzle in by-pass configuration) menus allow to edit and adapt the shape of the hub and
shroud (nozzle) in the meridional view.
When selecting Edit Hub or Edit Shroud, the control of the hub or shroud is done through the
editing of an edge and its vertices.
Vertices can be:
l added. Use the <i> shortcut,
l deleted. Right-click on an intermediate vertex to pop-up the corresponding menu,
l moved. Left-click on a vertex to select it, move it and left-click again to fix it.
FIGURE 4.5
Move/Add vertex
Once the edge is correctly positioned, right-click to quit the editing tool. All the channel is
recomputed according to the modification as shown in the next figure where the hub is
represented by a green dashed line (representation mode when the hub is not completely mapping
on basic curves).
FIGURE 4.6
New hub definition
Non-Axisymmetric Hub/Shroud
The end walls of a usual turbomachinery configuration are defined by axisymmetric surfaces. The
geometry of these end walls are defined by the hub and shroud curves in meridional coordinates.
When the real end walls are non axisymmetric surfaces, the mesh is obtained in two steps:
l generate an axisymmetric mesh,
l axisymmetric mesh adaptation to the specified non-axisymmetric end walls.
Please refer to dedicated tutorial for more details.
When a configuration is including a bulb, the bulb hub surface points are not projected on the non-
axisymmetric surfaces even if the definition covers the hub surface in bulb blocks.
FIGURE 4.7
Non-axisymmetric end walls
In addition to the axisymmetric hub and shroud curves defining the meridional domain, 3D
surfaces defining the non-axisymmetric end walls must be defined. These can be directly specified
in the ".geomTurbo" file or imported through the Import CAD window of AutoGrid5™.
From ".geomTurbo" File
The non-axisymmetric surfaces are stored in external IGG™ data file and specified into the
".geomTurbo" file using the following format:
Any type of surface created and stored by IGG™ can be used to defined the non-axisymmetric
end walls.
From Import CAD
The non-axisymmetric surfaces can be imported from external CAD files. The contextual menu of
the import window allows the user to link imported surfaces to the hub and/or shroud definition.
FIGURE 4.8
Import CAD contextual menu for non-axisymmetric end walls
Mesh Generation Control
The non-axisymmetric end walls generation is controlled into the Row Properties dialog box
accessed by right- clicking on the selected row in the main graphics area and by selecting
Properties from the list of commands. An alternate method consists in right-clicking over the row
i in the Rows Definition subpad of the Quick Access Pad, then in selecting Properties from the
list of commands.
The options Non- Axisymmetric Hub & Shroud are used to enable or disabled the mesh
adaptation on the specified non axisymmetric surfaces.
If the non axisymmetric surfaces do not intersect the axisymmetric mesh, the 3D mesh is
automatically projected on the end walls based on the spanwise grid line direction.
The option Repair Non-projected Points allows to correct non-well projected points (i.e. when
the mesh points on boundaries are close to hub or shroud surface limits).
is advised to cover whole row's hub/shroud surfaces with non-
When the option is active,
axisymmetric surfaces definition otherwise the repair may result into unexpected hub/shroud points
projection. In the case, the non-axisymmetrc hub/shroud surfaces definition is not covering all row's
hub/shroud surface it is advised to not activate the option.
it
The options Display Non-Axisymmetric Hub & Shroud are used to display the surfaces in the
3D view.
To obtain a correct behavior, the surfaces must cover all the hub or shroud blade to blade domain
of the axisymmetric mesh. If the specified surfaces do not cover the entire domain in azimuthal
direction as shown in FIGURE 4.9, the Geometry Repetition options allow the user to repeat the
entered surfaces by rotation until the new surfaces cover the domain.
At the end of the 3D blade row generation, the mesh adaptation is performed automatically. The
axisymmetric mesh is adapted by hub to shroud grid points redistribution along the curve obtained
by intersecting the surfaces with the hub to shroud grid lines.
FIGURE 4.9
Surfaces repetition ensure full domain covering
4.4
BLADE EDITING
4.4.1
Blade Expansion
The Blade Expansion dialog box is accessed by right-clicking on the selected blade in the main
graphics area and by selecting Geometry/Expand from the list of commands. An alternate
method consists in right-clicking over the Main Blade (splitter) in the Rows Definition subpad
of the Quick Access Pad, then in selecting Geometry/Expand from the list of commands.
FIGURE 4.10
Blade Expansion dialog box
Force Blunt at Leading Edge
Force blunt at leading edge is used to specify whether or not the blade geometry has to be
considered as blunt in the region of the leading edge.
Force Blunt at Trailing Edge
Force blunt at trailing edge is used to specify whether or not the blade geometry has to be
considered as blunt in the region of the trailing edge.
Stitch surfaces at LE & TE
Stitch surfaces at LE & TE is used when a blade geometry is defined by a native ".geomTurbo"
file to fit leading and trailing edge of pressure and suction sides along the spanwise direction when
the leading and/or trailing edge are very curved (i.e. inducer, twisted blade,...) and the blade is
defined by few sections in ".geomTurbo". In such cases, a discontinuous shape in the blade-to-
blade view may result when reconstructing the section. This option is by default set to None and
to Lofting with guide if a fillet has its geometry creation from meridional curve.
Two approaches Inverse lofting and Lofting with guide are proposed to fit leading and trailing
edge. The Inverse lofting approach is fixing a common leading and trailing edge curves for
pressure and suction sides and then a lofting is performed in streamwise direction. While the
Lofting with guide approach is after fixing a common leading and trailing edge curves for
pressure and suction sides performing a lofting in spanwise direction. This last approach is
respecting more the original blade definition especially when blade defined by few sections in
native ".geomTurbo" and is active when the keyword "blade_tangential_definition" is set to 1 in
the blade definition in the ".geomTurbo".
Apply a Rotation
Apply a rotation is used to rotate the blade around a user-defined axis, but is only available for
native ".geomTurbo" blades. The axis and anchor point fields expect three floating point
coordinates while the angle value is given in degrees.
This item is not available if the blade has been linked by mean of the CAD import tool.
Sewing Tolerance
Sewing tolerance is used to define a tolerance value during CAD import, in order to sew the
surfaces that define the blade. The default tolerance value is set as 1e-006. Too small values may
leave many unwanted holes/gaps, while too large values can result in the unwanted deletion of
some faces, and can also lead to unwanted gaps.
Expansion at Hub/ shroud
An optional expansion can be applied when the blade geometry has to be extended towards the
hub and/ or shroud surface of revolution. Four options are available.
Unchanged
This choice is the default and leaves the original blade surfaces unchanged or restores the original
surfaces when another option was previously activated.
Expand
An expansion can be specified by the user when the blade geometry has to be extended towards
the hub and/ or shroud surface of revolution so that the blade intersects the hub/ shroud definition.
l In case of native "geomTurbo" format, the input value is treated as an expansion factor.
l In case of geometry definition through CAD import, two input boxes appear: Cut offset and
Extension offset. These inputs allow respectively to define the absolute hub/ shroud offset to
cut the blade and the absolute blade extension over the hub/ shroud.
FIGURE 4.11
Definition of blade offset from hub with schematic sketch
Treat blend
When the blade geometry and the hub/ shroud surface of revolution connect tangentially by mean
of a blend, a special treatment needs to be applied in order to ensure proper intersection
computation between the blade and the hub/ shroud.
The method used to handle such cases can be summarized as follows:
l Creation of a virtual hub/ shroud by offsetting the hub/ shroud surface of revolution according
to user specified parameter(s).
l Intersection of the blade and the virtual hub/ shroud.
l Extension of the blade geometry towards the hub/ shroud surface of revolution starting from
these intersection curves. The extension is performed tangentially to the blade geometry and
ensures that the new blade geometry and the hub/ shroud do intersect.
l The blade geometry is replaced by this new definition and any dependent configuration entity
is updated, e.g. the leading and trailing edges are modified to remain consistent with the new
blade geometry definition.
With this input method, the cutting offset is built from the curvature radius of the blend and the
minimum angle at which the blade should intersect the hub/ shroud.
Treat blend with offset
This treatment consists in the same steps as treat blend, but the cutting offset is input directly as a
distance.
Cut fillet
This treatment is automatically used and only used when defining a fillet on blade without
geometry creation (only for fillet butterfly topology ("Blade Fillet" (p. 229)) when the fillet
definition is included in the blade definition) to cut the blade at the fillet layer (specified radius in
Fillet Properties dialog box), remove the fillet part (keeping it for fillet meshing) and expand the
resulting straight blade towards the channel.
Section extension
This treatment is automatically used and only used when defining a blade with rounded tip
topology using the marine propeller row wizard. This blade extension method is based on a
section translation:
l the blade is intersected at the gap layer.
l the blade is intersected at a second layer above the gap layer defined by the parameter Span
Cut Percentage (from gap). This parameter defines the relative distance from 0 to 1 between
the gap layer and the leading/trailing edge end point where the blade will be intersected the
second time.
l this second intersection is translated above the shroud.
l the original blade is split at the first intersection and the upper part is removed.
l lofted surfaces are created between the first and the translated second intersection.
l lofted surfaces are added to the split blade definition to obtain the final geometry.
FIGURE 4.12
Section extension method
The section extension method is not valid for native geomTurbo format and is only applicable for
geometries linked by mean of the CAD import tool.
4.4.2 Hub/Shroud Gap
When the blade geometry is not connected to the hub or shroud surface of revolution, a gap
should be defined on the blade. The Gap Properties dialog box (more details in Hub/Shroud
Gaps Control) is accessed by right-clicking on the selected blade or row in the main graphics area
and by selecting Gap/Fillet/Define Hub Gap or Gap/Fillet/Define Shroud Gap from the list of
commands. An alternate method consists in right-clicking over the row or the Main Blade
(splitter) in the Rows Definition subpad of the Quick Access Pad.
FIGURE 4.13
Gap Properties dialog box
When the gap has been added, a popup menu is available in the Rows Definition subpad of the
Quick Access Pad when right-clicking on Hub gap or Shroud gap items allowing to modify the
settings of the gap or to delete the gap.
4.4.3 Hub/Shroud Partial Gap
In some configurations a blade can be rotated on itself. For that purpose the blade is attached to a
penny (at hub and/or shroud) which represents the rotation axis. In order to avoid that the blade
intersects the channel during its rotation, a partial gap is created before and/or after the penny,
depending on the penny size and location.
The Partial Gap Properties dialog box (more details in Hub/Shroud Partial Gaps Control) is
accessed by right-clicking on the selected blade in the main graphics area and by selecting
Gap/Fillet/Define Hub Part Chord Gap or Gap/Fillet/Define Shroud Part Chord Gap from
the list of commands. An alternate method consists in right- clicking over the Main Blade
(splitter) in the Rows Definition subpad of the Quick Access Pad.
FIGURE 4.14
Partial Gap Properties dialog box
When the partial gap has been added, popup menu is available in the Rows Definition subpad of
the Quick Access Pad when right-clicking on Hub partial gap or Shroud partial gap items
allowing to modify the settings of the partial gap or to delete the partial gap.
4.4.4 Non-Axisymmetric Shroud Gap
In AutoGrid5™, meshing a multiblade (one or more splitters) configuration with different tip gap
heights is possible at the condition that tip gap meridional profiles do not intersect and that there is
enough space between each of them to be able to insert mesh layers (flow paths).
In order to overcome this limitation, a technique similar to hub and shroud non-axisymmetric
treatment (more details here) is available for non-axisymmetric tip gap.
FIGURE 4.15
Non-axisymmetric shroud gap
When the real tip gap is defined by non-axisymmetric surfaces, the mesh is obtained in two steps:
l generate a mesh with an axisymmetric tip gap,
l axisymmetric mesh adaptation to the specified non-axisymmetric tip gap.
The axisymmetric gap curve should be lower than the non-axisymmetric surfaces in order that the gap
mesh intersects these surfaces. Otherwise gap spanwise grid lines should be extended to intersect these
surfaces and it will lead to a non matching connection with the channel mesh.
In addition to the axisymmetric curve defining the shroud gap, 3D surfaces defining the non-
axisymmetric shroud gap must be defined. These can be directly specified in the ".geomTurbo"
file or imported through the Import CAD window of AutoGrid5™.
To obtain a correct behavior, the non-axisymmetric surface(s) defining the shroud gap:
l should cover all the domain (blades + channel parts),
l should cross all the blades including the non-axisymmetric shroud gap.
From ".geomTurbo" File
The non-axisymmetric surfaces are stored in external IGG™ data file and specified into the
".geomTurbo" file using the following format:
NI_BEGIN NINonAxiSurfaces tip_gap
NAME non axisymmetric tip gap
REPETITION 3
EXTERNAL
nonaxitipgap.dat
NI_END NINonAxiSurfaces tip_gap
Any type of surface created and stored by IGG™ can be used to defined the non-axisymmetric
shroud gap.
From Import CAD
The non-axisymmetric surfaces can be imported from external CAD files. The contextual menu of
the import window allows the user to link imported surfaces to the shroud gap definition.
FIGURE 4.16
Import CAD contextual menu for non-axisymmetric shroud gap
Mesh Generation Control
The non-axisymmetric shroud gap generation is controlled into the Row Properties dialog box.
FIGURE 4.17
Row properties dialog box
The option Non-Axisymmetric Shroud Gap is used to enable or disabled the mesh adaptation
on the specified non axisymmetric surfaces.
The option Repair Non-projected Points allows to correct non-well projected points (i.e. when
the mesh points on boundaries are close to hub or shroud surface limits).
The option Display Non-Axisymmetric Shroud Gap is used to display the surfaces in the 3D
view.
To obtain a correct behavior, the surfaces must cover all the domain (blades + channel parts) of
the axisymmetric mesh. If the specified surfaces do not cover the entire domain, the Geometry
Repetition option allows the user to repeat the surfaces by rotation until the new surfaces cover
the domain.
At the end of the 3D blade row generation, the mesh adaptation is performed automatically. The
axisymmetric mesh is adapted by hub to shroud grid points redistribution along the curve obtain
by intersecting the surfaces with the hub to shroud grid lines.
4.4.5 Blade Fillet
The blade geometry can be connected to the hub or shroud surface of revolution by means of a
fillet. The Fillet Properties dialog box is accessed by right-clicking on the selected blade or row
in the main graphics area and by selecting Gap/Fillet/Define Hub Fillet or Gap/Fillet/Define
Shroud Fillet from the list of commands. An alternate method consists in right-clicking over the
row or the Main Blade (splitter) in the Rows Definition subpad of the Quick Access Pad.
FIGURE 4.18
Fillet Properties dialog box
When the fillet has been added, pop-up menu is available in the Rows Definition subpad of the
Quick Access Pad when right-clicking on Hub Fillet or Shroud Fillet items allowing to modify
the settings of the fillet or to delete the fillet.
FIGURE 4.19
Fillet popup menu
The fillet geometry can be defined in different ways:
l created by AutoGrid5™ with various methods,
l imported from Import CAD window using Link to Hub/Shroud Fillet,
l incorporated in blade definition either in native ".geomTurbo" or through Import CAD
window (Link to Blade).
When the fillet is not created by AutoGrid5™, the parameter Geometry Creation Method is set
to None in the Fillet Properties dialog box.
Depending of the mesh topology in the fillet, different methods are proposed in AutoGrid5™ to
create the fillet:
B2B section offset
When the Topology is not set to Butterfly:
l starting from the fillet flow path (defined either by radius at leading/ trailing edge or an external
curve) towards the channel flow paths (hub/ shroud), on each flow path the intersection of the
blade is computed.
l starting from this intersection, the blade geometry is enlarged according to the local radius. The
blade offset is computed to ensure the specified Minimum Angle.
l no surface is created and the mesh is directly mapped on the enlarged curves.
When the Topology is set to Butterfly:
l starting from the fillet flow path (defined either by radius at leading/ trailing edge or an external
curve) towards the channel flow paths (hub/ shroud), on a certain hard-coded number of layers
(distributed differently than the flow paths in spanwise direction), the intersection of the blade
is computed.
l starting from this intersection, the blade geometry is enlarged according to the local radius. The
blade offset is computed to ensure the tangency of the fillet with the channel flow paths (hub/
shroud).
l a lofted surface is created to interpolate the enlarged curves.
The method B2B section offset is not compatible with non- axisymmetric hub/ shroud. An error
message Could not create fillet geometry for blade. Fillet creation by B2B section offset is not
compatible with non axisymmetric channel is appearing during the mesh generation.
From meridional curve
The From meridional curve method only available when the Topology is set to Butterfly: the
fillet is created between the specified meridional curve (defined either by radius at leading/ trailing
edge or an external curve) and the channel (hub/ shroud) and will allow to impose the fillet
tangency at hub or shroud and on blade.
The method From meridional curve is not fully compatible with non-axisymmetric hub/ shroud
especially if the non-axi deviation is too large.
The method From meridional curve may lead to problem due to Parasolid limitations when the
specified radius is equal or bigger than the leading/ trailing edge radius.
Constant radius
The Constant radius method only available when the Topology is set to Butterfly . This
approach creates the fillet by rolling a ball along the blade (rolling ball method) on the hub/shroud
surface. This method will allow to impose the fillet tangency at hub or shroud and on blade but
also remove limitations of the From meridional curve method when combining fillet creation
with non axi hub/shroud surface.
When selecting the Constant radius method, the radius of the fillet is specified by the user, the
option Defined Shape option is automatically activated and the fillet meridional curve will be
computed to ensure that it is located everywhere above the fillet.
The method Constant radius may lead to a problem due to Parasolid limitations when the specified
radius is equal or bigger than the leading/ trailing edge radius.
4.4.6
Snubber on Blade
In AutoGrid5™, a snubber can be added to the row. The snubber is added on the active row in
the Add Snubber menu by right-clicking on the selected row in the Row Definition subpad
(Quick Access Pad).
Only one snubber can be defined per row.
The snubber configuration is not available with splitter configurations.
The channel orientation should be mainly streamwise otherwise problems may occur during the 3D
smoothing.
The snubber should not be too close to the blade leading and/or trailing edge, which could lead to
mesh generation failure. Similarly, when the snubber is including a fillet, there must always remain a
distance between the blade leading and trailing edges and the fillet surfaces. These surfaces must not
reach the blocks at the leading and trailing edge marked by the red dots in the following figure.
The snubber fillet surfaces must not cover the whole snubber in azimuthal direction. The fillet
surfaces must intersect or touch the straight snubber surfaces before the periodic boundary is reached.
Geometry Control
The snubber geometry is defined in 2D using meridional curves or in 3D using surfaces and
curves of the full 3D geometry. These can be directly specified in the ".geomTurbo" file or
imported through the Import CAD window of AutoGrid5™ (more details in Import CAD ).
When the snubber is defined in 3D, a fillet can be added to the snubber.
Example of ".geomTurbo" when the snubber 3D geometry is created in a blade passage and
the snubber fillet on both blade sides.
Even for a 3D snubber geometry, the snubber meridional curves "upper_curve" and "lower_curve"
are needed for the flow paths generation. Therefore AutoGrid5™ computes them automatically from
the intersection between the snubber pressure surfaces and the blade surfaces.
For a non-axisymmetric snubber, the periodicity of the snubber geometry has to be equal to the one
of the blade
Mesh Generation Control
A popup menu is available in the Rows Definition subpad of the Quick Access Pad when right-
clicking on the snubber item allowing to modify the settings of the snubber (Properties) or to
delete the snubber (Delete).
The snubber generation is controlled into the Snubber Properties dialog box (more details in
Snubber Controls).
FIGURE 4.20
Snubber Properties dialog box
4.4.7 Duplicate Blade Geometry/Topology
For some turbomachinery configuration like aircraft engines, it could be interesting to mesh the
stator upstream the nozzle arms with staggered angle varying with the azimuthal location of the
blade. Starting from a single stator blade, the option allows to duplicate the blade together with a
rotation around the blade and the rotation axis as presented in the next figure.
FIGURE 4.21
Aicraft engine configuration
The Blade Duplication dialog box is accessed by right-clicking on the selected blade in the main
graphics area and by selecting Duplicate from the list of commands. An alternate method consists
in right-clicking over the Main Blade (splitter) in the Rows Definition subpad of the Quick
Access Pad, then in selecting Duplicate from the list of commands.
FIGURE 4.22
Blade Duplication dialog box
The following parameters control the blade duplication:
l the amount of duplicates,
l the rotation angle step around the machine axis (default = row pitch angle),
l the rotation angle around the blade axis,
l the blade axis definition (blade rotation axis and anchor point).
The button Com pute Default Axis computes a default blade axis location by giving its
parametric location along the blade chord at the shroud using the entry Normalized axis location
on the chord. The default blade axis is always defined along a radial direction (Z=0).
FIGURE 4.23
Rotation around the blade axis
When pressing the button Duplicate, new blades are automatically added to the configuration tree.
Their geometries are copied from the original blade and rotated using the defined parameters. The
new blades inherit all the topological settings of the original blade.
FIGURE 4.24
Blade duplication of "Main Blade"
When the blade is duplicated, in the Row Properties dialog box, the Number Of Geometry
Periodicity of the row and the Number Of Meshed Passages fields are automatically updated
according to the amount of duplicates.
4.4.8 Leading/Trailing Edge Wizard
The leading and trailing edge curves can be defined by the user by adding a wizard to the blade
through the blade menu Geometry/Add Wizard LE TE. This menu will add an item Wizard
LE TE in the blade configuration tree.
The wizard is started when selecting the menu Start after right-clicking on the new item. The
wizard is composed be a set of dialog boxes. Each dialog box is related to the setup of a set of
parameters and contain buttons Cancel, OK, <<Back, Next>> or Finish to control the set up
process:
l The Cancel button suppresses all the parameters already set by the wizard.
l The OK button is used to quit the wizard and keep the parameters already set.
l The <<Back button is used to return to the previous dialog box
l The Next>> button is used to go the next dialog box.
l The Finish button (only in last dialog box) is used to quit the wizard and launch the 3D
generation.
Control Layers Definition
When starting the wizard, the dialog box controlling the layers is opened and the default layers are
displayed in the meridional view.
Control Layer Limits
The default layer limit can be controlled through the parameters Upstream control layer limit
and Downstream control layer limit. Their values are given in relative arc length location on the
hub.
A visual control should be performed in the meridional view to ensure that the layer cover the
domain of the blade definition.
Control Layer Clustering
The clustering at hub and shroud (Hub clustering/Shroud clustering) is controlled by giving a
ratio of the cell width corresponding to a uniform distribution of the layer.
AutoGrid5™ uses a geometrical progression to define the layer from hub to shroud. In addition,
the user can control the percentage of cell of constant width (% of Constant Cells), the number
of layers and the number of control points used to defined each layer.
Global Layer Control
When the blade has a very high staggered angle close to 90°, the technology that uses dm/r
minimum and maximum value is no more suitable. The options Very low leading edge angle
and Very high leading edge angle allow the user to switch to a more suitable technology (using
theta minimum and maximum).
When the blade does not cut the hub and/or the shroud, the user can specify that the first and the
last control layer must not be taken into account to compute the leading and the trailing edge by
deactivating respectively the options Use First Control Layer and Use Last Control Layer.
Expert Layer Control
The tolerance used to create the chord at leading or/and trailing edge can be decreased especially
in case of blade with a large width at leading and/or trailing edge.
The number of iterations steps and the number of points used to create the chord can also be
controlled.
Leading/Trailing Edge Location Definition
When the button Next>> is pressed in the Leading Edge & Trailing Edge: Control Layer dialog
box, default leading edge and trailing edge locations are computed and displayed in the XYZ
view and the dialog box Leading Edge & Trailing Edge: Edges Control is opened.
Active Layer
By default, all the layers are activated (displayed in yellow). The Active layer (0:all) parameters
can be used to select the layer on which the values of the following parameters will be applied.
When the value is not equal to 0, the active layer is automatically displayed in yellow and the
others ones in blue.
Edge Location Control
By default, AutoGrid5™ computes a location for the leading and trailing edge in 8 steps:
1. Generation of the control layer in the meridional plane,
2. Intersection between the control layer and the blade definition,
3. Projection of the intersection in the blade-to-blade plane (dm/r,theta),
4. Generation of the chord using as limit the dm/r minimum and maximum value by default,
5. Limit the chord using the blade width as reference cut distance,
6. Extend the chord to obtain a first location of the leading and trailing edge,
7. Repeat steps 4 to 6 to refine the location of the leading and trailing edge.
8. Finally, cspline curves (joining all the leading edge and trailing edge points defined from the
projection in the XYZ space of the points defined in the B2B space) are created and expanded
using first order prolongation.
The parameters Leading Edge Location and Trailing Edge Location allow the user to modify
the default location by giving a deviation of its parametrical position on the blade intersection. The
parameters can vary from 0 to 1.
Edge Expansion Control
The parameters Hub Expansion and Shroud Expansion control the expansion of the leading
edge and trailing edge curves in percentage of the spanwise height.
View B2B & Solid Body
The option View B2B switch the visualization from the 3D view in a blade-to-blade view.
The option View Solid Body allows to visualize the solid body of the blade in the 3D view.
The button Finish is used to replace the current definition of the leading and trailing edge curves
by the one created by the wizard. The options Update Leading Edge and Update Trailing
Edge are used to choose if the leading, trailing or both edges must be replaced.
The wizard is not available for blunt leading and trailing edge.
4.4.9
Sheet on Blade
A sheet can be added on the blade by right-clicking on the selected blade in the main graphics
area and by selecting Define Sheet from the list of commands. An alternate method consists in
right-clicking over the Main Blade (splitter) in the Rows Definition subpad of the Quick Access
Pad, then in selecting Define Sheet from the list of commands.
The sheet on blade is not compatible with span interpolation, sharp treatment, control lines on blade,
throat control and conjugate heat transfer/cooling options.
In the meridional plane, AutoGrid5™ imposes flow paths at the upper and lower sheet limit,
while in the blade-to-blade view, AutoGrid5™ imposes grid point clustering at the upstream and
downstream limits. The blade sheet is defined by 5 geometry characteristics:
l the upper and lower limits,
l the upstream and downstream limits,
l the sheet width.
In the Sheet Lower/Upper Zone dialog boxes available by right-clicking over the Lower/Upper
Zone in the Rows Definition subpad and selecting Properties, the upper and lower limit control
is performed using a way similar to the tip gap. For both, the user can control the width and
clustering in the spanwise direction through a dialog box identical to the dialog box used to
control the gap or the fillet.
The lower/upper zone are identical for all the blades of the same row.
In the Blade Sheet Properties dialog box available by right-clicking over the Sheet in the Rows
Definition subpad and selecting Properties, the upstream, downstream limits and the sheet width
can be controlled.
Lower Side, Upper Side, Both Side. A sheet can be added on the lower, the upper or on both
sides of the blade.
Distance From Leading/Trailing Edge. The sheet upstream and downstream limits are defined
by giving a distance from the leading and the trailing edge along the blade chord.
Streamwise Npts Near Leading/Trailing Edge. The streamwise number of points can be
controlled before and after the sheet definition (N1,N2). The number of points on the sheet is
equal to the number of points on the blade lower side and/or on the blade upper side - (N1+N2-2).
Width. The sheet width can be controlled. The skin block width is equal to the sheet width (w)
multiply by 2. Mid- clustering is imposed to capture the boundary layer of the sheet. The
optimization of the skin block is switched off.
4.5
CASCADE CONFIGURATION
By default, AutoGrid5™ is generating a mesh in an axisymmetric configuration turbomachine.
When creating a new project (File/New Project), a cascade configuration can be generated after
activating the Cascade option.
This type of configuration is defined by a translation periodicity instead of a rotation periodicity.
The geometry can be defined through Import CAD window in the same way as for an
axisymmetric configuration after defining the geometry reference axis and origin (Edit/Geometry
Axis...).
By default, the stream and span directions are respectively the Z- and X-directions.
In addition, the cascade configuration geometry can be defined using a ".geomTurbo" file, where
the channel and blades are defined similarly as for an axisymmetric configuration after setting the
cascade parameter to yes on the top of the file.
When the geometry is defined, in the row Properties contextual menu, a rational value for the
pitch distance between two successive blades (Periodicity) can be defined instead of the number
of blades imposed for an axisymmetric configuration.
FIGURE 4.25
Cascade Configuration - Periodicity
The mesh controls and generation are similar to the method used for an axisymmetric
configuration.
FIGURE 4.26
Cascade Configuration - 3D Mesh
4.6
BLADE GEOMETRY CHECK
Check Geometry
Once the properties of the blade geometry are defined, the user can check the correctness of the
definitions of the blade geometry using the Blade Geometry Check dialog box. This dialog box is
available from the Geometry/Check option in the contextual menu, and appears by right-clicking
on the Main Blade or Splitter in the Rows Definition subpad of the Quick Access Pad. When
the dialog box is opened, the blade sections and orientations are automatically displayed in the 3D
view.
The progress status displays a report about the blade definition status when the Check button is
selected. During the geometry check of a blade, AutoGrid5™ performs the following operations:
l check blade definition.
l check orientation of the blade section curves.
l loop detection into the blade section curves.
l loop detection between the blade sections.
Blade Definition Check
Using this checking criterion, blade surface definition is checked.
In addition, when the blade is defined by multiple surfaces using Import CAD window, a single
body will be created using a tolerance to fill the potential holes between the surfaces defining the
blade. When clicking on the Check button, AutoGrid5™ checks if the body can be created within
the specified tolerance. If not, the tolerance is automatically adapted and the user can manually
increase the tolerance in case of failure.
Streamwise Orientation Check
The blade sections must be streamwise oriented. If the hub and shroud are defined, AutoGrid5™
warns the user if the blade section is not correctly oriented.
This checking is available for ".geomTurbo" native format only.
Loop Detection - Distance Check
The distance check in loop detection process warns the user if the Control Points Distance
Criteria is reached. The default value of the distance between 2 consecutive blade sections
control points is 1e-006.
This checking is available for ".geomTurbo" native format only.
Loop Detection - Angle Check
The angle check in loop detection process warns the user if the Control Points Angle Criteria is
reached. The default value of the angle between 3 consecutive blade sections control points is
90.0.
This checking is available for ".geomTurbo" native format only.
Adapt Geometry
Once the blade geometry is checked, the blade definition can be adapted by performing the
following actions:
l data reduction, so as to remove potential loops,
l blade rotation around the Z axis,
l re-orientation of the blade sections,
l data reduction using the distribution of control points.
Data Reduction
A data reduction of the blade sections curve is performed if the Data Reduction option is
selected. The points detected in the loop search process are removed from the blade section
definition.
This process is available for ".geomTurbo" native format only.
Blade Sections Interpolation Loops
A second check is done on intermediate blade section curve to see if the interpolation of the
sections does not contain loops.
If the loops are detected in the intermediate curve section, then the loop locations are displayed in
the 3D view. A warning indicates that interpolation is wrong and contains loops. Problem of
interpolation often arises due to the way the sections are defined and in particular the control
points distributions on the sections. It is strongly advised to define the control points as smooth as
possible. If this process does not work, the Blade Geometry Check dialog box can be used to
redistribute the control points on each section by activating the option Control Points
Redistribution. When the option is checked, the blade sections are automatically recomputed
based on a user-defined control point distribution. The parameters controlling the distribution are
the following:
1. Control Points Number on the Leading Edge.
2. Control Points Number on the Middle.
3. Control Points Number on the Trailing Edge.
4. Number Of Constant Cells on the Middle.
5. Control Points Spacing at Leading Edge.
6. Control Points Spacing at Trailing Edge.
FIGURE 4.27
Control points redistribution settings
A geometric progression is used to assume minimum expansion ratio between the control points
to minimize the risk of loops after sections interpolation. In 99% of the test cases, after selecting
the Check button and discovering interpolation loop for one time, the default values provided by
AutoGrid5™ gives appropriated results.
This option can also be really useful in case of very accurate data entered for each section by the
user. This can be a reason of the slowness of the intersection process. To improve, Control
Points Redistribution option can be tried.
This process is available for ".geomTurbo" native format only.
Blade Rotation
A blade section rotation is applied around the Z-axis using the angle specified in the Original
Blade Data Rotation Angle input data field.
This option is available for ".geomTurbo" native format only.
4.7
BLADE GEOMETRY EXPORT
The Geometry/Export is a very useful feature to export blade geometry definition in
".geomTurbo" format. The created file contains the blade defined by two surfaces (pressure and
suction side). Each surface is defined by a set of cross sections (set of control points). This file can
be also used as a pre-processor of the blade fitting process of AutoBlade™ in case of blades
defined by external CAD data files.
The user can access the Geometry/Export option from the contextual menu, available by right
clicking on Main Blade or Splitter in Rows Definition subpad of the Quick Access Pad. It
opens the Export Blade Geometry dialog box.
FIGURE 4.28
Export Blade Geometry dialog box
The dialog box consists of the following features:
l Selection of Use Flow Path Definition check box allows to compute one blade section on
each flow path defined in the meridional view.
l Selection of Export Original Data check box allows to export the original data available in
the ".geomTurbo" file.
This option is available only if the original blade geometry data exists in a "geomTurbo" format.
l Set the Number Of Sections to define the number of blade sections to be computed in the
exported ".geomTurbo" file.
l Set the Number Of Points Near Leading Edge to define the number of control points at the
leading edge.
This option is not taken into account for blunt or sharp leading edge.
l Set the Number Of Points On Blade Sides to define the number of control points on pressure
and suction sides of the blade.
l Set the Number Of Points Near Trailing Edge to define the number of control points at the
trailing edge.
This option is not taken into account for blunt or sharp trailing edge.
l The clustering law between the leading edge area and the trailing edge area is defined by:
l The Number of Cst Cells. This number has to be less than the number of control points on
the blade sides defined in the Number Of Points On Blade Sides data input field.
l The Clustering At Leading Edge, defined as the normalized length of the leading edge
area.
l The Clustering At Trailing Edge, defined as the normalized length of the trailing edge
area.
l Selection of Export End Wall Definition check box allows to save the end wall definitions,
such as, hub and shroud flow paths polyline definition.
The Preview button is used to display in the 3D view the computed sections of the blade
geometry to be exported.
The Export button allows to export the computed sections in a ".geomTurbo" file. The file is
saved in the parent directory where the project or template is saved. The name of the file is
computed automatically using the name of the template, the name of the row, the name of the
blade and the parameters use to define the sections. This assumes that a unique name is used for
any kind of export process.
If there is any blank space in the parent directory path, AutoGrid5™ does not allow to export the
".geomTurbo" file and displays an error message.
CHAPTER 5.
ROW WIZARD
After defining the geometry, the row wizard offers an easy way to set up the mesh generation
parameters according to the type of the machine:
l wind turbine,
l axial, Francis, Kaplan turbine,
l inducer,
l axial compressor,
l centrifugal impeller,
l centrifugal diffuser,
l return channel,
l contra rotating fan,
l centrifugal pump,
l axial fan,
l marine propeller.
The row wizard is available using the button Row Wizard of the top menu bar in Basic Mode or
using the button Row Wizard through the Mesh Control/Grid Level page of the Quick Access
Pad in Expert Mode.
The wizard is composed be a set of dialog boxes. Each dialog box is related to the set up of a set of
mesh generation parameters. They contains buttons Cancel, OK, <<Back, Skip>>, Next>> or Finish
to control the set up process.
l The Cancel button suppresses all the parameters already set by the wizard.
l The OK button is used to quit the wizard and keep the parameters already set.
l The <<Back button is used to return to the previous dialog box.
l The Skip>> button is used to skip the settings of the dialog box.
l The Next>> button is used to go the next dialog box.
l The Finish button is used to quit the wizard and launch the 3D mesh generation.
The wizard is divided in 6 steps. Two additional sections describe the MultiStage Management and the
Automatic Settings:
In this section
5.1 Geometry Check
5.2 Machine Characteristics Definition
5.3 Gap/Fillet Definition
5.4 Flow Paths Definition
5.5 Blade-to-Blade Mesh Definition
5.6 Initialization End
5.7 MultiStage Management
5.8 Automatic Settings
259
259
260
262
262
264
265
266
5.1
GEOMETRY CHECK
When launching the row wizard, AutoGrid5™ warns the user that mesh generation parameters
will be modified by the wizard and prompts the user to continue. This reset will keep the
modifications performed by the user in the row wizard but will reset to the default value the
parameters modified in Expert Mode. Then AutoGrid5™ proposes to check the geometry.
If a geometry check is asked (Yes button), a dialog box displays the geometry status. If the
geometry is OK, a button Next prompts the user to continue the wizard.
Only one row must be selected before launching the wizard. If no row or multiple rows are selected,
AutoGrid5™ warns the user and quits the wizard.
5.2 MACHINE CHARACTERISTICS DEFINITION
After the geometry check, the Blade row type dialog box is opened.
At this stage, the machine type is specified: Wind Turbine, Axial Turbine, Francis Turbine,
Kaplan Turbine, Inducer, Axial Compressor, Centrifugal Impeller, Centrifugal Diffuser, Return
Channel, Contra Rotating Fan, Centrifugal Pump, Axial Fan and Marine Propeller. By default no
blade type is selected.
The user must also define the row periodicity, the rotation status (rotor or stator) and the rotation
speed.
According to the machine type, AutoGrid5™ will choose and adapt the most appropriated mesh
generation parameters available in AutoGrid5™ expert mode.
Only the centrifugal impeller wizard is designed for multi-bladed row. All the others, when used for
multi-bladed rows, may lead to improper H&I topology.
5.3
GAP/FILLET DEFINITION
The next step of the wizard is used to define the gaps and the blade fillets if needed.
In case of inducer, axial compressor, axial turbine or Kaplan turbine with rotor mode active, the
first time the wizard is executed, AutoGrid5™ automatically defines a tip gap into the mesh
configuration. If hub and/or tip gap or hub and/or tip fillet already exists in the project
configuration, the user can keep unmodified their definition by pressing the button Skip>>.
At this stage, the meridional view display the gap or fillet definition. The user can control the gap
or fillet width at leading and trailing edge. By default, the widths are set equal to the blade height
divided by 20.
When gap or fillet is already existing in the project configuration before launching the wizard, its
width is used as wizard parameters instead of the default.
When selecting the hub gap or tip gap option, the respective hub fillet or tip fillet option is
automatically frozen and reversibly.
When pressing the button Next>>, a message warns the user if the fillet does cut the limit of the
domain.
5.4
FLOW PATHS DEFINITION
The fourth stage of the wizard controls the cell width at the wall and the number of flow paths.
The spanwise expansion ratio is continuously updated after each user's change. The flow paths
are automatically displayed and updated into the meridional view.
By default, the number of flow paths is set to 57. If tip and/or hub gap/fillet are defined previously
in the Gap and Blending Control dialog box, the number of flow paths is increased by 16 or 32
(73 or 89 flow paths).
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps
and fillets is automatically updated as well as the percentage of constant cells:
l the flow paths in the gap or fillet will be 25 for N>=129, 21 for N>=97, 17 for N>=65, 13 for
N>=33 and 9 for N<33 (N is the number of flow paths).
l the percentage of constant cells will be 80 for N'>=157, 70 for N'>=129, 60 for N'>=97, 50
for N'>=81, 40 for N'>=65, 30 for N'>=33, 0 for N'<33 (N' is the number of mid flow paths
corresponding to N - gap/fillet flow paths).
5.5
BLADE-TO-BLADE MESH DEFINITION
The last stage of the wizard is used to set up all the blade-to-blade parameters for the mesh
generation. All the expert parameters are set automatically according to the type of machine and
the blade-to-blade geometry configuration.
The Number of Points (Level) of the mesh can be increased or decreased with the buttons <<
and >>. AutoGrid5™ automatically changes the number of grid points in all the area of the mesh.
An estimation of the total number of grid points is continuously updated and displayed after each
user changes.
In addition, the option Skewness (orthogonality) and Expansion Ratio can be used to display the
quality color contour.
If the machine type is not an inducer, a Kaplan turbine or a centrifugal pump and the high
staggered blade optimization is high at inlet, low at outlet or low at inlet and high at outlet, a full
matching mesh can be imposed between the channel and the gap when a hub or tip gap is defined
with the option Full Matching Mesh.
A non-matching connection could be created in the gap if the throat control is activated automatically
during the setup of the expert parameters. If Full Matching Mesh is active, the throat control will
not be activated.
5.6
INITIALIZATION END
When previewing the mesh (Preview B2B button in B2B Control dialog box or Update B2B
View in Mesh Control subpad) or finishing the initialization (Finish button in B2B Control dialog
box), AutoGrid5™ imposes automatically cell width around the inlet and outlet limit of the row to
ensure streamwise continuity through the rotor stator line. The minimum value between two
successive blades is chosen.
When clicking on the button Finish, AutoGrid5™ proposes to start the 3D mesh generation of the
selected row by clicking on yes.
Selecting no stops the 3D mesh generation process and allows the user to view the blade-to-blade
mesh on another active layer (Mesh Control subpad) or to switch in Expert Mode to verify and
control the mesh parameters set by AutoGrid5™mesh wizard. When the parameters are well
defined, clicking on Generate 3D button in the toolbar will start the 3D mesh generation process.
The 3D generation of the meridional effect (far field of the wind turbine, propeller and contra
rotating fan machine type) must be performed together with the generation of the row(s) connected
with it.
5.7 MULTISTAGE MANAGEMENT
The row wizard is useful for a quick setup of the mesh for all the rotors and stators of a multistage
turbomachine:
l the row wizard is applied on the first rotor and on the first stator
l the first rotor is selected and the button Copy Row Wizard Settings pressed
l all the other rotors are selected and the button Paste Row Wizard Settings pressed to apply the
same wizard parameters to the other rotors.
l the first stator is selected and the button Copy Row Wizard Settings pressed
l all the other stators are selected and the button Paste Row Wizard Settings pressed to apply the
same wizard parameters to the other stators.
5.8
AUTOMATIC SETTINGS
5.8.1
Global Settings
Upstream & Downstream H blocks Definition
AutoGrid5™ automatically is adding and unfixing upstream and downstream control lines
following the blade leading and trailing meridional shapes. These lines are created for all the
machine types and are useful to activate the high staggered blade topology optimization.
The number of points in the streamwise direction before the upstream control line (N1) and after
the downstream control line (N3) is computed automatically based on the length and the number
of points (N2) in the streamwise direction between the control lines.
N1 = 0.5*N2*L1/L2
N3 = 0.5*N2*L3/L2
Blade-to-Blade Topology
The default matching O4H topology is used by the wizard. When the row geometry contains
splitter blades or if the machine type is a centrifugal impeller, the H&I topology is automatically
activated.
In case of a rotor, a tip gap is defined by default in the Gap and Blending Control dialog box.
High Staggered Topology
According to the blade solid angle ("Topology for High Staggered Blades" (p. 362)) computed
on the hub (β hub ) and shroud (β shroud ) layer, the high staggered topology optimization is
automatically activated.
The topology is highly staggered if:
l βhub>35° and βshroud>35°
l βhub>60° and βshroud>-20°
l βshroud>60° and βhub>-20°
l βshroud>50° and βhub>-10°
l βshroud>45° and βhub>=-1°
l βhub>45° and βshroud>=-1°
Blade-to-Blade Grid Points
For grid level 0, the default number of points on the blade is set to 81. When decreasing or
increasing the grid level the number of points on the blade is set to ensure 3 multigrid levels. The
number of points in the blade-to-blade mesh is controlled by the number of flow paths (N):
l The number of points in the skin block: 9 if N<49, 17 if N<97, 25 if N<129 and 33 if
N>=129.
l The number of points at leading edge and trailing edge: 9 if N<57, 17 if N<89, 25 if N<105
and 33 if N>=105.
l The number of points in the gap boundary layer: 9 if N<49, 17 if N<97 and 25 if N>=97.
l The number of points in inlet and outlet blocks along streamwise direction: 9 if N<65, 17 if
N<105, 25 if N<129 and 33 if N>=129.
l The number of points in up and down blocks along azimuthal direction:9 if N<49, 17 if N<97,
25 if N<129 and 33 if N>=129.
In addition when high staggered mode is active, the number of points is computed in up & down
blocks to obtain a high quality mesh. The method also ensures at least 3 multigrid levels.
l The number of points along the blunt leading or trailing edge is automatically updated to
reduce the expansion ratio to 1.6 for grid level <=2, 1.4 for grid level <=4 and 1.2 for grid
level >4.
For H&I topology, the number of points is automatically computed according the grid level and
AutoGrid5™ imposes variation of the streamwise weight to recompute grid points distribution.
Throat Control
The throat control is automatically activated when:
l the machine type is a Kaplan turbine, inducer, centrifugal pump or Francis turbine,
l the high staggered mode is high and low or low and high and the throat angle is < 60° at hub,
shroud and mid-span.
The throat control is deactivated if the throat angle is larger than 90° for all the machine types
otherwise it would lead to a projection error.
Sharp & Rounded Treatment
The sharp treatment is automatically activated for blunt blade edge angle lower than 25 degrees. If
the blade is not blunt, the blade edge angle should be lower than 90 degrees to activate the sharp
treatment
The rounded treatment is automatically activated for blunt blade of Kaplan and Francis turbines.
B2B Mesh Parameters
l The free outlet and inlet angle are activated.
l The minimum expansion ratio is computed automatically.
l The leading and trailing edge clustering is set to the cell width at wall for blunt blade.
l The interpolation level is set to 2%.
Optimization Parameters
l The number of smoothing steps is set to 200.
l The number of smoothing steps in the gap is set to 100.
l The skewness control is set to off.
l The skewness control in the gap is set to off.
l The multigrid acceleration is set to on.
l The orthogonality level is set to 0.5.
l The orthogonality level in the gap is set to 0.5.
l The multisplitter control flag is set to off.
l The number of boundary smoothing steps is set to 0.
5.8.2 Machine Dedicated Settings
According to the type of machine, the defaults settings described above can be changed.
Wind Turbine Settings
The wizard of the wind turbine is composed of the following steps controlling the main
parameters of the mesh generation of the wind turbine:
l Geometry check (optional)
l Dedicated pseudo shroud and upstream and downstream limit definition (the pseudo-shroud
should intersect the tip of the blade),
l Gap and fillet definition,
l Blade flow paths definition,
l Dedicated far field limit and far field flow path definition,
l Blade-to-blade mesh accuracy definition,
l 3D mesh generation.
Control Upstream and Downstream limits
When the wizard is launched, the Channel Control dialog box allows to control the pseudo
shroud location and the upstream/ downstream limits.
The parameter Reset Hub & Shroud allows to reset the hub & shroud, i.e. it allows to keep the
existing entities or to create new ones. The parameter is activated by default and not shown if
either the hub or shroud is not defined (which is needed to pursue the wizard). If the parameter
Reset Hub & Shroud is deactivated, all other entries controlling channel are disabled.
After imposing a reset hub and shroud, if Next>> is pressed they become the new hub and shroud
that will be considered when reset hub and shroud is deactivated. It is thus not possible to come
back to the original hub and shroud of the imported geomTurbo if Cancel is pressed at any step of
the same wizard.
When the parameter Reset Hub & Shroud is activated, AutoGrid5™ creates automatically a
horizontal pseudo shroud and/ or hub located at a radius (Rhub/shroud) defined by:
Rshroud= BladeRadiusMin + (BladeRadiusMax-BladeRadiusMin) x (Shroud Location - 1e-5)
Rhub= BladeRadiusMin + (BladeRadiusMax-BladeRadiusMin) x (Hub Location)
with BladeRadiusMin = maximum of the minimum blade radii computed on leading and trailing
edge and BladeRadiusMax = minimum of the maximum blade radii computed on leading and
trailing edge.
The normalized parameters Upstream Location and Downstream Location are used to located
the inlet and outlet of the domain using the blade location (Zref= average(ZMIN,LE, ZMAX,LE,
Z MIN,TE, Z MAX,TE)) and the minimum of the maximum blade radii computed on leading and
trailing edge (BladeRadiusMax) as normalization value:
Lupstream = abs(BladeRadiusMax x Upstream Location)
Ldownstream = abs(BladeRadiusMax x Downstream Location)
When Upstream Z < Downstream Z:
Upstream Z = Zref-Lupstream
Downstream Z = Zref+Ldownstream
When Upstream Z > Downstream Z:
Upstream Z = Zref+Lupstream
Downstream Z = Zref-Ldownstream
In the dialog box,
(Upstream/Downstream Z) is displayed.
information on absolute upstream and downstream channel
locations
Gap and Fillet Definition
The Gap and Blending Control dialog box allows to impose and control a hub fillet, and to
adapt the width of a tip gap if any defined in the row configuration before launching the first time
the row wizard.
Control Far Field Domain
The Far Field Control dialog box is used to control the domain up to the blade (far field).
The far field limit is controlled by the parameter Far Field Thickness normalized with the
BladeRadiusMax (minimum of the maximum blade radii computed on leading and trailing edge):
H = Far Field Thickness x BladeRadiusMax
In addition, the number and the distribution of the layers in the far field can be modified.
In the dialog box, information on Far Field Radius and Spanwise Expansion Ratio in the far
field is displayed.
Automatically, at the end of the wizard procedure, a ZR effect named <Row name> far field is
created to control the grid generation process of the domain up to the blade.
The following dedicated settings are changed automatically:
l The rounded azimuthal default topology (Rounded Azimuthal) is activated automatically if
the blade solid angle at mid span is higher than 60°.
l A rounded treatment is applied to the topology at trailing edge (Rounded Streamwise and
Rounded Azimuthal default topologies).
l The optimization steps is set to 5000.
l The multigrid acceleration is set to off.
l The free inlet and outlet angle are set to off.
l The straight boundary initialization is set to on.
l The interpolation level is set to 10%.
l The rounded bulb topology without singular line is applied when the configuration is
presenting a bulb.
Axial Turbine Settings
In case of a rotor, a tip gap is defined by default.
Francis Turbine Settings
l A rounded treatment is applied at the blunt trailing edge.
l The throat control is active.
l The rounded bulb topology without singular line is applied when the configuration is
presenting a bulb.
Kaplan Turbine Settings
l A rounded treatment is applied at the blunt trailing edge.
l The throat control is active.
l The rounded bulb topology without singular line is applied when the configuration is
presenting a bulb.
l In case of a rotor, a tip gap is defined by default.
l The "shroud gap interpolation" option is automatically activated in case a tip gap is present.
The spanwise starting point of the interpolation will be computed to be twice the gap width at
inlet.
Inducer Settings
l A tip gap is defined by default.
l When defining the geometry using a geomTurbo native format, leading and trailing edge
fitting is active
l The throat control is active.
l The default number of points at grid level 0 is set to 129 on the blade.
l The free inlet and outlet angle are set to off and mesh is frozen.
l The mesh relaxation at inlet/ outlet is active.
l The optimization steps is set to 1500.
l The rounded bulb topology without singular line is applied when the configuration is
presenting a bulb.
Axial Compressor Settings
In case of a rotor, a tip gap is defined by default.
Centrifugal Impeller Settings
l The H&I topology is automatically activated.
l The "untwist outlet" option is automatically activated in case the downstream block
streamwise length is greater than the blade spanwise height. The streamwise location will be
computed to be located at one blade height from blade trailing edge.
Radial Diffuser Settings
No dedicated settings applied.
Return Channel Settings
No dedicated settings applied.
Contra Rotating Fan Settings
The mesh generation set up of the contra rotating fan is similar to the wind turbine set up:
l Geometry check (optional)
l Dedicated pseudo shroud and upstream and downstream limit definition (the pseudo-shroud
should intersect the tip of the blade). The parameter Reset Hub & Shroud is deactivated by
default,
l Gap and fillet definition,
l Blade flow paths definition,
l Dedicated far field limit and far field flow path definition,
l Blade-to-blade mesh accuracy definition,
l 3D mesh generation.
The following dedicated settings are changed automatically:
l Four control lines are added: two curvilinear unfixed ones close to the blade and two fixed
lines at constant z at a much larger distance.
l The untwist inlet/ outlet options are automatically activated when no bulb and in case the
upstream/ downstream block streamwise length is greater than the blade spanwise height.
Centrifugal Pump Settings
l The throat control is active.
l The default number of points at grid level 0 is set to 129 on the blade.
l The free inlet and outlet angle are set to off and mesh is frozen.
l The optimization steps is set to 500.
l The straight boundary initialization is set to on.
Axial Fan Settings
l The new topology (Rounded Azimuthal) is used automatically if the blade solid angle at mid
span is higher than 60° and the number of blades (periodicity) below 5.
l A rounded treatment is applied at the blunt trailing edge.
l The optimization steps is set to 500.
l The free inlet and outlet angle are set to off and mesh is frozen (if the blade solid angle is lower
than 45°).
l The straight boundary initialization is set to on.
l The rounded bulb topology without singular line is applied when the configuration is
presenting a bulb.
Marine Propeller Settings
The mesh generation set up of the marine propeller is similar to the wind turbine set up:
l Geometry check (optional)
l Dedicated pseudo shroud and upstream and downstream limit definition (the pseudo-shroud
should intersect the tip of the blade),
l Gap and fillet definition,
l Blade flow paths definition,
l Dedicated far field limit and far field flow path definition,
l Blade-to-blade mesh accuracy definition,
l 3D mesh generation.
The following dedicated settings are changed automatically:
l Four control lines are added: two curvilinear unfixed ones close to the blade and two fixed
lines at constant z at a much larger distance.
l Depending on the units, the row clustering is adapted.
l For high staggered topology, the hub layer instead of the midspan layer is considered as
reference section to initialize the blade-to-blade number of points.
l Matching gap mesh is enforced.
l Frozen inlet and outlet angles.
l Relax inlet and outlet clusterings.
l Smoothing steps are set to 200 on fine grid and to 300 on full multigrid.
l If bulb configuration, the untwist inlet and/or outlet treatment is applied.
The option Blade Tip Rounded Topology allows to impose a specific topology adapted for the
rounded tip configuration.
The option Blade Tip Rounded Topology is only applicable to double rounded blade (no blunt)
and is under license.
When the option is active, the shroud will be located above the blade to have some space to put
the new butterfly topology and a shroud gap is automatically imposed. The blade is expanded
with the section extension approach (more details in Blade Expansion).
Finally at the end of the mesh generation, the skin block is split in the spanwise direction at the
gap layer, keeping the lower part and modifying the upper part to create a new topology more
adapted to the rounded blade tip. In the upper part, the skin block is first divided perpendicularly
to the blade and the outer part is kept unchanged. The inner part is further divided in spanwise
direction: the top skin part is converted into an H topology and the lower part is modified into a
butterfly topology. The location of the spanwise division should respect multigrid levels and lead
as much as possible to a uniform skin block width around the blade. This new topology allows to
decouple the shroud cell width from the outer skin block cell width to obtain a good quality on the
shroud layer.
If the option Blade Tip Rounded Topology is active while the blade tip is not rounded (i.e. the tip
is not defined geometrically by surfaces), the topology is adapted to have a butterfly topology above
the blade instead of an H block: the flat tip topology.
the tip, the option Blade Tip
When the propeller configuration is presenting a small hole at
Rounded Topology may not work because the hole is too small such that the flat tip topology
cannot be used as well.
When running the marine propeller wizard with the option Blade Tip Rounded Topology is active, the
blade expansion may fail with the following error:
l "sorry, row wizard initialization failed: blunt leading or trailing edge not compatible with rounded
tip topology" because a blunt leading/ trailing edge has been detected. In case a blunt is only
detected due to geometry tolerance, the options force blunt at leading/trailing edge can be
deactivated into the blade expansion dialog box (Blade Expansion);
l "sorry, row wizard initialization failed: blade cannot be expanded" because the loaded blade
geometry is not intersecting the hub. To solve the issue, the expansion at hub settings can be
adapted into the blade expansion dialog box (Blade Expansion);
l "sorry, row wizard initialization failed: blade cannot be expanded" because no valid blade sheet
can be created (reported in the shell or terminal). The sewing tolerance can be increased into the
blade expansion dialog box (Blade Expansion);
l "sorry, row wizard initialization failed: blade cannot be expanded" because gap intersection
contains too high angular deviation (reported in the shell or terminal). The check ratio can be
increased into the blade-to-blade controls dialog box (Intersection Controls).
CHAPTER 6.
MERIDIONAL CONTROL
The meridional space allows first to control the geometry of a machine and the related parameters:
l Basic curves: these are general 2D meridional curves.
l Channel curves: hub, shroud, nozzle. They are based on basic curves, i.e. lying on them.
l Rotor/stator curves. They define the row domain in the streamwise direction.
l Meridional control lines. Optional control lines geometrically similar to rotor/stator. They can have
a role in all meshes (meridional, blade to blade and 3D).
The meridional space allows also to control the flow paths used to create the 3D revolution surfaces for
the final mesh.
In this section
6.1 Geometry Control
6.2 Mesh Control
285
303
6.1
GEOMETRY CONTROL
6.1.1
Basic Curves
Basic curves are 2D meridional curves which can be used to define channel curves (hub, shroud
or nozzle) and meridional technological effects. They are defined as general NURBS curves and
then discretized to be used as polylines.
Creation
Basic curves can be created through the ".geomTurbo" file (more details in Import - >
geomTurbo) or through the import CAD facility (more details in Import CAD).
Properties
Basic curves can be discretized through the right-click popup menu Properties. The following
dialog box will appear:
In the Discretisation field, enter the number of discretization points desired between each basic
curve control points. Several basic curves can be selected to change the discretization in one time.
All channel curves using the modified basic curve will be updated and all rotor/stators and control
lines recomputed if necessary.
The Rotating option when active allows to define the selected basic curve (channel curves and
meridional
technological effects) as rotating to automate corresponding block and patch
(extension "_rotating") settings.
Deletion
Basic curves can be deleted through the right-click popup menu when basic curve highlighted in
meridional view.
Check Geometry
Basic curves can be checked through a Channel Geometry Check dialog box. This meridional
geometry checking process helps to check the completeness of the geometry as well as the
validity of the end walls, before starting the mesh generation when clicking on Check button. It is
also useful as it could repair the curves wherever it is required by clicking on Apply Data
Reduction button after imposing the Control Points Distance/Angle Criteria.
The option Check All Meridional Curves allows to perform the operations with the buttons
Check, Apply Data Reduction and Reset Original Data to all meridional curves, otherwise it is
applied to the last selected curve in the meridional view.
The Check button checks the curves quality according to the current values of their data reduction
and control points distance/angle criteria without modifying their values.
The Apply Data Reduction button applies the data reduction on the meridional curve(s), checks
their quality and remove points if needed according to control points distance/angle criteria values.
The Reset Original Data button resets the copy of the set of points equal to the original set of
points, and checks the curves quality.
6.1.2
Hub - Shroud - Nozzle
Once defined, all these channel curves can be controlled interactively to change their shape and/or
orientation. The control is accessible from the Edit Hub - Edit Shroud - Edit Nozzle menus of
the Quick Access Pad Geometry Definition subpad or directly by right-clicking on a basic curve.
The control is done through the editing of an edge and its vertices.
FIGURE 6.1
Shroud editing
Vertices can be:
l added. Use the <i> shortcut,
l deleted. Right-click on an intermediate vertex to popup the corresponding menu,
l moved. Left-click on a vertex to select it, move it and left-click again to fix it.
FIGURE 6.2
Vertices options
Once the edge is correctly positioned, right-click to quit the editing tool. All the channel is
recomputed according to the modification as shown in the following figure:
FIGURE 6.3
Channel regenerated
When hub/shroud/nozzle are not completely mapping the basic curves, there are represented by a
green dashed line
6.1.3
Rotor/Stator
Rotor/stators define the limits of a row, either the interface between two rows or the inlet or outlet
of a row. They are created automatically when initializing the configuration (defining the rows)
and can be controlled once the geometry is defined. They are displayed in blue in the meridional
view.
A rotor/stator is defined by a set of control points which are allowed to move on a "support
curve". There are two means to control a rotor/stator: directly through the control points or
through the dedicated dialog box.
FIGURE 6.4
Rotor/stator control points
To display the control points, simply left-click on a rotor/stator (FIGURE 6.4) and then left-click
to move them. To open the dialog box (FIGURE 6.5), right-click on it and select Properties in
the popup menu.
FIGURE 6.5
Rotor/stator properties dialog box
Properties
The dialog box is divided in two main parts, allowing to control the shape of the rotor/stator and
other properties.
The Reference frame allows to specify the frame on which the position of the rotor/stator
depends. For consistency reasons, when switching to relative to channel frame, the rotor/stator
shape is switched to curvilinear.
l Absolute . The rotor/stator control points are absolute (i.e. R/Z constant or defined from
geometry file).
l Relative to Channel. The rotor/stator control points are relative to the channel (i.e. the hub
and shroud).
l Relative to Row . The rotor/stator control points are relative to the rotor/stator neighboring
rows (i.e. the trailing edge of the previous row and the leading edge of the following row).
The shape frame contains four buttons. Each modification in the shape frame updates
automatically the rotor/stator and its control points in the graphical area.
l Linear. Impose a linear shape. Additionally the rotor/stator can be located at a R or Z constant
position by activating the corresponding button and entering the desired value.
l Curvilinear. Just for information, does not change the current shape, it indicates that a control
point was moved manually.
l Defined Shape. This button is activated if the rotor/stator was defined by an external curve.
An external curve can be imposed by selecting a simple ".dat" file through the button Select
Geometry File. When imposed by a file, the location of the rotor/stator will be defined in a
totally absolute position. It also means that if the hub or shroud changes, it should still intersect
the user defined rotor/stator.
The specified geometry should be inside the domain bounded by the hub and shroud limits.
l Default. Optimized shape computed, i.e. a straight line between hub and shroud when the
rotor/stator is the machine inlet or outlet, otherwise a curve located at midway between two
rows.
The second part of the dialog box specifies several properties; only the first one Cell width is
useful for a rotor/stator, it imposes the cell size in the blade to blade mesh at the rotor/stator
location. A default optimized value is always computed, symbolised by "0.0" in the dialog box.
Control Points Editing
Each control point of a rotor/stator can be moved on a "support curve" automatically created,
which shape is fixed and cannot be changed (this "support curve" is not displayed). The number
of control points is fixed and cannot be changed neither.
To move a control point:
1. Move the mouse to the desired control point. It will be highlighted when close enough. Then
left-click.
2. Subsequent mouse movement will move the control point. The rotor/stator is automatically
updated. The control point can be moved from the upstream row trailing edge to the
downstream row leading edge. If there is no upstream or no downstream row, the limit is a
straight line going from the hub extremity to the shroud extremity.
3. Left-click again to fix the control point position.
A specific (R,Z) position can also be imposed for a control point:
1. Move the mouse to the desired control point. It will be highlighted when close enough. Then
right-click.
2. The following dialog box will be opened. Enter the desired (R,Z) values. The control point
and the rotor/stator will be updated.
FIGURE 6.6
Control point (R,Z) control
3. Once the dialog box is opened, another control point can be selected to change its (R,Z)
coordinates. Simply left-click on it, its current coordinates will be updated in the dialog box.
4. Close the dialog box.
Export Curve
Right-click on a rotor/stator, an inlet or an outlet and select Export Curve in the popup menu to
export the selected rotor/stator in an output file (".dat").
The output file is composed by the ZR coordinates of the control points of the rotor/stator curve.
This file format can be directly read when defining a rotor/stator from external curve using the
Defined Shape/Select Geometry File button.
The file name of the output file is specified by the user via a dialog box.
6.1.4 Meridional Control Lines
Control lines can be added in meridional space to control the meridional mesh (spanwise flow
paths distribution), to change the topology of the 3D mesh (additional H block created upstream
or downstream the control line) or to impose a z constant line in the meridional space (i.e. to
capture corner). They are displayed in blue in meridional view.
FIGURE 6.7
Meridional control line example
Using this feature, the seal leakage defined at the trailing edge of a blunt centrifugal impeller can now
be connected using matching connection .
Adding two or more consecutive unfixed geometry control lines in upstream or downstream block
does not make sense and when combined with fixed geometry control line (s) that may lead to
clustering in azimuthal direction and non smooth boundaries in the concerned block.
Creation
tool
is
dedicated
to
the
creation
of meridional
control
lines
(
or
).
Once activated, move the mouse on a channel curve (hub, shroud or nozzle) in the meridional
view. When close enough, a point is displayed on the channel curve. Left-click to create a
meridional control line at this position. This operation can be repeated until the tool is quit by
right-clicking.
Deletion
Right-click on a meridional control line to popup the Delete menu item.
Editing
Meridional control lines are very similar to rotor/stators. They are also defined by a set of control
points which are allowed to move on a "support curve". Therefore they can be edited in the same
manner as for rotor/stators: directly through the control points by left-clicking on it or through the
dedicated dialog box (FIGURE 6.5) by right-clicking on it and select Properties in the popup
menu.
Properties
The properties of a meridional control line can be controlled through the dedicated dialog box, the
same as for rotor/stators.
FIGURE 6.8
Control lines properties dialog box
l The dialog box is divided in two main parts. For Reference frame, when it is set to Relative
to Row, the control points are relative to a row and their reference depends on the position of
the control line. Either the control points are relative to the row inlet and its blade leading edge,
either to the leading and trailing edge, or to the blade trailing edge and the row outlet. When it
is set to Relative to Channel, the control points are relative to the channel (i.e. the hub and
shroud). Finally when set to Absolute, the control points are defined in absolute.
The second part of the dialog box allows to control the properties of the meridional control line:
l Cell width imposes the cell size in the blade to blade mesh at the control line location in
streamwise direction. A default optimized value is always computed, symbolised by a zero in
the dialog box.
l Relaxation Location/Relaxation Factor are used to relax the streamwise clustering along a
control line. If "c" is the cell width imposed on control line and "e" the relaxation factor:
None: no relaxation of the clustering is applied,
Hub: the clustering is left unchanged at shroud (c) and relaxed towards hub (c*e),
Shroud: the clustering is left unchanged at hub (c) and relaxed towards shroud (c*e),
Mid Span: the clustering is unchanged at hub and shroud (c), and relaxed towards the middle
of the control line (c*e).
The relaxation is interesting for z constant lines used to get a matching connection between the
channel and a zr effect where a clustering is applied on the whole z constant line to respect the zr
effect cell width at wall, giving a clustering wall in the final channel mesh.
The option is not available for inlet/outlet of a row, control lines involved in bulb, in nozzle and in a
snubber (H-topology type) on fan definition.
l Streamwise Index is used when the control line is located on a blade and specifies the index
(streamwise index) of the mesh line corresponding to the control line location in the blade to
blade view. It corresponds to the vertex index from the beginning of the inlet block along the
periodic face. The H block upstream the O4H (default) topology is not taken into account.
l Streamwise Npts is used when the control line is not located on a blade and specifies the
number of streamwise points in the H block upstream or downstream the control line in the
blade to blade view if, respectively, the control line is upstream or downstream from the blade.
l B2B control specifies if the meridional control line should also be a blade to blade control
line:
None: the meridional control line is not affecting the blade to blade mesh and allows to control
the flow paths,
Full: the meridional control line is affecting the blade to blade mesh and the flow paths,
Partial: the meridional line is affecting partially the blade to blade. This approach is useful for
row with non-uniform tip gap.
FIGURE 6.9
Control lines upstream and downstream from the blade
FIGURE 6.10
Control line located on the blade
When meshing a row with non-uniform tip gap, the radial lines in the tip gap are really skewed.
This is due to the stacking method which is based on m-theta projection according to the m-value
along each flow path. In this case, in the tip gap, the m-theta value is distorted from a flow path to
another due to the difference of flow path length.
FIGURE 6.11
Non-uniform tip gap configuration
To control the mesh on the blade in the spanwise direction, control lines with B2B control set to
Partial are added on the blade. When using the B2B control: Partial, AutoGrid5™ computes
automatically two references indices along the blade mesh (one for the pressure side and one for
the suction side) to link the spanwise mesh with the shape of the Zcst line. This affects only the
mesh on the blade and therefore can be safely used in any case.
As the mesh reference indices are computed on the active layer before the 3D generation, the final
mesh depends of the active layer. In case of tip gap, it is highly advised to choose 100% for the active
layer before launching the 3d generation.
FIGURE 6.12
Reference indices on active layer
This option is available with default topology and is not available with control lines on blade in full
control mode, with cooling module, for blade on bypass.
When meshing a row with non-uniform tip gap, to improve the skewness in the tip gap the option
"hub/shroud gap interpolation" can be used instead of adding control lines on the blade with B2B
control set to Partial.
l Fixed Geometry specifies if the blade to blade control line should be a z constant line or can
be relaxed and have the shape obtained by the optimizer (blade to blade control line is
considered as a z cst line instead of a normal connection).
FIGURE 6.13
Control line blade to blade geometry
Export Curve
Right-click on a meridional control line and select Export Curve in the popup menu to export the
selected control line in an output file (".dat").
The output file is composed by the ZR coordinates of the control points of the control line curve.
This file format can be directly read when defining a control line from external curve using the
Defined Shape/Select Geometry File button.
The file name of the output file is specified by the user via a dialog box.
Specific Cases: Bypass, Snubber & Bulb
Meridional control lines are created automatically in three specific cases to capture discontinuity
generated by a bypass engine, a snubber (H-topology type) on fan and/or bulbs. In these three
cases, the specific meridional control lines cannot be deleted and some control points cannot be
moved.
A bulb is a specific region of a machine where the hub has a zero radius. A machine can have a
bulb at its inlet and/or its outlet.
Bulbs are automatically detected, the condition being that the hub has a zero radius at one point
(not a line). The domain is automatically extended from this point at zero radius to the shroud
axial position extremity. One or two meridional control lines are automatically created, the first
one representing the machine inlet (outlet), the second one to capture either the zero radius point
for sharp topology (H-topology) or the limit between the radial and the axial domain for radial
topology. The hub extension allows to move the meridional control lines before the bulb. The
rotor/stator (inlet) of the row following the bulb is positioned after the control line capturing the
zero radius point or the limit between the radial and axial domain, and should not be moved
before it (the opposite if the bulb is at the outlet of the machine). The zone between the entry
control line and the rotor/stator is the bulb region and its meshing is controlled through a specific
dialog box dedicated to the bulb.
The type of bulb topology is automatically imposed by AutoGrid5™ depending of the value of
two angles. More details in section Bulb Control.
FIGURE 6.14
Bulb case
FIGURE 6.15
Bypass case
FIGURE 6.16
Snubber (H-topology type) case
line is added between the fan and the nozzle,
If a control
the user can unfix the geometry.
Nevertheless undefined or non- matching instead of matching connections can be detected at the
connection between the downstream blocks. In case of problems (non-matching or undefined patches)
the additional control line must be fixed again.
In case of a geometry defined in "millimeter", the tolerance used to define the connection in the
Patch Selector dialog box (Grid/Boundary Conditions menu) can be increased to obtain matching
connections.
In bypass configuration, it is mandatory to have an inlet fan upstream of the nozzle.
The control lines involved in the C block generation of the nozzle must have the B2B control set to
Full.
When a snubber (H- topology type) is defined, the two control lines defining the leading and the
trailing edge of the fin must be defined with a unique cell width and must be kept fixed.
6.1.5
Channel Control
AutoGrid5™ automatically creates support channel curves to define the location of the control
lines including inlet, outlet and rotor- stator. The number of points of the support curves is
automatically computed by AutoGrid5™. If necessary, when the default control lines are not well
defined on hub and shroud, the number of points can be adapted by the user.
6.1.6 Meridional Curve Checks
During loading or importing of ".trb" or ".geomTurbo" files, AutoGrid5™ automatically checks
the hub, shroud or nozzle curves. It also checks the curves, which are imported from the Import
CAD window. If it detects any discontinuity in the curve of more than 80°, a warning message
appears.
A Channel Geometry Check dialog box is also accessible from the Check Meridional Curves
button in the Geometry Definition subpad of the Quick Access Pad or directly by right-clicking
on the curves and selecting the Check Geometry menu. This meridional geometry checking
process helps to check the completeness of the geometry as well as the validity of the end walls,
before starting the mesh generation. It is also useful as it could repair the curves wherever it is
required.
FIGURE 6.17
Channel geometry check
Selection of the Check All Meridional Curves check box allows to check all the meridional
curves at once, otherwise the selected meridional curve can be checked one by one. The Check
button application computes the Minimum Distance and the Maximum Angular Deviation
between two curve control points either for all the curves or for the selected curve. While
computing for all the meridional curves, the name of the curve also appears on which the
minimum distance and maximum angular deviation exist as shown in FIGURE 6.4.
Also the potential failures due to coincident points and/or discontinuity on channel curves using
the Apply Data Reduction button. This option removes the coincident points or discontinuity
based on the Control Points Distance Criteria and Control Points Angle Criteria provided by
the user.
The Reset Original Data button resets the copy of the set of points equal to the original set of
points, and checks the curves quality.
Meridional curve checking process cannot detect the discontinuity between two curves defined in the
meridional plane.
6.2 MESH CONTROL
After defining the setup of the project, AutoGrid5™ will define for each selected row the number
and the distribution of the flow paths automatically when using the button Initialize Topology &
Grid Points Distribution of the top menu bar or when running the row wizard.
Afterwards, the flow paths are mainly controlled row by row and some interactions are available
between rows.
All the row parameters for flow paths control, including the number of flow paths, are accessible
through the dialog box by left-clicking on Flow Paths Control in Mesh Control subpad.
FIGURE 6.18
Flow Paths Control
6.2.1
Flow Paths Control
The dialog box is divided in two main parts, a first part controlling flow paths spanwise
distribution and a second expert part allowing to tune some parameters, useful in some specific
cases. All parameters are applied for the selected rows.
l Number of Flow Paths controls the number of flow paths in the selected row.
l Cell width at Hub controls the cell size imposed at the hub.
l Cell width at Shroud controls the cell size imposed at the shroud.
l Percentage of Mid-flow Cells controls the number of cells of constant size in the main part of
the channel (excluding gaps).
l View Flow Path allows to visualize the grid used to generate the flow paths. Deactivate the
button to display the grid.
lNumber of Flow Paths Control Points controls the streamwise number of points of the grid
used to generate the flow paths. Can be increased if the machine is very long. This number of
points will also be the number of control points of the flow paths.
l Number of Intermediate Points controls the number of discretization points between each
control point of the flow paths.
l Smoothing Steps controls the number of iterations for flow paths smoothing.
l Hub & Shroud Distribution Smoothing Steps controls the number of iterations for points
distribution smoothing.
The dialog box contains four buttons at the bottom:
l Generate allows to generate the flow paths of the selected rows.
l Clear Manual Operations cleans all manual operations performed through the manual edit
mode for the selected rows (does not include copy/ merge distributions).
l Manual Edit starts the flow paths manual editing tool. It is activated for all the rows.
l Close closes the dialog box.
6.2.2
Flow Paths Manual Editing
Manual editing allows to control directly the block faces which are used to construct flow paths.
Edges can be moved, segments can be created or modified and grid points distribution on
segments can be controlled. As block faces need to be created for editing, flow paths of the row to
be controlled should be generated before activating the tool.
The manual editing tool is started by pressing the button Manual Edit of the Row:Flow Paths
Control dialog box (6.2.1). It is stopped by right-clicking in the meridional view or by closing the
dialog box. Once activated, all edges, vertices and fixed points of the rows for which flow paths
are generated appear.
Following operations are available:
l face selection. Left-click on face edges to select the face,
l vertex displacement on rotor/stators and meridional control lines. Left-click on a vertex to
select it, move it, left-click again to fix its new position.
FIGURE 6.19
Vertex displacement on vertical edge
l fixed point insertion. Right-click on a vertical edge to popup the Divide edge menu item. It
will launch the fixed point insertion tool.
l fixed point deletion. Right-click on a fixed point to popup the Delete menu item.
l fixed point displacement on vertical edges. Left-click on a fixed point to select it, move it, left-
click again to fix its new position.
FIGURE 6.20
Fixed point insertion on vertical edge
l fixed point index change. Right-click on a fixed point to popup the Change index menu item.
l control of the segment distribution on vertical edges. Right-click on an vertical edge to popup
the Distribution menu item. It will open the Clustering dialog box.
FIGURE 6.21
Manual editing activated
After each operation, faces mesh are regenerated basically (i.e. without smoothing) to display
directly the changes on flow paths shape. To regenerate completely the faces (including
smoothing), regenerate the flow paths of the row.
Some vertices and fixed points cannot be moved, they are displayed in blue to indicate it.
All manual edit operations can be deleted for a row by pressing the button Clear Manual
Operations in the Row:Flow Paths Control dialog box ( FIGURE 6.4 ). Then flow paths
generation becomes the default one again.
6.2.3 Hub/Shroud Gaps Control
Gaps are controlled through their dedicated dialog box. It allows to control the geometry and the
meshing parameters of the gap.
l Topology. The O2H topology allows to impose a higher number of points at the trailing edge
than at the leading edge to better capture the wake. (New in AutoGrid5™ v13.1)
FIGURE 6.22
OH vs. O2H gap topology
The O2H topology is not available when HOH blade-to-blade topology, blade blunt configuration or
blade cooling module.
l Defined Shape. This button is activated if the gap curve was defined by an external curve. An
external curve can be imposed by selecting a simple ".dat" file through the button Select
Geometry File.The file is a curve defined by a set of points from leading to trailing edge.
More details on the format in section Curve data files of IGG™ User Manual.
When generating the flow paths, one flow path will respect the full imported curve. It is thus
recommended to have a curve covering the meridional minimum and maximum of the blade and
without overlap in the meridional space.
The imported gap curve cannot intersect any control lines defined outside the blade.
l Width At Leading Edge - Width At Trailing Edge. It allows to specify the size of the gap
at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset
of the hub (or the shroud) according to these values. If the gap curve is externally defined,
these values are purely for information and cannot be changed.
l Cell Width controls the cell size imposed at the blade extremity (at the hub or shroud
according to the gap type).
l Percentage of Mid-flow Cells controls the number of cells of constant size in the gap region
of the channel.
l Number of Points controls the number of points in the gap in the spanwise direction.
The buttons Show / Hide allow to preview the user defined curve used for the gap before
generating the flow paths.
The button Generate Flow Paths is used to regenerate the flow paths in the gap row respecting
the modifications done in the dialog box.
When the row is composed by several blades including different gap width or fillet radius, the
specified grid points between the various blade gap or fillet definition should remain in proportion
with the difference in width or radius (e.g. a bigger width or radius should have more grid points, so
as to have a reference flow path positioned at a higher index and avoid too much distortion when
connecting the fillet or gap blocks of the various blades).
6.2.4 Hub/Shroud Partial Gaps Control
Partial gaps are controlled through their dedicated dialog box. It allows to control the geometry
and the meshing parameters of the gap. To consider the partial gap, a mesh is first generated
considering a full gap (same spanwise parameters as in Hub/Shroud Gaps Control) and then the
mesh in the gap is split in the streamwise direction (streamwise parameters) and some blocks
removed to consider the solid part of the partial gap.
FIGURE 6.23
Partial Gap dialog box
Several limitations are due to the fact the generated mesh has to be matching (e.g. the number of
points on the blade have to be the same on lower and upper part) when adding a partial gap:
l partial gap only available for blade with default O4H topology,
l partial gap only available for rows with only one blade,
l partial gap only available for blade with following topology: high staggered at inlet and low
staggered at outlet or low staggered at inlet and high staggered at outlet or normal at inlet and
outlet.
If this condition is not fulfilled, the partial gap will not be generated and an entire gap will be
generated instead. The following warning will appear:
Different number of points on upper/lower parts of blade <Main Blade> not available with
partial gap. Full gap generated.
No control line on blade is allowed if this blade contains a partial gap. In such a case, the partial gap
will not be generated and an entire gap will be generated instead.
The throat control of a blade can not be activated if this blade contains a partial gap. In such a case,
the partial gap will not be generated and an entire gap will be generated instead.
Limitations linked to full gap are applicable to partial gap except compatibility with fillet. Partial gap
is not allowed with butterfly topology fillet.
The dialog box is divided in two main parts, a first part controlling flow paths spanwise
distribution and a second part controlling the streamwise parameters.
l Spanwise Parameters:Defined Shape. This button is activated if the partial gap bounding
curve was defined by an external curve (from leading to trailing edge). An external curve can
be imposed by selecting a simple ".dat" file through the button Select Geometry File. More
details on the format in section Curve data files of IGG™ User Manual.
When generating the flow paths, one flow path will respect the full imported curve. It is thus
recommended to have a curve covering the meridional minimum and maximum of the blade and
without overlap in the meridional space.
The imported partial gap bounding curve cannot intersect any control lines defined outside the blade.
l Spanwise Parameters:Width At Leading Edge - Width At Trailing Edge. It allows to
specify the size of the partial gap at the leading and trailing edge of the blade. The gap curve is
then constructed as a linear offset of the hub (or the shroud) according to these values. If the
gap curve is externally defined, these values are purely for information and cannot be changed.
When the row is composed by several blades including different gap spanwise width or fillet radius,
the specified grid points between the various blade gap or fillet definition should remain in
proportion with the difference in width or radius (e.g. a bigger width or radius should have more grid
points, so as to have a reference flow path positioned at a higher index and avoid too much distortion
when connecting the fillet or gap blocks of the various blades).
l Spanwise Parameters:Cell Width controls the cell size imposed at the blade extremity (at the
hub or shroud according to the gap type).
l Spanwise Parameters:Percentage of Mid-flow Cells controls the number of cells of constant
size in the gap region of the channel.
l Spanwise Parameters:Number of Points controls the number of points in the gap in the
spanwise direction.
l Streamwise Parameters:Graphic controls the streamwise bounds of the partial gap and the
number of points in streamwise direction. The bounds are defined from the leading/trailing
edge as a distance in percentage of the mean line length, with mean line being the middle
curve between the suction and pressure sides.
If the LE/TE partial gap length is the same between hub and shroud, AutoGrid5™ will use
automatically the same number of LE/TE points on both hub and shroud partial gap.
If the sum of the leading and trailing edge distance reaches 100% of the mean line length, then the
gap mesh is generated as a classic gap.
A pop-up message will appear if the sum of the two number of points is higher than the number of
points on blade. When changing the number of points on blade in Define B2B Topology For Active
Blade dialog box, then the partial gap will not be generated and a full gap will be generated instead.
The following warning will appear:
Number of points on LE/TE parts of hub partial gap exceeds total number of points on blade
<Main Blade>. Full gap generated.
In the next figure, one can clearly see on this picture the inlet points that are projected on the blade.
When defining a partial chord gap, if the leading edge distance is too low, so that the gap blocks
should be cut in the inlet points projection area, the mesh can not be generated. In such case, if the
defined partial mean line length is too low, it is automatically reset to 0 (i.e. no partial gap at inlet),
and a warning message appears to inform the user. The same comment can be done for the trailing
edge region and the outlet points projected on the blade.
When two partial gaps have been defined on the same blade, the associated number of points and
the leading/trailing edge distances must fulfill some restrictions (if not respected, warning will pop
up):
l When hub partial gap leading edge distance > shroud partial gap leading edge distance, hub
partial gap leading edge number of points > shroud partial gap leading edge number of points.
l When hub partial gap leading edge distance < shroud partial gap leading edge distance, hub
partial gap leading edge number of points < shroud partial gap leading edge number of points.
l When hub partial gap trailing edge distance > shroud partial gap trailing edge distance, hub
partial gap trailing edge number of points > shroud partial gap trailing edge number of points.
l When hub partial gap trailing edge distance < shroud partial gap trailing edge distance, hub
partial gap trailing edge number of points < shroud partial gap trailing edge number of points.
l Streamwise Parameters: Define By Cylinder allows the user to define a cylinder, according
to which the partial gap will be generated. The cylinder is defined by specifying a diameter,
origin, and axis. The solid part of the blade will be inside its defining cylinder.
The partial gap will follow the curvature of the cylinder, as can be seen in the following figure:
If the option is deactivated, then the partial gap is not respecting the cylinder definition and is
generated using the classical algorithm: the same chord length percentages for all layers.
The partial chord lengths in the graphic are updated each time a cylinder parameter is modified. In
some cases, this may take some time since the flow paths have to be generated for this operation.
In case the algorithm fails to compute an intersection between the cylinder and the reference flow
path surface of revolution, a warning message appears at the bottom of the dialog box: 
Invalid input. Please Check Cylinder Parameters
In order to generate a partial gap defined by a cylinder, there has to be an intersection of the
cylinder with both sides of the blade for all spanwise layers of the partial gap. If this is not the
case, an error message will appear, warning the user that the imposed cylinder is not suitable. In
this case, the partial gap will be generated using straight edges.
Generating a partial gap defined by a cylinder is not compatible with z constant lines with partial
B2B control. If these are found, a pop-up message and a warning message are displayed and the
partial gap is generated using straight edges. If the B2B control of these z constant lines is set to
'None', the partial gap can be generated following the shape of the cylinder.
Warning: z constant line(s) on blade with partial B2B control detected. Straight gap will be
generated.
l Streamwise Parameters:Cell Width controls the cell size imposed at the both walls of the
partial gap in the streamwise direction (at the hub or shroud according to the gap type).
If the number of LE/TE points is the same between hub and shroud, the streamwise cell width on both
hub and shroud is driven only by the width defined for hub gap.
l Streamwise Parameters:Clustering Relaxation controls the relaxation of the partial gap
streamwise clustering on layers not involved in the partial gap definition. By default the
expansion factor is set at 1 (minimum value) and means the partial gap cell width "w" will not
be expanded. When expansion factor is set to "i", on the layer on which the relaxation is
maximal, the imposed cell width will be "w*i".
The cell width expansion may lead to bad mesh quality if there is not enough space on blade to
expand the partial gap cell width with the given expansion factor. Reasonable expansion factor with
respect to the geometry should therefore be defined.
The buttons Show /Hide allow to preview the user defined bounding curve used for the gap
before generating the flow paths.
The button Generate Flow Paths is used to regenerate the flow paths in the gap row respecting
the modifications done in the dialog box.
6.2.5
Blade Fillet
Fillets are controlled through their dedicated dialog box. It allows to control the geometry and the
meshing parameters of the fillet.
The dialog box is divided in three main parts, a first part controlling flow paths spanwise
distribution, a second part controlling the mesh topology in the fillet and a third part controlling
the fillet geometry creation.
FIGURE 6.24
Fillet dialog box
l Spanwise Parameters:Defined Shape. This button is activated automatically if the fillet is
defined by surfaces in Import CAD window (Link to Hub/Shroud Fillet) or an external
curve imposed by selecting a simple ".dat" file through the button Select Geometry File. More
details on the format in section Curve data files of IGG™ User Manual.
When generating the flow paths, one flow path will respect the full imported curve. It is thus
recommended to have a curve covering the meridional minimum and maximum of the blade and
without overlap in the meridional space.
The imported spanwise bounding curve cannot intersect any control lines defined outside the
blade.
l Spanwise Parameters:Radius At Leading Edge - Radius At Trailing Edge. It allows to
specify the size of the fillet at the leading and trailing edge of the blade. The fillet spanwise
bounding curve is then constructed as a linear offset of the hub (or the shroud) according to
these values. If the curve or surfaces are externally defined, these values are purely for
information and cannot be changed.
When the row is composed by several blades including different gap spanwise width or fillet
radius, the specified grid points between the various blade gap or fillet definition should remain in
proportion with the difference in width or radius (e.g. a bigger width or radius should have more
grid points, so as to have a reference flow path positioned at a higher index and avoid too much
distortion when connecting the fillet or gap blocks of the various blades).
When the fillet is incorporated in the blade definition (either in native ".geomTurbo" or through
Import CAD window ( Link to Blade )), the specified radii or meridional curve should be
imposed in the area of the blade-fillet junction (can be approximative).
l Spanwise Parameters:Cell Width At Leading/Trailing Edge controls the cell size imposed
at the junction between the straight blade and the fillet (at the hub or shroud according to the
fillet type) on all the control lines before the leading edge (Cell Width At Leading Edge) and
on all the control lines after the trailing edge (Cell Width At Trailing Edge). By default set to
0.0 to allow AutoGrid5™ to compute an optimized value at the leading and trailing edge.
l Spanwise Parameters:Percentage of Mid-flow Cells controls the number of cells of constant
size in the fillet region of the channel.
l Spanwise Parameters:Number of Points controls the number of points in the fillet in the
spanwise direction.
l Topology:Butterfly. This button is activated to mesh the fillet with a butterfly topology. In
this approach a first mesh is generated considering a straight blade. Then the skin block is split
at the fillet meridional layer, the block in the fillet area is replaced by a butterfly topology
respecting the created or imported fillet geometry. If the skin block of the O4H default mesh is
thicker than the fillet, the endwall is partly included in the butterfly topology and the same
treatment is applied everywhere. While if the fillet is thicker than the skin block, the butterfly
topology is applied in the skin block and out of this block a non-axisymmetric treatment is
performed.
l Topology:Butterfly Radial Number of Points controls the radial number of points in buffer
blocks of the butterfly topology. By default the value is set to 0 to allow AutoGrid5™ to
compute an optimized value. When value imposed by the user, the spanwise number of points
in the inner block of the butterfly topology will be the difference between the Spanwise
Parameters:Number of Points and the Topology:Butterfly Radial Number of Points.
The Butterfly Radial Number of Points parameter directly influences the grid quality in general
and the grid point distribution on the fillet in particular. It determines in the fillet the number of
points and therefore the distances marked by the curly brackets in the following figure. To keep
the matching connection with the surrounding blocks, the grid point distribution on the two
corresponding edges is not changed by the generation of the butterfly topology.
When increasing the Butterfly Radial Number of Points parameter, the cell size in the middle of
the fillet surface will increase while the total number of points on the fillet surface will decrease as
presented in the figures below. This total number of points corresponds to the number of points in
the inner block of the butterfly topology.
When increasing the Butterfly Radial Number of Points parameter, at some moment the
orthogonality in the fillet will start to decrease because of quite dissymmetric fillet section (a side
is largely wider than the other) as presented in the following figure.
The number of points in the fillet butterfly topology is also controlled by the number of points
imposed in the skin block in the Define B2B Topology For Active Blade dialog box ("Default
Topology (O4H Topology)" (p. 340)).
The butterfly topology is not compatible with blunt blade. Even if the fillet geometry is imported
through the Import CAD window, the radii at the leading and trailing edges will not be respected. It
will be redefined automatically by AutoGrid5™ using the computed values instead.
The butterfly topology is not compatible with cooling options (e.g. blade holes, basin, radial holes,...),
blade sheet, partial gap and HOH/H&I(without skin block) topologies.
The fillet without butterfly topology is not allowed with the rounded treatment at leading/ trailing
edge (Blend/Sharp/Rounded Treatment at Leading/Trailing Edge) and thus not allowed for HOH
topology on a blade with a blunt at leading/ trailing edge.
6.2.6
Bulb Control
For the mesh control of the bulb, more details are presented in Specific Cases: Bypass, Fin &
Bulb. Two specific dialog boxes are dedicated to bulbs, one for the inlet, the other one for the
outlet, both dialog boxes being totally similar (
bulbs: sharp, rounded or radial.
and
). Three topologies are available for
The type of bulb topology is automatically imposed by AutoGrid5™ depending of the value of
two angles:
l the angle formed by the segment between the first/last point of the hub and the intersection
point between the leading/trailing edge of the blade and the hub curve.
l the angle formed by the two first/last points of the hub with axis of rotation.
If the first angle is greater than 80 degrees, then the topology is radial. If it is not the case, then the
second angle is used. If it is lower than 45 degrees, the sharp topology is used otherwise the
rounded topology is used.
l With the sharp topology, the mesh in the bulb area is divided into two blocks limited by the
inlet of the row and the bulb domain limit and separated by the stagnation line. This topology
leads to a mesh presenting a singular line in front of the stagnation point.
l With the rounded topology, the bulb area can be meshed with a singular line (triangular cells)
or a butterfly topology. The mesh is then divided into respectively 3 or 5 blocks limited by the
inlet of the row and the bulb domain limit.
The Butterfly Smoothing Steps controls the number of iterations to smooth the butterfly bulb
area.
The Smoothing Steps controls the number of iterations for flow paths smoothing in the bulb.
l With the radial topology, the mesh in the bulb area is divided into two butterfly topology: a
butterfly topology for the radial area of the bulb domain and one for the streamwise area of the
domain.
The Butterfly Smoothing Steps controls the number of iterations to smooth the butterfly bulb
area.
The various number of points can be changed by left-clicking on their representation in the dialog
box. An entry box like the following one will popup, press <Enter> to validate the new number
of points or <Esc> to close the box and leave the number of points unchanged.
The number of points in azimuthal direction is controlled by the blade- to- blade mesh of the row
upstream/downstream the bulb (if bulb at respectively outlet/inlet). Grid points (in Define B2B
Topology For Active Blade dialog box) at respectively outlet or inlet of the row (if bulb at
outlet/inlet) will control the azimuthal number of points in bulb and it is recommended to impose
middle value (leading/trailing edge control) as 8n+1 to guarantee 3 grid levels.
The button Preview Flow Paths is used to regenerate the flow paths in the bulb respecting the
modifications done in the dialog box.
If meridional control lines are added in the bulb, the number of points is controlled in addition
through the dialog box Row Interface Properties ( FIGURE 6.5 ). The Streamwise Npts is
controlling, if the meridional control line is respectively at inlet or outlet, the streamwise number of
points down or up to the meridional control line.
6.2.7
Bypass Control
For the geometry control of the by-pass, more details are presented in section Specific Cases:
Bypass, Fin & Bulb. Two topologies are available for by-pass: H or C mesh around the nozzle
(also called radial splitter or splitter nose). A specific dialog box is dedicated to by-pass (
):
l Topology Type allows to choose the H or C topology.
l Nozzle Cell Width controls the cell size imposed at the nozzle.
l Nozzle Index controls the index of the flow path corresponding to the stagnation point of the
nozzle, i.e. it controls the proportion of the flow paths below and above the nozzle.
l Inlet Distribution Relaxation allows the user to relax the flow path clustering coming from
the nozzle at the inlet. The inlet distribution relaxation is controlled by a parameter, ranging
from 0 to 1. If the parameter is set to 0 (default), the same spacing as on the nozzle is
maintained. If the parameter is set to 1, the flow paths will be placed according to a uniform
distribution at the inlet. In practice, small values of the inlet distribution relaxation parameter,
typically below 0.5, will enable a sufficiently relaxed inlet distribution. The inlet relaxation is
propagated up to the inlet or rotor/ stator interface of the row directly upstream of the nozzle.
With the relaxation enabled, wall cell sizes on the hub and shroud will still be respected.
FIGURE 6.25
Bypass dialog box with H topology
FIGURE 6.26
Bypass dialog box with C topology
For the C topology, a various number of points can be changed by left- clicking on their
representation in the dialog box. An entry box like the following one will popup, press <Enter> to
validate the new number of points or <Esc> to close the box and leave the number of points
unchanged.
Besides the number of points, two additional controls are available: the C mesh thickness and the
spacing between meridional control lines on the nozzle, both are expressed as a percentage. For
the C mesh thickness, it is a percentage of the spanwise size below the nozzle, for the spacing
between control lines, it is a percentage of the nozzle thickness (nozzle thickness is a dimension
automatically computed according to the geometry).
The dialog box also displays information about the total number of flow paths in the by-pass:
number of flow paths before the nozzle, downstream and upstream from the nozzle. It allows an
easier generation of a matching mesh (matching flow paths) with downstream rows.
The button Preview Flow Paths is used to regenerate the flow paths around the nozzle to display
the modifications done in the dialog box.
FIGURE 6.27
C-mesh (left) & H-mesh (right) topology around nozzle
6.2.8
Snubber Control
A snubber on a blade is controlled through the dedicated dialog box. It allows to control the
meshing parameters of the snubber.
FIGURE 6.28
Snubber dialog box
The snubber configuration is only available:
l with default topology, matching and not staggered,
l with the same streamwise number of points imposed on both blade pressure and suction sides,
l with double rounded blade.
When launching the row wizard, AutoGrid5™ does not apply the staggered topology if a snubber is
detected in the configuration.
l Topology Type: H. This topology is kept for backward when loading old project with a
configuration fin on fan (bypass) generated before AutoGrid5™ v11.1. For the geometry and
the meridional controls of the snubber (H-topology type), more details are presented in sections
Snubber and Specific Cases: Bypass, Snubber & Bulb. When H-topology, the only meshing
parameters in the Snubber Properties dialog box are the Spanwise Index and the Cell
Width.
When starting a new project,
automatically applied.
the H- topology is not available and the O- topology will be
l Topology Type: O. This topology is automatically applied when starting a new project. In this
approach a first mesh is generated without the snubber. Then the mesh is post-processed by
splitting blocks and adding a skin block around the snubber (on each side of the blade) that
will capture the snubber 3D geometry.
The IJK orientation of the skin blocks in the snubber will be the same as for the blade skin block: I
perpendicular to the snubber wall, K around the snubber and J azimuthal.
When a snubber (O-topology type) is defined, an additional block is created in the meridional
view to control the flow paths. Its number of points is controlled in the Snubber Properties
dialog box with the parameters Spanwise Index (the middle of the snubber block) and the
spanwise number of points in the graphic.
FIGURE 6.29
Flow paths control
The block boundaries can be moved and controlled manually in the meridional view using the button
Manual Edit of the Row:Flow Paths Control dialog box (more details in Flow Paths Manual
Editing).
When using the O-topology, the cell width at the wall is not propagated in the streamwise direction.
l Spanwise Index controls the index of the flow path corresponding to the stagnation point of
the snubber. It is automatically recomputed when doing a reset default topology or launching a
row wizard. The index corresponds to the number of flow paths divided by 2 (then adapted to
respect multigrid levels).
In case of a bypass configuration it is computed such that it will be always above the nozzle (nozzle
index + (number of flow paths - nozzle index)/2).
l Cell Width controls the cell size imposed at the snubber.
l Expansion Ratio controls the expansion ratio in a default number of skin block layers, about
half of them, starting from the snubber that will be constrained to respect the imposed
expansion ratio together with the orthogonality to the snubber when the hard-coded smoothing
(300 steps for full multigrid and fine grid optimization) is applied during the post-processing to
include the snubber.
It is recommended to optimize the mesh (before the snubber post-processing) using the full multigrid
and fine grid optimization in the Optimization Properties dialog box.
l Leading/Trailing Edge Relative Control Distance. A snubber can be seen as a blade and its
streamwise points distribution will be controlled from leading edge to trailing edge. On some
distance at leading and trailing edge, a uniform distribution with a spanwise number of points
is applied. This distance is controlled independently at leading and trailing edge with these
parameters.
l Fillet Butterfly Radial Number of Points . When the 3D geometry of the snubber is
including a fillet, a first mesh is generated considering the snubber without fillet. Then the
snubber skin block is split at a computed azimuthal layer, the block in the fillet area is replaced
by a butterfly topology respecting the imported fillet geometry.
The Fillet Butterfly Radial Number of Points parameter controls the radial number of points in
buffer blocks of the butterfly topology. By default the value is set to 0 to allow AutoGrid5™ to
compute an optimized value. When the value is imposed by the user, the streamwise number of
points in the inner block of the butterfly topology will be the difference between the snubber skin
block number of points and the Fillet Butterfly Radial Number of Points.
If the snubber fillet is thicker than the snubber skin mesh, the surrounding blocks must be modified as
well. This is done by adapting each grid line in azimuthal direction separately such that it starts at the
fillet surface.
FIGURE 6.30
Fillet on snubber
When increasing the Fillet Butterfly Radial Number of Points parameter, the cell size in the
middle of the fillet surface will increase while the total number of points on the fillet surface will
decrease and at some moment the orthogonality in the fillet will start to decrease because of quite
dissymmetric fillet section (a side is largely wider than the other). More details at the end of the
Blade Fillet.
l Graphic allows to control the number of points in the snubber streamwise and spanwise
direction. The number of points are automatically recomputed when doing a reset default
topology or launching a row wizard. In the streamwise direction, AutoGrid5™ tries to
distribute the points to reflect the geometrical snubber streamwise position. E.g. if the snubber
is centered on the blade and its streamwise length is about a third of the blade streamwise
length, a uniform streamwise points distribution of about 33% upstream, 33% on snubber, 33%
downstream will be obtained.
The repartition of the streamwise number of points upstream, on and downstream the snubber can
be controlled by clicking on the blue numbers in the graphic. However, the total streamwise
number of points cannot be changed in the Snubber Properties dialog box and corresponds to
the one of the blade that can be increased in the Define B2B Topology For Active Blade dialog
box.
When increasing the blade number of points, the streamwise number of points on the snubber is
increasing while the streamwise upstream and downstream number of points are kept.
As the generated mesh will be fully matching, the streamwise distribution in the snubber should
reflect as much as possible the snubber geometric size and positioning compare to the blade. Some
deviation is allowed but deviating too much from the ideal distribution (computed by AutoGrid5™
when initializing topology & grid points distribution or running the row wizard) will decrease the
mesh quality. This distribution is automatically computed when initializing topology & grid points
distribution or running the wizard.
6.2.9
Copy - Merge Distributions
Besides the flow paths generation row by row, the copy-merge options allow to obtain matching
flow paths in the spanwise direction at row interfaces.
Copy/Paste are used to copy a distribution from a rotor/stator to another one or to a meridional
control line.
Merge is used to compute a common distribution from the left and right distributions at a
rotor/stator. This option is only available for a rotor/stator interface with both hub and shroud gap:
e.g. where the left row has a hub gap and the right row a shroud gap (or the opposite).
Clear is used to clean copy/merge operations on selected control line.
Copy/Merge/Clear are accessible through the right- click popup menu on a rotor/stator or
meridional control line:
l To copy a distribution, move the cursor on the desired rotor/stator from which the user wants
to copy, right-click and press Copy Left Distribution or Copy Right Distribution according
to the side the user wants to copy. Then move the cursor on the desired rotor/stator where the
user wants to change the distribution, right-click and press Paste Left Distribution or Paste
Right Distribution according to the side the user wants to modify. To modify the distribution
on a meridional control line, just press Paste Distribution.
l To merge a distribution, move the cursor on the desired rotor/stator the user wants to merge,
right-click and press Merge Distributions.
l To delete all copy/merge operations done on a rotor/stator or meridional control line, right-
click and press Clear Distribution(s).
Conditions of Use
l Flow paths need to be generated before copying or merging.
l The distributions to be copied or merged should have the same number of points.
l For the by-pass case with C-mesh topology for the nozzle, the distributions of the fan outlets
cannot be copied neither merged, as illustrated on the next picture.
FIGURE 6.31
Forbidden copy-merge operations
Representation
Copy-merge operations are symbolized in the meridional view by a text marker on the middle of
the rotor/stators or meridional control lines:
l C -> L means that the distribution on the left side of the rotor/stator was copied.
l C -> R means that the distribution on the right side of the rotor/stator was copied.
l <- C -> means that the distribution on both sides of the rotor/stator was copied.
l M means that distributions on the rotor/stator were merged.
l C means that the distribution on the meridional control line was copied.
FIGURE 6.32
Copy-merge meridional representations
6.2.10 Mesh Quality Checks
When the meridional view is active (red border), the menu Grid/Grid Quality allows to control
the quality of the flow paths.
CHAPTER 7.
BLADE TO BLADE CONTROL
The 3D mesh created by AutoGrid5™ is obtained by stacking blade to blade meshes on the surfaces of
revolution (layers) created by rotation of the flow paths defined in the meridional view of the
turbomachinery.
The blade to blade meshes are created in the (dm/r,theta) space: the cross-sections of the blades with
the active layers are projected in the blade to blade space and the mesh is created around the blade
sections according to the pitch angle and the inlet and outlet boundaries of the row (more details in
Meshing Fundamentals).
FIGURE 7.1
Blade to blade mesh
The blade to blade meshes are created using a two dimensional multiblock structured topology. Each
block have four edges along which grid points are distributed. The grids inside the blocks are created
by transfinite interpolation and finally optimized using an elliptic multiblock smoother.
FIGURE 7.2
five blocks topology and grid point clustering
AutoGrid5™ provides predefined topologies for which grid points clustering is chosen automatically
according to some geometrical criteria and grid level. The predefined topologies have been developed
to obtain high quality grid without any user interaction. They are divided in three main types: HHOHH
(O4H), HOH and H&I. The O4H type ensures full automatic meshing for all kinds of turbomachinery
while the HOH and H&I types give very high quality grids but are not suitable for all the applications.
Afterwards, the user can interact to change the resulting topology.
For all topologies, the template approach of AutoGrid5™ ensures reusability of the automatic or
manual settings on similar geometries.
This chapter describes first how to set up a predefined topology and how the user can interact to
change the optimized blade to blade topology defined by AutoGrid5™. Finally, the optimization
controls are described.
In this section
7.1 Blade to Blade Topology Management
7.2 Default Topology (O4H Topology)
7.3 HOH Topology
7.4 H&I Topology
7.5 Blade to Blade Optimization
334
IGG™/AutoGrid5™ 13.1 User Guide
335
340
376
7.1
BLADE TO BLADE TOPOLOGY
MANAGEMENT
Overview
The selection of the predefined blade to blade topology is controlled through the dialog box
available through the menu Mesh Control/Row Mesh Control/B2B Mesh Topology Control
in the Quick Access Pad.
FIGURE 7.3
Define B2B Topology
All the changes performed in this dialog box apply to the active blade(s).
Topology Selection
On the top of the Define B2B Topology for Active Blade dialog box, the topology of the selected
blade can be selected between the three predefined types available in AutoGrid5™(O4H, HOH
and H&I) or in the blade to blade topology library.
When defining the blade topology from scratch using a predefined topology (O4H, HOH and
H&I), after imposing the setup of the project, AutoGrid5™ will create an optimized topology
according to some geometrical criterion and the grid level (Number Of Grid Levels in the menu
Mesh Control/Grid Level/Detailed Control) when using the button Initialize Topology & Grid
Points Distribution of the top menu bar.
Afterwards, the options Streamwise Weights in the menu Mesh Control/Grid Level/Detailed
Control allow to increase the number of grid points in the streamwise direction respectively at the
inlet, on the blade and the outlet of the optimized topology. The feature consists in multiplying the
number of grid points at inlet, on the blade and at outlet by the streamwise weights when using
the button Initialize Topology & Grid Points Distribution. This option is only available for O4H
and H&I topology.
Finally,
the user can interact to adapt the optimized blade to blade topology defined by
AutoGrid5™ by changing the parameters in the Define B2B Topology for Active Blade dialog
box (from "Default Topology (O4H Topology)" (p. 340) to 7- 5) and in the Optimization
Properties dialog box ("Blade to Blade Optimization" (p. 395)).
In addition, the topology library on the top of the Define B2B Topology for Active Blade dialog
box (FIGURE 7.3) can be used or an existing topology can be copied ("Copy/Paste Topology"
(p. 339)).
This library contains all the previous saved topologies. The library is managed using the following
features:
l Select a topology: to load a predefined topology, select it in the list and press the button Load.
A warning prompts the user to regenerate and display the mesh in the blade to blade view.
l Save a topology: To save the topology of the current active blade, press the button Save. The
dialog box Save B2B Topology is opened.
In this dialog box, the user can overwrite a topology selected in the list or create a new item in the
library by switching on the button New B2B topology name. In this case, a new topology name
must be entered in the related area and the topology will appear in the topology library and will be
saved in "~/.numeca/tmp/" (in the folder "/_ NITurboB2BTopologyLibrary/" and in the file
"NIbladeToBladeTemplateLibraryFiles").
l Remove a topology from the list (Remove button)
l Preview the selected topology (Preview button): this feature opens a new window inside
which a picture of the selected topology is displayed.
Furthermore, in the popup menu of the row, a row topology library is available through the
Topology/Library menu.
FIGURE 7.4
Save a B2B topology
In this dialog box, the topology of the selected row can be selected from the blade to blade row
topology library. This library contains all the previous saved row topologies. The library is
managed using the following features:
l Select a topology: to load a predefined topology, select it in the list and press the button Load.
A warning prompts the user to regenerate and display the mesh in the blade to blade view.
l Save a topology: To save the topology of the current active row, press the button Save. The
dialog box Save Row Topology is opened. In this dialog box, the user can overwrite a
topology selected in the list or create a new item in the library by switching on the button New
Row topology name. In this case, a new topology name must be entered in the related area and
the topology will appear in the topology library and will be saved in "~/.numeca/tmp/" (in the
folder "/_NITurboRowLibrary/" and in the file "NRowTemplateLibraryFiles").
l Remove a topology from the list (Remove button)
l Preview the selected topology (Preview button): this feature opens a new window inside
which a picture of the selected topology is displayed.
The blade to blade library is used to apply the topology from one row to another. To copy the blade
to blade topology from one blade to another, the Topology/Copy and Topology/Paste options of the
blade menu should be used ).
The predefined topology applied from scratch or selected in the library or copied on the blades of the
active row(s) is (re)initialized using the button Initialize Topology & Grid Points Distribution. An
optimized blade to blade topology is chosen and the grid points distributions are (re)computed based
on the setup of the project, the grid level and the geometrical criterion.
Copy/Paste Topology
The blade to blade topology applied around a blade row or a row can be copied into the active
buffer and applied to other blade row or row using the copy/paste feature available through the
contextual menu of the blade and the row.
FIGURE 7.5
Blade & row contextual menu
Using this feature, In multistage configuration, the blade to blade topology can be set up for one
blade or row and applied to all the other similar blades or rows.
For the rows, the following settings will be copied:
l the meridional topology;
l the flow paths settings;
l the optimization settings;
l the row clustering;
l the span interpolation;
l the desired accuracy and number of points.
For the blades, the following settings will be copied:
l the blade sheet settings;
l the tip and hub gap settings;
l the tip & hub fillet settings;
l the blade-to-blade topology;
l the blade clustering.
To copy the blade to blade topology from one blade to another, use the Topology/Copy and
Topology/Paste options of the blade menu.
The predefined topology applied from scratch or selected in the library or copied on the blades of the
active row(s) is (re)initialized using the button Initialize Topology & Grid Points Distribution. An
optimized blade to blade topology is chosen and the grid points distributions are (re)computed based
on the setup of the project, the grid level and the geometrical criterion.
7.2
DEFAULT TOPOLOGY (O4H TOPOLOGY)
The default topology is selected through the top left selection button of the dialog box Define B2B
Topology For Active Blade.
FIGURE 7.6
Default topology selection
7.2.1
Default Topology Control
As mentioned previously in this chapter, the default topology is composed by 5 blocks:
1. an O block around the blade named skin block,
2. a H block upstream the leading edge of the blade named inlet block,
3. a H block downstream the trailing edge named outlet block,
4. a H block up to the blade section named up block,
5. a H block down to the blade section name down block.
FIGURE 7.7
Defaults blocks & grid points
When using the row wizard for the wind turbine, marine propeller, axial fan or contra rotating fan,
new types of default topology are available in addition to the default one named Streamwise:
Rounded Streamwise and Rounded Azimuthal.
FIGURE 7.8
Default topology types
The Rounded Streamwise topology is imposing a rounded topology at the trailing edge and is
similar to the Streamwise topology when rounded treatment at blunt trailing edge is applied or
when the blade is not blunt. Only the block boundaries are slightly different at the trailing edge.
The Rounded Azimuthal topology is similar to the Rounded Streamwise topology rotated by
90°. This topology is automatically activated when using the wind turbine or the axial fan row
wizard:
l if the blade solid angle at mid span is higher than 60° for the wind turbine;
l if the blade inlet/outlet angle at mid span is detected as high-low or low-high and if the
periodicity is smaller than 5 for the axial fan.
Control Number of Grid Points
The grid points number depends of the grid level and the streamwise weights chosen in the quick
access pad page Mesh Control/Grid Level before performing the initialization ( Initialize
Topology & Grid Points Distribution).
These optimized grid points numbers can be changed in the Grid Points page of the dialog box
Define B2B Topology For Active Blade (FIGURE 7.7). To change a number, left-click on it,
enter the new number of points in the locally displayed input area and <Enter> to confirm or
<Esc> to cancel the action.
FIGURE 7.9
Grid points distribution
To display the new blade to blade mesh, press the button of the top menu bar Generate B2B.
FIGURE 7.10
Default mesh
Control Periodic Boundary Condition Type
As shown in FIGURE 7.10, the periodic boundary of the default mesh is non-matching.
To obtain a matching periodic boundary condition:
1. Switch on the check button Matching Periodicity in the Topology page of the dialog box
Define B2B Topology For Active Blade.
2. Press the button Initialize Topology & Grid Points Distribution or Generate B2B.
3. In case of splitter blades (multi-blade configuration) notice that the previous two steps also
ensure a matching connection between the blades. The matching connections will remain
enforced if the grid points distribution or the blunt treatment are adapted manually.
FIGURE 7.11
Control the periodic connection
Points of attention for multi-blade configurations with a matching periodicity:
l When modifying the inlet, the blade or the outlet number of points of one of the blades in the
splitter(s) configuration, the changes will automatically be propagated to the other blade(s) in the
same region. Additional blue control boxes allow to control the grid points distribution (more
details in section "Grid Point Number Control" (p. 345)).
l If the option Matching Periodicity is only activated after the initialization any change in grid
points will not be propagated in the multiblade configuration. So it is essential to activate first
Matching Periodicity before pressing Initialize Topology & Grid Points Distribution.
l If the number of grid points on the blade up or down side is changed, this could lead to a non-
matching gap.
l The propagation is deactivated if there are two consecutive blades in the azimuthal direction of the
multiblade configuration with one having low inlet and outlet angles, and the other one high inlet
and outlet angles.
Control Skin Mesh Clustering around the Blade
The O-block around the blade is used to optimize the control of the boundary layer on the blade.
It is created using an hyperbolic mesh.
FIGURE 7.12
Hyperbolic mesh around the blade
Grid Point Number Control
The number of grid points along the solid wall is controlled within the page Grid Points of the
dialog box Define B2B Topology For Active Blade. The grid points clustering along the solid
wall is split in four pieces controlling the leading edge, the trailing edge, the upper side and the
lower side of the blade.
FIGURE 7.13
Grid points number control
If the high staggered topology (more details in section "Topology for High Staggered Blades" (p.
362)) is not used, additional blue control boxes are available to modify the distribution of the
number of points between the inlet, the outlet and the blade.
FIGURE 7.14
Grid points distribution control
Leading Edge & Trailing Edge Clustering Control
The clustering near the leading edge and/or the trailing edge can be fully controlled through the
dialog box Blade Clustering Control. When moving the mouse near the leading edge or the
trailing edge, the piece of clustering controlled is automatically highlighted. The length of the
piece is named "control distance". The inlet/outlet grid points are uniformly distributed along this
distance.
FIGURE 7.15
Leading edge control distance
Right- clicking when a control distance is highlighted opens a contextual menu. The menu
Properties opens the dialog box Blade Clustering Control.
FIGURE 7.16
Blade clustering control
The control distance along which the grid points are distributed can be modified by selecting the
mode of specification and the distance value:
1. Absolute Control Distance: the distance is given in absolute units and remain the same for
each layer.
2. Relative Control Distance: the distance is given in relative units (normalized with the blade
width).
3. First Cell Length: the distance is equal to the product of the cell width given by the user and
the number of nodes.
The control distance is combined with a percentage of cells along the blade that will present a
constant size (Percentage Cst Cells).
Another feature of this dialog box gives the control of the maximum expansion ratio of the cells in
the streamwise direction along the wall. Switch on the button Desired Expansion Ratio implies
that the number of grid points on the upper and lower side of the blade will be recomputed to
ensure that the expansion ratio remain lower than the target value. The total number of points
around the blade is then continuously updated.
Move Leading Edge & Trailing Edge Location
When moving the mouse near the leading or trailing edge, the control distance is highlighted
indicating that it is ready for selection. Left-click (without release) and drag it on the desired
location then release. The mesh of the skin block is continuously updated during the moving
process.
FIGURE 7.17
Move stagnation point location
Control Boundary Layer in the Skin Mesh.
The skin block is created using a hyperbolic mesh. The width of the boundary layer in the initial
mesh before optimization is controlled by the cell width at the wall, the expansion ratio and the
number of points in it. These parameters can be modified in the page Mesh and Grid Points of
the dialog box Define B2B Topology.
During the optimization step, the smoother will modify the grid points distribution of the blade-to-
blade mesh layers to reach a higher mesh quality. The parameter Skin Block Expansion Ratio
Control (%) allows to bring additional constraints to the smoother to better control the skin block
layers.
l When the parameter is set to 0 (corresponding to the behavior before this parameter was
introduced), a default number of skin block layers, about half of them, starting from the blade,
will be constrained to respect the imposed expansion ratio together with the orthogonality to
the blade.
l When the parameter is set to 100, the remaining skin block layers will be constrained not to
exceed the imposed expansion ratio.
The parameter Skin Block Expansion Ratio Control (%) applies only to the skin block, therefore
it will have no influence on blunt boundary layers, neither on H&I topology without skin block.
For rounded topology at trailing edge (i.e. Kaplan or Francis turbine wizard), when the parameter
Skin Block Expansion Ratio Control (%) is set to 0, the additional constraints to the smoother are
applied to all the layers in the skin block except the last three ones.
FIGURE 7.18
Boundary layer control
When AutoGrid5™ detects that the boundary layer width is too big for the geometry configuration, it
prompts the user to confirm the automatic reevaluation of the expansion ratio to a correct value.
When the blade section has a curved shape, crossing grid lines in the hyperbolic mesh can be detected
by AutoGrid5™ and it automatically prompts the user to change the expansion ratio manually to
avoid crossing section.
When activating the option Cell Width at Wall Interpolation, AutoGrid5™ allows to impose a
cell width different at the hub & shroud of the machine, especially when the speed of the flow
becomes very different at the hub and at the shroud of the machine.
The user inputs the cell width at the hub and the shroud and the boundary layer width. For each
layer, AutoGrid5™ computes the local cell width (Cell local ) and the local expansion ratio
(ER local ) using a linear interpolation between the hub and the shroud. The variable used to
compute the interpolation is the relative spanwise location (from 0 to 1) of the layer at the leading
edge.
Celllocal = 10pow(log10(cell hub)+(log10(cell shroud)-log10(cell hub))*spanwiseLocation)
Bnd. Layer Width = (1+ERlocal+ERlocal²+…+ERlocal
n-2)xCelllocal
with n equal to the number of cells in the boundary layer.
When the option is active, the Expansion ratio and the Cell Width at Wall field are not
available for modification. Each time the button Generated B2B is pressed, these fields show the
local cell width and the local expansion ratio used to compute the blade-to-blade mesh on the
active layer.
Control Hub/Shroud Gap Mesh
When full or partial gap(s) has been defined, AutoGrid5™ adds automatically new blocks to
mesh the domain up or down to the blade(s). The mesh inside a gap has a butterfly topology: a H
block (Topology:OH) or 2 H blocks ("Hub/Shroud Gaps Control" (p. 307)) surrounded by a
O block are used to discretize this area. When the gap is partial (only available with OH
Topology) the two blocks are split in maximum five blocks.
By default, the gap meshes matches the skin mesh around the blade. Therefore, the only control
gives to the user is the number of points inside the O-block that can be modified in the page Grid
Points of the dialog box Define B2B Topology for Active Blade.
If the number of points on the upper side and on the lower side of the blade is changed and if a gap
has to be defined, the change is canceled automatically by AutoGrid5™ when pressing the button
Generate B2B to ensure a matching connection between the gap meshes and the skin mesh around
the blade.
When imposing sharp ("Blend/Sharp/Rounded Treatment at Leading/Trailing Edge" (p. 351)) at
the blunt blade leading/trailing edge (i.e. inducer), a H topology will be automatically used. The H
topology is not available if the number of points is not equal on the pressure and the suction side of
the blade.
FIGURE 7.19
Butterfly mesh in gap
Blend/Sharp/Rounded Treatment at Leading/Trailing Edge
In case of blunt blades, AutoGrid5™ automatically detects the bluntness of the blade and the
option to blend, sharp the blunt blade leading/trailing edge or rounded the blunt blade trailing
edge appear in the Topology page of the Define B2B Topology for Active Blade dialog box.
FIGURE 7.20
Blend/ sharp/ rounded treatment option at leading/ trailing edge
The selection of the options Sharp Treatment At Leading Edge and Sharp Treatment At
Trailing Edge replaces the local topology by two H blocks. The option is recommended for
inducer configuration.
FIGURE 7.21
Effect of sharp leading/ trailing edge treatment
The selection of the options Blend the Blade At Leading Edge and Blend the Blade At
Trailing Edge automatically closes the blunt edges by a circular shape edges as shown in
FIGURE 7.22. When these treatments are activated in the GUI, the keywords "BLENT_AT_
LEADING_EDGE" and "BLENT_AT_TRAILING_EDGE" are saved in the ".geomTurbo"
file.
FIGURE 7.22
Effect of blend treatment at leading/ trailing edge
The selection of the option Rounded Treatment At Trailing Edge replaces the local H-mesh
topology by an O-mesh around the blade.
FIGURE 7.23
Effect of rounded treatment at leading/ trailing edge
The sharp/rounded options are saved in the ".trb" file as a mesh option.
The blend option modifies the geometry and is thus saved in the ".geomTurbo" file, this has a
consequence when redefining the geometry in an existing project:
l if the option is active in the current project, whatever the new geometry the option remains active,
l if the option is not active in the current project, it depends on the value contained in the new
".geomTurbo" file.
Grid Points in Throat
AutoGrid5™ allows an automatic control of the number of grids points in the throat by setting the
Number of Points In Throat to 1. This parameter can be modified in the page Grid Points of
the dialog box Define B2B Topology for Active Blade and is controlling part of the number of
points along the blade as presented on next figure.
FIGURE 7.24
Number of points in throat
For example, when dealing with inducer configuration, in the Define B2B Topology for Active
Blade dialog box:
l The Matching Periodicity and the High Staggered modes with High-Low or Low-High
Inlet/Outlet Type are imposed in the Topology page,
l The Number of Points in Throat is set to 1 to optimize the blade to blade mesh by an
automatic control of the blade points distribution in the throat.
Throat control is not applicable for multiblade (one or more splitters) configuration.
Backward is ensured with the previous releases in which the grid points were imposed manually in
the throat.
When Number of Points In Throat is set to 1, the leading and trailing edge clustering is
projected on the opposite side of the blade using an algorithm using the blade staggered angle.
When the staggered angle is significantly different at inlet and outlet, the option Accurate throat
projection can be activated to improve the projection location.
This option projects the leading and trailing edge on the other blade. When the throat angle is
important and the pitch angle relatively large compare to the blade length, there may be simply no
intersection or very close to the leading or trailing edge. This is resulting to a poor quality mesh or a
too high concentration of points at leading/ trailing edge.
The parameters Inlet/Outlet Projection Relaxation can be used to relax the clustering at the
projection location especially when the blade is blunt. It allows to control manually the projection
points clustering of the blade by multiplying the default clustering with the value specified in the
entry.
Wake Control
The direction of the mesh downstream the trailing edge can be controlled to capture the wake. By
default the wake control is switch off. When the Wake Control check box is selected, the Wake
Relative Angle can be imposed in the page Mesh of the dialog box Define B2B Topology for
Active Blade. The edges of the outlet block are created using straight lines. The angle between
these straight lines and the dm/r axis is equal to the solid angle + the wake relative angle specified
in the dialog box. FIGURE 7.25 describes the geometrical detail and the mesh control when
modifying the wake relative angle feature.
FIGURE 7.25
Wake control - relative angle
Furthermore, the Wake Prolongation when set to Full allows to propagate the wake in the
downstream H-block (created when a control line is added downstream the trailing edge of the
blade). It improves the quality of the mesh downstream of the trailing edge.
If the wake control is activated, the outlet angular position is indirectly fixed and the outlet angle
cannot be imposed anymore.
Starting AutoGrid5™ v13.1, the Wake Prolongation has an additional Partial option. Partial
wake prolongation propagates the wake angle from the unfixed control line to the next fixed
control line where it becomes horizontal. (New in AutoGrid5™ v13.1)
Inlet & Outlet Boundary Control
The inlet and outlet boundaries of the blade to blade mesh are located at theta positions computed
automatically using a parabolic function. If the blade is twisted, the computed values are different
for each layer. Therefore the inlet and the outlet surfaces of the 3D mesh can be also twisted.
FIGURE 7.26
Twist of the inlet 3D boundary
The angle deviation at the inlet and/or the outlet is important and the mesh quality can be seriously
affected along the spanwise direction. To avoid this phenomenon at the inlet/outlet boundary limit
of the mesh, new controls have been added in the Mesh page of the dialog box Define B2B
Topology for Active Blade. If the Free Inlet/Outlet Angle mode is switched off, the user can
freeze the inlet/outlet angle and mesh using respectively the Frozen Inlet/Outlet Angle and the
Frozen Inlet/Outlet Mesh options. These options constrain the inlet/outlet optimization and force
the mesh at the boundary.
l When Frozen Inlet/Outlet Angle and Frozen Inlet/Outlet Mesh modes are switched off, the
initial mesh before smoothing will be imposed at constant theta position with a uniform
distribution of grid points along theta but when smoothing, the inlet/outlet patch boundaries
and mesh can move.
l When Frozen Inlet/Outlet Angle mode is switch on and Frozen Inlet/Outlet Mesh mode is
switched off, the initial mesh before smoothing will be imposed at constant theta position with
a uniform distribution of grid points along theta but when smoothing the inlet/outlet patch
boundaries stay fixed and only the distribution of grid points along theta may change.
l When Frozen Inlet/Outlet Angle and Frozen Inlet/Outlet Mesh modes are switched on, the
initial mesh before and after smoothing will be imposed at constant theta position with a
uniform distribution of grid points along theta.
FIGURE 7.27
Inlet and outlet boundary control
Relax Inlet & Outlet Clustering
When Z cst lines are defined upstream or downstream to the blade, upstream and downstream H-
blocks are created. By default the azimuthal clustering at the control line is extended up to the
inlet or the outlet in the blade-to-blade mesh.
In case Z cst lines are defined upstream or downstream to the blade, AutoGrid5™ automatically
detects the control lines and new options are available in the Mesh page in the Define B2B
Topology for Active Blade dialog box.
The Relax Inlet/Outlet Clustering options allow to relax the clustering in the azimuthal direction
starting from the control line up to the inlet or the outlet.
Blunt at Leading/Trailing Edge
In case of blunt blades, AutoGrid5™ automatically detects the bluntness of the blade and new
options are available in the Mesh page in the Define B2B Topology for Active Blade dialog
box.
This option is not available for staggered topology.
l ZCst line at Leading Edge: Selection of this option defines a Z constant line at the leading
edge.
l ZCst line at Trailing Edge: Selection of this option defines a Z constant line at the trailing
edge.
Zcst line at the leading edge or trailing edge cannot be combined with respectively high staggered
topology at the leading or trailing edge.
Zcst line should be added at the leading or trailing edge location in the meridional view to ensure that
the flow paths are respecting the shape of the hub and shroud at the leading or trailing edge. The B2B
control option of this control line should be deactivated.
l Cell Width At Leading Edge: This entry allows the user to specify the width of the cell at the
blunt leading edge. By default the value is set to the cell width value imposed under Mesh
Control/Row Mesh Control in the Quick Access Pad or in the Row Wizard. When the
value is set to -1, the value will be calculated from a uniform distribution on this edge using the
leading edge number of points.
l Cell Width At Trailing Edge: This entry allows the user to specify the width of the cell at the
blunt trailing edge. By default the value is set to the cell width value imposed under Mesh
Control/Row Mesh Control in the Quick Access Pad or in the Row Wizard. When the
value is set to -1, the value will be calculated from a uniform distribution on this edge using the
trailing edge number of points.
FIGURE 7.28
Effect of Z constant line in case of blunt leading and trailing edges
7.2.2
Topology for High Staggered Blades
Overview
In several turbomachinery types, the blades are highly staggered. If the solid angle at the inlet
(outlet) of the machine becomes greater than 45° and if the location of the inlet (outlet) limits of
the domain is close to the leading edge (trailing edge) of the blades, then the O4H topology is not
suitable anymore: the cells located near the inlet (outlet) boundary becomes very skewed.
FIGURE 7.29
High staggered blade
To improve this unexpected behavior, AutoGrid5™ uses the High Staggered Blade
Optimization in the Topology page of the dialog box Define B2B Topology for Active Blade
(FIGURE 7.31).
High Staggered Blade Topology Optimization
FIGURE 7.30
C topology at inlet
When the topology is (re)initialized using the button ( Initialize Topology & Grid Points
Distribution , AutoGrid5™ detects if the two conditions described in the FIGURE 7.29 are
reached. In this case, AutoGrid5™ automatically adapts the default topology to optimize the grid
quality: if the solid angle at inlet is lower than 0, the H upper block becomes a C-block.
The high staggered blade topology optimization is controlled in the page Topology of the dialog
box Define B2B Topology for Active Blade. The optimization can be switch off through the
option High Staggered Blade Optimization to retrieve the default topology (FIGURE 7.29).
The automatic search of the two geometric conditions can be switch off through the button
Automatic High Staggered Blade Detection. In this case, the user has to specify manually
which are the inlet and/or outlet geometrical configuration: Normal, Low Angle or High Angle
(FIGURE 7.29 is presenting a low inlet angle test case).
FIGURE 7.31
High staggered optimization control
The next figure is presenting the description of the different types of geometrical configuration
and their corresponding inlet and outlet types.
FIGURE 7.32
Blade types
Grid Points - Periodic Boundary - Gap Control
When a C-mesh is defining the upper block at inlet, the grid point number on the upper side of the
blade and the grid points number at the inlet of the upper side are linked.
The number N1 cannot be greater than N2. When a periodic matching boundary is requested, the
number of points N1 is always different of N3. Therefore, if a gap mesh is defined, a non-
matching connection will be automatically used to create the connection between the H-block and
the O-block inside the butterfly mesh.
FIGURE 7.33
High staggered topology & periodic boundary
7.2.3
Tandem Row
Within AutoGrid5™,
Tandem Row in the Row Properties dialog box of the concerned row(s).
turbomachines presenting tandem ro w can be meshed by activating
Configuration is considered as tandem when it is presenting two rows (main blade with or without
splitter(s)) without overlap in the streamwise direction (Tandem Row set to With Next/With
Previous).
The tandem configuration is applied on only two successive rows.
In order to be able to obtain full matching mesh between both rows, the number of flow paths and
the flow paths distribution at the rows interface must be equal. This will lead to continuous flow
paths between row 1 and row 2.
To obtain full matching mesh in the B2B plane, two unfixed control lines are required upstream
and downstream the interface of the rows.
The B2B mesh topology used for each blade row must be the O4H or the H&I topology.
In addition, the number of point in the azimuthal direction at the interface between both rows must
be the same. In the Grid Points section of the dialog box Define B2B Topology for Active Blade,
a message indicates to the user the number of points at the connection in both rows.
When left-clicking on the button Initialize Topology & Grid Points Distribution of the top menu
bar, the process does not perform checks and grid manipulation to assume correct linking of
tandem rows. The user has to manually check and change the grid point distribution to assume
same azimuthal grid point number at the interface between both rows otherwise a warning
appears.
To ensure a full matching mesh, the optimization parameters of both rows are strictly linked
together.
7.2.4
Control Lines & Blade to Blade Mesh
The control lines are defined in the meridional view to capture discontinuities of the hub and/or of
the shroud. These lines can be defined upstream, downstream or on the blade(s) definition.
FIGURE 7.34
Control lines
By default, the control lines are taken into account in the blade to blade meshing process. The
intersection between the flow paths and the control line is performed to obtain m locations in the
(dm/r,space). The control line implies that vertical grid lines must be defined at the computed m
locations.
FIGURE 7.35
Blade to blade mesh with control lines
Right-click on a control line in the meridional view gives access to a contextual menu. The menu
item Properties opens a dialog box used to control the parameters of the control line. The
parameters B2B Control: None in this dialog box are used to switch off the blade to blade
control of the control lines.
FIGURE 7.36
Control line control
Upstream & Downstream Control Lines.
Upstream and downstream control line implies that new H blocks will be added before the inlet or
after the outlet of the O4H topology. The number of points in the azimuthal direction is implicitly
defined by the connection with the blocks of the O4H topology. The number of points in the
streamwise direction n1 and n2 (FIGURE 7.37) are controlled by the parameter Streamwise
Npts in the dialog box Row Interface Properties (FIGURE 7.36) or by right-clicking on the H
block in the blade to blade view and selecting the Number of Pts Streamwise menu.
FIGURE 7.37
Upstream & Downstream H-blocks
Adding two or more consecutive unfixed geometry control lines in upstream or downstream block
does not make sense and when combined with fixed geometry control line (s) that may lead to
clustering in azimtuthal direction and non smooth boundaries in the concerned block.
Control Line on Blade
When a control line is defined on a blade, the parameters Streamwise Index of the dialog box
Row Interface Properties (FIGURE 7.36) controls the index of the grid points along the blade
distribution linked to the control line (FIGURE 7.38). By default, its value is equal to "0" and the
new control line is not taken into account. When new control line has to be defined on the blade,
it is advised to perform the Initialize Topology & Grid Points Distribution process which
computes default value for the streamwise index of the new control line.
FIGURE 7.38
Control line on blade
Cell Width around Control Line
The parameter Cell width of the dialog box Row Interface Properties (FIGURE 7.36) controls
the cell width in the streamwise direction around the control line. By default the value is set to
"0.0" and AutoGrid5™ computes the most appropriated value automatically.
The parameters Relaxation Location / Relaxation Factor of the dialog box Row Interface
Properties (FIGURE 7.36) control the relaxation of the cell width in the streamwise direction
around the control line. By default the relaxation is not applied (Relaxation Location set to
None).
Mesh Quality Improvement with Control Line
For high staggered blades, new topology is automatically select by AutoGrid5™ if two conditions
are reached (FIGURE 7.29). When the upstream domain and/or the downstream domain are
large, the second condition is not reached and the high staggered optimization not selected. A
method to ensure the selection of the high staggered optimization consists of creating control lines
upstream the blade near the leading edge and downstream the blade near the trailing edge. In this
condition, AutoGrid5™ will choose the high staggered optimization. By adding these new
control lines, we add also constraints into the blade to blade mesh definition (vertical grid lines for
each control line). These constraints can be suppressed by switching off the Fixed Geometry
option in the dialog box Row Interface Properties (FIGURE 7.36).
FIGURE 7.39
Control lines improve mesh quality
7.2.5
Intersection Control Options
In AutoGrid5™, the dialog box Define B2B Topology For Active Blade contains a page
Intersection Control.
FIGURE 7.40
Intersection control parameters
These parameters allow in specific cases to control the intersection between the blade and the
flow paths performed during the transformation made from 3D space to 2D blade-to-blade space
and from 2D domain to 3D space. This intersection is defined by control points (with a certain
distribution along the blade) and a number of points in between each control points. This curve
describing the blade in 2D blade- to- blade space is then used to create the mesh and then
transformation to 3D domain is made. After these two transformations using intersection curves,
there may be some (very) small differences between the original 3D geometry and the geometry
obtained. In AutoGrid5™ the differences in geometry are so small that in general the impact on
the solution is much smaller than the use of discretization in a mesh due to the size of cells and the
location of the grid points. Nevertheless AutoGrid5™ allows to use more points to compute the
intersection and in that way to reduce these differences even more. This is at the cost of a much
longer mesh generation process.
In few words the Intersection Control parameters control the way the intersections are defined
between the geometry of the blade and any axisymmetric surface defined by the flow path.
The Intersection Quality parameter allows to choose the algorithm used to compute the
intersections:
l Low mode is only available when the row blades geometry is defined by a native format
(pressure and suctions sides defined by a set of sections in the ".geomTurbo" file). This mode
uses SISL library.
l High mode uses Parasolid™ library. This mode is very precise but maybe more time
consuming.
The Intersection Number of Points parameter controls the number of discretization points
between control points defining the intersection curve. This parameter is not used in Low mode
with Curvature distribution.
When Low mode is selected,
the Points Distribution Law parameter controls how the
discretization points are distributed along the intersection curve. The Uniform law is
recommended.
When High mode is selected, new checks are added when computing the blade-to-blade high
quality intersections. The Intersection Precision Check Ratio parameter controls the tolerance
of these checks. The tolerance is the imposed parameter multiplied by the wall cell width.
The checks are performed during the intersection process steps: the curve discretization, the
grouping of all intersection curves together at some tolerance (grouping may fail because of holes
between curves) and for double rounded blade, the closure on itself at some tolerance of the
grouped intersection curve.
If a check fails, it makes fail the whole blade-to-blade intersection and if during the mesh
generation, the generation is stopped. If we are in the blade rounded tip topology generation
process, it may also stop, depending at which step the intersection fails.
If one of the checks on the grouping or the closure fails, a corresponding error message appears in
the shell or terminal with an advice to increase the tolerance parameter to apply. In case of a too
wide gap in the final grouped intersection curve, the measured gap is also displayed, allowing the
user to adapt accordingly the Intersection Precision Check Ratio by default set to 5.
the geometry is not very well defined and contains some small discontinuities,
is
If
recommended NOT to use a Curvature distribution. Because this type of distribution will result in a
concentration of control points in the small area of the discontinuity, leading to not enough control
points left for a good representation of the rest of the geometry.
then it
If after the mesh generation, the mesh is presenting high value of angular deviation, the Low mode
used by default for native ".geomTurbo" file can be switch to High mode before regenerating the
mesh.
In bypass configuration, the High mode intersection should be applied on the row on the nozzle if
any.
When High mode intersection, for blunt blades, there is no check to verify that the intersection is
complete at the blunt. If a piece between the start/end of the curve and the blunt is missing, it is not
detected.
Furthermore, the Blade Section Reference Angle allows for multiblade (one or more splitters)
configuration to project the blade section correctly into the M-theta plane by specifying an angle
of reference (by default set to 0). This angle can be specified manually or automatically using the
Compute For Row button. It can happen that for some configuration this angle when set to 0 is
no more suitable for all the blades, leading to a M-theta projection shifted by 2.PI for some blade
as presented below. Changing the Blade Section Reference Angle of all the blades to a value up
to +2PI or down to -2PI (according to the azimuthal distribution) solves this problem. The
Compute For Row button automatically calculates the reference angle for all the blades of the
row to obtain the right blade ordering.
FIGURE 7.41
Modify reference angle of all the blades to correct the projection
When using the Compute For Row button, AutoGrid5™ assumes that all blades are either aligned
at leading or at trailing edge. It might fail if this is not the case.
Finally, the Number of Points Used To Define the Chord allows to control the number of
control points used to generate the chord in the blade to blade view (by default set to 33). Usually
this number of points is unchanged but in specific cases (i.e. when the blade is deformed), it is
required to increase this parameter.
7.3
HOH TOPOLOGY
7.3.1
Overview
The HOH topology is defined with three blocks named respectively the inlet, O and outlet blocks.
The topology is controlled through the dialog box Define B2B Topology for Active Blade.
FIGURE 7.42
HOH topology
This topology is not suitable for all the turbomachinery types. This feature is not applicable:
l for blade with blunt leading edge and/or blunt trailing edge,
l for row with splitter blade(s),
l for blade to blade geometrical configuration with blade chord length lower than the pitch
angle,
l for row with control line defined on the blade.
7.3.2
HOH Blade to Blade Mesh Control
The HOH blade to blade mesh topology is controlled through the parameters available in the
dialog box Define B2B Topology for Active Blade. The dialog box is divided into five areas.
In the Topology page, the user control the mesh topology of the inlet and the outlet extension of
the mesh. The O-block is running around the blade and can be extended by upstream and
downstream H or I blocks. In Mesh page, the user is allowed to change the orthogonality and the
cell width at the wall through the parameters Boundary Layer Factor and Cell Width at Wall,
respectively. The blade points clustering can also be controlled. In the Grid Points page, the
interactive graphical area shows the mesh topology in terms of number of points. The user can
customize the grid size by changing the number of points displayed in this area. Each label can be
selected and modified using the mouse. When clicking on a number of points, a string input area
appears prompting the user to change this number. When modification have been done inside the
dialog box, the button Generate B2B can be used to compute and display the mesh according to
the new settings.
Upstream & Downstream Extension Control
As described in the previous section, the Define B2B Topology for Active Blade dialog box gives
access to the upstream and downstream control.
FIGURE 7.43
Upstream & downstream controls
By default, the upstream and downstream extension blocks are activated (1), the inlet and outlet
block type is set to I (2).
As shown in FIGURE 7.44, H inlet type allows the user to set up full matching meshes. If the I
inlet type is chosen, the periodic boundaries at the inlet are non-matching.
FIGURE 7.44
H&I upstream topology
The Inlet Position and Outlet Position entered by the user is used to compute the distance
between the leading edge and the connection boundary. The specified value is a ratio between the
pitch angle and the computed distance.
FIGURE 7.45
Inlet & outlet location
Number of Points Control
The grid points number depends on the grid level chosen in the quick access pad page Mesh
Control/Grid Level before performing the initialization ( Initialize Topology & Grid Points
Distribution).
Afterwards, the interactive graphics area of the Define B2B Topology for Active Blade dialog box
allows the user to change the number of points used to defined the blade to blade mesh. The
mouse can be used to select a grid point number by left-clicking on it. A string input area is
automatically displayed, prompting the user to specify a new grid point number.
FIGURE 7.46
HOH number of points
When the values imposed do not allow to obtain 3 grid levels on leading and trailing edges, a warning
appears and suggests to adapt automatically the number of grid points on leading and trailing edges to
guarantee 3 grid levels.
Blade Clustering Control
The page Blade Points Distribution opens an area allowing the user to control the clustering
near the leading edge and near the trailing edge of the blade
FIGURE 7.47
Blade Points Distribution
Four blade points clustering types are available for the leading and/or the trailing edges:
l (1) None: the grid points are clustered according to the projection of the clustering on the
external boundaries of the block.
l (2) Absolute Control Distance: a uniform distribution is set along a distance given by the
user.
l (3) Relative Control Distance (Default): a uniform distribution is set along a distance
computed by multiplying the blade width near the leading edge and a factor given by the user.
l (4) First Cell Length: first cell length is given by the user
In addition the obtained clustering can be smoothed (5) and the grid point clustering down to the
blade in the azimuthal direction can be controlled by the Drag Clustering factor (6): the cell
length near the trailing edge is propagated until the boundary between the O and the outlet H
block.
7.3.3
Butterfly Mesh Topology for Hub/Shroud Gap
The mesh on the hub/shroud gap is created using a butterfly topology. Grid Points page provides
new parameters to control the gap mesh.
FIGURE 7.48
Gap controls
The parameters can be changed by selection in the graphics control area. By default the
connection with the main mesh is matching and a non-matching connection is created between
the H and O block inside the gap. In non-matching mode, the non-matching connection is
located at the interface between the main mesh and the mesh of the gap.
When using the matching mode (non-matching connection is created between the H and O block
inside the gap) it is not recommended to use the optimization in the clearance. In some cases that may
work but most of the time it will not give any better result.
7.3.4 Hub to Shroud Mesh Control
The two Hub to Shroud Control parameters at Inlet and Outlet in the Mesh page of the Define
B2B Topology for Active Blade dialog box act to reduce fluctuation of the solid angle computed
to initialize the blade to blade mesh using HOH topology. In linear mode the angles are equal to
the linear interpolation between the hub and the shroud angle values. To see a big difference, the
blade should present the same solid angle on the hub and the shroud and different at mid span. It
is used to avoid big fluctuation of the mesh in the spanwise direction due to big fluctuation of the
solid angles.
To avoid a kink, the parameter Hub to Shroud Control should be kept down or equal to 0.5 when
the solid angles are changing of sign from hub to shroud.
7.3.5
Intersection Control Options
The parameters in the Intersection Control page allow in specific cases to control the intersection
between the blade and the flow paths performed during the transformation made from 3D space to
2D blade-to-blade space and from 2D domain to 3D space. More details about the parameters are
provided in the "Intersection Control Options" (p. 373) section.
7.4
H&I TOPOLOGY
7.4.1
Overview
The H&I topology is used to obtain better mesh quality with multiblades (one or more splitters)
configuration. The H&I topology is controlled through the dialog box Define B2B Topology for
Active Blade.
FIGURE 7.49
H&I topology
The H&I topology will present leading and trailing edges clustering projected on neighboring
blades, meaning that a non matching connection or a non matching periodic connection will be
present at inlet and outlet.
FIGURE 7.50
H&I topology - Projection points
The H&I topology is composed by:
l One block to mesh the blade passage, contrary to the default topology which creates a mesh
around the blade.
l An optional skin block around the blade with two H blocks before and after the skin block.
The topology is not suitable for all turbomachinery types. This feature is not applicable:
l for bypass configuration,
l for configuration presenting a Z constant line on blade,
l for configuration presenting cooling features (holes, basin, ribs,...),
l for full mesh generation with geometry periodicity different than 1,
l for configuration requiring a wake control,
l for multisplitter configuration where leading or trailing edges are crossing each other.
7.4.2 H&I Topology Control
As mentioned previously in this chapter, the H&I topology is composed by maximum 4 blocks:
l a H block to mesh the blade passage
l an optional O block around the blade (skin block)
l an optional H block upstream the leading edge of the blade if a skin block around the blade
l an optional H block downstream the trailing edge of the blade if a skin block around the blade
By default, the H&I topology will present a full matching connection in the blade passage area
and a non matching connection (FIGURE 7.51) or a non matching periodic connection (FIGURE
7.52) in the inlet and outlet region.
However, a small part just before the leading edge and after the trailing edge will be matching to
avoid a non matching connection in these critical regions (FIGURE 7.52).
FIGURE 7.51
H&I topology - non matching connection
FIGURE 7.52
H&I topology connections
The number of points involved in the matching connection at the leading and trailing edges is
automatically imposed by AutoGrid5™ and cannot be adapted manually. These number of points
are provided as info in the Grid Points page.
The matching connection in these critical regions is ensured except
if the grid points number
modified by the user at inlet and/or outlet is lower than the number of points set automatically by
AutoGrid5™ in the matching connection. For example, in previous figure if the inlet grid points
number (set by default to 53) is set to a value down or equal to 29, the matching connection will not
be ensured at the leading edge.
The options H topology: Inlet/Outlet have to be activated in the Topology page in order to
ensure a full matching connection at respectively inlet or outlet when the blade is not detected
highly staggered at inlet or outlet. To apply these options, the button Initialize Topology & Grid
Points Distribution should be pressed.
When the blade is detected highly staggered at inlet and/or outlet, the full matching connection will
be automatically ensured at respectively the inlet and/or outlet ( "Topology for High Staggered
Blades" (p. 394)) and the options H topology: Inlet/Outlet should not be activated.
FIGURE 7.53
H&I topology - H Inlet/Outlet
The option H topology: Full has to be activated in the Topology page in order to enforce full
matching connections in the whole blade-to-blade mesh including in the gap. To apply this
option, the button Initialize Topology & Grid Points Distribution should be pressed (i.e. staggered
topology is reset to normal).
FIGURE 7.54
H&I topology - H Full
The H&I topology can be limited to H block to mesh the blade passage by deactivating the option
Skin Block.
FIGURE 7.55
H&I topology - without Skin Block
Control Number of Grid Points
The grid points number depends of the grid level and the streamwise weights chosen in the quick
access pad page Mesh Control/Grid Level before performing the initialization ( Initialize
Topology & Grid Points Distribution).
These optimized grid points numbers can be changed in the Grid Points page of the dialog box
Define B2B Topology For Active Blade. The number of grid points can be adapted as well as the
grid points distribution (number on top of arrows) from the inlet to the outlet. In the next figure,
when modifying the grid points distribution from 53 to 45 at the leading edge, the grid points
number at inlet will be reduced to 45 and the number of points on the blade will be increased to
(61 + (53-45-1)).
To change a number, left-click on it, enter the new number of points in the locally displayed input
area and <Enter> to confirm or <Esc> to cancel the action. To display the new blade to blade
mesh, click-left on the button Generate B2B.
When modifying a number of grid points, in order to preserve the matching connections of the
H&I topology, all the numbers of grid points will be automatically adapted. For a configuration
presenting splitter(s), when modifying the grid points numbers on one blade (main blade or
splitter) of the row, the changes will be automatically applied on all the blades composing the
row.
Control Skin Mesh Clustering around the Blade
The O block around the blade is used to optimize the control of the boundary layer on the blade.
It is created using an hyperbolic mesh and can be adapted using the options presented in section
Control Skin Mesh Clustering around the Blade. When the option Skin Block is deactivated (no
O block around the blade), a clustering at both ends will be applied in the H block in the channel.
Control Hub/Shroud Gap Mesh
When gap(s) has been defined, AutoGrid5™ adds automatically blocks to mesh the domain up or
down to the blade(s). More details can be found in the Control Hub/Shroud Gap Mesh section.
Blend/Sharp/Rounded Treatment at Leading/Trailing Edge
In case of blunt blades, AutoGrid5™ automatically detects the bluntness of the blade and the
option to blend, sharp or rounded the blunt blade leading/trailing edge appear in the Topology
page of the Define B2B Topology for Active Blade dialog box. More details can be found in the
Blend/Sharp/Rounded Treatment at Leading/Trailing Edge.
However, when the blade is considered as blunt or sharp at both leading and trailing edges, the
skin block (O block) will be removed.
Control Boundary Layer in the Skin Mesh.
The skin block is created using a hyperbolic mesh. The width of the boundary layer is controlled
by the cell width at the wall, the expansion ratio and the number of points in it. These parameters
can be modified in the page Mesh and Grid Points of the dialog box.
Control Clustering at Projection Points
The H&I topology will present leading and trailing edges clustering projected on neighboring
blades. It means that by default the clustering imposed at the leading and trailing edges will be
applied on the corresponding projected point.
FIGURE 7.56
H&I topology - Projection Point
AutoGrid5™ allows to relax the clustering of the projected point manually or automatically using
the parameters available in the Mesh page.
FIGURE 7.57
H&I topology - Projection Point Clustering Automatic Relaxation
The Automatic Clustering Relaxation (projections) option allows to relax automatically the
clustering on all projection points simultaneously.This method allows to impose automatically
different clustering relaxation depending of the projection point. For example, if the blade is
presenting a blunt at trailing edge, the corresponding projection point clustering will be more
relaxed compared to the leading edge projection point clustering as presented in FIGURE 7.57.
The Relaxation Clustering (projections) option allows to control manually the projection points
clustering of the blade by multiplying the default clustering with the value specified in the entry.
This method will impose the same relaxation factor to all the projection points.
When combining the two relaxation methods, first the automatic relaxation will be applied and
then the user defined relaxation clustering factor will be applied in addition.
Inlet & Outlet Boundary Control
The inlet and outlet boundaries of the blade to blade mesh are located at theta positions computed
automatically using a parabolic function or defined manually. More details can be found in the
Inlet & Outlet Boundary Control section.
Relax Inlet & Outlet Clustering
The Relax Inlet/Outlet Clusteringoptions allow to relax the clustering in the azimuthal direction
starting from the control line up to the inlet or the outlet.
Blunt at Leading/Trailing Edge
In case of blunt blades, AutoGrid5™ automatically detects the bluntness of the blade and new
options ZCst line at Leading/Trailing Edge are available in the Mesh page in the Define B2B
Topology for Active Blade dialog box. More details can be found in the Blunt at Leading/Trailing
Edge section.
7.4.3
Topology for High Staggered Blades
FIGURE 7.58
High staggered topology at inlet
By default, AutoGrid5™will detect automatically if the blade is staggered. When detected at inlet
and/or outlet, the main H block is deviated from streamwise direction to theta direction in order to
create a kind of C topology at the inlet and/or outlet). More details can be found in section
"Topology for High Staggered Blades" (p. 362).
The topology for high staggered blades is presenting full matching connections in the high staggered
area.
7.4.4
Intersection Control Options
These parameters allow in specific cases to control the intersection between the blade and the flow
paths performed during the transformation made from 3D space to 2D blade-to-blade space and
from 2D domain to 3D space. These parameters are detailed in section "Intersection Control
Options" (p. 373).
7.5
BLADE TO BLADE OPTIMIZATION
FIGURE 7.59
Blade to blade mesh optimization control
The blade to blade mesh of each row are optimized using an elliptic multiblock smoother. The
parameters controlling the optimization are available in the dialog box Optimization Properties.
This dialog box is opened through the option Mesh Control/Row Mesh Control/Optimization
Control of the Quick Access Pad.
7.5.1
Optimization Control
This section describes the optimization parameters available in the dialog box Optimization
Properties.
Optimization Steps on Fine Grid
The first fields Optimization Steps on Fine Grid and Gaps and/or CHT Optimization
represent the number of iteration the elliptic smoother will perform respectively in the channel
mesh and in the gap. This number depends on the skewness (orthogonality) level of the original
mesh and can be highly reduced if the Multigrid Acceleration is activated. By default both
optimization steps are set to 100.
Full Multigrid Optimization Steps
The field Full Multigrid Optimization Steps represents the number of iteration the smoother will
performed on all coarse grids to optimize each coarser grid before performing optimization steps
on finest grid level (Optimization Steps on Fine Grid) with or without Multigrid Acceleration.
The full multigrid smoother allows to accelerate the blade-to-blade smoothing process especially
when dealing with fine mesh or mesh requesting high amount of iteration steps on fine grid to
reach a good mesh quality (initial mesh far from final mesh, e.g. configuration with large skin
block). The full multigrid smoother reduces the kinks in the spanwise direction. By default full
multigrid optimization steps are set to 0.
This option is not recommended for coarse meshes having few multigrid levels for which fine grid
smoothing is already quite fast.
As full multigrid smoother produces already a quite good mesh, therefore a reduced number of
iteration steps on fine grid is needed after.
The full multigrid smoother is not applied in gaps and if Skewness Control is set to Medium or
Full.
The full multigrid smoother as the fine grid smoother may lead to angular deviation problems if the
mesh is including non-matching and/or non-matching periodic connections.
The full multigrid smoother is not recommended when dealing with rounded leading/trailing edge
blade and H&I topology without skin block.
Skewness Control
By default the Optimization Steps on fine grid control the orthogonality of the cells only near the
solid wall. The parameters Skewness Control/Skewness Control In Gaps set to Full force the
optimization to increase cells orthogonality everywhere respectively into the blade- to- blade
channel mesh and into the blade-to-blade gap mesh.
When the parameters Skewness Control/Skewness Control In Gaps are set to Medium, the
first half of iterations are done without skewness control and the remaining second half with
skewness control.
FIGURE 7.60
Optimization with skewness control
Theoretical Aspect
Two source term computations have been implemented ("Theoretical Aspect" (p. 403)).
The first one, with the Skewness Control set to No , computes source terms only in the
neighbourhood of boundary layers, taking into account the expansion ratio provided by the user.
The main drawback of this implementation is that it is easy for the user to enter conflicting inputs
that will make the smoother diverge. For example, requiring a very small cell size on boundary
with a small expansion ratio while the boundary spreads on a large distance with few cell points
cannot be achieved and is a typical case of the smoother divergence.
The second one, with the Skewness Control set to Full, computes source terms everywhere on
the mesh and does not have expansion ratio as input. The boundary layers are not privileged
which leads to better orthogonality in the central regions but decrease orthogonality near the
boundary layers. Moreover, mesh concentrations outgoing from boundary layers propagate all
over the mesh.
The main difference between the two methods can be seen in FIGURE 7.61.
FIGURE 7.61
Smoothing without (left) and with (right) skew flag
Orthogonality Control
The parameter Orthogonality controls the level of cells orthogonality near the wall or
everywhere in the mesh depending of the Skewness Control parameter value. By default the
orthogonality control parameter is set to 0.5.
FIGURE 7.62
Orthogonality control
The parameter Gap Orthogonality is used when a large variation is observed in the first cell
width in the gap compared to the blade width. In case of smaller wall cell width, increase the Gap
Orthogonality to increase the orthogonality and for larger wall cell width, reduce the Gap
Orthogonality to avoid overlapping cells in the gap. By default the gap orthogonality value is set
to 0.5.
Theoretical Aspect
When the source terms become too high, typically when expansion ratio are too large (>> 2) or
angles are too small, the numerical scheme that solves the elliptic equation becomes unstable and
the smoother diverges. The source terms are therefore clipped in order to be kept below a certain
value depending on the smoother type.
When aspect ratio are large on the boundary layer while both orthogonality and expansion ratio
almost fit CFD requirements, the source terms also become large and clipping them to ensure
robustness of the smoother leads to low orthogonality in the boundary layers. Fortunately,
experience has shown that clipping can be proportional to the square root of the aspect ratio. The
Orthogonality slider controls the proportionality factor and allows to obtain good orthogonality
and low expansion ratio in the boundary layers. When set to "0.000", there is no overclipping and
robustness is ensured but there is a risk of decreasing the orthogonality in the boundary layer.
When set to "1.000", orthogonality constraint increases as well as the probability that the
smoother diverges. The default "0.500", in most of the cases, provides a good boundary layer
after a smooth convergence.
Note that this overclipping method also allows the second type source term computations to
privilege boundary layers (details in "Theoretical Aspect" (p. 403)).
7.5.2 Wake Control Level
This option is meaningful only if the Wake Control is activated. In that case, the smoothing is
performed in two stages. During the first one, the wake is fixed and released during the second
stage. The Wake Control Level slider controls the proportion of iteration performed in the first
and the second stage.
FIGURE 7.63
Wake control level
7.5.3 Multigrid Acceleration
This functionality allows a faster convergence of the smoother but should nevertheless be
carefully used. Indeed, in this case, the multigrid scheme presents an additional difficulty: the
fields that are computed, restricted and prolonged are the mesh points themselves. The expansion
ratio is thus highly increased on each grid coarsening as well as the resulting source terms. As
discussed in the Orthogonality Control section, the stability of the numerical scheme therefore
decreases on each coarsening and few examples (i.e. when very small expansion ratio on the
finest grid) have successfully converged using such multigrid approach. The compromise that has
been found and implemented in the current version is to restrict source terms (just copy from the
finest mesh) instead of computing them. In such a case, the smoother converges but the solution
obtained with the multigrid acceleration can be somewhat different that the one obtained with a
single grid computation.
7.5.4 Non-Matching Control
The Non- Matching Control slider controls the orthogonality at the non- matching periodic
boundaries when Matching Periodicity is deactivated . In that case,
the
orthogonality is fixed on the periodic boundaries and released during the second stage. The slider
controls the proportion of iteration performed in the first and the second stage.
the smoothing is performed in two stages. During the first one,
This option can be unstable when it is used together with the multigrid acceleration.
This option must be switched off when kink along spanwise grid lines are observed in the 3D mesh.
7.5.5
Boundary Optimization
The parameter Bnd Optimization Steps allows to optimize the shape of the block boundaries of
the initial mesh before applying the Optimization Steps. In specific cases, the option avoids the
periodic boundaries to cross the blade or cells overlaps in the blade-to-blade view resulting in
mesh optimization divergence when Optimization Steps applied.
FIGURE 7.64
Periodic boundaries optimization
The Bnd Straight Control selection box allows to impose a straight (linear) shape to the periodic
boundaries of the initial mesh before applying the Optimization Steps.
7.5.6 Multisplitter Control
The Multisplitter Control selection box is used to control the mesh initialization (ordering) for
multisplitter configuration. By default the parameter is not active and is active when a new
multisplitter template is initialized.
7.5.7
Skin Mesh Control
The Freeze Skin Mesh selection box is used to freeze the skin block (mesh and boundaries)
during the optimization process. It is suggested to freeze the skin mesh with the introduction of
cooling holes, in order to improve the quality of the full non matching (FNMB) connection
between the skin block and the core flow.
The option is not available for a blunt leading or trailing edge.
7.5.8
Advice to Users
Try to avoid large expansion ratio (>2) along the blade in the streamwise direction when setting
up the number of points required along the blade.
When the user needs a coarse mesh with large expansion ratios and hence, the previous advice
cannot be followed, do not select the Multigrid Acceleration option.
Always check the mesh quality on both hub and shroud blade-to-blade views before starting a 3D
mesh generation
7.5.9
Theoretical Aspect
The aim of this functionality is to optimize both orthogonality and expansion ratio all over the
mesh. If we consider an initial mapping
from computational space [0,m]x[0,n] to the mesh coordinate domain
.
The leading equation for the elliptic smoother is given by:
When the source terms, P = Q = 0, the mesh will converge to an uniform spacing grid without
taking account of orthogonality or boundary conditions (clustering at wall for example).
Therefore, the implementation consist in calculating these source terms in order to maximize
orthogonality and to minimize expansion ratio while taking into account all boundary condition
types available in AutoGrid5™.
CHAPTER 8.
3D MESH CONTROL
The 3D mesh of the rows of a turbomachinery configuration is generated using a stacking method. The
flow paths are used to create the surfaces of revolution (layers) on which the blade to blade meshes are
projected. The stacking method is divided into two phases: the computation of intersection between the
blade(s) and the layers, and the generation and optimization of the blade to blade mesh.
To modify this stacking method, 3D mesh controls are available to improve the mesh quality in
specific configurations. They are accessible through the dialog box available in Mesh Control/Row
Mesh Control/3D Mesh Control from the Quick Access Pad or the icon from the toolbar as shown
in FIGURE 8.1.
FIGURE 8.1
3D Mesh Control
FIGURE 8.2
3D Mesh Control dialog box
Span Interpolation (%)
To reduce the generation time, it is possible to reduce the number of layers on which the mesh
must be optimized. The parameter Span Interpolation (%) is used to specify the spanwise space
between 2 consecutive layers on which the optimization must be done. By default
the
optimization is done on all the layers. A value of 25% implies that the mesh will be optimized on
five layers (0%, 25%, 50%, 75%, 100%) and interpolated between them to obtain the entire mesh.
Untwist Inlet & Outlet
When Z cst lines are defined upstream or downstream to the blade, upstream and downstream H-
blocks are created. In some cases, mainly centrifugal machines, blade trailing edge shows some
theta spanwise twist, propagating till the outlet, the total spanwise twist being even more
important at the outlet (in radial configurations). This leads to an outlet block with a poor
orthogonality all over its extend, while the orthogonality could reach 90 degrees at the outlet.
The options Untwist Inlet/Untwist Outlet allow the user to impose outlet/inlet faces with straight
bounds at constant
theta and to propagate the modification along a streamwise length
(Streamwise Starting Point (%)) defined in percentage starting from the control line close to
trailing/leading edge and respectively outlet/inlet.
This option is active if the control lines have their B2B control not set to None.
When combined with wake prolongation, due to the untwisting method, the wake angle imposed by
the user is no more respected and the difference may be highly different depending of the twisting of
the original mesh outlet patch.
This option is not available for row just upstream the bypass nozzle.
FIGURE 8.3
Untwist outlet on centrifugal machine
Hub & Shroud Gap Interpolation
If a hub and/or shroud gap with a high width variation is defined on a blade, e.g. Kaplan turbine,
then the generated 3D mesh will contain huge spanwise angular deviation in all the blade blocks,
in the layers around the gap(s). This is inherent to the 3D stacking process and cannot be avoided.
The Hub/Shroud Gap Interpolation options provide a post-treatment which can be applied on
the original 3D mesh. This post-treatment will reduce the spanwise angular deviation by re-
interpolating all blocks of the row between two layers.
The reference layer (Spanwise Starting Point (%)) that is chosen has to embrace the hub/shroud
and the hub/shroud gap layer. It has to be located far enough from the gap layer in order to treat
the kinks on both sides (under and above) of the gap layer. However, it should not be too far
otherwise the interpolation process could lead to some negative cells generation and/or decrease
the mesh quality in the re-interpolated layers. When using the Kaplan Turbine wizard, if a tip gap
is present, then the post-treatment is applied and the Spanwise Starting Point (%) is computed
as twice the gap width (in %), this gap width being the span % of the gap flow path at inlet.
FIGURE 8.4
Shroud gap interpolation on Kaplan turbine
In case the leading/trailing edge of the blade is too curved in the zone where the treatment will be
applied, this postprocess may lead to generation of cells with high expansion ratio on the nodes
mapped on the blade. It may also lead to overlapping blocks, e.g. inlet/outlet block passing through
the blade surface.
If overlaps are detected when generating the flow paths, control lines with B2B control set to None
should be added on the blade.
The gap interpolation is only compatible with O4H (default) topology.
The gap interpolation is not applied when the solid body configuration is not default (Solid Body
Configuration).
Enforce Cell Width At Blade Wall
For some of the projects in AutoGrid5™, the cell width at blade walls on the 3D mesh can
deviate from the cell width imposed by the user. One reason is that a constant cell width is used to
generate the blade-to-blade mesh while the radius can vary a lot along the corresponding flow
path.
The Enforce Cell Width At Blade Wall option is introduced to minimize the difference between
the expected cell width and the measured one. Two treatments are applied when this option is
activated:
l in the blade-to-blade mesh generation, a variable cell width is imposed on the blade wall in
function of the radius.
l 3D mesh is postprocessed to respect cell width on the blade, i.e. modifications of the skin
block.
The 3D postprocess assumes that the cell width varies continuously around the blade. Therefore, if
there are discontinuities in the cell width of the blade, the postprocess tends to produce huge kinks.
The 3D postprocess is not applied around the snubber and in gap blocks. In gap blocks, it may lead to
an increase of the inter-block expansion ratio between for example the skin block and the gap blocks.
This development is available for O4H (default) and H&I topologies.
When Cell Width at Wall Interpolation option is activated in the blade-to-blade mesh controls,
this post-treatment will be deactivated automatically.
Swap Blade Patches Name
The Swap Blade Patches Name option is introduced to allow the user to swap the pressure side
and the suction side definition (used in the patch names) of each row to respect the physics. By
default in AutoGrid5™, considering the rotation axis Z, the convention of the pressure/suction
sides is presented in FIGURE 8.5.
FIGURE 8.5
Pressure side (PS)/suction side (SS) convention in AutoGrid5™
Starting AutoGrid5™ v9.1- 1,
pressure/suction sides will be reversed for double blunt configuration.
to respect same convention for all
types of configuration,
the
In addition a new preference Family name options/Blade pressure/suction sides is available for
CEDRE/CGNS export to split the blade family name into a pressure side "_PS" and a suction
side "_SS" family names.
CHAPTER 9.
3D GENERATION
The 3D mesh of a turbomachinery configuration is easily started and automatically generated by
AutoGrid5™ using the Generation Control dialog box appearing after clicking on the top menu bar
button Generate 3D in Expert Mode or directly the button Generate 3D in Basic Mode. The 3D
generation can be aborted using the button Abort displayed after the beginning of the 3D generation.
At the end of the generation, the multiblock structured mesh can be displayed in the 3D view of the
graphics area for quality analysis.
FIGURE 9.1
3D generation
Before generating the 3D mesh, the blade-to-blade mesh should be generated on hub and shroud in order to
apply an automatic reset of the expansion ratio when necessary.
In this section
9.1 Application Field
9.2 3D Mesh Generation
9.3 Mesh Quality
9.4 Template & Mesh Files
9.5 B2B Cut
414
415
419
420
421
9.1
APPLICATION FIELD
The button Generate 3D of the top toolbar applies to all the selected entities of the tree. Three
types of entity can be selected: the row,
the meridional technological effect and the 3D
technological effect. The button Select All is used to select all the entities of the tree. The button
Select All Rows is used to select all the rows of the tree.
FIGURE 9.2
Selection of the application field of the button Generate 3D
The meridional effects are connected to several rows and must be generated together with these row
(s) if these ones are not yet generated. If the 3D meshes of the connected row (s) are already
generated, the effects can be generated alone excepted if the configuration of the row (generation
parameters) has been changed after their generation.
A 3D technological effect belongs to a row. If the selection does not include the row containing a
selected 3D effect, AutoGrid5™ prompts to confirm the 3D generation of the row.
9.2
3D MESH GENERATION
The 3D mesh of the rows of a turbomachinery configuration is generated using a stacking
method. The flow paths are used to create the surfaces of revolution (layers) on which the blade to
blade meshes are projected. The stacking method is divided into two phases: the computation of
intersection between the blade(s) and the layers, and the generation and optimization of the blade
to blade mesh.
To reduce the generation time, it is possible to reduce the number of layers on which the mesh
must be optimized using the parameter Span Interpolation (%).
The order of generation of the selected entities is:
l 3D mesh generation of the selected rows,
l 3D mesh generation of the selected meridional effects,
l 3D mesh generation of the selected 3D technological effects.
3D Blocks Naming
The name of each block is built using the name of the related configuration entities.
A limitation to the block name length to 32 characters due to the CGNS format used to perform the
persistence implies that AutoGrid5™ changes automatically the name of the block exceeding 32
characters, stored in the CGNS file into 'domain<block number>'.
Row Mesh
The name of each block is built using the name of the row and the name of the related blade.
Default Topology - H&I Topology - HOH Topology
The block orientation I,J,K is related respectively to the azimuthal, spanwise and streamwise
direction. The names of the blocks of a row named 'row 1' around the blade named 'Main Blade'
are:
l row_1_flux_1_Main_Blade_inlet (not in H&I topology when blade sharp at inlet)
l row_1_flux_1_Main_Blade_outlet (not in H&I topology when blade sharp at outlet)
l row_1_flux_1_Main_Blade_up (not in HOH and H&I topology)
l row_1_flux_1_Main_Blade_down (not in HOH topology)
l row_1_flux_1_Main_Blade_skin (not in H&I topology when blade double blunt and/or sharp)
l row_1_flux_1_Main_Blade_skin_up (only for O4H topology when blade double blunt and/or
sharp)
l row_1_flux_1_Main_Blade_hubgap1 (if a hub gap is defined)
l row_1_flux_1_Main_Blade_hubgap2 (if a hub gap is defined)
l row_1_flux_1_Main_Blade_hubgap3 (if a O2H topology hub gap is defined)
l row_1_flux_1_Main_Blade_shroudgap1 (if a shroud gap is defined)
l row_1_flux_1_Main_Blade_shroudgap2 (if a shroud gap is defined)
l row_1_flux_1_Main_Blade_shroudgap3 (if a O2H topology shroud gap is defined)
l row_1_flux_1_Main_Blade_upStream (if a upstream control line is defined)
l row_1_flux_1_Main_Blade_downStream (if a downstream control line is defined)
In case of bypass configuration, the mesh of the fan is split in two fluxes and therefore the blocks
are also duplicated and named using the suffixes "flux_1"and "flux_2".
Mesh in Bulb
If an inlet bulb (hub->R=0) region is detected, the following blocks are added to the 3D mesh:
l bulb_at_inlet_C (if rounded topology is chosen)
l bulb_at_inlet_H1 (if rounded or sharp topology is chosen)
l bulb_at_inlet_H2 (if rounded or sharp topology is chosen)
l bulb_ at_ inlet_ butterfly_ 1 (if rounded topology without singular line or radial topology is
chosen)
l bulb_ at_ inlet_ butterfly_ 2 (if rounded topology without singular line or radial topology is
chosen)
l bulb_at_inlet_butterfly_1_2 (if radial topology is chosen)
l bulb_at_inlet_butterfly_2_2 (if radial topology is chosen)
Mesh around Nozzle (Bypass)
If a C topology is chosen to mesh the region around the nozzle of a bypass configuration, a new
block named "C_block_around_nozzle" is added.
Mesh in Meridional Technological Effect
When the mesh of a meridional effect named 'zr techno effect 1' is generated, following blocks are
added into the 3D database:
l zr_techno_effect_1_zr_effect__Block_1_3d
l zr_techno_effect_1_zr_effect__Block_2_3d
Mesh in 3D Technological Effect
When the mesh of a 3d effect named '3d techno effect 1' and belonging to the row named 'row 1'
is generated, a prefix 'row_1_3d_techno_effect_1_' is added to each block name of the blocks
generated in the 3d effect.
3D Boundary Condition Patches
Generation
At the end of the 3D generation, all the faces of the 3D blocks are automatically divided into
patches. Each patch type is defined automatically (INL, OUT, SOL, PER, PERNM, CON, ROT,
EXT,...) according to the turbomachine configuration. The boundary conditions are stored in the
".bcs" and in the ".cgns" files.
Patch Naming
Solid patches contain the name of their related entities and the location (hub,shroud,nozzle,skin_
blade). Following is the list of the solid patches created for the 'row 1' around the 'Main blade'
with a default topology:
l row_1_flux_1_Main_Blade_inlet__hub_identifier_
l row_1_flux_1_Main_Blade_outlet__hub_identifier_
l row_1_flux_1_Main_Blade_up__hub_identifier_
l row_1_flux_1_Main_Blade_down__hub_identifier_
l row_1_flux_1_Main_Blade_skin__hub_identifier_
l row_1_flux_1_Main_Blade_inlet__shroud_identifier_
l row_1_flux_1_Main_Blade_outlet__shroud_identifier_
l row_1_flux_1_Main_Blade_up__shroud_identifier_
l row_1_flux_1_Main_Blade_down__shroud_identifier_
l row_1_flux_1_Main_Blade_skin__shroud_identifier_
l row_1_flux_1_Main_Blade_skin_blade_(aap-ps)
l row_1_flux_1_Main_Blade_skin_blade_(aap-ss)
Block Order
As the blocks are created after each call to the Generate 3D button relatively to the user selection,
the block order in the final block list depends strongly on the sequence of the user interaction. To
obtain similar order for similar configuration, the entire mesh must be generated using the same
interactive sequence of calls to the Generate 3D button (not easy to manage). Another way to
ensure a same block order is to set up the configuration and to start the full mesh generation
(Select All+Generate 3D). The batch mode ensures also the same block order.
Generate Full Mesh
By default, the mesh is generated for 1 main blade passage. The option Number Of Meshed
Passages in the dialog box Row Properties can be changed to generate more than one main blade
passage. The mesh is obtained by repetition of the first blade passage.
Number of Mesh Points
The Mesh Control subpad displays and updates continuously an approximation of the total
number of grid points of the selected entities in the Row Definition subpad. After the grid
generation, the real grid points number is displayed in the information area (lower left corner of
the interface).
9.3 MESH QUALITY
the menu item Grid/Grid Quality Report (
) displays the
After the grid generation,
characteristics of the mesh in terms of minimum and maximum of the expansion ratio, the aspect
ratio and the cells skewness (orthogonality). These data are available for the entire mesh or by
configurations entity (row, technological effect, bulb). Negative cells are detected and indicated
on top of the histogram. The number of multigrid levels of each entity (row and technological
effects) is listed in the Nb levels column.
FIGURE 9.3
Grid quality report
After each 3D generation, all the data of the grid quality report are stored in a report file
(".qualityReport"). This file is stored beside the template file (".trb"). If the project has not yet
been saved, the report file creation is aborted.
The quality of the 3D mesh can also be analysed block per block using the Grid/Grid Quality,
Grid/Negative Cells (
) and View/Sweep Surfaces (
) tools (Graphical User Interface).
Finally, the Grid/Grid Quality Report (HTML) menu (not available on Windows) allows to
automatically write a mesh quality report. When selecting the menu, a window enables to select
the images that will be inserted into the report and provides disk usage necessary for the report
and images (refer to Grid Quality Report (HTML)) for more details).
9.4
TEMPLATE & MESH FILES
To manage complete mesh generation, AutoGrid5™ integrates the concept of project. An
AutoGrid5™ project involves template files and mesh files:
Mesh Files
The mesh files contains the multiblock mesh topology, geometry, grid points, patch grouping and
the boundary condition types:
l new_prefix.bcs: boundary conditions files,
l new_prefix.cgns: grid points files (CGNS format described in IGG™ User Manual - Input &
Output Files),
l new_prefix.geom and new_prefix.xmt_txt: geometry files,
l new_prefix.igg: topology file,
l new_prefix.qualityReport: mesh quality report file,
l new_prefix.config: mesh configuration file used for the grouping in FINE™ GUI and for the
SubProject (more details in FINE™ User Manual).
These files can be loaded into the structured multiblock grid generation system IGG™ and by the
CFD integrated environment FINE™/Turbo.
The hub and shroud curves definition are saved in the .cgns file. These data are read within CFView™
and used to define both blade-to-blade and meridional views.
The mesh quality file is saved at the end of the grid generation. If the new project has not yet been
saved before launching the 3D generation, no grid quality report file will be saved because the system
is not able to determine automatically the file location.
Template Files
The files when saving the template contain the parameters and the geometry needed to reproduce
the mesh with AutoGrid5™:
l new_prefix.geomTurbo and new_prefix.geomTurbo.xmt_txt: the geometry files (geomTurbo
format),
l new_prefix.trb: the template file containing the grid generation parameters,
l new_prefix.info: the information file,
l new_prefix_b2b.png: a picture of the blade to blade view only available on LINUX,
l new_prefix_merid.png: a picture of the meridional view only available on LINUX.
9.5
B2B CUT
AutoGrid5™ allows to extract a blade to blade template and mesh (two layers in spanwise
direction) from a 3D template (license key required). Click on the Quick Access Pad/Row
Definition/Add B2B Cut button to add a new folder B2B Cut containing an item B2B Cut 1 in
the project tree. Right click on that item to open a contextual menu.
The B2B cut is not available for bypass configuration since the B2B cut is applied on all the rows,
this can not work in a bypass configuration with a common span position.
Edit B2B Cut
Select Edit to open the B2B Cut Definition dialog box. This dialog box is used to define the cut
geometry based on two parameters:
l Spanwise Location. The user can set the spanwise location of the cut geometry based on the
percentage value. The total span is considered as 100.0. By default the Spanwise Location is
set to 50.0, which is located at the mid span.
l Spanwise Width . The width of the cut geometry is given as a percentage of the local
spanwise width. Therefore, the width of the mesh can change along the streamwise direction.
FIGURE 9.4
Blade to blade cut at middle span
In case the flow path is already generated for all the rows, the cut definition is automatically
displayed in the meridional view with yellow lines. Two yellow lines define the domain of the
expected B2B mesh. These lines are derived from the flow paths definition of the 3D template
and are controlled by the two parameters: spanwise location and width.
FIGURE 9.5
Blade to blade cut with 20% of span width
Delete B2B Cut
The menu item Delete is used to remove the B2B cut definition from the template.
All the files related to the B2B cut are NOT removed from the disk.
Create B2B Cut
The menu item Create is used to start the generation of the new template, which will be used to
create the B2B mesh. An error message is displayed if the selected flow path is not generated for
all the rows.
A new directory is created using the name of the main template as prefix. In this directory,
AutoGrid5™ saves the new template derived from the main geometry but with a new hub and
shroud definition, based on the curves defined by the B2B Cut Definition dialog box. The new
template is automatically loaded and can be used to create the B2B mesh.
Before starting the blade to blade cut geometry creation, the current AutoGrid5™ template must be
saved.
The hub and shroud patches of the mesh are defined as mirror boundary condition.
CHAPTER 10.
MERIDIONAL TECHNOLOGICAL EFFECT
A turbomachinery configuration contains usually blade rows and also meridional effects like seal
leakage, bleed or cavities. The solid body of the meridional effects is axisymmetric. Their geometry is
defined by meridional curves (z,r coordinates). The domain of a meridional effect must always be
connected to one or more blade row(s).
FIGURE 10.1
Blade row with meridional effect
The mesh of these configuration entities are generated in five steps:
l definition of the meridional geometry defining the technological effect,
l definition of the new technological effect entities in the configuration database,
l choice of the connection type with the main blade channel,
l definition of the meridional mesh:
l blocking in the meridional space,
l automatic settings of the mesh point clustering in the meridional space,
l 3D mesh generation obtained by the combination of the meridional blocking and the mesh at the
connection(s) with the blade row(s).
This chapter describes the grid generation of the meridional effects. The number of meridional effects
is unlimited.
In this section
10.1 Configuration Management
424
10.2 Geometry Definition
10.3 Definition of Meridional Mesh
10.4 Connection with Main Blade Channel
10.5 Mesh Quality Checks
10.6 3D Generation
426
427
450
455
456
10.1 CONFIGURATION MANAGEMENT
The Rows Definition subpad of the Quick Access Pad contains features used to control the
meridional effects. New effects can be added into the configuration tree and managed through
their contextual menus.
FIGURE 10.2
Meridional effect management
The option Add ZR Effect creates a new entity in the configuration database and displays it into
the Meridional Techno Effects list of the tree. Right-click on this new items of the tree opens the
contextual menu of the meridional effects. It gives access to the editing mode allowing the user to
define the new effects or to delete the selected effects.
The effects can be renamed by double- clicking on their name into the tree. An interaction area
prompts to enter a new name for the selected effect.
10.2 GEOMETRY DEFINITION
The geometry of a meridional effects is defined by (z,r) curves displayed in the meridional view.
Before starting the definition of a technological effect, the geometry should be defined in the
meridional view.
The ".geomTurbo" File
The curves defining the meridional effects are specified in the ".geomTurbo" file using the basic
curve format (Geometry Definition).
CAD Import
The solid bodies of the meridional effects can be imported (Import Meridional) from external
CAD files using Import CAD window. The curves defining these bodies are selected interactively
and projected in the meridional view (Geometry Definition).
FIGURE 10.3
Import CAD window - Import Meridional
User Defined
AutoGrid5™ provides geometrical features used to create the solid body of meridional effects
interactively. New polylines can be created using Geometry Control subpad in the meridional
effect edit mode and the steps needed to create these polylines are stored in the template file.
FIGURE 10.4
Edit mode - geometry control subpad
Notice that the Geometry menu available in the meridional effect edit mode can be used to define
the geometry. Nevertheless, the name (Geometry/Modify Curve/Set Name...) of the created curve
must contain the keyword "inlet", "outlet", "solid", "solid_rotating", "external" or "rotor_stator" to
ensure the automatic definition of the boundary conditions.
10.3 DEFINITION OF MERIDIONAL MESH
10.3.1 Start Edit Mode
The meridional mesh of a technological effect is built into the edit mode available through the
Edit menu item of the contextual menu open when right-click on a ZR technological effect of the
tree. The Quick Access Pad is updated to access the features needed to create the meridional
mesh. The graphical area displays the meridional view of all the curves defining the meridional
solid body of the turbomachinery. The button Close Edit Mode of the top menu bar is used to quit
the edit mode. All the actions performed during an editing session are stored in the template file
(".trb") and can be replayed on similar geometries.
The Quick Access Pad is divided into five main areas (subpad):
l the Properties is used to impose the rotation speed of the rotating boundaries of the ZR effect.
l the Geometry Control provides options used to create polyline.
l the Topology Control is used to fill the domain of the effect with several structured 2D
blocks.
l the Mesh Control is used to set up automatically the grid points clustering into the defined
blocks
l the View is used to control the visualization inside the graphics area.
FIGURE 10.5
Edit mode
10.3.2 Edit Mode
An editing session is divided into three main steps.
A. Geometry Control
The Properties and Geometry Control subpads of the Quick Access Pad provides respectively
the rotation speed of the rotating geometry (i.e. solid polyline rotating) and six options to add
polylines. These curves are eventually used to close the domain defined by the solid body or to
create the separation line in case of multiple connections .
It is not required to add a curve at the connection between the blade channel (hub or shroud) and the
meridional effect. Automatically the hub and shroud curves will be used as limit of the meridional
effect.
When a button is pressed, an interactive tool is started waiting for points input:
l Left-click to confirm the creation of a new control point of the polyline.
l Right-click to finish the creation process and stop the tool.
During the creation process, automatic attraction is done on the curve display in the graphics area.
FIGURE 10.6
Geometry generation
The type of the polyline can be inlet, outlet, external, solid, solid rotating or rotor/stator. The type
is chosen according to the CFD requirement.
It is not recommended to have a meridional effect covering a rotor/stator control line in the blade
channel.
FIGURE 10.7
Meridional effect vs. rotor/stator interface
When creating a separation line, a rotor/stator polyline must be used.
If a cavity (ZR technological effect) is composed by one fluid block and one solid block (CHT), in
order to limit the position of the solid block, no solid curve should be used inside the ZR effect
definition. This is also true between two fluid blocks.
B. Topology Control
The domain defining a technological effect must be filled by several structured 2D blocks. The
block edges are mapped on the geometry. The Topology Control subpad provides the tools to
create and control the blocks.
FIGURE 10.8
Topology definition
The Topology Control subpad is subdivided in three sections:
l Automatic section allows to perform an automatic blocking of the technological effect.
l Manual section provides tools used to create and control manually the blocks topology.
l Detection Tools section provide tools used to detect automatically unmapped edges and the
connection type between the technological effect and the blade channel.
Automatic Blocking
To perform the automatic blocking of a technological effect, the steps to follow are:
l adapt the solid wall cell width at the wall in Mesh Control subpad, used as reference during
the domain definition and the automatic blocking processes,
l define the limits of the technological effect with the Domain Definition button,
l adapt the automatic blocking expert parameters (optional),
l start automatic blocking with the Automatic Blocking button.
Domain Definition
Before using the Automatic Blocking button, the limits of the technological effect should be
specified to define a closed domain. This is the aim of the button Domain Definition.
To define the limits of the technological effect:
1. Left-click on the button Domain Definition. A tool opens that allows to select a point on the
existing zr effect curves.
2. Left-click in the graphics area on a zr effect curve. From this point, a set of curves starting
from the selected point and joining the channel curves is highlighted in yellow. If channel
connection curves cannot be found, the domain definition will fail (most likely the problem is
located where the highlight stops) with an error message. If the selected zr effect has only one
connection with the channel, the domain definition is completed and right-click to leave the
tool.
3. If the zr effect has a double connection with the channel, a second point has to be selected on a
still unhighlighted curve of the zr effect. Once again, starting from this point and joining the
channel curves, a set of curve is highlighted in yellow. From there, the domain definition is
completed. Right-click to leave the tool or left-click to restart the domain definition if incorrect.
When the domain is failing, the automatic blocking cannot be performed. The domain may fail
because of gaps (higher than a tenth of the solid wall cell width) or overlaps between zr effect curves
or a curve sharing its start or end point with more than one curve or no curve (in the next example
each solid polyline is not sharing its end point with a curve).
The domain selection works only for single or double connection with the channel. In the next
example each single element should be considered as a separate technological effect.
Automatic Blocking
The automatic blocking algorithm needs a reference parameter that is representative of the
technological effect geometry size. The solid wall cell width in the Mesh Control subpad is used
as reference parameter.
If the solid wall cell width is far too low or too high compared to the geometry size, the automatic
blocking process may need a lot of memory and lead to an emergency save of the interface.
When clicking on Automatic Blocking button, the following steps are performed to impose an
automatic blocking in the selected domain:
1. Compute the skeleton of the domain boundaries,
2. Compute a first blocking based on the skeleton curves,
3. Modify and/or delete some blocks for better mesh quality,
4. Modify/split some blocks to catch boundaries discontinuities.
For blades with blunt configuration at LE/TE and technological effect(s) connected right at this blunt
location, if the user wants a matching connection with the channel, vertices of the blocks in the
technological effect at
the connection have to be manually moved on a dot. These dots are
automatically drawn in the technological effect edit mode for each blunt blades.
In case of a technological effect with a double connection to the channel, a rotor/stator polyline
should be added manually and the automatic blocking algorithm tries to catch the polyline (separation
line) by splitting the blocks passing through it. The polyline should be placed so that it passes through
only 2 blocks, otherwise the rotor/stator polyline will most likely not be automatically mapped. The
location will most likely be good if placed in a long, thin and straight channel of the technological
effect. However, in some cases, this might still not be sufficient.
is just representing the far field and the connection is matching
When the technological effect
between the technological effect and the blade channel, it is recommended to create manually the
blocking by just using one block for the whole far field per row instead of using the automatic
blocking that will generate a topology with more blocks. When more than one block, mesh generation
problems may occur in the zr effect because the blade channel mesh will be extruded in the far field
zr effect block(s).
When the automatic blocking is performed, the Manual section provides a few tools to adapt the
proposed blocking.
Expert Parameters
The expert parameters H Topology Around Corners and H Topology Around Thin Films
(activated by default) allow to control which topology will be used in T-shaped and L-shaped
parts of the domain.
H Topology Around Corners option allows to get a topology with higher orthogonality, but the
topology leads to some propagation of the solid wall clustering. This may lead to convergence
issues for the flow solver.
H Topology Around Thin Films option allows to avoid blocks of high section variation, which
will most likely lead to a very high number of points compared to the block's lowest section size.
It also give a better orthogonality, but the topology may lead to some clustering propagation as
well.
Manual Blocking
Create & Modify New Block
The icon starts the block creation tools. When moving the mouse into the graphics area a default
block geometry appears. Left-click twice to select the location of two opposite corners of the
block and left-click again to confirm the creation. The four vertices defining the corners of the
block are displayed. These vertices can be selected interactively (left-click) and mapped (attracted)
onto the geometry. The block edges are automatically mapped on the geometry curves if their
vertices are mapped on an underlying curve.
To fill or adapt manually the geometry defining the meridional effect the following rules should
be respected:
l When the edge mapping is not performed as required, a vertex needs to be inserted.
l The 2D blocks should be connected to the shroud or hub with only one face.
l A block connected to the channel should not have a multisegment edge otherwise some UND
may appear if a FNMB or a matching connection is imposed.
l When the meridional effect has several connections with the main blade channel, specific rules
have to be respected and are presented in section Multiple Connections.
Delete Existing Blocks
The icon opens the dialog box used to delete several existing block.
FIGURE 10.9
Delete block(s)
Select the block interactively (left-click on an edge) and press the button Delete into the dialog
box Delete blocks. Confirm the deletion into the confirmation box.
Insert New Control Vertices
The icon is used to insert a new control vertex on a edge. It is needed when the edge must be
mapped on multiple curves: a vertex must be added at each boundary of the mapped curves.
Use the short-cut <i> to activate this command in a faster way.
Grid Points Clustering
The icon opens the Clustering dialog box use to control manually the grid points clustering along
each edge of the blocks to adapt the automatic default mesh (Mesh Control subpad). The dialog
box can also be accessed when right-clicking on the desired edge and selecting the Distribution
menu.
Fixed Point Control - Multi-Segments Edge
An edge can be split in several segments by attaching a fixed point to an existing vertex. To attach
a fixed point to a vertex:
1. The vertex must first exist. If this is not the case, create one vertex as indicated in previous
section.
2. Right-click on the vertex to pop-up the menu.
3. Select the Attach Fixed Point menu item.
4. The vertex and fixed point markers are merged as a diamond, indicating that the vertex is
attached to the fixed point.
5. The fixed point can now be moved by moving its vertex.
A fixed point is defined by an index (grid point index) on the edge to which it belongs. The index
of a fixed point directly affects the number of points of its surrounding segments. To change the
index of a fixed point:
1. Move the mouse to the desired fixed point. The index (indices) of the fixed point will appear
when it can be selected.
2. Right-click to pop-up a menu for the fixed point.
3. Select the menu item corresponding to the index that will be changed.
4. Enter the new index in the keyboard input area and press <Enter>.
Changing the index of the fixed point automatically changes the number of points controlled by
its surrounding segments.
To delete a fixed point:
1. Move the mouse to the desired fixed point. The index of the fixed point will appear when it
can be selected.
2. Right-click to pop-up a menu for the fixed point.
3. Select the Delete menu item to delete the fixed point.
Blocks in the technological effect connected to the blade channel
connection) or the rotor/stator polyline (separation line) should not present multi-segments edge.
(except
if periodic fnmb
Grid Point Number Control
The number of points on each edge can be controlled manually through the dialog box Set
Number of Points to adapt the automatic default mesh (Mesh Control subpad). Right-click on the
desired edge to access the contextual menu and select the item Set Number of Points.
Enter the new number of points in the Set Number of Points area and press Apply.
The Propagate option indicates whether segment resizing should also be applied to the blocks
connected to the active block. We recommend to keep propagation always active.
The Preview button evaluates the effect of a segment resizing on the active block and all the
blocks connected through a segment connection. The segments affected by the evaluation will be
highlighted in yellow.
FIGURE 10.10
Control the number of points
At the bottom of the dialog box, the warning is informing that multi-segment edges are allowed in
the technological effect. If the number of points are adapted manually on segments or edges the
user has to check manually that the imposed number of points propagated on concerned edges
and segments is still respecting the number of grid level imposed.
Connect Blocks Tool
If blocks have been added in a ZR effect, it is necessary to connect these new blocks. The button
Default Mesh in Mesh Control subpad will generate and connect these new blocks but will also
delete all the existing distributions made manually.
When creating manually a ZR effect or adding/adapting blocks in existing ZR effect, the button
Connect Blocks allows to enforce the connections of all blocks in the ZR effect without applying
a default mesh and thus keeping all manual adaptations performed by the user.
As a consequence, before performing the Connect Blocks the edges of the blocks to be connected
have to present the same number of points and distribution. Otherwise,
l if the edge distributions are different clicking on Connect Blocks will connect these two edges
and apply the distribution of one of these 2 edges to the other.
l if the edge number of points are different (except at the RS polyline interface), the 3D mesh
generation will not be completed.
Detection Tools
The button Detect Unmapped Edges is used to visualize the face edge unmapped on an existing
meridional curves. Check the vertices linked to the edges. The unmapped edges are displayed in
the view and the number of detected unmapped segments appears in the message area.
FIGURE 10.11
Visualize unmapped edges
The button Toggle Rotating Boundaries is a toggle used to highlight the rotating boundaries
(Solid Polyline Rotating and imported rotating basic curves) of the meridional effect.
FIGURE 10.12
Visualize rotating boundaries
the type of
The buttons Detect Channel Matching/FNMB Connection are used to detect
connection between the meridional effect and the blade channel (more details in Connection
Types) according to an absolute connectivity tolerance (Matching Tolerance) by default set to
1e-8.
FIGURE 10.13
Visualize channel matching connection
C. Mesh Control
The Mesh Control subpad of the Quick Access Pad provides options to control the default mesh
(ZR Mesh Settings section) and the type of connection with the blade channel and at the
rotor/stator polyline (3D Mesh Settings section).
ZR Mesh Settings
Default Mesh
AutoGrid5™ provides a feature to set up automatically the number of points and the grid points
clustering.
Starting AutoGrid5™ v13.1, the number of points is reduced by imposing the expansion ratio in
the boundary layer only on a limited number of cells in the boundary layer, then a higher
expansion ratio (along boundary or general) is used. The distribution created by this new
technique does not correspond to a classical distribution. Therefore a new distribution type ZR
Effect Boundary Layer has been created. It would appear only in ZR effect edition mode and
cannot be applied manually to a segment. (New in AutoGrid5™ v13.1)
When moving manually vertices or fixed points, new distribution type will not be recomputed but
simply rescaled.
Expansion ratio can be higher than before after propagating channel number of points.
Before starting if necessary the manual editing of the grid point number and the grid point
clustering, described in Manual Blocking, an automatic setting must be performed. The defaults
are computed with the Default Mesh button according to two parameters and four advanced
parameters:
l Solid Wall Cell Width: the first cell width in the boundary layer.
l the number of grid level respecting the number of grid level of the project (more details in
Mesh Control Subpad) when the concerned zr effect has been created. It should respect the
constraints related to the multigrid treatment within FINE™ GUI (default level is set to 3 and
means that we have minimum 3 grid levels: 000, 111 and 222).
l the Default Mesh Expert Parameters button opens a dialog box controlling the advanced
parameters of the default mesh:
l Max. Expansion Ratio In Boundary Layer: the maximum expansion ratio of the cells in
the boundary layer.
l Max. Expansion Ratio Along Boundary: the maximum expansion ratio of the cells along
the solid boundaries of the zr effect.
l Max. Expansion Ratio General: the maximum expansion ratio of the cells where both
previous expansion ratios are not relevant.
l Clustering Relaxation Angle : the angle to propagate clustering from an edge to the
opposite one. Maximum value allowed is 10.
FIGURE 10.14
Default grid points clustering when changing expert parameters
The buttons Default Mesh or Connect Blocks (Connect Blocks Tool) should be pressed once in
order to establish the connection between the blocks.
Each time the button Default Mesh is pressed, all the manual settings are erased by the new default.
To avoid that, the button Connect Blocks (Connect Blocks Tool) is available.
Optimize Mesh
The Optimization Steps parameter allows the user to specify the number of iteration done by the
optimization system. Before AutoGrid5™ v9.0, the smoother used is highly dependent of the
original mesh quality. This smoother type was intended to give a smoothed mesh with an
orthogonality as close as possible to the unsmoothed one, which explains this dependency.
Starting AutoGrid5™ v9.0, the smoother used for newly created zr effects is the same as the one
used in the blade-to-blade view.
The Optimize Mesh button allows to display the optimized mesh.
Add Matching Z Cst Lines
Once the user has created the technological effect topology, clicking on the button Add Matching
Z Cst Lines allows to automatically add the control lines in the blade channel at the connection
points with the blocks of the technological effect and to impose the right control line cell width
(based on the solid wall cell width imposed in the technological effect) to obtain a matching
connection between the blade channel and the technological effect. If a control line is already
existing, no new control line is created at this location and the cell width is not adapted.
Created control lines are created with a default shape in exactly the same way as when the user adds a
control line manually. These control lines may thus not be optimally shaped and may also cross other
previously defined control lines. The user has thus to check the control lines shape and properties and
modify them manually if necessary.
For blades with blunt configuration at LE/TE and technological effect(s) connected right at this blunt
location, no control line is added at TE/LE and user needs still to add it manually.
3D Mesh Settings
Radial Expansion & Far Field Smoothing Steps
When the effect simulate the expansion of the main blade channel mesh to the far field (wind
turbine), the Radial Expansion option activates full optimization of the far field mesh to avoid
high clustering of the mesh in this region of the domain. The Far Field Smoothing Steps
parameter controls the number of optimization steps that will be applied.
Connection With Channel: FNMB:Periodic & Theta Number Of Points
When the FNMB:Periodic option is active, the full non matching connection of the meridional
effect with the channel mesh will not follow the shape of the blade to blade mesh. That allows to
reach a better mesh quality in the meridional effect. In FIGURE 10.15 , the blocks of the
meridional effect connected to the channel mesh are twisted when the option is not active and that
may damage the grid quality.
FIGURE 10.15
FNMB:Periodic option
When the meridional effect is connected to the channel with a full non matching connection, the
FNMB:Theta Number Of Points parameter controls the azimuthal number of points in the
meridional effect. When the value is set to 0 (default), the azimuthal number of points in the
meridional effect is currently the one at the inlet of the connected row.
When the meridional effect
FNMB:Theta Number Of Points parameter will have no effect.
is connected to the channel with a matching connection,
the
Connection With Channel: Propagate Theta Deviation
When the Propagate Theta Deviation option is active, when the number of blocks is above 2 in
the ZR effect, the angle deviation of the connected mesh will be propagated and allow in specific
cases to avoid mesh with bad orthogonality.
FIGURE 10.16
Propagate Theta Deviation option
RS Interface Connection
When the ZR effect is containing a rotor/stator polyline (Multiple Connections), the type of
connection at the rotor/stator polyline can be enforced if the connections with the main blade
channel are related to the same row.
If the connections with the main blade channel are related to different rows, the connection at the
rotor/stator polyline will be a rotor/stator interface except if the different rows are presenting the
same periodicity.
If the connections with the main blade channel are related to the same row or rows with same
periodicity, the connection at the rotor/stator polyline will be:
l non-matching periodic if RS Interface Connection is set to Periodic except if the theta
deviation between the two sides of the effect is low enough and/or mesh of both faces very
similar (distribution & number of points), then the connection may be non-matching, matching
or periodic matching.
l enforced full non-matching periodic if RS Interface Connection is set to FNMB.
l enforced matching periodic if RS Interface Connection is set to Periodic and Matching.
l enforced matching if RS Interface Connection is set to Matching.
FIGURE 10.17
Connection type at rotor/stator polyline
To enforce periodic matching or matching connection at the rotor/stator polyline, the connected blocks at the
rotor/stator polyline should present same number of points in azimuthal and "spanwise" directions. When
connections with the main blade channel are matching, the B2B grid points of the row and the streamwise
number of points in the channel should manually be adapted to ensure same number of points at both sides of
the rotor/stator polyline otherwise matching connection at the rotor/stator polyline won't be enforced and a
warning will appear: "connection at rotor-stator interface is not matching".
10.4 CONNECTION WITH MAIN BLADE CHANNEL
Connection Types
The connections between the main blade channel row meshes and the mesh created into a ZR
technological effect domain are full non-matching by default. To obtain a matching connection,
control lines must be added automatically (Add Matching Z Cst Lines) or manually (Meridional
Control) at the connection points between the meridional effect and the main blade channel and
the wall cell width imposed in the ZR technological effect should be applied to the control lines.
FIGURE 10.18
Connection with main blade channel
When the option FNMB:Periodic is active (by default), a periodic full non matching connection
with repetition (Grid Menu) will be created between the ZR effect and the mesh channel to
improve the mesh quality in the ZR effect.
To improve non-matching connections, it is advised to add control lines at the connection points and
to switch to None their B2B Control(FIGURE 6.5).
When the grid points distributions in the streamwise direction in the blade row mesh is too coarse at
the connection level, mesh overlaps can appear in the mesh of the connected effect. To avoid this, the
number of points in the row can be increased or matching connection must be used.
FIGURE 10.19
Mesh problem with non-matching connection
If the control lines are correctly set, the matching connection can be ensured for all the connection
types:
FIGURE 10.20
Connection types
is just representing the far field and the connection is matching
When the technological effect
between the technological effect and the blade channel, it is recommended to create manually the
blocking by just using one block for the whole far field per row instead of using the automatic
blocking that will generate a topology with more blocks. When more than one block, mesh generation
problems may occur in the zr effect because the blade channel mesh will be extruded in the far field
zr effect block(s).
When the technological effect is defined above the leading edge of the blade, it is only possible to
ensure a matching connection between the technological effect and the blade channel if only one
block is defined in the spanwise direction in the technological effect above the blade leading edge.
In case of blunt edges, to enforce a matching connection between the channel blade and the ZR
effect, the option ZCst line at Leading/Trailing Edge is actived in the Mesh page of the Define
B2B Topology for Active Blade dialog box (Blunt at Leading/Trailing Edge). At the end of the 3D
generation, the hub and the shroud patches of the mesh are divided (dots) at the leading and/or
trailing edge. When editing the ZR effect, new points (dots) are displayed to attract the block
vertices of the ZR effect at the exact point. Finally in the blade channel it is recommended to add
meridional control lines (Zcst line) manually at the leading and/or the trailing edge(s) with B2B
control set to none (Properties) to improve the flow paths definition and to avoid gaps or overlaps
between the ZR effect and the blade channel in case of highly curved hub or shroud curve..
FIGURE 10.21
Block management with the control points
Multiple Connections
Some of the technological effects have several connections with the main blade channel, i.e. a seal
leakage have a connection upstream the blade and a connection downstream the blade.
FIGURE 10.22
Multiple connections with main blade channel
In this case the mesh created inside the domain of the effect is divided into two parts: one starting
from the inlet and one starting from the outlet. At the middle part of the seal leakage, a line must
be defined indicating the location of the division. At this line (Rotor/Stator Polyline), defined in
the edit mode (FIGURE 10.6), the two parts of the mesh will be connected by default by a non-
matching periodic connection if the connections with the main blade channel are related to the
same row (case 1 in FIGURE 10.22) but matching, periodic matching or full non matching
periodic connection can be enforced, or a rotor/stator interface if the connections with the main
blade channel are related to different rows (case 2 in FIGURE 10.22).
At the connection line (Rotor/Stator Polyline) the following rules should be respected:
l Block connection must be established on the separation lines and the mapping of vertices
respected (no orphan vertices).
l The 2D blocks should be connected to the rotor/stator polyline with a complete edge and not
with only one vertex or a partial edge.
10.5 MESH QUALITY CHECKS
in the toolbar give
In the ZR effect edit mode, the Grid/Grid Quality... menu or the icon
access to a tool for performing an analysis of the grid quality of the technological effect 2D mesh
before generating the 3D mesh.
FIGURE 10.23
Mesh quality in technological effect
The dialog box contains two pages, one dedicated to analyse the grid quality on whole block
cells, and the second to the grid quality at the block boundaries (boundary faces), including
matching connections with adjacent blocks. The dialog box is similar to the one used for the grid
quality of the blade-to-blade mesh. More details are available in section Patch Browser.
10.6
3D GENERATION
The 3D generation of the meridional effect must be performed together with the generation of the
row(s) connected with them. Select the row(s) and their attached meridional effects and press the
Generate 3D button of the top menu bar.
FIGURE 10.24
3D mesh of the technological effect
During the ZR effect mesh generation:
l the block rotation speed in the ZR effect derives automatically from the row to which the ZR
effect is connected. This information is propagated to connected blocks till a rotor/stator is
encountered.
Block rotation speed is computed automatically but are not interfaced per block. Therefore if some
blocks of a ZR effect are modified after 3D generation (block splitting, transformation,...) the rotation
speed may be lost.
If the mesh is loaded in IGG™ and resaved, it will still be correct because block rotation speed comes
from the configuration which has been reread. However if the mesh is loaded in AutoGrid5™ and
resaved, block rotation speed still comes from configuration but which is recomputed, and therefore
block rotation speed will be null.
l the boundary (patch) rotation speed in the ZR effect is imposed under Properties in the QAP
and is applied if the patch belongs to a rotating geometry. The geometry curve is considered as
rotating if created as Solid Polyline Rotating in the ZR effect edit mode or if imported and
defined as "rotating" basic curve.
458
IGG™/AutoGrid5™ 13.1 User Guide
CHAPTER 11.
3D TECHNOLOGICAL EFFECT
A turbomachinery configuration contains usually blade rows and also 3D effects like cooling holes.
The solid body of the 3D effects are non-axisymmetric. Their geometries are defined by 3D curves or
surfaces (x,y,z coordinates). The 3D effects are always linked to one row.
The mesh of these configuration entities is generated in 3 steps:
l definition of the new technological effect entities in the configuration database
l geometry definition of the domain defining the technological effect
l definition of the 3D mesh:
l manual blocking in the 3D space
l load an existing template in the effect library
This chapter describes the grid generation of 3D effects. The number of 3D effects is unlimited.
In this section
11.1 Configuration Management
11.2 Geometry Definition
11.3 Edit Mode
11.4 Topology Management
11.5 3D Generation & Persistence
460
461
461
463
465
11.1
CONFIGURATION MANAGEMENT
The Rows Definition subpad of the left Quick Access Pad contains features used to control the
3D effects. New effects can be added into the configuration tree and managed through their
contextual menus.
A 3D effect belongs to a row. The related row must be selected before creating a new effect. The
option Add 3D Effect creates a new entity in the configuration database and display it into the
row selected in the tree. Right-click on this new items of the tree opens the contextual menu of the
3D effects. It gives access to:
l Edit : the editing mode allowing the user to define mesh of the new effects
l Load Geometry : the geometry definition. A file chooser is used to select the geometry data
file containing the curves and surfaces defining the effect body.
l Delete Effect(s) : the effect deletion tools
l Library : the effect library
l Copy/Paste Topology : the copy/paste topology feature allowing the user to apply to an effect
the topology of another.
The effects can be renamed by double clicking on their name into the tree. A interaction area
prompts to enter a new name for the selected effect.
FIGURE 11.1
3D effect management
11.2 GEOMETRY DEFINITION
The geometry of a 3D effects is defined by (x,y,z) curves and/or surfaces displayed in the XYZ
view when editing the effect. Before starting the definition of the mesh of a technological effect,
the geometry can be defined through:
External Data File
The curves and surfaces defining the solid body of one effect are stored into one file. The
contextual menu item Load Geometry opens a file chooser to select this file.
CAD Import
The solid bodies of
the 3D effects are stored in multiple data files. The Geometry
Definition/Import and Link CAD menu opens the Import CAD window allowing the user to
select and link data curves and surfaces defining the solid body of the selected effect in the tree.
All the grid generation process of the 3D effect is stored into a python script. During the grid
generation, the names of the geometry entities are used to identify the topology links. As the name of
each geometry entity must be unique, it is impossible to reuse the grid generation method of one
effect to another without respecting the following rule: the name of each entity must be composed
with a prefix and a suffix separated by a # character. The prefix is used to identify the effect and the
suffix is used to make the link with the topology (i.e.: effect1#curve1).
11.3
EDIT MODE
The meridional mesh of a technological effect is build into the edit mode available through the
Edit menu item of the contextual menu open when right click on a 3D technological effect of the
tree. The Quick Access Pad is updated to access the features needed to create the 3D mesh. The
graphical area displays in the 3D view all the curves and surfaces linked to the effect and the row
mesh related to the effect.
FIGURE 11.2
Start edit mode
All the operations performed during an editing session are stored into a script. The grid generation
options available in the Quick Access Pad are fully described in the IGG™ User Manual.
The mesh generation of a 3D technological effect is performed by creating structured blocks used
to fill the domain covered by the effect.
FIGURE 11.3
Effect domain and mesh
The edit mode is left by clicking on the Close Edit Mode button.
11.4
TOPOLOGY MANAGEMENT
3D effect library
When an effect has been created, the mesh definition process can be stored in a dynamic library.
FIGURE 11.4
3D effect library management
The contextual menu item Library opens the dialog box 3D Technological Effect Library. This
dialog box contains the list of the available topology. The selected topology can be loaded and
apply to the selected 3D effect using the button Load. The selected topology can be remove from
the list using the button Remove. The topology of the active 3D effect can be stored in the library
using the button Save: the dialog box Save 3D Topology is opened allowing the user to define a
new 3D topology or to overwrite an existing one.
The selected topology can be applied simultaneously to several similar 3D effect. If the geometry of
the effect is already loaded, the mesh is automatically generated using the selected topology.
Copy/Paste Feature
The 3D mesh topology of the selected 3D effect can be copied into a buffer and apply to other
effect using the contextual menus Copy Topology and Paste Topology. Several similar effects
can be selected to apply simultaneously the topology stored in the buffer using the Paste
Topology options.
FIGURE 11.5
Topology copy & paste on several effects
11.5
3D GENERATION & PERSISTENCE
The mesh generation is performed by the Generate 3D button. All the selected 3D effects are
generated after the selected rows and the selected meridional effects.
FIGURE 11.6
3D mesh of the technological effect
The 3D effect generation is stored into the template file (".trb") using python script format:
NI_BEGIN 3d effect
NAME 3d techno effect 1
NI_BEGIN ni3dlayer_recorder
NI_BEGIN ni3dlayer_record
effect_ techno3d_ Block_ 1=new_ block (Point (0.0710714235901833,0.169539034366608,-
(0.0710714235862563,0.169539034370535,-
0.071651391685009),Point
(0.0710714235811796,0.175077691649889,-
0.0786721184810469),Point
(0.0710714235772526,0.175077691653816,-
0.071651391681911),Point
(0.0836308076926963,0.169539034346191,-
0.0786721184779489),Point
(0.0836308076887693,0.169539034350118,-
0.071651391692034),Point
0.0786721184880719),Point
(0.0836308077017,0.175077691670305,-
0.071651391688936),Point(0.083630807697773,0.175077691674232,-0.0786721184849739))
move_ vertex (vertex ("effect_ techno3d_ Block_ 1",2,1,2),CurvePointNorm ("surface1_ bnd_
3",0.326043824876047))
move_ vertex (vertex ("effect_ techno3d_ Block_ 1",2,1,1),CurvePointNorm ("surface1_ bnd_
3",0.710139595042077))
move_vertex(vertex("effect_techno3d_Block_1",2,2,1),CurvePointNorm("surface1_bnd_1",0))
move_ vertex (vertex ("effect_ techno3d_ Block_ 1",2,2,2),CurvePointNorm ("surface1_ bnd_
3",0.157843756497119))
move_vertex(vertex("effect_techno3d_Block_1",1,2,1),CurvePointNorm("curve1",1))
move_
("curve1",0.162994599914628))
(vertex
vertex
("effect_
move_
("curve1",0.728237079858547))
(vertex
vertex
("effect_
move_
("curve1",0.431818181829508))
(vertex
vertex
("effect_
techno3d_
Block_
1",1,2,2),CurvePointNorm
techno3d_
Block_
1",1,1,1),CurvePointNorm
techno3d_
Block_
1",1,1,2),CurvePointNorm
NI_END ni3dlayer_record
NI_END ni3dlayer_recorder
NI_END 3d effect
When making a 3D effect in AutoGrid5™, it may be necessary to create some additional curves. The
steps creating these curves are recorded in the template but the template cannot be replayed without
manual modification as the curve names vary per IGG™ session. Therefore the user should either
import an external CAD file with pre- defined names or the user should (re)name the curve
immediately after creation in the interface, otherwise because of the curves and surfaces naming, the
project may fail.
If the user modifies (number of points, clustering,...) an existing block created automatically by
AutoGrid5™ in IGG™ or in a 3D effect in AutoGrid5™, the corresponding faces are reinterpolated .
Due to this, the benefit of the smoothing is lost and the face may not lie on the geometrical surface
anymore.
Blocks created in a 3D effect (by creation or splitting an existing block) are still present even if the
mesh of the row is regenerated. For instance, if a 3D effect is used in order to split the blocks and if
the user asks to mesh again only the row, then the final mesh will contain the initial block and the
two blocks resulting from the splitting of the block. This leads to undefined patches since some
patches of the split blocks are not connected.
CHAPTER 12.
COOLING & CONJUGATE HEAT TRANSFER
MODULES
This chapter describes the conjugate heat transfer and the cooling capabilities included in AutoGrid5™:
l The conjugate heat transfer (CHT) capability allows the mesh generation of the blade and the end
wall solid bodies.
l The cooling capability allows the mesh generation of basin, basin holes, blade holes, end wall holes
and cooling channel with pins fins and ribs.
The module is only compatible with the default O4H topology on single blade configuration and thus not for
splitter(s) or tandem rows configuration
In this section
12.1 Conjugate Heat Transfer
12.2 Cooling - Blade Holes
12.3 Cooling - Basin Holes/Separator
12.4 Cooling - End Wall Holes
12.5 Cooling - Pin Fins
12.6 Cooling - Ribs
469
490
507
515
519
523
12.1 CONJUGATE HEAT TRANSFER
By default AutoGrid5™ generates the mesh of the core flow around the blades including the hub
and shroud gap area. The conjugate heat transfer module allows the mesh generation of the solid
body of the blade and the end walls.
12.1.1 Mesh of Blade Solid Body
The menu item Cooling/Add Solid Body in the blade contextual menu can be used to activate
the generation of the solid body of the blades. A new item is automatically added into the
configuration tree indicating that the solid body generation is activated.
The mesh into the blade is created using a butterfly topology like in the shroud/hub gap. The
connection between the solid body and the fluid area is matching.
FIGURE 12.1
Mesh of the blade solid body
Once the solid body generation has been activated, right-clicking on the new item in the tree
opens a contextual menu of the solid body.
This menu gives access to:
l Delete: deletes the solid body entry from the configuration tree.
l Configuration: opens a dialog box to choose one of the twelve solid body configurations.
Click on the desired image to choose the solid body configuration.
FIGURE 12.2
Blade solid body configuration
) type is chosen. All the other choices imply
By default, the blade solid body configuration (
the definition of an internal offset shape of the blade. This is used to define the basin, the squealer
tip, the cooling channel area or the area inside which spanwise holes are defined. In such cases,
the mesh topology covering the solid body area of the blade is divided into four blocks: two
blocks for a butterfly topology covering the area inside the internal offset shape and two blocks
defining another butterfly topology in the area between the offset and the blade definition.
The blade solid body is not applicable:
l for multisplitter configuration (except for the default blade solid body configuration)
l for blunt blades (except for the default blade solid body configuration)
A. Solid Body Configuration
Depending of the type of the solid body, the configuration tree will automatically updated.
Indeed, the entries controlling the basin depth, the basin wall width, the cooling channel, the tip
wall width will be automatically introduced into the Solid Body folder in the configuration tree. In
addition, shroud gap and or hub gap entry can also be added or removed automatically when
changing the type of solid body. Following sections describes the twelve available types of solid
body and their corresponding configuration tree.
When the solid body configuration is not default, the Hub & Shroud Gap Interpolation is not
applied.
Solid Body Configuration (Default)
In this configuration, the blade solid body is meshed using a butterfly topology like in the
shroud/hub gap. The connection between the solid body and the fluid area is matching (FIGURE
12.1).
Solid Body + Spanwise Holes Configuration
In this configuration, the blade solid body is meshed and spanwise holes are allowed. A shroud
gap or hub gap can be defined.
Solid Body + Cooling Channel Configuration
A shroud gap must be defined in this configuration. The blade solid body is meshed and a tip wall
and a cooling channel are defined. Spanwise tip wall holes and blade holes are allowed.
Similar configuration with hub gap is not available
Solid Body + Basin Configuration
A shroud gap must be defined in this configuration. The blade solid body is meshed and a basin is
defined. Spanwise holes are allowed.
Similar configuration with hub gap is not available
Solid Body + Basin + Cooling Channel Configuration
A shroud gap must be defined in this configuration. The blade solid body is meshed and a cooling
channel, a basin and a basin wall are defined. Spanwise basin wall holes and blade holes are
allowed.
Similar configuration with hub gap is not available
Solid Body + Cooling Channel Configuration
In this configuration, the blade solid body is meshed and a cooling channel is defined. Blade holes
are allowed. A shroud gap or hub gap can be defined but the tip wall has no width.
Solid Body + Penny Configuration
A shroud and/or hub gap must be defined in this configuration. The blade solid body is meshed
and a penny is defined at hub and/or shroud. Spanwise tip wall holes and blade holes are not
allowed.
The location and the diameter of the penny can be controlled in a way similar to the basin hole.
Solid Body + Squealer Tip Configuration
A shroud gap must be defined in this configuration. The blade solid body is meshed and a
squealer tip is defined. Spanwise tip wall holes and blade holes are not allowed. Three types of
squealer tips are available.
Similar configuration with hub gap is not available
B.
Internal Offset Shape Control
In a cooled turbine blade, basin and internal cooling channel area are defined by a unique offset
surface area of the blade. The squealer tips are defined in a similar way.
The geometry definition of the offset surface is done using the Cooling Geometry Definition
dialog box available when right-clicking on Solid Body in the configuration tree and selecting the
Define Internal Geometry menu.
The surface(s) defining the internal lateral cooling area and the basin can be defined as a blade
definition from:
l a parametric definition using the blade definition as reference.
l an external ".geomTurbo" file.
l an external CAD data file.
Parametric Mode
By default when a cooling wall has been defined, AutoGrid5™ is using a parametric definition
for the cooling wall. The default parameters can be modified in the Cooling Geometry Definition
dialog box.
The user can control the shape of the offset (by left-clicking on the entity when highlighted in red)
and the type of offset at the trailing edge (Blunt Trailing Edge option). If the blade to blade
generation has already been performed, the new curve defining the offset is automatically
displayed in the blade to blade view.
In addition, the Control Points Number along the chord used to defined the offset can be also
modified.
The shape of the offset area is defined according to starting and ending distance along the chord
and the width is computed normally to the chord definition.
External ".geomTurbo" File
If the internal offset surface is defined using a ".geomTurbo" file, the option From External
Data has to be activated.
When clicking on the Load a Geometry File button, a file chooser allows to select an external
AutoGrid4™ ".geomTurbo" native file. If the offset definition is blunt, an automatic blending
(using circular shape) can be performed to close the cooling wall surface ( Blend at
Leading/Trailing Edge options).
A geometry check can be performed when clicking on the Check Geometrybutton to detect
possible problems in the geometry definition.
External CAD Data File
If the internal offset surface is defined using an external CAD file, the option From External
Data has to be activated.
When clicking on the Load a Geometry File button, a file chooser allows to select an external
CAD file. After the selection, the Import CAD window displays the data and the manual linking
must be performed to define the blade surfaces, the leading edge and the trailing edge as for the
blade definition.
If the offset definition is blunt, an automatic blending (using circular shape) can be performed to
close the cooling wall surface (Blend at Leading/Trailing Edge options)
A geometry check can be performed when clicking on the Check Geometrybutton to detect
possible problems in the geometry definition.
C. Leading/Trailing Edge Wizard
The leading and trailing edge curves can be defined by the user by adding a wizard to the solid
body through the menu Add Wizard LE TE. This menu will add an item Wizard LE TE in the
solid body configuration tree. More details are available in section Leading/Trailing Edge Wizard.
D. Basin / Squealer Tip / Basin Wall Definition
The basin depth, the squealer tip and the bottom basin wall width are defined as for shroud/hub
gaps, by giving a width at the leading edge and at the trailing edge. In addition as for the gaps, the
number of layer (Number of Points) and the layer clustering (Cell Width and Percentage of
Mid-flow Cells) to define the basin, squealer tip and basin wall in the meridional view can be
controlled.
The contextual menu Properties when right-clicking on the configuration tree on Basin, Squealer
Tip and Basin Wall opens the corresponding dialog box allowing to control these parameters.
E. Mesh Generation Control
The Mesh Properties dialog box gives access to the mesh generation control parameters, when
right-clicking on Solid Body in the configuration tree and selecting the Mesh Properties menu;
Blade to Blade Control
Internal Cooling Wall Streamwise Distribution.
Near the trailing edge, by default (Optimized option) the grid points distribution along the solid
wall of the blade is clustered around the location of the internal cooling wall definition.
If the option Same as blade Wall is selected, the grid points distribution along the internal solid
wall will follow the clustering of the blade wall.
The number of points (N) located between the end of the cooling wall and the trailing edge can be
modified using the parameters Number of Points at Trailing Edge . When this number is
increased, the number of points on both sides of the blade also is increasing.
Number of Points in O-Mesh (Solid Blade Area)
The number of points (N2 in previous figure) in the azimuthal direction defining the width of the
blade solid mesh can be modified with the parameters Number of points in O mesh (Solid
Blade Area).
The clustering in the azimuthal direction defining the width of the blade solid mesh can be
switched off with the parameter Relax the B2B Mesh Clustering.
Special Configuration: Inserted Cooling Tube
When the configuration is presenting inserted cooling tubes, these entities can be meshed by
defining a cooling channel (Internal Offset Shape Control) and a skin wall.
The inserted cooling tube will be considered as a blade including a cooling channel (fluid block)
and the skin wall will be used to mesh the fluid area outside of the tube but inside of the real
blade.
The clustering near the trailing edge of the cooling wall is no more suitable for inserted cooling
tubes. Furthermore, the parameter Internal Cooling Wall Streamwise Distribution must be set
to the value Same as blade Wall.
The boundary shape of the skin mesh around the blade can also be imposed using the
Cooling/Add Skin Wall menu when right-clicking on the Main Blade in the configuration tree.
A new entity named Skin Mesh Boundary is displayed in the configuration tree.
The contextual menu Define Geometry when right-clicking on the Skin Mesh Boundary in the
configuration tree allows to select a ".geomTurbo" file defining the boundary of the skin mesh.
After selecting Skin Mesh Boundary in the configuration tree, the skin wall can also be defined
using the Import CAD window by linking the blade surfaces, the leading edge and the trailing
edge as for the blade definition.
two control
In addition,
lines (defined in the spanwise direction) can be added into the
".geomTurbo" file to define two local points of the skin wall shape that needs to be captured by
the mesh. These grid lines are useful in case of a skin wall that has to be connected (full non
matching connection) afterwards with the solid mesh parts of the real blade.
These lines are defined using the following format into the geomTurbo:
trailing_edge_ctrl_lineDown
XYZ
17
20.8472883616038 260.874260274711 34.1192884895623
21.7475411710475 264.244225444529 33.8239451407291
…
trailing_edge_ctrl_lineUp
XYZ
17
15.6694535592452 261.001553719178 29.429748564263
16.4764220438766 264.405454725162 29.0497779354983
…
Finally, when the cooling channel and the skin wall are defined, the mesh of the inserted cooling
tube area can be meshed after deactivating the option Around the Skin Mesh in the 3D Control
as presented in next section.
3D Control
The Activate Mesh Generation parameters control the areas that will be removed from the mesh
after the grid generation of the blade holes (Cooling - Blade Holes).
The Span Interpolation (%) in the Mesh Control/Row Mesh Control area of the Quick Access
Pad is not available when generating the mesh of the blade solid body.
12.1.2 Mesh of End Wall Solid Body
By default, AutoGrid5™ creates the fluid core flow around the blade and the boundary condition
with the solid body of the end walls is set to solid. The contextual row menu items Cooling/Add
Hub Wall and Cooling/Add Shroud Wall can be used to mesh a part of the end walls
automatically within AutoGrid5™. The items Hub Wall and Shroud Wall are automatically added
into the configuration tree.
The hub/shroud end walls are not available for blade with blunt/sharp leading or trailing edge, for
multi-bladed row and HOH/H&I B2B topologies.
Geometry Definition
The Properties menu available when right-clicking on the Hub Wall and/or Shroud Wall in the
configuration tree opens a dialog box used to control the width of the selected end wall.
The end walls representation is automatically displayed in the meridional view.
Topology Definition
The Properties menu available when right-clicking on the Hub Wall and/or Shroud Wall in the
configuration tree opens a dialog box used to control the number of points used to mesh the end
wall in the spanwise direction and the width of the end wall.
The mesh is created using a matching connection between the core flow and the solid body of the
end wall and therefore no more parameters are needed to control the mesh generation.
The Generation Type allows to control the mesh generation in the end walls: normal to the wall
or along Z-cst lines (Radial (Z cst)).
3D Mesh Generation
The Generate menu available when right-clicking on the Hub Wall and/or Shroud Wall in the
configuration tree is used to start the 3D generation of the selected end wall. The 3D mesh of the
selected end wall will only be generated if the 3D mesh of the core flow is already available.
The option Generate End Wall available when pressing the Generate 3D button of the top menu
bar can also be activated to involve the grid generation of the end wall after the mesh generation
of the selected row.
12.2 COOLING - BLADE HOLES
The meshes generated by AutoGrid5™ using the default topology contain one block surrounding
the blade, called the skin block. This block is used to generate high grid quality in the boundary
layer. The solid body of the blade contains also a similar O-block connected to the skin block
using a matching connection in configurations where a cooling wall has been defined,
These blocks will take an important place in the methodology used to create the mesh in the blade
holes and around the blade holes. They will be called matrix blocks in the following sections.
It is suggested to freeze the skin mesh in the Optimization Properties dialog box ( Skin Mesh
Control) with the introduction of cooling holes, in order to improve the quality of the full non
matching (FNMB) connection between the skin block and the core flow. The option is not available
for a blunt leading or trailing edge.
The fillet with butterfly topology is not compatible with cooling holes on the blade.
The non-axisymmetric end walls are not compatible with cooling holes on the blade.
The cooling blade hole is not compatible with a double blunt blade.
12.2.1 Blade Holes Methodology
When adding a cooling hole in the blade, the following steps will be performed to create the mesh
in the blade hole and around the blade hole:
1. The intersections between the hole (or hole line) and the matrix are computed by
AutoGrid5™.
2. The intersection curves are projected in the parametric space of the matrix.
3. A default mesh topology inside and around the hole definition is created.
The topology is composed by eight blocks surrounding the holes, a butterfly topology inside the
holes and a O block defining the boundary layer around the hole.
1. A default mesh is created using the row mesh clustering based on the parameters selected in
the Mesh Control/Row Mesh Control area of the Quick Access Pad.
2. The mesh is optimized.
3. The hole mesh is projected in the 3D space and the matrix block is divided. The hole meshes
replace some of the divided matrix areas.
4. The connection between the matrix area and the core flow becomes full non matching.
5. The connection between the internal cooling area (cooling channel, basin, basin wall) and the
solid body of the blade becomes full non matching.
6. The matrix is divided in spanwise direction near the hub and the shroud to preserve the
boundary layer of the main channel. The connection between the upper part of the matrix and
the middle part becomes full non matching. The connection between the lower part of the
matrix and the middle part becomes full non matching.
7. The matrix is divided in meridional direction according to the hole line mesh location. The
connection between the hole line mesh and the matrix becomes full non matching.
12.2.2 Blade Holes Properties
The Cooling/Add Holes Line menu available when right-clicking on Main Blade adds a new
hole line entity in the configuration tree. By default a new hole line contains a single hole that is
automatically displayed in the meridional view.
The Properties menu available when right-clicking on the holes line 1 opens a dialog box to
control the geometry and the mesh of the selected line of holes.
The Preview 3D and Hide 3D buttons (as the Preview/Hide 3D Location menus) are used to
perform a quick display of the 3D definition of the cylinder used to define the holes. The 3D
display is only available if the matrix block is available when the 3D mesh generation of the row
has already been completed. Each modification of any hole lines parameter implies an automatic
refresh of the display.
Geometry Control
In the Blade Cooling Holes Line Definition , the Geometry thumbnail gives access to the
parameters controlling the geometry of the line of holes.
Holes Number Control
The number of holes in a line can be modified through the parameter Number of Hole on the
Line.
Holes Shape Control
Seven different types of holes can be defined: circular, rectangular, oval, circular at trailing edge
(trailing edge holes), groove at trailing edge, 4 sided and oval at trailing edge.
For each type, the parameters controlling the geometry are different.
The trailing edge grooves are only available for mesh with blunt cooling wall.
Holes Location Control
The location of a hole is defined by the 3D anchor point of its axis. Three modes can be used to
define this point.
Parametric Mode
Using the Parametric mode, the side (Upper Side/Lower Side) of the blade where the holes
must be located is selected as well as the Spanwise Location and the Streamwise Location.
The Spanwise Location is defined by the meridional starting (Start) and ending (End) point of
the line. These locations are given in percentage of span. The holes are automatically redistributed
using an equidistant distribution.
The Streamwise Location can be entered using three modes:
l % of meridional chord: the streamwise location is computed in the meridional plane by
giving a percentage of the distance between the leading edge and the trailing edge.
l % of arc length from LE: the streamwise location is computed in the 3D space by giving a
percentage of the arc length along the blade definition starting from the leading edge.
l % of arc length from TE: the streamwise location is computed in the 3D space by giving a
percentage of the arc length along the blade definition starting from the trailing edge.
When using the % of meridional chord mode, the quick display will be an approximation of the
hole location.
XYZ Mode (Px,Py,Pz)
Using the Px,Py,Pz mode, the axis anchor point location of each hole of the line is directly
entered in absolute Cartesian coordinates.
RTHZ Mode (Pr,Pth,Pz)
Using the Pr,Pth,Pz mode, the axis anchor point location of each hole of the line is directly
entered in absolute cylindrical coordinates.
The Parametric mode is applied to the entire holes line. Each modification of a parameter affects all
the holes of the line. To modify a single hole location, first the parametric mode is used to define
globally the hole line, than the mode can be switched to XYZ (Px,Py,Pz) or RTHZ (Pr,Pth,Pz)
mode to relocate the selected hole.
Holes Axis Control
The axis of each hole can be controlled separately and/or globally for all the holes belonging to a
line using three different modes.
Parametric Mode
The axis is controlled by giving the spanwise (Alpha) and the streamwise (Beta) deviation from
the blade surface normal.
XYZ Mode (Vx,Vy,Vz)
The axis is given by entering the three absolute Cartesian coordinates of the vector (Vx,Vy,Vz).
RTHZ Mode (Vr,Vth,Vz)
The axis is given by entering the three cylindrical coordinates of the vector (Vr,Vth,Vz).
The Parametric mode is applied to the entire holes line. Each modification of a parameter affects all
the holes of the line. To modify a single hole axis, first the parametric mode is used to define globally
the hole line, than the mode can be switched to XYZ (Vx,Vy,Vz) or RTHZ (Vr,Vth,Vz) mode to
change the axis of the selected hole.
Holes Dimension Control
The dimension of the holes depends of the shape chosen in Holes Number Control.
Circular Shape
When circular shape is selected, the diameter and the depth of the holes can be imposed (each
hole can be controlled separately).
When a cooling wall is defined, the depth is only used for quick visualization of the hole location.
Rectangular & Oval Shapes
When rectangular or oval shape is selected, the width, the height and the depth of the holes can be
imposed (each hole can be controlled separately).
When a cooling wall is defined, the depth is only used for quick visualization of the hole location.
Trailing Edge Groove Shape
When the location of the groove is defined using the Parametric mode, the height of the groove
must be entered.
4-Sided Shape
The four points coordinates defining the shape of the quadrilateron must be entered.
Holes Orientation Control
For rectangular, oval and 4-sided shapes, the holes height is aligned with the spanwise direction.
The rotation angle around the normal to the blade surface can be specified (Angle).
External Holes Definition File
The hole geometry can be defined using an external data file through the Load Geometry File
menu available when right-clicking on the holes line 1. A file chooser allows to select an external
hole line file. The file formats used to define hole line are presented in next sections.
The Export Holes Geometry menu available when right-clicking on the holes line 1 is used to
export the hole line definition into an external file. The name of the file is automatically chosen
according to the grid configuration and the project file name. Therefore, before exporting a hole
line geometry, the project must be saved. For example, when exporting the "holes line 5" of a
project named "moduleCHT-section_2", the name of the data file will be "moduleCHT-section_
2_row_2_Main_Blade_holes_line_5.dat" and it will be located where the project was saved.
Data File for Circular Shape Holes Line
NAME holes line 1
SCALE_FACTOR 1
SHAPE CIRCULAR
NI_BEGIN NIHole
NAME hole 1
POINT 0.2721 0.014104 0.0718381
AXIS 0.0563309 -0.996603 -0.0600856
DIAMETER 0.0011
NI_END NIHole
...
Data File for Rectangular Shape Holes Line
NAME holes line 2
SCALE_FACTOR 1
SHAPE SQUARE
NI_BEGIN NIHole
NAME hole 1
POINT 0.272459 0.00174071 0.0691802
AXIS -0.00578617 0.90566 0.423965
SIZE1 0.0011
SIZE2 0.0011
ORIENTATION_ANGLE 0
NI_END NIHole
…
Data File for Oval Shape Holes Line
NAME holes line 3
SCALE_FACTOR 1
SHAPE OVAL
NI_BEGIN NIHole
NAME hole 1
POINT 0.272459 0.00174071 0.0691802
AXIS -0.00578617 0.90566 0.423965
SIZE1 0.0011
SIZE2 0.0011
ORIENTATION_ANGLE 0
NI_END NIHole
…
Data File for Trailing Edge Groove Holes Line
NAME holes line 4
SCALE_FACTOR 1
SHAPE GROOVE_AT_TRAILING_EDGE
SIDE LOWER_SIDE
NI_BEGIN NIHole
NAME hole 1
POINT 0.270542 0.0428518 0.112722
AXIS 0 0 0
POINT2 0.271642 0.0428532 0.112722
NI_END NIHole
…
Data File for Trailing Edge Circular Holes File
NAME holes line 5
SCALE_FACTOR 1
SHAPE CIRCULAR_AT_TRAILING_EDGE
NI_BEGIN NIHole
NAME hole 1
POINT 0.2725 0 0.112722
AXIS 0 0 0
DIAMETER 0.0011
NI_END NIHole
...
Data File for 4-Sided Shape Holes Line
NAME holes line 6
SCALE_FACTOR 1
SHAPE QUADRILATERAL
NI_BEGIN NIHole
NAME hole 1
POINT 0.272459 0.00174071 0.0691802
AXIS -0.00578617 0.90566 0.423965
POINTS -0.0011 -0.0011 0.0011 -0.0011 -0.0011 0.0011 0.0011 0.0011
ORIENTATION_ANGLE 0
NI_END
...
The SCALE_FACTOR is optional. It is used to convert the data if it is not specified in meter (i.e.:
data in millimeter needs to set the SCALE_FACTOR to 0.001).
Mesh Control
In the Blade Cooling Holes Line Definition, the Mesh Control thumbnail gives access to the
parameters controlling the mesh topology around and inside the holes.
Grid Points Distribution
The grid point distribution panel allows the user to change the grid point number (by left-clicking
on the it when highlighted in red) around the holes. According to the shape of the holes, the
parameters to define can be different.
When defining a hole line in the end walls, additional parameters Upper/Lower clustering
relaxation allow to relax the clustering on the top and bottom. When the value is set to 0 the
clustering is fully relaxed otherwise the value entered by the user is used to set up a cluster at both
ends distribution.
Optimization Control
The number of smoothing steps around ( Optimization Steps Around Hole ) and inside
(Optimization Steps Inside Holes) the holes can be modified. The type of smoothing can also be
chosen with or without skewness control (Skewness Control Around/Inside Holes option).
For the trailing edge grooves, only the smoothing steps inside the holes can be controlled.
Wake Control
The size of the mesh upstream and downstream can be controlled by Upstream/Downstream
Normalized Distance. These parameters allow the user to change the upstream and downstream
length of the area where the mesh around the holes will be created.
The upstream and downstream length is calculated in the parametric space of the surface built
from the skin mesh. The hole size is then measured and multiplied by the normalized parameters.
By adding the value calculated to the hole center, the upstream and downstream distance is
obtained. The
to
proportional
Upstream/Downstream Normalized Distance since it is calculated in the parametric space.
approximately
physical
distance
space
final
in
is
Mesh Shape Control
When two lines of holes are close to each other and one of the holes line spanwise shape must
drive the shape of the mesh of the second holes line, the option Holes Line Mesh Shape Control
can be applied on the second holes according to the holes line spanwise shape configuration.
Global Control
By default, when lines of holes are defined, AutoGrid5™ will first divide the matrix block in
spanwise direction near the hub and near the shroud to keep as much as possible of the end wall
boundary layer of the matrix mesh. The indices of division can be controlled by the user in the
thumbnail Global Control.
The tolerance used to compute the intersection of the holes with the matrix block can be modified
by modifying the Holes Intersection Tolerance available in the Expert page.
Because the preview using Preview 3D button can be slightly different from the final computed
location, the Preview Tube Mesh button is used to display the real location of the holes.
12.2.3 Blade Holes Mesh Generation
Once the matrix and the holes definition are completed, the Cooling/Generate Holes menu
available when right-clicking on the Main Blade in the configuration tree allows to start the holes
mesh generation without regenerating the row mesh.
The option Generate Blades Cooling Holes available when pressing the Generate 3D button of
the top menu bar can also be activated to mesh the holes after the selected row mesh generation.
12.2.4 Blade Holes Project Management
As explained at the beginning of the section Geometry Definition, the blade hole(s) meshes are
inserted into the matrix block of the default mesh computed by AutoGrid5™ (skin block around
the blade). Therefore, before starting the blade holes mesh generation, the default mesh inside the
row must have been computed using Generate 3D button. This mesh is usually called the matrix
mesh. It is strongly advised to save and store this mesh on disk (File/Save Project As) before
starting the blade holes generation. Once the matrix mesh has been generated and saved into a
matrix project, the blades holes definition can be modified and saved using the menu File/Save
Template.
Using this method, the template on disk contains the new holes definition and the matrix mesh.
Each time the user wants to modify the holes definition and regenerate a new mesh, the matrix
project can be reloaded, the holes definition changed and the holes mesh generation started
without regenerating the default row mesh (matrix).
By default, the mesh (matrix) generated inside the solid body of the blade contains two blocks
(butterfly topology at the trailing edge - Blade to Blade Control). Due to the mesh generation
method, the matrix mesh is different
if trailing edge holes or grooves must be generated. The
butterfly topology is degenerated into a single O- block. Therefore, if a new line of holes of these
types is added after having generated the matrix, the system will prompt the user to regenerate the
matrix before starting the holes line. The same behavior can be observed if the matrix has been
generated with trailing edge holes or grooves defined that are removed afterwards.
12.3 COOLING - BASIN HOLES/SEPARATOR
When the blade configuration contains a cooling wall definition, a basin and a basin wall, holes
into the basin wall and a solid separator into the basin can be defined within AutoGrid5™.
Basin Holes/Separator Methodology
The blade to blade mesh into the cooling wall area is composed by two blocks. After defining the
basin holes and separator, AutoGrid5™ will compute the location of the basin holes and the
separator into this mesh and than replace the butterfly topology by a new complex topology
capturing the defined holes and separator. The connection between the cooling wall area and the
solid body of the blade becomes full non matching.
This process is repeated on each layer from the bottom to the top of the domain. It assumes the
same block topology and matching connections between the cooling channel, the basin wall, the
basin and the shroud gap area.
Basin Holes Properties
The Add Radial Hole menu available when right-clicking on Solid Body adds a new hole entity
in the configuration tree.
The Properties menu available when right-clicking on hole 1 opens a dialog box to control the
geometry and the mesh of the selected hole.
When selecting a solid body configuration with penny, the same dialog box is used to define the
penny. However, a rotation around the penny can be specified.
Geometry Control
Parametric Mode
When the option Use Parametric Definition is active, a parametric location is used to define the
basin holes. Two parameters fully define the location of the holes:
l Location (% of mean line): this parameter defines the hole center on the mean line by giving
a percentage of the mean line length of the cooling wall definition ("A" in next figure).
l Location (% of width): once the hole center is located on the mean line, a deviation normal to
the mean line can be defined. The amplitude of the deviation is given in % of cooling wall
width ("B" in next figure).
Radial cooling holes cannot be generated on the same chord position (same % of mean line).
The Diameter of the selected basin hole has to be specified.
XYZ Mode
When the option Use Parametric Definition is switch off, the holes geometry is defined in the
Cartesian space by an anchor point (Anchor) and an axis vector (Axis).
It is recommended to define an anchor point close to the shroud.
Once a new hole is defined using non-parametric definition, when pressing Generate B2B, the
system indicates to the user two layer indices on which Generate B2B must be applied before
launching the 3D generation.
The parametrization of the holes is done during these phases and it assumes that the axis given by
the user will be followed by the holes. Each time the user wants to modify the hole location (i.e
changing the anchor and/or the axis), the same procedure must be performed.
The Diameter of the selected basin hole has to be specified.
The Preview and Hide buttons are used to perform a quick display of the 3D definition of the
cylinder used to define the holes. The 3D display is only available if the matrix block is available
when the 3D mesh generation of the row has already been completed. Each modification of any
hole lines parameter implies an automatic refresh of the display.
Due to the stacking technique used to define the basin holes, the holes are always normal to the
surface of the basin and are following the spanwise direction (J-direction) of the blade.
External Holes Definition File
The basin holes geometry can be defined using an external data file through the Init Radial Holes
From File menu available when right-clicking on the Solid Body. A file chooser allows to select
an external hole file. The file format used to define a basin hole is presented below.
The Export Radial Holes Geometry menu available when right-clicking on the Solid Body is
used to export the basin hole definition into an external file.
The data file format is the following:
SCALE_FACTOR 1000
NI_BEGIN cylinder
ORIGIN -0.00767000036430546 0.314414877301847 0.0786000028177822
AXIS 7.16351112721767e-14 -1 -2.54702617856629e-14
RADIUS 0.000250000011874398
NI_END cylinder
NI_BEGIN cylinder
ORIGIN -0.00781000037095512 0.314414877301847 0.0812700029446004
AXIS 7.16351112721767e-14 -1 -5.09405235713257e-14
RADIUS 0.000250000011874376
NI_END cylinder
After the selection, the holes are automatically initialized in the configuration tree and the
procedure described in the previous section must be followed to initialize the holes
parametrization.
Mesh Control
The mesh inside and around the holes can be controlled using the following parameters.
l Number of Point Along Radius: this parameter is used to modify the number of points in the
boundary layer of the holes.
l Number of Point Along Sides: this parameter is used to modify the number of points around
the holes.
l Location Bnd Smoothing Steps: this parameter is used to smooth the limit of the blocks at the
boundary with the solid body of a hole located between others holes/separator.
l Optimization Steps: this parameter is global for all the basin holes and controls the number of
optimization steps used to optimise the mesh inside and around the holes.
l Streamwise Mesh Resolution: this parameter allows the user to increase the default number
of points in the streamwise direction. When set to 1, AutoGrid5™ computes automatically the
number of points in the streamwise direction for the blocks inserted between holes according
to the external grid point distribution. This is not always sufficient to assume a correct
expansion ratio.
Basin Separator Properties
The Add Separator menu available when right-clicking on Solid Body adds a new separator
entity in the configuration tree.
The Properties menu available when right-clicking on the separator 1 opens a dialog box to
control the geometry and the mesh of the selected separator.
The separator location (Location (% chord)) is defined by giving a percentage of the cooling
wall mean line arc length (indicated as "A" in the figure of section Geometry Control). The width
of the separator is given in absolute value (Width) and the number of points in the streamwise
direction (Number of Point Along Stream) controls the mesh into the separator.
Basin Holes/Separator Mesh Generation
The mesh inside the cooling channel is automatically computed during the stacking process of the
row. The full non matching connections are automatically created between the solid body and the
basin, basin wall, cooling channel and the shroud gap area.
No control is given on the streamwise number of points between the holes. AutoGrid5™ tries to keep
the same clustering as in the solid body to avoid too high difference of grid points along the full non
matching connections.
12.4 COOLING - END WALL HOLES
In the section Mesh of End Wall Solid Body, the grid generation of the end walls solid body is
presented. In addition, lines of holes located on the end walls can be defined and meshed within
AutoGrid5™.
End Wall Holes Methodology
The method is similar to the grid generation of blade line holes describes in the section Cooling -
Blade Holes. As for the blades line holes, the grid generation of the line of holes on the end walls
is based on the insertion of the mesh around the holes into a matrix mesh. This matrix mesh is
created automatically by AutoGrid5™. It consists in two H blocks used to mesh the solid body of
the end wall and the connected fluid boundary layer.
The Properties menu available when right-clicking on Hub Wall or Shroud Wall opens a dialog
box to control the mesh generation of the matrix. The blade to blade visualization of the H block
can be controlled using the menu View B2B Mesh and Hide B2B Mesh.
The user can control the smoothing steps (Hole Matrix Optimization Steps) and the multigrid
acceleration (Hole Matrix Multigrid Optimization) to optimize the H block of the matrix. The
number of layers on which the end walls holes block will be extended into the fluid boundary
layer is controlled by the Connected Layers parameters.
End Wall Holes Properties
The Add Holes line menu available when right-clicking on Hub Wall or Shroud Wall adds a new
holes line entity in the configuration tree.
The holes geometry and mesh controls are similar to the ones presented for the blade holes in
Blade Holes Properties.
A quick display of the end walls holes is also available in the blade to blade view but it appears only
if the active blade to blade layer corresponds to the hub or the shroud.
Due to the matrix concept which is using a H block, the grid quality in the hub wall boundary layer
can be downgraded compared to the default topology.
Due to the location of the matrix, it is not obvious to define holes in front of the leading edge.
End Wall Holes Mesh Generation
Once the matrix, the end walls and the holes definition are completed, the Generate Holes menu,
available when right-clicking on Hub Wall or Shroud Wall in the configuration tree, allows to start
the holes mesh generation without regenerating the row mesh.
The options Generate End Wall and Generate End Wall Cooling Holes available when
pressing the Generate 3D button of the top menu bar can also be activated to mesh the holes after
the selected row mesh generation.
When cooling holes on end walls, the generated mesh is composed by two parts: one part with default
topology and a second part with several H blocks on the end wall. The first part is respecting the
default span orientation (J) while the others have the span orientation along I.
12.5 COOLING - PIN FINS
The pin fins are usually located in the cooling channel of the blade and used to promote the
turbulence and to exchange heat. These entities can be defined and meshed within AutoGrid5™.
Pin Fins Properties
The Add Pin Fins Channel menu available when right-clicking on Cooling Channels adds a pin
fins channel entity in the configuration tree.
Pin Fins Box Definition
A pin fins channel entity is used to mesh solid pin fins lines into a box (cooling channel) defined
by the user. The box is a IGG™ block created manually or imported from an external block data
file. The block orientation I and J must correspond respectively to the pin fins axis and the pin fine
line direction. This block will be used in a similar way as the matrix mesh used for the blade and
end walls holes.
From IGG™ Edit Mode
The Edit menu, available when right-clicking on pin fins channel 1 in the configuration tree,
allows to start
the box will be created using IGG™
functionalities. When closing this edit mode (Close Edit Mode button), the first block created will
be considered as the new pin fins box.
the edit mode. Under this mode,
From External Block File
The Define from Box File menu, available when right-clicking on pin fins channel 1 in the
configuration tree, opens a file chooser used to select an external IGG™ block coordinate file.
Once the file selected, a dialog box prompts the user to specify how much points must be used in
the I, J and K directions to create the box using the geometry of the imported block file.
Pin Fins Lines Definition
The Add Pin Fins Line menu, available when right-clicking on pin fins channel 1 in the
configuration tree, is used to add a new pin fins line into the configuration tree.
The pin fins lines management is similar to the blade holes management presented in the previous
sections. The Properties menu available when right-clicking on pin fins 1 opens a dialog box to
control the geometry and the mesh of the selected hole.
The holes geometry and mesh controls are similar to the ones presented for the blade holes in the
Blade Holes Properties section.
In addition to the holes control parameters, the pin fins can have a fillet defined in the Dimension
panel. The Minimum Fillet Angle avoids a zero skewness angle (orthogonality) of the cell
connected with the boundary of the box.
The grid points distribution can be imposed for the entire pin fins line but not for only one pin fin of
the line in order to ensure matching connection.
Pin Fins Mesh Generation
The mesh inside the cooling channel including the pin fins is automatically computed when
selecting the Generate Pin Fins menu when right- clicking on pin fins channel 1 in the
configuration tree.
When generating the pin fins, the cell width defined in the Mesh Control subpad of the quick access
pad is taken into account. Using the default cell width of 1e-5 may lead to problems if the geometry
is defined in mm.
The final mesh contains solid blocks defining the pins fins and fluid blocks around the pin fins
defining the fluid area of the box (cooling channel). The mesh includes six full non matching
connections with only left patches defined. These connections are useful to define the link
between the pin fins boxes and the surrounding areas such as the blade solid body.
In addition the Mesh properties menu when right- clicking on pin fins channel 1 in the
configuration tree, opens a dialog box providing to the user easy ways to:
l Revert the fluid and solid block.
l Define inlet boundaries at the left or right side of the pin fins.
l Preserved mesh boundary on the left and right side of the pin fins.
12.6 COOLING - RIBS
The ribs are usually located in the cooling channel of the blade and used to promote the
turbulence and to exchange heat. These entities can be defined and meshed within AutoGrid5™.
Ribs Properties
The Add Ribs Channel menu available when right-clicking on Cooling Channels adds a ribs
channel entity in the configuration tree.
Ribs Box Definition
A ribs channel entity is used to mesh solid ribs lines into a box (cooling channel) defined by the
user. The box is a IGG™ block created manually. The block should have a special orientation:
l the I direction from front to back (front side being the side where the rib is located),
l the J direction from hub to shroud,
l the K direction from left to right (left side being at the left when looking in the direction front-
>back).
This block will be used in a similar way as the matrix mesh used for the blade and end walls
holes.
From IGG™ Edit Mode
The Edit menu, available when right-clicking on ribs channel 1 in the configuration tree, allows
to start the edit mode. Under this mode, the box can be created using IGG™ functionalities.
When closing this edit mode (Close Edit Mode button), the first block created will be considered
as the new ribs box.
From 3D View
After selecting the 3D view in AutoGrid5™, a IGG™ mesh (".igg" file) can be imported in the
3D view (File/Import/IGG Project). The desired block representing the cooling channel needs
to be activated by left-clicking on it in the 3D view. The Define Box from Active Block menu,
available when right-clicking on ribs channel 1 in the configuration tree, allows to link the active
block to the ribs channel. After defining the box, the template has to be saved ( File/Save
Template) and reopened (File/Open Project) otherwise the blocks of the imported IGG™ mesh
will stay in the 3D view and conflict with new created blocks in AutoGrid5™.
Ribs Geometry Control
The Define Geometry menu, available when right-clicking on ribs channel 1 in the configuration
tree, is used to control the geometry and the mesh of the ribs.
A rib can be seen as a "bar" located in the cooling channel (box). The ribs can be located on only
one side of the cooling channel box (called the "front" side, the opposite being the "back" side).
The basic (mandatory) geometry is defined by:
l a basic plane (plane origin and normal direction) representing the lower side (Define basic
planes button),
l a height (Height) representing the upper side (basic plane shifted by height along its normal),
l a thickness (Thickness) representing the back side (front side offset of the thickness).
In addition, optional rib geometry extensions are possible:
l a left extension (bar extension on the left side with the same height and thickness as the main
bar) defined by a plane (Define left extensions button).
l a right extension (bar extension on the right side with the same height and thickness as the
main bar) defined by a plane (Define right extensions button).
l separation(s) (an interruption in the main bar, through which the fluid will pass) defined by
two planes (defining the start and the end of the bar cut) (Add separations button).
l a Full Channel option allowing to completely fill the channel with ribs, meaning that no fluid
can pass perpendicularly to the ribs.
The next figure is illustrating the options in a section of a rib channel.
As mentioned above, the ribs geometry is composed by basic planes defined by an external ".dat"
file illustrated below:
SCALE_FACTOR 1000
REVERSE_NORMAL 1
PLANE -0.0001 0.2554 0.0992 -6.1422e-15 -0.866 0.5
PLANE -0.0007 0.2579 0.0984 -3.1258e-14 -0.866 0.4999
PLANE 0.0002 0.2611 0.0988 -7.8737e-15 -0.866 0.4999
...
The first line (optional) allows to impose a scaling factor to the plane coordinates (useful when the
planes are not defined in the scale of the cooling channel).
The second line (optional) allows to inverse the plane normal orientation. The plane normal
should be oriented from the lower to the upper ribs channel side.
The following lines beginning by the keyword "PLANE" identify the ribs (the number of ribs
will correspond to the number of "PLANE" lines). The keyword "PLANE" is followed by the
plane origin and normal coordinates.
The file format for the left extension, right extension and separation planes is similar to the one
presented above. For the separation definition, the number of planes should be twice the number
of ribs as a rib separation is defined by a starting and ending plane.
When separations are positioned in staggered rows of successive ribs, the Alternate separations
button improves the mesh quality. This option will insert artificially in a rib the separation of the
previous one and in the previous rib the separation of the current one. As these artificial
separations are not real, they will be meshed with solid blocks.
Ribs Mesh Control
The Define Geometry menu, available when right-clicking on ribs channel 1 in the configuration
tree, is used to control the geometry and the mesh of the ribs.
The mesh will be fully matching in the complete ribs channel. That means that increasing the
number of points somewhere will be propagated all over the domain through matching block
connections.
The mesh parameters that can be controlled are:
l the number of points in the I direction (from front to back) - Number of pts I,
l the number of points in the J direction for a rib itself (from bottom to top) - Number of pts J,
l the number of intermediate points in J direction between 2 ribs (from bottom to top) - Number
of Inter pts,
l the number of points in the K direction (from left to right) - Number of pts K,
l the clustering by defining the Cell width and the number of constant cells (Number of cst
cells).
These values are constant for all the ribs in the channel. The next figure is illustrating the above
controls in a section of a rib channel.
Ribs Mesh Generation
The mesh inside the cooling channel including the ribs is automatically computed when selecting
the Generate menu when right-clicking on ribs channel 1 in the configuration tree.
When generating the ribs, the cell width defined in the Mesh Control subpad of the quick access pad
is taken into account. Using the default cell width of 1e-5 may lead to problems if the geometry is
defined in mm.
The final mesh contains solid blocks defining the ribs and fluid blocks around the ribs defining the
fluid area of the box (cooling channel). The mesh includes six full non matching connections with
only left patches defined. These connections are useful to define the link between the ribs boxes
and the surrounding areas such as the blade solid body.
CHAPTER 13.
PYTHON SCRIPT
Scripts are available in AutoGrid5™, like in IGG™, through the object-oriented Python language. For
a more complete description of python language and generic commands, see the IGG™ User Manual.
Specific commands are dedicated to AutoGrid5™ and are described here after. More details on the
available python commands are available in the file "AUTOGRID.py" provided in the NUMECA
distribution after installation (i.e. under Windows, the file is available in "~/_python/_autogrid/").
The supported Python version is 2.7 on Windows/Linux.
By default, French accents cannot be included in a script except if the string # coding=utf-8 is added as first
line of the script.
In this section
13.1 Running a Script File
13.2 Commands Description
530
530
13.1 RUNNING A SCRIPT FILE
Script files can be run from the command line or directly through a python interpreter.
From the command line, a script can be run by launching AutoGrid5™ with the -script option.
For example: igg -autogrid5 -script my_script.py. AutoGrid5™ will execute the script and then
open the graphical user interface.
When running a script from the command line, it is possible to execute a process in batch mode,
avoiding the use of the GUI. The -batch option is executed as: igg -autogrid5 -batch -script my_
script.py. The option -real-batchis an additional option to allow batch mode to be executed
without the need of a display and is used as: igg -autogrid5 -real-batch -script my_script.py.
IGG™ scripts and AutoGrid5™ scripts are not interchangeable.
13.2 COMMANDS DESCRIPTION
Commands are classified by categories and by classes. Several classes are defined in
AutoGrid5™ to group functions related to generic entities: Row, Blade, Gap, RSInterface,
StagnationPoint, TechnologicalEffect,...
The organization charts shown below aim to provide a global overview of how the different
classes are organized in dependent levels and how they interact with each other.
Example
To access a meridional control line the command z_cst_line(i) can be used and the actions as
listed in "RSInterface Class Commands" (p. 584) can be applied:
z_cst_line(1).get_clustering_relaxation_location()
Class commands
Level 1
Access commands
"B2B Cut Class Commands" (p. 549)
"RSInterface Class Commands" (p. 584)
b2bCut(i)
z_cst_line(i)
"TechnologicalEffectZR Class Commands" (p. 591)
technologicalEffectZR(i)
Example
To access a rotor/ stator interface, an access command like inlet() can be used and the actions as
listed in "RSInterface Class Commands" (p. 584) can be applied:
row(1).inlet().get_shape()
Class commands
level 1
level 2
level 3
level 4
"Row Class
Commands"
(p. 549)
"RowWizard Class
Commands" (p. 546)
"TechnologicalEffect3D
Class Commands" (p.
594)
"RSInterface Class
Commands" (p. 584)
"EndWall Class
Commands" (p. 614)
"EndWallHolesLine
Class Commands" (p.
617)
Access
commands
row(i)
row_wizard()
effect3D(j)
new_effect3D()
num_effect3D()
inlet()
outlet()
outlet2()
hub_end_wall()
shroud_end_wall
()
hole_lines(j)
hole(k)
"EndWallHole
Class
Commands" (p.
615)
Class commands
level 1
level 2
level 3
level 4
"FlowPathControlSection
Class Commands" (p.
586)
"FlowPathSubdivision
Class Commands" (p.
587)
Access
commands
get_inlet_flow_
path_control_
section()
get_outlet_flow_
path_control_
section()
get_outlet2_
flow_path_
control_section()
get_z_cst_line_
flow_path_
control_section()
get_hub_gap_
subdivision()
get_main_
bypass_
subdivision()
get_main_
subdivision()
get_tip_gap_
subdivision()
get_upstream_
bypass_
subdivision()
Example
To access the hub gap of the first blade of the second row the access command row(2).blade
(1).hub_gap() can be used. Actions as listed in "Gap Class Commands" (p. 575) can then be
applied, e.g.:
row(2).blade(1).hub_gap().set_width_at_leading_edge(value)
Class commands
level 1
level 2
level 3
level 4
level 5
level 6
"Row
Class
Command
s" (p. 549)
"Blade
Class
Command
s" (p. 558)
"BasinHole
Class
Commands"
(p. 604)
"Cooling
Channel Class
Commands"
(p. 594)
"PinFinsChann
el Class
Commands"
(p. 606)
"PinFinsLi
ne Class
Command
s" (p. 606)
Access
commands
blade(j)
blade(j).solid_
body()
basin_hole(k)
basin_separator
(k)
cooling_channel()
pinFinsChannel
(k)
pinFins_line(l)
pinFin(m)
"PinFin
Class
Command
s" (p. 611)
Class commands
level 1
level 2
level 3
level 4
level 5
level 6
"Blade Sheet
Class
Commands"
(p. 584)
"Fillet Class
Commands"
(p. 578)
"Gap Class
Commands"
(p. 575)
"Partial Gap
Class
Commands"
(p. 576)
"StagnationPoi
nt Class
Commands"
(p. 590)
"WizardLETE
Class
Commands"
(p. 582)
"HolesLine
Class
Commands"
(p. 598)
"Hole Class
Commands"
(p. 594)
Access
commands
sheet()
hub_fillet()
shroud_fillet()
hub_gap()
shroud_gap()
hub_partial_gap()
shroud_partial_
gap()
leadingEdgeCont
rol()
trailingEdgeCont
rol()
wizard_le_te()
holes_line(k)
hole(l)
When using commands requiring file names as input, the specification of the full path is required.
On Windows:
The specification of path names must be performed using a Linux style coding. This practically means
that / should be used as separator between directories instead of \ and path names should be written
between quotes: "/usr/people/test.trb".
13.2.1 Configuration Commands
l switch_to_igg () (New in AutoGrid5™ v13.1)
l switch_to_autogrid() (New in AutoGrid5™ v13.1)
l a5_open_project (trb_file_name)
l a5_open_template(trb_file_name)
l a5_save_template(trb_file_name)
l a5_save_project(trb_file_name)
l a5_save_mesh(mesh_file_name)
l a5_save_mesh_V61(mesh_file_name)
l a5_save_mesh_V62(mesh_file_name)
l a5_save_mesh_V72(mesh_file_name)
l a5_save_mesh_V86(mesh_file_name)
l a5_save_and_merge_project_mesh()
l a5_get_project_path()
Returns the path to the current project. The project path does not contain the name of the
project. A directory separator - '/' on Linux and '\' on Windows - is added at the end of the
path. This command can be combined with a5_get_project_name() to obtain the location and
name of the current project.
l a5_get_project_name()
Returns the name of the current project. Only the name of the project is given, without the path
to the project. The project name is returned as projectname.trb . This command can be
combined with a5_get_project_path() to obtain the location and name of the current project.
l a5_html_report_init(save_b2b_view,save_3d_view)
Generates the HMTL report with B2B and 3D views if both arguments are set to 1. Only
available on LINUX.
l a5_init_html_report_file()
Returns the path to the HTML report. Only available on LINUX.
l a5_export_CEDRE(filename)
Exports a mesh in CEDRE format with the specified filename.
l a5_export_CEDRE_all_blocks(filename,merging,merged_blockname)
Exports all the blocks of the mesh in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to
create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
l a5_export_CEDRE_row_by_row(filename,merging,merged_blockname)
Exports all the blocks of the mesh of each row in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to
create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
The name will be composed of this username merged_blockname completed by the rowname
(merged_blockname_rowname) depending on the short family names preference.
l a5_export_CEDRE_block_group(filename,groupname,merging,merged_blockname)
Exports mesh of a group of blocks groupname in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to
create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
l a5_export_CEDRE_block_list(filename,blocklist,merging,merged_blockname)
Exports mesh of a list of blocks blocklist in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to
create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
l a5_export_FLUENT(filename)
Exports a mesh in Fluent format with the specified filename.
l a5_export_CFDpp(filename)
Exports a mesh in CFD++ format with the specified filename.
l a5_export_CRUNCH_CFD(filename)
Exports a mesh in CRUNCH CFD format with the specified filename
l a5_export_OpenFOAM(foldername,branch)
Exports a mesh in OpenFOAM format in the specified folder (foldername). The OpenFOAM
branch is optional and can take the value "official" (default) or "extend".
l a5_export_Abaqus(filename,elementtype)
Exports a mesh in Abaqus format with the specified filename and the type of element set to
"C3D8" or "C3D8I".
l a5_export_meridional_mesh(filename,rowlist)
Exports the meridional mesh of the rows in the list rowlist.
l a5_export_B2B_mesh(filename,rowlist,spanwiselayer)
Exports the blade-to-blade mesh of the rows in the list rowlist at the specified spanwise layer
spanwiselayer in percentage.
l a5_export_fluid_mesh()
l a5_new_project(bypass)
Creates a new project from scratch. Bypass is a boolean value specifying if the project should
contain a bypass.
l a5_set_cascade_project(cascade)
l a5_get_cascade_project()
l a5_get_bypass_project()
Returns 1 if the configuration is bypass (with nozzle).
l a5_init_new_project_from_a_geomTurbo_file(geomTurbo_file_name)
l a5_set_configuration_units(units, unitsFactor=1)
units is a string as the one appearing in the GUI (e.g. "Meters"). unitsFactor (real) is optional
except when selecting units as "User Defined".
l a5_get_configuration_units()
l a5_get_configuration_units_factor()
l a5_set_configuration_number_of_grid_levels(integer)
integer is the imposed number of grid level.
l a5_get_configuration_number_of_grid_levels()
l a5_generate_3d(list) (New in AutoGrid5™ v13.1)
Generates 3D mesh of listed entities or generated all entities if the argument is left blank.
and
Listed entities may contain objects of
TechnologicalEffect3D.
class Row, TechnologicalEffectZR,
l a5_initialize_topology_rows(row_list, layer_percentage) (New in AutoGrid5™ v13.1)
Initializes the topology of a list of row(s) at a specified layer percentage.
l a5_generate_b2b_rows(row_list, layer_percentage) (New in AutoGrid5™ v13.1)
Generates B2B mesh for a list of row(s) at a specified layer percentage.
l a5_generate_flow_paths_rows(row_list) (New in AutoGrid5™ v13.1)
Generates flow paths of a list of row(s).
l calc_row_meridional_mesh_quality(type, row_list, range_start, range_end, range_number,
show=0, show_marker=0, show_cells=1)
Computes the mesh quality in the meridional view. Returns a list giving a spread number of
cells as in a bar chart.
Type is either "Expansion ratio" or "Overlap".
l calc_ row_ meridional_ mesh_ quality_ inter_ block (type, row_ list, range_ start, range_ end,
range_number, show=0, show_marker=0, show_cells=1)
Computes the mesh quality at block boundaries in the meridional view. Returns a list giving a
spread number of cells as in a bar chart.
Type is "Expansion ratio" only.
l calc_row_2D_mesh_quality(type, row_list, range_start, range_end, range_number, show=0,
show_marker=0, show_cells=1)
Computes the mesh quality in the blade to blade space. Returns a list giving a spread number
of cells as in a bar chart.
l calc_ row_ pointer_ 2D_ mesh_ quality (type,row_ pointer_ list,range_ start,range_ end,range_
number,show=0,show_marker=0,show_cells=1)
l calc_ row_ 2D_ mesh_ quality_ inter_ block (type, row_ list, range_ start, range_ end, range_
number, show=0, show_marker=0, show_cells=1)
Computes the mesh quality at block boundaries in the blade to blade space. Returns a list
giving a spread number of cells as in a bar chart.
l delete_row_topology(topology_name)
Deletes from the library the topology identified by its name.
l delete_b2b_topology(topology_name)
Deletes from the library the topology identified by its name.
l a5_get_row_number()
Returns the number of rows of the machine.
l a5_row_at_the_end_of_the_channel()
Adds a row at the end of the machine.
l a5_set_support_curve_control_pts(value)
l a5_get_support_curve_control_pts()
l a5_row_on_the_nozzle_of_the_engine()
l a5_row_in_the_bypass()
l a5_row_at_the_outlet_of_the_compressor()
l row(B): # indices from 1
Returns an object of class Row.
B can be either a row name or a row index.
l select_all_rows()
l unselect_all_rows()
l select_all()
l unselect_all()
l z_cst_line(name)
Gives access to meridional control lines. Returns an object of class RSInterface.
l get_all_z_cst_lines()
Returns a list of all the z cst lines of the machine, as RSInterface class objects excluding inlet,
outlet(s) and rotor/stator interfaces. The ordering in the list is based on the order of creation of
the Z cst lines.
l get_row_z_cst_lines_upstream(row) (New in AutoGrid5™ v13.1)
l get_row_z_cst_lines_downstream(row,layer_index) (New in AutoGrid5™ v13.1)
l get_row_z_cst_lines_on_blade(row,layer_index) (New in AutoGrid5™ v13.1)
l delete_z_cst_line(RSInterface)
l compute_default_z_cst_line(point, channel_curve_type)
Channel_ curve_ type should be "0" for hub, "1" for shroud or "2" for nozzle (bypass
configuration).
z_cst_line = compute_default_z_cst_line(Point(8.2,19,0), 0): this command is creating a new
control line on the hub at a location close to the point (Z=8.2,R=19,theta=0).
l compute_default_relative_z_cst_line(row_ref,row_location,relative_location)
Row_location should be "0" if control line between inlet and leading edge of the row (row_
ref), "1" if between its leading edge and its trailing edge, and "2" if between its trailing edge
and outlet or rotor/stator.
l b2bCut(B): # indices from 1
Returns an object of class B2B cut.
B can be either a B2B cut name or B2B cut index.
l a5_add_B2B_cut()
l set_inlet_bulb_sharp_topology()
l set_inlet_bulb_rounded_topology()
l set_inlet_bulb_radial_topology()
l get_inlet_bulb_topology()
0 for H topology, 1 for C topology, 2 for Radial topology.
l set_inlet_bulb_streamwise_number_of_points(value)
l get_inlet_bulb_streamwise_number_of_points()
l set_inlet_bulb_H_streamwise_number_of_points(value)
l get_inlet_bulb_H_streamwise_number_of_points()
l set_inlet_bulb_spanwise_number_of_points(value)
l get_inlet_bulb_spanwise_number_of_points()
l set_inlet_bulb_C_block_number_of_points(value)
l get_inlet_bulb_C_block_number_of_points()
l set_inlet_bulb_radial_number_of_points(value)
l get_inlet_bulb_radial_number_of_points()
l set_inlet_bulb_singular_line(value)
l get_inlet_bulb_singular_line()
l set_inlet_bulb_smoothing_steps(value)
l get_inlet_bulb_smoothing_steps()
l set_inlet_bulb_butterfly_smoothing_steps(value)
l get_inlet_bulb_butterfly_smoothing_steps()
l set_outlet_bulb_sharp_topology()
l set_outlet_bulb_rounded_topology()
l set_outlet_bulb_radial_topology()
l get_outlet_bulb_topology()
0 for H topology, 1 for C topology, 2 for Radial topology.
l set_outlet_bulb_streamwise_number_of_points(value)
l get_outlet_bulb_streamwise_number_of_points()
l set_outlet_bulb_H_streamwise_number_of_points(value)
l get_outlet_bulb_H_streamwise_number_of_points()
l set_outlet_bulb_spanwise_number_of_points(value)
l get_outlet_bulb_spanwise_number_of_points()
l set_outlet_bulb_C_block_number_of_points(value)
l get_outlet_bulb_C_block_number_of_points()
l set_outlet_bulb_radial_number_of_points(value)
l get_outlet_bulb_radial_number_of_points()
l set_outlet_bulb_singular_line(value)
l get_outlet_bulb_singular_line()
l set_outlet_bulb_smoothing_steps(value)
l get_outlet_bulb_smoothing_steps()
l set_outlet_bulb_butterfly_smoothing_steps(value)
l get_outlet_bulb_butterfly_smoothing_steps()
l set_by_pass_configuration_topologyType(value)
Value should be "0" for H-Topology or "1" for C-topology.
l get_by_pass_configuration_topologyType()
l set_by_pass_configuration_Bnd_layer_Width(value)
l get_by_pass_configuration_Bnd_layer_Width()
l set_by_pass_configuration_nozzle_index(value)
l get_by_pass_configuration_nozzle_index()
l set_by_pass_configuration_clustering(value)
l get_by_pass_configuration_clustering()
l set_by_pass_configuration_numberOfSpanwisePoints(value)
l get_by_pass_configuration_numberOfSpanwisePoints()
l set_by_pass_configuration_numberOfStreamwisePoints(value)
l get_by_pass_configuration_numberOfStreamwisePoints()
l set_by_pass_configuration_relativeControlDistance(value)
l get_by_pass_configuration_relativeControlDistance()
l set_by_pass_configuration_nup(value)
l get_by_pass_configuration_nup()
l set_by_pass_configuration_ndown(value)
l get_by_pass_configuration_ndown()
l set_by_pass_configuration_relax_inlet_distribution(value)
Set the inlet distribution relaxation parameter. The input value can range from 0 (no relaxation)
to 1 (uniform flow path distribution). For more details, please refer to Bypass Control.
l get_by_pass_configuration_relax_inlet_distribution()
Get the current value of the inlet distribution relaxation parameter.
l technologicalEffectZR(B): # indices from 1
Returns an object of class ZR effect.
B can be either a ZR effect name or a ZR effect index.
l a5_new_ZR_effect()
l a5_get_ZR_effect_number()
l zr_techno_effect_compute_default_mesh()
l zr_techno_effect_connect_blocks()
l zr_techno_effect_automatic_blocking()
l zr_techno_effect_delete_blocks()
l zr_techno_effect_automatic_z_cst_line()
l zr_techno_effect_set_boundary_point(index,point)
Sets the limits of the zr technological effect domain definition by imposing a point on an
existing curve.
index is 0 or 1 if first or second side of the zr technological effect domain.
point is the point location on an existing curve used to define the limits of the zr technological
effect domain.
Example:zr_ techno_ effect_ set_ boundary_ point
solid,0.549747301273619))
(0,CurvePointNorm (polyline_
l zr_techno_effect_reset_boundary_point(index)
Resets the limits of the zr technological effect domain definition used for the autoblocking.
index is 0 or 1 if first or second side of the zr technological effect domain.
l set_preference(preference_name,argument)
Sets the argument(s) of the preference. The available preference_names are listed below with
their corresponding argument(s).
autogrid5_mode for Expert/Basic Mode with an integer (1/0).
Grid control preferences
numberOfGridLevel for Number of grid levels with an integer value.
numberOfThreads for Number of threads with an integer value.
Autogrid5_import_CAD_streamwise_direction for Import CAD Streamwise Direction with
floating values (x,y,z) defining the direction.
Saving preferences
save_bak_file for Backup when saving (.bak) with an integer (1/0).
quality_check_at_saving for Ask quality check when saving with an integer (1/0).
CGNS_format for CGNS file format with values of 0 for ADF and 1 for HDF5 format. (New
in AutoGrid5™ v13.1)
CGNS_patch_info_saving for Save CGNS patch info / family name controlwith an integer
(1/0).
CGNS_patch_info_saving_ansys for Family name options/Keep row name with an integer
(1/0).
Export_short_family_names for Family name options/Short name with an integer (1/0).
Blade_ pressure_ suction_ sides_ family_ name
pressure/suction sides with an integer (1/0).
for
Family
name
options/Blade
save_left_handed for Keep Left Handed Orientation After Saving with an integer (1/0).
Graphics preferences
visibility for Visibility during viewing ops with an integer (1/0).
lights for Turn On Additional Lights with an integer (1/0).
edge_normal_width for Edges width/Normal width with a floating value.
edge_highlight_width for Edges width/Highlight width with a floating value.
grid_line_width for Grid Line Width with a floating value.
geometry_curve_width for Geometry Curve Width with a floating value.
Autogrid5_meridional_channel_shading for Meridional channel shading with an integer
(1/0).
Autogrid5_ b2b_ mesh_ optimization_ full_ visibility for B2B Full Mesh Visibility with an
integer (1/0).
Autogrid5_b2b_quality_optimization_full_visibility for B2B Full Quality Visibility with an
integer (1/0).
Autogrid5_automatic_mesh_viewing for Automatic 3D Mesh Viewing with an integer (1/0).
Layout preferences
gui_quick_access_pad for GUI/Quick Access Pad with an integer (1/0).
gui_control_area for GUI/Control Area with an integer (1/0).
gui_balloon_help for GUI/Balloon Help with an integer (1/0).
gui_progress_status_window for GUI/Progress Status with an integer (1/0).
gui_smoother_convergence_window for GUI/Optimization Convergence History with an
integer (1/0).
l get_preference(preference_name) Returns the value(s) of the preference.
l save_preferences() Saves the current preferences into the file "igg.preferences".
13.2.2 Geometry Import Commands
l a5_set_import_geometry_rotation_axis(orig, stream_direction,span_direction)
Defines the rotation axis for CAD import.
l a5_import_geometry_file(file_name)
Imports a geometry file, either CATIA, Parasolid™, .dat, .geom, .geomTurbo 4 & 5 or IGES
formats.
l a5_import_and_replace_geometry_file(file_name)
l a5_get_import_geometry_repository()
l a5_clean_import_geometry()
Deletes all the geometry entities already loaded.
l a5_link_to_hub(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
l a5_link_to_hub_surface(row,surface_names)
Surface_names should be a list, even if it is composed of only 1 element (use [ ]).
This is used to link a surface selection to the active row of the configuration in case of non-
axisymmetric hub.
l a5_link_to_shroud(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
l a5_link_to_shroud_surface(row,surface_names)
Surface_names should be a list, even if it is composed of only 1 element (use [ ]).
This is used to link a surface selection to the active row of the configuration in case of non-
axisymmetric shroud.
l a5_link_to_tip_gap_surface(row,surface_names)
Surface_names should be a list, even if it is composed of only 1 element (use [ ]).
This is used to link a surface selection to the tip gap of the configuration in case of non-
axisymmetric shroud gap.
l a5_link_to_nozzle(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
l a5_link_to_basic_curve(curve_names)
Imports the curves specified by their names in the meridional space by creating basic curves.
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
l a5_link_to_basic_curve
l a5_define_hub(point_list)
l a5_define_shroud(point_list)
l a5_define_nozzle(point_list)
l basic_curve(name)
13.2.3 Viewing Commands
l a5_tclUpdate() is used to update the remaining part of the AutoGrid5™ GUI.
l hoops_Update() is used to update all the views of the AutoGrid5™ GUI.
l a5_update_dialog_box() is used to update the opened dialog boxes
l a5_waitLeftClick() is used to stop the execution of the script until user left click
l a5_switch_to_wizard_mode()
l a5_switch_to_basic_mode()
l a5_switch_to_expert_mode()
l a5_focus_ZR_view()
l a5_focus_B2B_view()
l a5_focus_importCAD()
Focus on the Import CAD window. This command allows the creation and manipulation of
geometry inside the Import CAD window by using Python commands, such as creating,
importing, or modifying a curve. The command does not open the Import CAD window, but
any actions performed after applying the focus will become visible once the user opens the
Import CAD window. If the user has opened the Import CAD window, calling the
command a5_focus_importCAD() will set the active view to this window.
l a5_focus_3D_view()
l a5_full_view()
Set in full view mode the focused view.
l a5_multi_view()
l a5_focus_b2b_view_on_active_rows()
Sets the focus on the B2B view and fit the view around the selected rows.
l a5_view_b2b_repetition_number(number)
l a5_view_b2b_repetition()
l a5_hide_b2b_repetition()
l a5_print_b2b_png(file_name)
l a5_print_3D_png(file_name)
l a5_print_ZR_png(file_name)
l a5_enable_full_display_smoothing_mode()
Updates the interface after each B2B smoothing step. Only working with default topology.
l a5_disable_full_display_smoothing_mode()
l a5_enable_full_display_quality_mode(type)
Updates the interface after each B2B smoothing step and computes quality in B2B view
according to type criterion.
l a5_disable_full_display_quality_mode()
l a5_view_3d_mesh(coarseLevel,pointOfView,zoom,grid,row_list)
l a5_remove_Cooling_Wall_B2B_Rep(blade)
l zoomFromAt(centerx1,centery1,centerz1,centerx2,centery2,centerz2,zoom1,zoomstep,nstep)
l a5_view_3d_mesh_default()
l a5_view_3d_mesh_fixed()
l a5_view_3d_mesh_fixed_repet()
l a5_hide_3d_mesh()
l a5_toggle_b2b_mesh()
l a5_toggle_b2b_grid_point()
l a5_toggle_b2b_edges()
l a5_merge_fnmb(name1,name2,sens)
13.2.4 NIConfigurationEntities Class Commands
l select()
l unselect()
l meshConfigurationDomain()
l select_configuration()
l unselect_configuration()
l parent()
13.2.5 RowWizard Class Commands
l initialize(machine_type,row_type,rotationSpeed,periodicity)
Machine_type should be between 1 and 13:
1: wind turbine
2: axial turbine
3: Francis turbine
4: Kaplan turbine
5: inducer
6: axial compressor
7: centrifugal impeller
8: centrifugal diffuser
9: return channel
10: contra rotating fan
11: centrifugal pump
12: axial fan
13: marine propeller
Row_type : 0 for stator and 1 for rotor
l get_wizard_type()
Returns the machine_type.
l initializeChannel(shroudRmax,hubRmin,Zmin,Zmax,RFarField,radialPtsNr,cstCellsNr)
shroudRmax : relative shroud distance to the real tip of the blade (default 1)
hubRmin : relative hub distance to the real hub of the blade (default 0)
Zmin : relative inlet length (in blade height unit) (default -4)
Zmax : relative outlet length (in blade height unit) (default 10)
RFarField : relative far field expansion height (in blade height unit) (default 5)
radialPtsNr : number of points in far field expansion (default 33)
cstCellsNr : % of constant cell number in far field expansion (default 33)
l copy()
l paste()
l generate()
l set_blade_tip_rounded_topology(value)
Allows to activate the rounded tip topology when running the marine propeller wizard (more
details in Row Wizard). Value is an integer type (0 or 1).
l get_blade_tip_rounded_topology()
l set_reset_hub_shroud(value)
l get_reset_hub_shroud()
l set_R_far_field(value)
l get_R_far_field()
l set_hub_location(value)
l get_hub_location()
l set_shroud_location(value)
l get_shroud_location()
l set_upstream_channel_location(value)
l get_upstream_channel_location()
l set_downstream_channel_location(value)
l get_downstream_channel_location()
l set_grid_level(value)
l get_grid_level()
l set_flow_path_number(value)
l get_flow_path_number()
l set_flow_path_number_far_field(value)
l set_cst_cell_number_far_field(value)
l get_cst_cell_number_far_field()
l set_R_far_field(value)
l get_R_far_field()
l get_number_of_points()
l set_full_matching_topology(value)
l get_full_matching_topology()
l set_row_cell_width_at_wall(value)
l get_row_cell_width_at_wall()
l hub_gap_is_asked(value)
l is_hub_gap_asked()
l tip_gap_is_asked(value)
l is_tip_gap_asked()
l hub_fillet_is_asked(value)
Allows to activate hub fillet creation in row wizard (more details in "Gap/Fillet Definition" (p.
260)). Value is an integer type (0 or 1).
Example: row(1).row_wizard().hub_fillet_is_asked(1)
l is_hub_fillet_asked()
l tip_fillet_is_asked(value)
l is_tip_fillet_asked()
Allows to activate shroud fillet creation in row wizard (more details in "Gap/Fillet Definition"
(p. 260)). Value is an integer type (0 or 1).
Example: row(1).row_wizard().tip_fillet_is_asked(1)
l set_hub_gap_width_at_leading_edge(value)
l get_hub_gap_width_at_leading_edge()
l set_hub_gap_width_at_trailing_edge(value)
l get_hub_gap_width_at_trailing_edge()
l set_tip_gap_width_at_leading_edge(value)
l get_tip_gap_width_at_leading_edge()
l set_tip_gap_width_at_trailing_edge(value)
l get_tip_gap_width_at_trailing_edge()
13.2.6 B2B Cut Class Commands
l delete()
l select()
l set_name(name)
l get_name()
l create()
l set_width(value)
l get_width()
l set_location(value)
l get_location()
13.2.7 Row Class Commands
l delete()
l block_list()
l setGraphicsRepetition(value)
l setDefaultGraphicsRepetition()
l get_index()
l select()
l unselect()
l load_geometry(geomTurbo_file_name)
The file specified should have the geomTurbo format 4 or 5. Only the row geometry is
replaced and not the hub and/or shroud.
l add_row_upstream()
l add_row_downstream()
l zoom_at_inlet(level,location)
Location should be between -1 and 1.
l zoom_at_outlet(level,location)
Location should be between -1 and 1.
l zoom_at_inlet_up(level)
l zoom_at_outlet_up(level)
l zoom_at_inlet_down(level)
l zoom_at_outlet_down(level)
l generation_success()
Returns a boolean value indicating if the 3D generation was successful (1) or not (0). The
command does not apply to blade cooling and row end walls.
l generation_error_message()
Returns a string giving some information about the 3D generation failure (i.e. error: cannot
compute intersection on all layers). It may be empty even if the mesh generation fails. The
command does not apply to blade cooling and row end walls.
Topology Management
l load_topology(file_name)
l save_topology(file_name)
l copy_topology()
l paste_topology()
l save_b2b_topology(file_name)
l load_b2b_topology(file_name)
l row_wizard()
l get_bypass_location()
Returns the row type: 0 if normal, 1 if on nozzle, 2 if bypass or 3 if down bypass.
Row Boundaries Access
l inlet()
Returns an object of class RSInterface.
l outlet()
Returns an object of class RSInterface.
l outlet2()
Returns an object of class RSInterface.
Row Technological Effects 3D Access
l num_effect3D()
l effect3D(i)
l new_effect3D()
Returns an object of class TechnologicalEffect3D.
Row Blades Properties
l num_blades()
l blade(i)
l add_blade()
l add_hub_gap()
Returns an object of class Gap. If gap does not exist, creates it to all row blades.
l add_shroud_gap()
Returns an object of class Gap. If gap does not exist, creates it to all row blades.
l get_hub_gap()
get_shroud_gap()
Return the presence of a gap.
l add_hub_fillet()
l add_shroud_fillet()
Row Properties
l set_name(name)
l get_name()
l set_clustering(value)
l get_clustering()
l set_upstream_block_relaxation(a)
l get_upstream_block_relaxation()
l set_downstream_block_relaxation(a)
l get_downstream_block_relaxation()
l set_downstream_block_relaxation_before_nozzle(a) (New in AutoGrid5 v13.1)
l get_downstream_block_relaxation_before_nozzle() (New in AutoGrid5 v13.1)
l set_coarse_grid_level(level, target=250000)
Level specifies the grid level desired; 1 for coarse, 2 for medium, 3 for fine and 4 for user
defined.
Target is an optional argument only useful when level==4 and represents the desired number
of points.
l get_coarse_grid_level()
l get_coarse_grid_level_target()
l set_streamwise_weight(inlet, outlet, blade)
l get_streamwise_weight_inlet()
l get_streamwise_weight_blade()
l get_streamwise_weight_outlet()
l set_periodicity(n)
l get_periodicity()
l set_number_of_periodicity_geometry(n)
l get_number_of_periodicity_geometry()
l set_rotation_speed(rotation_speed)
l get_rotation_speed()
l enable_full_mesh_generation()
l disable_full_mesh_generation()
l get_full_mesh_generation()
l set_number_of_meshed_passage(value)
Imposes number of meshed passages.
l get_number_of_meshed_passage()
l is_a_tandem_row()
l is_a_tandem_row_with_next()
l is_a_tandem_row_with_previous()
l is_not_a_tandem_row()
l get_is_a_tandem_row()
Row Hub/Shroud Non-Axisymmetric
l set_non_axisymmetric_hub(a)
l get_non_axisymmetric_hub()
l set_non_axisymmetric_hub_repair_damage(a)
l get_non_axisymmetric_hub_repair_damage()
l set_non_axisymmetric_hub_projection_type_face_normal()
l get_non_axisymmetric_hub_projection_type_face_normal()
l set_non_axisymmetric_hub_projection_type_spanwise_grid_line()
l set_non_axisymmetric_hub_repetition(value)
l get_non_axisymmetric_hub_repetition()
l set_non_axisymmetric_shroud(a)
l get_non_axisymmetric_shroud()
l set_non_axisymmetric_shroud_repair_damage(a)
l get_non_axisymmetric_shroud_repair_damage()
l set_non_axisymmetric_shroud_projection_type_face_normal()
l get_non_axisymmetric_shroud_projection_type_face_normal()
l set_non_axisymmetric_shroud_projection_type_spanwise_grid_line()
l set_non_axisymmetric_shroud_repetition(value)
l get_non_axisymmetric_shroud_repetition()
l set_non_axisymmetric_hub_display(a)
l set_non_axisymmetric_shroud_display(a)
a = 1, draw non axisymmetric surface if it is not drawn.
a = 0, remove non axisymmetric surface drawing if it is drawn.
Row Shroud Gap Non-Axisymmetric
l set_non_axisymmetric_tip_gap(a)
l get_non_axisymmetric_tip_gap()
l set_non_axisymmetric_tip_gap_repair_damage(a)
l get_non_axisymmetric_tip_gap_repair_damage()
l set_non_axisymmetric_tip_gap_repetition(value)
l get_non_axisymmetric_tip_gap_repetition()
l set_non_axisymmetric_tip_gap_display(a)
a = 1, draw non axisymmetric surface if it is not drawn.
a = 0, remove non axisymmetric surface drawing if it is drawn.
Row Snubber
l add_snubber()
Returns an object of class Snubber.
l get_number_of_snubbers()
l snubber(index)
Returns an object of class Snubber.
Index is the index of the snubber of the selected row, starting from 1.
Row Hub/Shroud Solid Mesh
l hub_end_wall()
l shroud_end_wall()
l add_hub_end_wall()
l add_shroud_end_wall()
Flow Paths Control
l set_flow_path_control_hub_clustering(value)
l get_flow_path_control_hub_clustering()
l set_flow_path_control_shroud_clustering(value)
l get_flow_path_control_shroud_clustering()
l set_flow_path_control_cst_cells_number(value)
l get_flow_path_control_cst_cells_number()
l set_flow_path_control_control_point_number(value)
l get_flow_path_control_control_point_number()
l set_flow_path_control_intermediate_point_number(value)
l get_flow_path_control_intermediate_point_number()
l set_flow_path_control_smoothing_steps(value)
l get_flow_path_control_smoothing_steps()
l set_flow_path_control_distribution_smoothing_steps(value)
l get_flow_path_control_distribution_smoothing_steps(()
l set_flow_path_control_hub_distribution_uniform()
l set_flow_path_control_hub_distribution_curvature()
l get_flow_path_control_hub_distribution()
l set_flow_path_control_shroud_distribution_same()
l set_flow_path_control_shroud_distribution_projection()
l set_flow_path_control_shroud_distribution_minimal_distance()
l get_flow_path_control_shroud_distribution()
l set_row_flow_path_number(value)
l get_row_flow_path_number()
l get_inlet_flow_path_control_section()
Returns an object of class FlowPathControlSection to allow manual flow paths control.
l get_outlet_flow_path_control_section()
Returns an object of class FlowPathControlSection to allow manual flow paths control.
l get_outlet2_flow_path_control_section()
Returns an object of class FlowPathControlSection to allow manual flow paths control.
l get_z_cst_line_flow_path_control_section(index)
Returns an object of class FlowPathControlSection to allow manual flow paths control.
Index is the index of the row z cst line, starting from 1. For a fan upstream nozzle, z cst lines
are accessed by Index in the following order: z cst lines before nozzle, lower z cst line on
nozzle, upper z cst line on nozzle, lower z cst lines after nozzle and upper z cst lines after
nozzle.
l generate_flow_paths()
B2B Control
l initialize_blades_reference_angle()
Initializes the blade reference angle for all the blades of the row.
Optimization
l set_row_optimization_steps(number_of_steps)
l get_row_optimization_steps()
l set_row_optimization_steps_in_gap(number_of_steps)
l get_row_optimization_steps_in_gap()
l set_row_full_multigrid_optimization_steps(value)
l get_row_full_multigrid_optimization_steps()
l set_row_optimization_skewness_control(value)
Value should be "0" or "no", "1" or "medium", "2" or "yes".
l get_row_optimization_type()
l set_row_optimization_skewness_control_in_gap(value)
Value should be "0" or "no", "1" or "medium", "2" or "yes".
l get_row_optimization_type_in_gap()
l set_row_optimization_orthogonality_control(value)
Value should be between 0 and 1.
l get_row_optimization_orthogonality_control()
l set_row_optimization_orthogonality_control_in_gap(value)
Value should be between 0 and 1.
l get_row_optimization_orthogonality_control_in_gap()
l set_row_optimization_wake_control(value)
Value should be between 0 and 1.
l get_row_optimization_wake_control()
l set_row_bnd_optimization_steps(number_of_steps)
l get_row_bnd_optimization_steps()
l set_row_optimization_multigrid_control(value)
Value should be "yes" or "no".
l get_row_optimization_multigrid_control()
l set_row_optimization_nmb_control(value)
Value should be between 0 and 1.
l get_row_optimization_nmb_control()
l set_row_straight_bnd_control(value)
Value should be "0" or "1".
l get_row_straight_bnd_control()
l set_row_multisplitter_bnd_control(value)
Value should be "0" or "1".
l get_row_multisplitter_bnd_control()
l set_row_optimization_freeze_skin_mesh(value)
Value should be "0" or "1".
l get_row_optimization_freeze_skin_mesh()
3D Mesh Control
l set_span_interpolation(value)
Value should be between 0 and 100.
l get_span_interpolation()
l set_untwist_upstream_block(a)
l get_untwist_upstream_block()
l set_untwist_upstream_block_stream_location(value)
Value should be between 0 and 100.
l get_untwist_upstream_block_stream_location()
l set_untwist_downstream_block(a)
l get_untwist_downstream_block()
l set_untwist_downstream_block_stream_location(value)
Value should be between 0 and 100.
l get_untwist_downstream_block_stream_location()
l set_hub_gap_interpolation(a)
l get_hub_gap_interpolation()
l set_hub_gap_interpolation_span_location(value)
Value should be between 0 and 100.
l get_hub_gap_interpolation_span_location()
l set_shroud_gap_interpolation(a)
l get_shroud_gap_interpolation()
l set_shroud_gap_interpolation_span_location(value)
Value should be between 0 and 100.
l get_shroud_gap_interpolation_span_location()
l set_enforce_cell_width_at_blade_wall(a)
l get_enforce_cell_width_at_blade_wall()
l set_swap_blade_patches_name(a)
l get_swap_blade_patches_name():
13.2.8 Blade Class Commands
l select()
l delete()
l set_name(name)
l get_name()
l basin()
l add_basin()
l sheet()
l hub_gap()
Returns an object of class Gap. If gap does not exist, creates it.
l shroud_gap()
Returns an object of class Gap. If gap does not exist, creates it.
l add_hub_gap()
Returns an object of class Gap. If gap does not exist, creates it.
l add_shroud_gap()
Returns an object of class Gap. If gap does not exist, creates it.
l hub_fillet()
Returns an object of class Fillet. If fillet does not exist, it is created.
l shroud_fillet()
Returns an object of class Fillet. If fillet does not exist, it is created.
l add_hub_fillet()
Returns an object of class Fillet. If fillet does not exist, it is created.
l add_shroud_fillet()
Returns an object of class Fillet. If fillet does not exist, it is created.
l get_hub_fillet()
Returns an object of class Fillet. If fillet does not exist, it returns 0.
l get_shroud_fillet()
Returns an object of class Fillet. If fillet does not exist, it returns 0.
l hub_partial_gap()
Returns an object of class PartialGap. If partial gap does not exist, creates it.
l add_hub_partial_gap()
Returns an object of class PartialGap.
l shroud_partial_gap()
Returns an object of class PartialGap. If partial gap does not exist, creates it.
l add_shroud_partial_gap()
Returns an object of class PartialGap.
l get_hub_partial_gap()
get_shroud_partial_gap()
Returns the presence of a partial gap.
l wizard_le_te()
l zoom_at_leading_edge(level)
l zoom_at_trailing_edge(level)
l leadingEdgeControl()
Returns an object of class StagnationPoint.
l trailingEdgeControl()
Returns an object of class StagnationPoint.
l load_geometry(name)
l export_
(flowpath,nsections,ninlet,nblade,noutlet,ncst,leadwidth,trailwidth,exportendwall)
l link_geometry(surface_names)
Defines the geometry of the blade.
Surface_names should be a list, even if it is composed of only 1 element (use [ ]).
l link_pressure(surface_names)
l link_suction(surface_names)
l link_to_leading_edge(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
l link_to_trailing_edge(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
l link_to_hub_gap(curve_names)
Defines the geometry of the hub gap. The gap should already be created.
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
l link_to_shroud_gap(curve_names)
Defines the geometry of the shroud gap. The gap should already be created.
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
559
l link_to_hub_fillet(surface_names)
Defines the geometry of the fillet surface on a blade at the hub.
Surface_ names should be a list of strings with the geometry surface names, even if it is
composed of only 1 element (use [ ]).
l link_to_shroud_fillet(surface_names)
Defines the geometry of the fillet surface on a blade at the shroud.
Surface_ names should be a list of strings with the geometry surface names, even if it is
composed of only 1 element (use [ ]).
l set_b2b_topology_type(value)
Value should be either 0 for default topology or 1 for HOH.
l get_b2b_topology_type()
l copy_topology()
l paste_topology()
Stitch Surfaces at LE & TE
l set_stitch_surfaces_at_LE_TE(value)
Value should be either 0 if the blade surfaces will not be stitched, 1 for the option inverse
lofting or 2 for the option lofting with guide.
l get_stitch_surfaces_at_LE_TE()
Returns 0 if the blade surfaces are not stitched, 1 if the option inverse lofting is selected or 2 if
the option lofting with guide is selected.
Blade Expansion & Rotation Parameters
l expand_at_hub(expansion_factor, extent_offset=0)
l expand_at_shroud(expansion_factor, extent_offset=0)
Applies an expansion treatment at hub or shroud (more details in "Expand" (p. 222)). When
the blade is defined with a native ".geomTurbo" format (sectional data) the value of the
expansion_factor is a fraction of the normalized spanwise height (0=hub, 1=shroud) and the
extent_offset should be set to 0 (i.e. this parameter is not needed). If the blade geometry is
imported via CAD, then the expansion treatment requires a distance value different from zero
for both the expansion_factor (Cut offset parameter) and the extent_offset (Extension offset
parameter).
l apply_rotation(x,y,z,nx,ny,nz,angle)
Applies a rotation of the selected blade and takes as inputs the rotation axis (unit vectors), the
anchor point and the rotation angle in degrees (more details in "Apply a Rotation" (p. 221)).
The option can only be used when the blade geometry is defined with sectional data (native
".geomTurbo" file).
l set_hub_treatment(treatmentType, *args)
Set the hub expansion treatment type and its corresponding arguments.
l set_shroud_treatment(treatmentType, *args)
Set the shroud expansion treatment type and its corresponding arguments.
The expansion treatment at the hub and shroud can be specified with multiple options. For
more details on these options see also: "Expansion at Hub/ shroud" (p. 222). Every treatment
type has an index, which is given as the first argument of the command. Depending on the
treatment type, a number of additional arguments may be required, described in the table
below. The complete set of arguments is thus made up of the treatment type index, followed
by the additional required arguments, if any.
Treatment
type index
Treatment
type name
Description of required
arguments
Total number of
arguments
(in order of appearance)
Unchanged
None
Native .geomTurbo format:
expansion factor
CAD format: cut offset,
extension offset
Radius, minimum angle,
extension offset
Cut offset, extension offset
Expand
Treat blend
Treat blend
with offset
Cut fillet
None
Section
extension
Span cut percentage (from
gap)
Native format: 2
CAD format: 3
l get_hub_treatment()
Returns the current hub expansion treatment type and its corresponding arguments. The output
is a list following the same format as the input for the set_ hub_ treatment () command
described in the table above.
l get_shroud_treatment()
Returns the current shroud expansion treatment type and its corresponding arguments. The
output is a list following the same format as the input for the set_ shroud_ treatment ()
command described in the table above.
Blade Duplicate
l compute_default_blade_rotation_axis(location)
Computes the rotation axis and the center of rotation of the selected blade.
l duplicate(Zangle,bladeangle,n,rotation_center,rotation_axis)
Duplicates the blade. If only the two first arguments are defined, the rotation is applied
accordingly to the blade axis of rotation. By default, the center of rotation is set to (0,0,0) and
the rotation axis is set along x-axis (1,0,0). But, if the function compute_default_blade_
rotation_ axis has been called previously,
the center of rotation and the rotation axis
correspond to the ones computed by this last function.
Zangle is the rotation angle around z-axis in degree.
bladeangle is the rotation angle around blade axis in degree.
n is the amount of duplicates.
rotation_center is the coordinates of the blade rotation axis anchor point (Point Class).
rotation_axis is the direction of the blade rotation axis (Vector Class).
Example: row(1).blade(1).duplicate(10,20,1,Point(0,0,0),Vector(1,0,0))
Blade Geometry Check/Data Reduction
l set_geometry_data_reduction_distance_criteria(a)
l get_geometry_data_reduction_distance_criteria()
l set_geometry_data_reduction_angle_criteria(a)
l get_geometry_data_reduction_angle_criteria()
l set_geometry_data_reduction(a)
l get_geometry_data_reduction()
l set_geometry_control_points_redistribution(a)
l get_geometry_control_points_redistribution()
l set_geometry_control_points_redistribution_npts_at_le(a)
l get_geometry_control_points_redistribution_npts_at_le()
l set_geometry_control_points_redistribution_npts_on_middle(a)
l get_geometry_control_points_redistribution_npts_on_middle()
l set_geometry_control_points_redistribution_cst_cells_on_middle(a)
l get_geometry_control_points_redistribution_cst_cells_on_middle()
l set_geometry_control_points_redistribution_npts_at_te(a)
l get_geometry_control_points_redistribution_npts_at_te()
l set_geometry_control_points_redistribution_spacing_at_le(a)
l get_geometry_control_points_redistribution_spacing_at_le()
l set_geometry_control_points_redistribution_spacing_at_te(a)
l get_geometry_control_points_redistribution_spacing_at_te()
l set_geometry_sewing_tolerance(a)
l get_geometry_sewing_tolerance()
l check_geometry()
Returns a list containing minimum distance and maximum angular deviation when native
geomTurbo or "0"/"1" otherwise.
l apply_data_reduction()
Performs an update of the blade geometry, taking into account the current parameters’ value,
that can be modified by the "set" functions described above. For CAD file format, only the
sewing tolerance has an influence on the geometry update. The function returns "1" in any
case. For native geomTurbo file format, all parameters have an influence on the geometry
update. The function returns "1" unless there is no surfaces defining suction and/or pressure
side (returns "0" in this case).
Blunt, Rounded & Sharp Blade Parameters
l set_blunt_treatment_at_leading_edge(a)
l get_blunt_treatment_at_leading_edge()
l set_blunt_treatment_at_trailing_edge(a)
l get_blunt_treatment_at_trailing_edge()
l set_sharp_treatment_at_leading_edge(a)
Closes the blunt leading edge by a linear edge.
a = 1, activate sharp treatment at leading edge.
a = 0, deactivate sharp treatment at leading edge.
l get_sharp_treatment_at_leading_edge()
l set_blend_treatment_at_leading_edge(a)
Closes the blunt leading edge by a circular shape.
l get_blend_treatment_at_leading_edge()
l set_sharp_treatment_at_trailing_edge(a)
Closes the blunt trailing edge by a linear edge.
l get_sharp_treatment_at_trailing_edge()
l set_rounded_treatment_at_trailing_edge(a)
Closes the blunt trailing edge by a straight line to obtain a O-mesh around the blade.
l get_rounded_treatment_at_trailing_edge()
l set_blend_treatment_at_trailing_edge(a)
Closes the blunt trailing edge by a circular shape.
l get_blend_treatment_at_trailing_edge()
Default Topology Parameters
Topology Control
l set_b2b_default_topology_type(value)
Value should be either 0 for streamwise default topology, 1 for rounded azimuthal default
topology or 2 for rounded streamwise default topology.
l get_b2b_default_topology_type()
Returns 0 for streamwise default topology, 1 for rounded azimuthal default topology or 2
for rounded streamwise default topology.
l set_b2b_default_topology_periodicity_type(value)
Value should be either 0 for non matching periodicity or 1 for matching.
l get_b2b_default_topology_periodicity_type()
l set_b2b_default_topology_enable_high_staggered_optimization()
l set_b2b_default_topology_disable_high_staggered_optimization()
l get_b2b_default_topology_disable_high_staggered_optimization()
l set_b2b_default_topology_disable_high_staggered_detection()
l set_b2b_default_topology_enable_high_staggered_detection()
l get_b2b_default_topology_enable_high_staggered_detection()
l set_b2b_default_topology_normal_inlet_angle()
l set_b2b_default_topology_low_staggered_inlet_angle()
l set_b2b_default_topology_high_staggered_inlet_angle()
l get_b2b_default_topology_inlet_angle()
l get_b2b_default_topology_inlet_staggered_angle()
Returns the type of staggered topology (0 normal, 1 low and 2 high).
l set_b2b_default_topology_normal_outlet_angle()
l set_b2b_default_topology_low_staggered_outlet_angle()
l set_b2b_default_topology_high_staggered_outlet_angle()
l get_b2b_default_topology_outlet_angle()
l get_b2b_default_topology_outlet_staggered_angle()
Returns the type of staggered topology (0 normal, 1 low and 2 high).
l set_b2b_default_topology_throat_control(value)
l get_b2b_default_topology_throat_control()
l set_b2b_default_topology_throat_projection_type(value)
l get_b2b_default_topology_throat_projection_type()
l set_b2b_default_topology_throat_projection_inlet_relaxation()
l get_b2b_default_topology_throat_projection_inlet_relaxation()
l set_b2b_default_topology_throat_projection_outlet_relaxation()
l get_b2b_default_topology_throat_projection_outlet_relaxation()
Grid Points Control
l set_b2b_default_topology_grid_point_number_azimutal_inlet(value)
l get_b2b_default_topology_grid_point_number_azimutal_inlet()
l set_b2b_default_topology_grid_point_number_azimutal_outlet(value)
l get_b2b_default_topology_grid_point_number_azimutal_outlet()
l set_b2b_default_topology_grid_point_number_azimutal_inlet_up(value)
l get_b2b_default_topology_grid_point_number_azimutal_inlet_up()
l set_b2b_default_topology_grid_point_number_azimutal_outlet_up(value)
l get_b2b_default_topology_grid_point_number_azimutal_outlet_up()
l set_b2b_default_topology_grid_point_number_azimutal_inlet_down(value)
l get_b2b_default_topology_grid_point_number_azimutal_inlet_down()
l set_b2b_default_topology_grid_point_number_azimutal_outlet_down(value)
l get_b2b_default_topology_grid_point_number_azimutal_outlet_down()
l set_b2b_default_topology_grid_point_number_streamwise_inlet(value)
l get_b2b_default_topology_grid_point_number_streamwise_inlet()
l set_b2b_default_topology_grid_point_number_streamwise_outlet(value)
l get_b2b_default_topology_grid_point_number_streamwise_outlet()
l set_b2b_default_topology_grid_point_number_streamwise_blade_upper_side(value)
l get_b2b_default_topology_grid_point_number_streamwise_blade_upper_side()
l set_b2b_default_topology_grid_point_number_streamwise_blade_lower_side(value)
l get_b2b_default_topology_grid_point_number_streamwise_blade_lower_side()
l set_b2b_default_topology_grid_point_number_leading_edge_index(value)
Value is the grid point number controlling the distribution of the number of points between the
inlet and the blade. More details in "Grid Point Number Control" (p. 345).
l get_b2b_default_topology_grid_point_number_leading_edge_index()
l set_b2b_default_topology_grid_point_number_trailing_edge_index(value)
Value is the grid point number controlling the distribution of the number of points between the
blade and the outlet. More details in "Grid Point Number Control" (p. 345).
l get_b2b_default_topology_grid_point_number_trailing_edge_index()
l set_b2b_default_topology_grid_point_number_in_boundary_layer(value)
l get_b2b_default_topology_grid_point_number_in_boundary_layer()
l set_b2b_default_topology_grid_point_number_in_boundary_layer_of_gaps(value)
l get_b2b_default_topology_grid_point_number_in_boundary_layer_of_gaps()
Mesh Control
l set_b2b_default_topology_skin_block_expansion_ratio_control(value)
Value is the percentage to further improve/control the expansion ratio of the remaining half of
the layers of the skin block.
l get_b2b_default_topology_skin_block_expansion_ratio_control()
Returns the percentage to further improve/control the expansion ratio of the remaining half of
the layers of the skin block.
l set_b2b_default_topology_cell_width_at_wall(value)
l get_b2b_default_topology_cell_width_at_wall()
l set_b2b_default_topology_cell_width_at_wall_at_hub(value)
l get_b2b_default_topology_cell_width_at_wall_at_hub()
l set_b2b_default_topology_cell_width_at_wall_at_shroud(value)
l get_b2b_default_topology_cell_width_at_wall_at_shroud()
l set_b2b_default_topology_bnd_layer_width(value)
l get_b2b_default_topology_bnd_layer_width()
l get_b2b_default_topology_cell_width_at_wall_interpolation()
l set_b2b_default_topology_cell_width_at_trailing_edge(value)
l set_b2b_default_topology_cell_width_at_leading_edge(value)
l set_b2b_default_topology_expansion_ratio_in_bnd_layer(value)
l get_b2b_default_topology_expansion_ratio_in_bnd_layer()
l set_b2b_default_topology_free_outlet_angle(value)
l get_b2b_default_topology_free_outlet_angle()
l set_b2b_default_topology_free_inlet_angle(value)
l get_b2b_default_topology_free_inlet_angle()
l set_b2b_default_topology_fix_outlet_angle(value)
l get_b2b_default_topology_fix_outlet_angle()
l set_b2b_default_topology_fix_inlet_angle(value)
l get_b2b_default_topology_fix_inlet_angle()
l set_b2b_default_topology_fix_outlet_mesh(value)
l get_b2b_default_topology_fix_outlet_mesh()
l set_b2b_default_topology_fix_inlet_mesh(value)
l get_b2b_default_topology_fix_inlet_mesh()
l set_b2b_default_topology_outlet_angle(value)
l get_b2b_default_topology_outlet_angle()
l set_b2b_default_topology_inlet_angle(value)
l get_b2b_default_topology_inlet_angle()
l set_b2b_default_topology_enable_wake_control()
l set_b2b_default_topology_disable_wake_control()
l get_b2b_default_topology_wake_control()
l set_b2b_default_topology_enable_wake_prolongation()
l set_b2b_default_topology_wake_control_deviation_angle(value)
l get_b2b_default_topology_wake_control_deviation_angle()
l set_b2b_default_topology_wake_control_prolongation(value) (New in AutoGrid5 v13.1)
Value should be 0 for no prolongation, 1 for full prolongation, and 2 for partial prolongation.
l get_b2b_default_topology_wake_control_prolongation() (New in AutoGrid5 v13.1)
l set_b2b_default_topology_enable_leading_edge_zcstline()
l set_b2b_default_topology_disable_leading_edge_zcstline()
l get_b2b_default_topology_leading_edge_zcstline()
l set_b2b_default_topology_enable_trailing_edge_zcstline()
l set_b2b_default_topology_disable_trailing_edge_zcstline()
l get_b2b_default_topology_trailing_edge_zcstline()
Intersection Control
l set_b2b_default_topology_chord_control_points_number(value)
l get_b2b_default_topology_chord_control_points_number()
l set_b2b_default_topology_intersection_quality(value)
Value should be either 0 for low quality or 1 for high quality.
l get_b2b_default_topology_intersection_quality()
l set_b2b_default_topology_intersection_law(value)
Value should be 0 for curvature or 1 for uniform. Useful only if low quality intersection.
l get_b2b_default_topology_intersection_law()
l set_b2b_intersection_precision_check_ratio(doubleValue)
doubleValue controls the tolerance of the checks when computing the blade-to-blade high
quality intersections. The tolerance is the imposed value (real starting from 1) multiplied by the
wall cell width. Useful only if high quality intersection.
l get_b2b_intersection_precision_check_ratio()
l set_b2b_default_topology_intersection_control_point_number(value)
Useful only if low quality intersection and intersection law set to uniform.
l get_b2b_default_topology_intersection_control_point_number()
l set_b2b_blade_reference_angle(value)
l get_b2b_blade_reference_angle()
HOH Topology Parameters
Topology Control
l set_b2b_hoh_topology_enable_inlet_extension()
set_b2b_hoh_topology_disable_inlet_extension()
l get_b2b_hoh_topology_inlet_extension()
l set_b2b_hoh_topology_enable_outlet_extension()
l set_b2b_hoh_topology_disable_outlet_extension()
l get_b2b_hoh_topology_outlet_extension()
l set_b2b_hoh_topology_inlet_I_extension_type()
l set_b2b_hoh_topology_inlet_H_extension_type()
l get_b2b_hoh_topology_inlet_H_extension_type()
l set_b2b_hoh_topology_outlet_I_extension_type()
l set_b2b_hoh_topology_outlet_H_extension_type()
l get_b2b_hoh_topology_outlet_H_extension_type()
l set_b2b_hoh_topology_inlet_extension_location(value)
l get_b2b_hoh_topology_inlet_extension_location()
l set_b2b_hoh_topology_outlet_extension_location(value)
l get_b2b_hoh_topology_outlet_extension_location()
Grid Points Control
set_b2b_hoh_topology_inlet_extension_streamwise_npts(value)
l get_b2b_hoh_topology_inlet_extension_streamwise_npts()
l set_b2b_hoh_topology_outlet_extension_streamwise_npts(value)
l get_b2b_hoh_topology_outlet_extension_streamwise_npts()
l set_b2b_hoh_topology_npts_in_boundary_layer(value)
l get_b2b_hoh_topology_npts_in_boundary_layer()
l set_b2b_hoh_topology_npts_around_boundary_layer(value)
l get_b2b_hoh_topology_npts_around_boundary_layer()
l set_b2b_hoh_topology_suction_and_pressure_side_npts(value)
l get_b2b_hoh_topology_suction_and_pressure_side_npts()
l set_b2b_hoh_topology_H_inlet_azimuthal_npts_1(value)
l get_b2b_hoh_topology_H_inlet_azimuthal_npts_1()
l set_b2b_hoh_topology_H_inlet_azimuthal_npts_2(value)
l get_b2b_hoh_topology_H_inlet_azimuthal_npts_2()
l set_b2b_hoh_topology_H_inlet_azimuthal_npts_3(value)
l get_b2b_hoh_topology_H_inlet_azimuthal_npts_3()
l set_b2b_hoh_topology_I_inlet_azimuthal_npts(value)
l get_b2b_hoh_topology_I_inlet_azimuthal_npts()
l set_b2b_hoh_topology_H_outlet_azimuthal_npts_1(value)
l get_b2b_hoh_topology_H_outlet_azimuthal_npts_1()
l set_b2b_hoh_topology_H_outlet_azimuthal_npts_2(value)
l get_b2b_hoh_topology_H_outlet_azimuthal_npts_2()
l set_b2b_hoh_topology_H_outlet_azimuthal_npts_3(value)
l get_b2b_hoh_topology_H_outlet_azimuthal_npts_3()
l set_b2b_hoh_topology_I_outlet_azimuthal_npts(value)
l get_b2b_hoh_topology_I_outlet_azimuthal_npts()
l set_b2b_hoh_topology_I_inlet_periodic_npts(value)
l get_b2b_hoh_topology_I_inlet_periodic_npts()
l set_b2b_hoh_topology_I_outlet_periodic_npts(value)
l get_b2b_hoh_topology_I_outlet_periodic_npts()
l set_b2b_hoh_topology_gap_matching_with_main_channel()
l get_b2b_hoh_topology_gap_matching_with_main_channel()
l set_b2b_hoh_topology_gap_non_matching_with_main_channel()
l set_b2b_hoh_topology_gap_azimuthal_O_number_of_points(value)
l get_b2b_hoh_topology_gap_azimuthal_O_number_of_points()
l set_b2b_hoh_topology_gap_azimuthal_H_number_of_points(value)
l get_b2b_hoh_topology_gap_azimuthal_H_number_of_points()
l set_b2b_hoh_topology_gap_streamwise_H_number_of_points(value)
l get_b2b_hoh_topology_gap_streamwise_H_number_of_points()
l set_b2b_hoh_topology_gap_d1_d2_addition(value)
l get_b2b_hoh_topology_gap_d1_d2_addition()
l set_b2b_hoh_topology_gap_d1_d2_ratio(value)
l get_b2b_hoh_topology_gap_d1_d2_ratio()
l set_b2b_hoh_topology_gap_d3_d4_addition(value)
l get_b2b_hoh_topology_gap_d3_d4_addition()
l set_b2b_hoh_topology_gap_d3_d4_ratio(value)
l get_b2b_hoh_topology_gap_d3_d4_ratio()
Leading Edge Grid Points Distribution Control
l set_b2b_hoh_leading_edge_control_type_none()
set_b2b_hoh_leading_edge_control_type_absolute_distance()
set_b2b_hoh_leading_edge_control_type_relative_distance()
l set_b2b_hoh_leading_edge_control_type_cell_length()
l get_b2b_hoh_leading_edge_control_type()
set_b2b_hoh_leading_edge_control_absolute_distance(value)
l get_b2b_hoh_leading_edge_control_absolute_distance()
l set_b2b_hoh_leading_edge_control_relative_distance(value)
l get_b2b_hoh_leading_edge_control_relative_distance()
l set_b2b_hoh_leading_edge_control_cell_length(value)
l get_b2b_hoh_leading_edge_control_cell_length()
Trailing Edge Grid Points Distribution Control
l set_b2b_hoh_trailing_edge_control_type_none()
l set_b2b_hoh_trailing_edge_control_type_absolute_distance()
l set_b2b_hoh_trailing_edge_control_type_relative_distance()
l set_b2b_hoh_trailing_edge_control_type_cell_length()
l get_b2b_hoh_trailing_edge_control_type()
l set_b2b_hoh_trailing_edge_control_absolute_distance(value)
l get_b2b_hoh_trailing_edge_control_absolute_distance()
l set_b2b_hoh_trailing_edge_control_relative_distance(value)
l get_b2b_hoh_trailing_edge_control_relative_distance()
l set_b2b_hoh_trailing_edge_control_cell_length(value)
l get_b2b_hoh_trailing_edge_control_cell_length()
l set_b2b_hoh_blade_points_distribution_smoothing_steps(value)
l get_b2b_hoh_blade_points_distribution_smoothing_steps()
l set_b2b_hoh_wake_clustering(value)
l get_b2b_hoh_wake_clustering()
Mesh Control
l set_b2b_mesh_control_bnd_layer_factor(value)
l get_b2b_mesh_control_bnd_layer_factor()
l set_b2b_mesh_control_bnd_layer_cell_width(value)
l get_b2b_mesh_control_bnd_layer_cell_width()
H&I Topology Parameters
Topology Control
l set_b2b_HI_topology_H_inlet(value)
l get_b2b_HI_topology_H_inlet()
l set_b2b_HI_topology_H_outlet(value)
l get_b2b_HI_topology_H_outlet()
l set_b2b_HI_topology_skin_block(value)
l get_b2b_HI_topology_skin_block()
l set_b2b_HI_topology_H_full(value)
l get_b2b_HI_topology_H_full()
Grid Points Control
l set_b2b_HI_topology_grid_point_number_streamwise_blade_inlet_down(value)
l get_b2b_HI_topology_grid_point_number_streamwise_blade_inlet_down()
l set_b2b_HI_topology_grid_point_number_streamwise_blade_down(value)
l get_b2b_HI_topology_grid_point_number_streamwise_blade_down()
l set_b2b_HI_topology_grid_point_number_streamwise_blade_lower_side(value)
l get_b2b_HI_topology_grid_point_number_streamwise_blade_lower_side()
l set_b2b_HI_topology_grid_point_number_streamwise_blade_outlet_down(value)
l get_b2b_HI_topology_grid_point_number_streamwise_blade_outlet_down()
l set_b2b_HI_topology_grid_point_number_streamwise_blade_inlet_up(value)
l get_b2b_HI_topology_grid_point_number_streamwise_blade_inlet_up()
l set_b2b_HI_topology_grid_point_number_streamwise_blade_up(value)
l get_b2b_HI_topology_grid_point_number_streamwise_blade_up()
l set_b2b_HI_topology_grid_point_number_streamwise_blade_outlet_up(value)
l get_b2b_HI_topology_grid_point_number_streamwise_blade_outlet_up()
l set_b2b_HI_topology_grid_point_number_azimutal_inlet(value)
l get_b2b_HI_topology_grid_point_number_azimutal_inlet()
l set_b2b_HI_topology_grid_point_number_azimutal_outlet(value)
l get_b2b_HI_topology_grid_point_number_azimutal_outlet()
l set_b2b_HI_topology_grid_point_number_azimutal_inlet_up(value)
l get_b2b_HI_topology_grid_point_number_azimutal_inlet_up()
l set_b2b_HI_topology_grid_point_number_azimutal_outlet_up(value)
l get_b2b_HI_topology_grid_point_number_azimutal_outlet_up()
l set_b2b_HI_topology_grid_point_number_leading_edge_index(value)
l set_b2b_HI_topology_grid_point_number_trailing_edge_index(value)
Mesh Control
l set_b2b_HI_topology_automatic_clustering_relaxation(value)
l get_b2b_HI_topology_automatic_clustering_relaxation()
l set_b2b_HI_topology_clustering_relaxation(value)
l get_b2b_HI_topology_clustering_relaxation()
Cooling - Conjugate Heat Transfer Parameters
l set_solid_body_configuration(type)
Type should be between 0 and 12:
0: disable solid body mesh generation
1: basin+cooling channel
2: basin
3: cooling channel
4: radial holes without basin and without cooling channel
5: solid body alone
6: cooling channel without tip wall
7: pennies at hub
8: pennies at shroud
9: pennies at hub & shroud
10: squealer tip on lower side
11: squealer tip on upper side
12: squealer tip on camber line
l get_solid_body_configuration()
Blade Cooling Holes Control
l number_of_holes_lines()
l add_holes_line()
l holes_line(i)
l generate_holes()
Cooling Channel , Radial Hole & Basin Control
l solid_body()
l solid_body().shroud_gap() to access the meridional definition of the basin.
l solid_body().hub_gap() to access the meridional definition of the basin wall.
l solid_body().add_basin_hole() to create a radial hole.
l cooling_channel()
l is_solid_body_parametric()
l enable_solid_body_parametric_definition()
l disable_solid_body_parametric_definition()
l enable_solid_body_shape_blunt_trailing_edge()
l disable_solid_body_shape_blunt_trailing_edge()
l get_solid_body_shape_blunt_trailing_edge()
l set_solid_body_shape_number_of_control_points(value)
l get_solid_body_shape_number_of_control_points()
l set_solid_body_shape_start_location(value)
l get_solid_body_shape_start_location()
l set_solid_body_shape_end_location(value)
l get_solid_body_shape_end_location()
l set_solid_body_shape_start_width(value)
l get_solid_body_shape_start_width()
l set_solid_body_shape_middle_width(value)
l get_solid_body_shape_middle_width()
l set_solid_body_shape_end_width(value)
l get_solid_body_shape_end_width()
l set_solid_body_geometry_from_geomTurbo_file(geomTurbo_file)
l set_solid_body_streamwise_distribution_type_same_as_blade()
l set_solid_body_streamwise_distribution_type_adapted()
l get_solid_body_streamwise_distribution_type()
l set_solid_body_number_of_points_azimutal(value)
l get_solid_body_number_of_points_azimutal()
l set_solid_body_B2B_mesh_relaxation(value)
l get_solid_body_B2B_mesh_relaxation()
l set_solid_body_keep_blade_solid_mesh(value)
l get_solid_body_keep_blade_solid_mesh()
l set_solid_body_keep_mesh_around_skin(value)
l get_solid_body_keep_mesh_around_skin()
l set_solid_body_keep_mesh_in_cooling_channel(value)
l get_solid_body_keep_mesh_in_cooling_channel()
l set_solid_body_keep_skin_mesh(value)
l get_solid_body_keep_skin_mesh()
Basin Holes & Separator Control
l number_of_basin_holes()
l basin_hole(i)
l init_basin_holes_from_external_file(filename)
l export_basin_holes_geometry()
l export_basin_holes_definition()
l number_of_basin_separators()
l add_basin_separator()
l basin_separator(i)
Pin Fins & Ribs Control
l add_pin_fins_channel()
13.2.9 Gap Class Commands
l select()
l delete()
link_non_axisymmetric_geometry(surface_names)
l set_non_axisymmetric_hub(a)
l set_non_axisymmetric_hub_repair_damage(a)
l create_chimera_block()
skip_chimera_block()
l set_topology_HO()
l set_topology_O()
l set_topology_O2H() (New in AutoGrid5 v13.1)
l get_topology_type()
l set_width_at_leading_edge(value)
l get_width_at_leading_edge()
l set_width_at_trailing_edge(value)
l get_width_at_trailing_edge()
l set_clustering(value)
l get_clustering()
Set the cell width in the gap and in the sheet lower/upper zone.
l set_constant_cell_number(value)
l get_constant_cell_number()
Set the percentage of mid-flow cells in the gap and in the sheet lower/upper zone.
l set_number_of_points_in_spanwise_direction(value)
l get_number_of_points_in_spanwise_direction()
Set the number of points in the gap and in the sheet lower/upper zone.
l enable_defined_shape()
l disable_defined_shape()
l define_shape(curve_file_name)
l get_defined_shape()
13.2.10 Partial Gap Class Commands
l select()
l delete()
l set_chord_length_at_leading_edge(value)
l get_chord_length_at_leading_edge()
l set_chord_length_at_trailing_edge(value)
l get_chord_length_at_trailing_edge()
l set_number_of_points_at_leading_edge(value)
l get_number_of_points_at_leading_edge()
l set_number_of_points_at_trailing_edge(value)
l get_number_of_points_at_trailing_edge()
l set_streamwise_cell_width(value)
l get_streamwise_cell_width()
l set_clustering_relaxation(value)
l get_clustering_relaxation()
l set_width_at_leading_edge(value)
l get_width_at_leading_edge()
l set_width_at_trailing_edge(value)
l get_width_at_trailing_edge()
l set_spanwise_cell_width(value)
l get_spanwise_cell_width()
l set_constant_cell_number(value)
l get_constant_cell_number()
l set_number_of_points_in_spanwise_direction(value)
l get_number_of_points_in_spanwise_direction()
l enable_defined_shape()
l disable_defined_shape()
l define_shape(curve_file_name)
l get_defined_shape()
l enable_definition_by_cylinder()
Enable a partial hub or shroud gap to be defined by a cylinder.
l disable_definition_by_cylinder()
Disable a partial hub or shroud gap to be defined by a cylinder.
l get_definition_by_cylinder()
Return a boolean to check whether a partial hub or shroud gap defined by a cylinder is enabled
(1) or disabled (0).
l set_cylinder_diameter(value)
Set the diameter of the cylinder defining the partial hub or shroud gap.
l get_cylinder_diameter()
Get the current value of the cylinder diameter used for a partial hub or shroud gap.
l set_cylinder_axis(x,y,z)
Set the axis of the cylinder defining the partial hub or shroud gap.
l get_cylinder_axis()
Return a Point(list[0],list[1],list[2]) with the current cylinder axis used for a partial hub or
shroud gap.
l set_cylinder_origin(x,y,z)
Set the origin of the cylinder defining the partial hub or shroud gap.
l get_cylinder_origin()
Return a Point(list[0],list[1],list[2]) with the current cylinder origin used for a partial hub or
shroud gap.
13.2.11 Fillet Class Commands
l select()
Selects the current blade fillet item.
l delete()
Deletes the current blade fillet item.
l set_radius_at_leading_edge(value)
l get_radius_at_leading_edge()
Sets or returns the fillet radius assigned at the blade leading edge (more details in "Blade Fillet"
(p. 315): Spanwise Parameters:Radius At Leading Edge).
l set_radius_at_trailing_edge(value)
l get_radius_at_trailing_edge()
Sets or returns the fillet radius assigned at the blade trailing edge (more details in "Blade Fillet"
(p. 315): Spanwise Parameters:Radius At Trailing Edge.
l set_minimum_angle(value)
l get_minimum_angle()
Sets or returns the minimum angle used to treat the fillet geometry when the B2B section
offset method is used (more details in "Blade Fillet" (p. 229) : Geometry Creation
Method:Minimum Angle).
l set_clustering(value)
l get_clustering()
Sets or returns the spanwise cell with (value) at the junction between the straight blade and the
fillet (at the hub or shroud according to the fillet type) on all the control lines before the leading
edge and after the trailing edge (more details in "Blade Fillet" (p. 315) : Spanwise
Parameters:Cell Width At Leading Edge and Spanwise Parameters:Cell Width At
Trailing Edge)
l set_clustering_at_leading_edge(value)
l get_clustering_at_leading_edge()
Sets or returns the spanwise cell with (value) at the junction between the straight blade and the
fillet (at the hub or shroud according to the fillet type) on all the control lines before the leading
edge (more details in "Blade Fillet" (p. 315): Spanwise Parameters:Cell Width At Leading
Edge).
l set_clustering_at_trailing_edge(value)
l get_clustering_at_trailing_edge()
Sets or returns the spanwise cell with (value) at the junction between the straight blade and the
fillet (at the hub or shroud according to the fillet type) on all the control lines after the trailing
edge (more details in "Blade Fillet" (p. 315): Spanwise Parameters:Cell Width At Trailing
Edge).
l set_clustering_from_spanwise_channel_height(value)
Computes the spanwise cell width from a spanwise channel height percentage (value) at the
junction between the straight blade and the fillet (at the hub or shroud according to the fillet
type) respectively at the leading edge for all the control lines before the leading edge and at the
trailing edge for all the control lines after the trailing edge. Value is a percentage of the channel
spanwise height [0-100].
l set_constant_cell_number(value)
l get_constant_cell_number()
Sets or returns the number of cells of spanwise constant size in the fillet region of the channel
(more details in "Blade Fillet" (p. 315): Spanwise Parameters:Percentage of Mid-flow
Cells). Value is a percentage of the fillet spanwise height [0-100].
l set_number_of_points_in_spanwise_direction(value)
l get_number_of_points_in_spanwise_direction()
Sets or returns the number of points in the fillet region in the spanwise direction (more details
in "Blade Fillet" (p. 315): Spanwise Parameters:Number of Points).
l enable_defined_shape()
l disable_defined_shape()
Controls the use of an external file to define the fillet meridional curve (more details in "Blade
Fillet" (p. 315): Spanwise Parameters:Defined Shape).
l define_shape(curve_file_name)
Links a geometry file (curve_file_name) to the fillet meridional curve when it is defined from
an external file. This geometry file is a curve in native IGG™ format with extension ".dat"
(XYZ or ZR coordinates).
l get_defined_shape()
Returns if the fillet meridional curve is defined or not from an external file for the current blade
fillet item.
l set_butterfly_topology(value)
Activates/deactivates the butterfly topology in the fillet region (more details in "Blade Fillet"
(p. 315): Topology:Butterfly). Value is set to 0 (deactivate) or 1 (activate).
l get_butterfly_topology()
Returns if the butterfly topology is applied or not in the current blade fillet item.
l set_butterfly_radial_number_of_points(value)
l get_butterfly_radial_number_of_points()
Sets or returns the radial number of points in the buffer blocks of the butterfly topology in the
fillet region (more details in "Blade Fillet" (p. 315): Topology:Butterfly Radial Number of
Points).
l set_create_geometry(value)
Sets the fillet geometry creation method when the butterfly topology is applied in the fillet
region (more details in "Blade Fillet" (p. 229): Geometry Creation Method). Value is set to 0
(when None), 1 (when From meridional curve), 2 (when Constant radius) or 3 (when B2B
section offset).
l get_create_geometry()
Returns the geometry creation method of the current blade fillet item when the butterfly
topology is applied: 0 (when None), 1 (when From meridional curve) or 2 (when Constant
radius).
l set_constant_radius(value)
l get_constant_radius()
Sets and returns the radius of the sphere used to build the fillet geometry when the butterfly
topology and the Constant radius method are selected (more details in "Blade Fillet" (p. 229):
Geometry Creation Method).
13.2.12 Snubber Class Commands
l select()
Selects the current row snubber item.
l delete()
Deletes the current row snubber item.
l link_to_meridional_curve_up(curve_names)
l link_to_meridional_curve_down(curve_names)
Curve_names should be a list of curve names to link to the upper or lower meridional curve
defining the axisymmetric snubber, even if it is composed of only 1 element (use [ ]).
l link_to_geometry_on_blade_pressure_side(surface_names)
l link_to_geometry_on_blade_suction_side(surface_names)
Surface_names should be a list of surface names to link to the 3D snubber defined on the
blade pressure or suction side, even if it is composed of only 1 element (use [ ]).
l link_to_leading_edge_on_blade_pressure_side(curve_names)
l link_to_leading_edge_on_blade_suction_side(curve_names)
Curve_names should be a list of curve names to link to the 3D snubber leading edge defined
on the blade pressure or suction side, even if it is composed of only 1 element (use [ ]).
l link_to_trailing_edge_on_blade_pressure_side(curve_names)
l link_to_trailing_edge_on_blade_suction_side(curve_names)
Curve_names should be a list of curve names to link to the 3D snubber trailing edge defined
on the blade pressure or suction side, even if it is composed of only 1 element (use [ ]).
l link_to_fillet_on_blade_pressure_side(surface_names)
l link_to_fillet_on_blade_suction_side(surface_names)
Surface_names should be a list of surface names to link to the snubber fillet defined on the
blade pressure or suction side, even if it is composed of only 1 element (use [ ]).
l set_name(name)
l get_name()
l set_clustering(value)
l get_clustering()
l set_skin_expansion_ratio(value)
l get_skin_expansion_ratio()
l set_leading_edge_relative_control_distance(value)
l get_leading_edge_relative_control_distance()
l set_trailing_edge_relative_control_distance(value)
l get_trailing_edge_relative_control_distance()
l set_spanwise_index(value)
l get_spanwise_index()
l set_skin_number_of_points(value)
l get_skin_number_of_points()
l set_upstream_number_of_points(value)
l get_upstream_number_of_points()
l set_downstream_number_of_points(value)
l get_downstream_number_of_points()
l set_spanwise_number_of_points(value)
l get_spanwise_number_of_points()
l set_fillet_butterfly_radial_number_of_points(value)
l get_fillet_butterfly_radial_number_of_points()
13.2.13 WizardLETE Class Commands
l select()
l delete()
l generate(replace_le=1,replace_te=1)
l set_layer_upstream_hub_location(value,update=0)
l get_layer_upstream_hub_location()
l set_layer_downstream_hub_location(value,update=0)
l get_layer_downstream_hub_location()
l set_layer_upstream_shroud_location(value,update=0)
l get_layer_upstream_shroud_location()
l set_layer_downstream_shroud_location(value,update=0)
l get_layer_downstream_shroud_location()
l set_layer_hub_clustering(value,update=0)
l get_layer_hub_clustering()
l set_layer_shroud_clustering(value,update=0)
l get_layer_shroud_clustering()
l set_layer_number(value,update=0)
l get_layer_number()
l set_layer_number_of_control_points(value,update=0)
l get_layer_number_of_control_points()
l set_layer_number_of_constant_cells(value,update=0)
l get_layer_number_of_constant_cells()
l last_section_is_used()
l last_section_is_not_used()
l is_last_section_used()
l first_section_is_used()
l first_section_is_not_used()
l is_first_section_used()
l set_blade_normal_type()
l set_blade_very_low_angle_type()
l set_blade_very_high_angle_type()
l get_blade_type()
l set_hub_expansion(value,update=0)
l get_hub_expansion()
l set_shroud_expansion(value,update=0)
l get_shroud_expansion()
l set_leading_edge_location(layer,value,update=0)
l get_leading_edge_location(layer)
l set_trailing_edge_location(layer,value,update=0)
l get_trailing_edge_location(layer)
l set_chord_tolerance_at_le(value,update=0)
l get_chord_tolerance_at_le()
l set_chord_tolerance_at_te(value,update=0)
l get_chord_tolerance_at_te()
l set_iteration_steps(value,update=0)
l get_iteration_steps()
13.2.14 Blade Sheet Class Commands
l select()
l delete()
l lower_zone()
l upper_zone()
l set_type(value)
Value should be either 0 for lower side, 1 for upper side or 2 for both sides.
l get_type()
l set_width(value)
l get_width()
l set_distance_from_leading_edge(value)
l get_distance_from_leading_edge()
l set_distance_from_trailing_edge(value)
l get_distance_from_trailing_edge()
l set_npts_near_leading_edge(value)
l get_npts_near_leading_edge()
l set_npts_near_trailing_edge(value)
l get_npts_near_trailing_edge()
13.2.15 RSInterface Class Commands
l select()
l copy_left_meridional_distribution()
l copy_right_meridional_distribution()
l paste_left_meridional_distribution()
l paste_right_meridional_distribution()
l merge_meridional_distribution()
l set_name(value)
l get_name()
l streamwise_number_of_points(value)
l get_streamwise_number_of_points()
l streamwise_index(value)
l get_streamwise_index()
l enable_b2b_control()
l disable_b2b_control()
l get_b2b_control()
l geometry_is_fixed()
l geometry_is_not_fixed()
l get_geometry_is_fixed()
l cell_width_in_streamwise_direction(value)
l get_cell_width_in_streamwise_direction()
l set_clustering_relaxation_location(value)
Value should be "None", "Hub", "Shroud" or "Mid_Span"
l get_clustering_relaxation_location()
l set_clustering_relaxation_factor(value)
l get_clustering_relaxation_factor()
l set_linear_shape()
l set_curvilinear_shape()
l set_user_defined_shape()
l set_default_shape()
l set_z_cst_shape(value)
l set_r_cst_shape(value)
l get_shape()
Returns the shape of the control line: 0 if linear, 1 if curvilinear, 2 if defined shape, 3 if default,
4 if R constant and 5 if Z constant.
l get_r_cst_value()
l get_z_cst_value()
l set_relative_location(value)
Sets the default shape control line at a relative streamwise position (relative to the row). The
value is a float between 0 and 1. The lower the value, the more upstream the control line will
be located. The relative position is given either between inlet (or rotor-stator) and the blade
leading edge, or between the blade trailing edge and outlet (or rotor-stator).
l set_external_curve(filename)
link_geometry(curve_names)
Curve_names should be a list, even if it is composed of only 1 element (use [ ]).
l export_geometry(filename)
l get_curve()
Returns the geometry curve of the RSInterface, as a Curve class object.
l set_reference_frame_relative()
l set_reference_frame_absolute()
l get_reference_frame()
l get_relative_location()
l get_reference_row()
l get_reference_row_location()
l move_control_point(i,point)
l get_number_of_control_points()
Returns the number of control points in the control line.
l get_control_point(i)
Returns the control point i (class Point with x = z coordinate, y = radius, z = 0). i is the index
of the control point starting at 0.
13.2.16 FlowPathControlSection Class Commands
The commands return an object of class FlowPathSubdivision.
l get_main_subdivision() is always existing.
l get_hub_gap_subdivision(index)
Index starting from 1. The configuration may present several hub gap subdivisions when row
blades contain gaps with different number of spanwise points.
l get_tip_gap_subdivision(index)
Index starting from 1. The configuration may present several tip gap subdivisions when row
blades contain gaps with different number of spanwise points.
l get_snubber_subdivision()
l get_snubber_secondary_subdivision()
Only in snubber configuration, the first command returns the subdivision passing through the
snubber and the second one returns the additional snubber subdivision: below the snubber in
normal case or in bypass configuration when the snubber index is below the nozzle index, and
above the snubber if the snubber index is above the nozzle index in bypass configuration.
l get_main_bypass_subdivision()
Only in bypass configuration, subdivision above nozzle.
l get_upstream_bypass_subdivision()
Only in bypass configuration and C nozzle topology, subdivision upstream nozzle.
13.2.17 FlowPathSubdivision Class Commands
l set_end_parameter(norm_param)
Controls the relative position (norm_param) of the last point of the flow path subdivision or
the first point of the next subdivision. Norm_param is relative to the complete control section
and not the subdivision (0 for hub and 1 for shroud).
Example:
For instance, if the configuration is including a tip gap, they will be two subdivisions: the main
and the tip gap. If the user wants to redistribute the points upstream/downstream the blade, he
needs to modify the fixed point linked to the tip gap by using the python command:
row(1).get_inlet_flow_path_control_section().get_main_subdivision().set_end_parameter
(0.8)
This will move the fixed point at the boundary between the main and the tip gap subdivisions
at 80% of the span height at inlet.
l add_fixed_point(index,norm_param)
Adds a fixed point at the grid point index (starting from 1) at the given position norm_param.
Norm_param is relative to the complete control section and not the subdivision (0 for hub and
1 for shroud).
l remove_fixed_point(index)
Removes the fix point at the grid point index.
If the user wants to remove the fixed point created with the command:
row(1).get_z_cst_line_flow_path_control_section(1).get_main_subdivision().add_fixed_
point(15, norm_param)
He needs to use the following command:
row(1).get_z_cst_line_flow_path_control_section(1).get_main_subdivision().remove_fixed_
point(15)
l get_number_of_fixed_points()
l cluster_uniform(index)
Applies a uniform clustering on the subdivision index of the selected control line subdivision.
In the figure below, on the main subdivision of the outlet control line, the index is set to 1 to
control the distribution of the subdivision 1 from hub to the fixed point and to 2 to control the
distribution of the subdivision 2 from the fixed point to the tip gap.
l cluster_start(index,sDist)
l cluster_end(index,eDist)
l cluster_both_ends2(index,sDist,eDist,nCstCell)
l cluster_tanh(index,sDist,eDist)
Example showing the scripted manual flow paths controls:
row(1).get_outlet_flow_path_control_section().get_main_subdivision().add_fixed_point(57,
0.6)
row(1).get_outlet_flow_path_control_section().get_main_subdivision().cluster_tanh
(1,0.003,0.003)
row(1).get_inlet_flow_path_control_section().get_main_subdivision().set_end_parameter
(0.8)
row(1).get_inlet_flow_path_control_section().get_main_subdivision().cluster_tanh
(1,0.003,0.003)
row(1).get_inlet_flow_path_control_section().get_tip_gap_subdivision(1).cluster_uniform(1)
FIGURE 13.1
Flow path control sections and subdivisions
FIGURE 13.2
Control sections & subdivisions naming in bypass configuration
13.2.18 BasicCurve Class Commands
This class gives access to parameters of basic curves defining the channel, nozzle and ZR effects.
l delete()
l set_discretisation(i)
l get_discretisation()
l set_rotating_property(i)
l get_rotating_property()
l check_geometry()
l set_data_reduction(reduction, min_dist=1e-6, max_angle=80)
l get_data_reduction()
l get_data_reduction_minimal_distance()
l get_data_reduction_maximum_angle()
13.2.19 StagnationPoint Class Commands
This class gives access to parameters of blade leading and trailing edge in blade to blade view
(only accessible in default topology). The following commands can be applied to the leading or
trailing edge. Thus, these commands must always be preceded by leadingEdgeControl() or
trailingEdgeControl(), respectively.
l set_distribution_type_absolute_distance()
l set_distribution_type_relative_distance()
l set_distribution_type_cell_length()
l get_distribution_type()
l set_distribution_absolute_distance(value)
l get_distribution_absolute_distance()
l set_distribution_relative_distance(value)
l get_distribution_relative_distance()
l set_distribution_cell_length(value)
l get_distribution_cell_length()
l enable_distribution_from_expansion_ratio()
l disable_distribution_from_expansion_ratio()
l get_distribution_from_expansion_ratio()
l desired_expansion_ratio(value)
l get_desired_expansion_ratio()
l set_percentage_cst_cell(value)
l get_percentage_cst_cell()
l set_parametric_location(value)
Set the parametric location of the leading or trailing edge.
The parametric location of the leading and trailing edge can range between -1 and 1. The
original leading edge is located at a parametric distance 0, while the original trailing edge is
located at a parametric distance 1 (or -1). A positive value of the parametric location indicates a
position on the upper side of the blade, whereas a negative value indicates a position on the
lower side of the blade.
FIGURE 13.3
Parametric location of the leading and trailing edges in B2B view
l get_parametric_location()
Get the parametric location of the leading or trailing edge.
13.2.20 TechnologicalEffectZR Class Commands
l select()
l delete()
l start_editing() (New in AutoGrid5 v13.1)
l stop_editing() (New in AutoGrid5 v13.1)
l block_list()
l set_name(name)
l get_name()
l set_parameters(expMax,w,opt,cst,exp,opt2,per,coarse,tol,p,rs1,rs2,rs3)
expMax : maximum expansion ratio in boundary layer, along boundary and general
w : wall cell width
opt : smoothing steps
cst : percentage constant cell
exp : radial expansion
opt2 : far field smooth smoothing steps
per : periodic fnmb
coarse : coarse grid level
tol : connection tolerance
p : propagate theta deviation
rs1 : connection at rotor-stator polyline is periodic FNMB. If set to 1, rs2 and rs3 will not be
considered
rs2 : connection at rotor-stator polyline is matching (1) or non-matching (0)
rs3 : connection at rotor-stator polyline is periodic (1) or non-periodic (0)
technologicalEffectZR (1).set_ parameters (1.4,0.000001,100,50,1,200,1,5,1e-
Example:
12,0,0,0,1)
l set_type(i)
l set_rotating_boundaries_rotation_speed(i)
l set_automatic_connection(i)
l set_automatic_number_of_points(i)
l set_maximum_expansion_ratio(i)
Sets maximum expansion ratio in boundary layer, along boundary and general.
l set_maximum_expansion_ratio_general(i)
l set_maximum_expansion_ratio_in_boundary_layer(i)
l set_maximum_expansion_ratio_along_boundary(i)
l set_clustering_relaxation_angle(i)
l set_solid_wall_clustering(i)
l set_number_of_smoothing_steps(i)
l set_constant_cells_percentage(i)
l set_radial_expansion(i)
l set_smoothing_steps_far_field(i)
l set_periodic_fnmb_row_connexion(i)
l set_number_of_grid_levels(i)
l set_tolerance(i)
l set_theta_deviation_propagation(i)
l set_azimuthal_number_of_points(i)
l set_periodic_fnmb_connexion_at_rs(i)
l set_periodic_connexion_at_rs(i)
l set_matching_connexion_at_rs(i)
l set_H_topology_around_corners(i) (New in AutoGrid5 v13.1)
l set_H_topology_around_thin_films(i) (New in AutoGrid5 v13.1)
l get_type()
l get_rotating_boundaries_rotation_speed()
l get_automatic_connection()
l get_automatic_number_of_points()
l get_maximum_expansion_ratio()
l get_maximum_expansion_ratio_general()
l get_maximum_expansion_ratio_in_boundary_layer()
l get_maximum_expansion_ratio_along_boundary()
l get_clustering_relaxation_angle()
l get_solid_wall_clustering()
l get_number_of_smoothing_steps()
l get_constant_cells_percentage()
l get_radial_expansion()
l get_smoothing_steps_far_field()
l get_periodic_fnmb_row_connexion()
l get_number_of_grid_levels()
l get_tolerance()
l get_theta_deviation_propagation()
l get_azimuthal_number_of_points()
l get_periodic_fnmb_connexion_at_rs()
l get_periodic_connexion_at_rs()
l get_matching_connexion_at_rs()
l get_H_topology_around_corners() (New in AutoGrid5 v13.1)
l get_H_topology_around_thin_films() (New in AutoGrid5 v13.1)
l detect_unmapped_edges() (New in AutoGrid5 v13.1)
Returns the number of unmapped edges.
l technoEffectmeridional_toggle_grid_rep()
l generation_success()
Returns a boolean value indicating if the 3D generation was successful (1) or not (0).
l generation_error_message()
Returns a string giving some information about the 3D generation failure (i.e. cannot establish
connection with blade channel). It may be empty even if the mesh generation fails.
13.2.21 TechnologicalEffect3D Class Commands
l select()
l delete()
l start_editing() (New in AutoGrid5 v13.1)
l stop_editing() (New in AutoGrid5 v13.1)
l block_list()
set_name(name)
l load_geometry(file_name)
load_topology(name)
l save_topology(name)
l copy_topology()
l paste_topology()
l link_geometry(curve_names, surface_names)
Curve_names and surface_names should be a list, even if it is composed of only 1 element
(use [ ]).
13.2.22 Cooling Channel Class Commands
l select()
l pinFinsChannel(i)
Returns an object of class PinFinsChannel.
13.2.23 Hole Class Commands
l select()
l delete()
l setName(value)
l getName()
Hole Location Control
Parametric Mode (all hole type excepted grooves)
l set_spanwise_location(value,highlight=1)
l get_spanwise_location()
l set_streamwise_location_from_leading_edge(value,highlight=1)
l get_streamwise_location_from_leading_edge()
l set_streamwise_location_from_trailing_edge(value,highlight=1)
l get_streamwise_location_from_trailing_edge()
l set_streamwise_location_on_chord_length(value,highlight=1)
l get_streamwise_location_on_chord_length()
XYZ Mode
l set_x_location(value,highlight=1)
l get_x_location()
l set_y_location(value,highlight=1)
l get_y_location()
l set_z_location(value,highlight=1)
l get_z_location()
l set_x2_location(value,highlight=1)
l get_x2_location()
l set_y2_location(value,highlight=1)
l get_y2_location()
l set_z2_location(value,highlight=1)
l get_z2_location()
RTHZ Mode
l set_r_location(value,highlight=1)
l get_r_location()
l set_theta_location(value,highlight=1)
l get_theta_location()
l set_z_location(value,highlight=1)
l get_z_location()
l set_r2_location(value,highlight=1)
l get_r2_location()
l set_theta2_location(value,highlight=1)
l get_theta2_location()
l set_z2_location(value,highlight=1)
l get_z2_location()
Hole Axis Control
Parametric Mode (all hole type excepted grooves)
l set_streamwise_angle(value,highlight=1)
l get_streamwise_angle()
l set_spanwise_angle(value,highlight=1)
l get_spanwise_angle()
XYZ Mode (all hole type excepted grooves)
l set_x_axis(value,highlight=1)
l get_x_axis()
l set_y_axis(value,highlight=1)
l get_y_axis()
l set_z_axis(value,highlight=1)
l get_z_axis()
RTHZ Mode (all hole type excepted grooves)
l set_r_axis(value,highlight=1)
l get_r_axis()
l set_theta_axis(value,highlight=1)
l get_theta_axis()
l set_z_axis(value,highlight=1)
l get_z_axis()
Hole Dimension Control
l set_depth(value,highlight=1)
l get_depth()
Circular Shape
l set_diameter(value,highlight=1)
l get_diameter()
Rectangular/Oval Shape
l set_width(value,highlight=1)
l get_width()
Grooves (Parametric Mode)
l set_heigth(value,highlight=1)
l get_heigth()
Quadrilateral Shape (4-Sided)
l set_holes_p1x(value,highlight=1)
l get_holes_p1x()
l set_holes_p2x(value,highlight=1)
l get_holes_p2x()
l set_holes_p3x(value,highlight=1)
l get_holes_p3x()
l set_holes_p4x(value,highlight=1)
l get_holes_p4x()
l set_holes_p1y(value,highlight=1)
l get_holes_p1y()
l set_holes_p2y(value,highlight=1)
l get_holes_p2y()
l set_holes_p3y(value,highlight=1)
l get_holes_p3y()
l set_holes_p4y(value,highlight=1)
l get_holes_p4y()
Hole Orientation Control
l set_orientation_angle(value,highlight=1)
l get_orientation_angle()
13.2.24 HolesLine Class Commands
l select()
l delete()
l hole(i)
l setName(value)
l getName()
l preview3D()
l hide2D()
External File Control
l exportGeometry()
l exportDefinition()
l defineGeometry(file_name)
Hole Line Geometry Control
Holes Number
l set_holes_number(value,highlight=1)
l get_holes_number()
Hole Shape
l set_circular_shape(highlight=1)
l set_rectangular_shape(highlight=1)
l set_oval_shape(highlight=1)
l set_trailing_edge_groove_shape(highlight=1)
l set_trailing_edge_circular_hole_shape(highlight=1)
l set_quadrilateral_shape(highlight=1)
l get_shape(highlight=1)
Hole Location
l set_location_to_blade_upper_side(highlight=1)
l set_location_to_blade_lower_side(highlight=1)
Parametric Mode
l enable_parametric_holes_location(highlight=1)
l set_first_spanwise_parametric_location(value,highlight=1)
l get_first_spanwise_parametric_location(highlight=1)
l set_last_spanwise_parametric_location(value,highlight=1)
l get_last_spanwise_parametric_location()
l set_streamwise_location_on_meridional_chord (value,highlight=1)
l set_streamwise_location_from_leading_edge(value,highlight=1)
l set_streamwise_location_from_trailing_edge(value,highlight=1)
l set_first_streamwise_location_on_meridional_chord(value,highlight=1)
l get_first_streamwise_location_on_meridional_chord()
l set_first_streamwise_location_from_leading_edge(value,highlight=1)
l get_first_streamwise_location_from_leading_edge()
l set_first_streamwise_location_from_trailing_edge(value,highlight=1)
l get_first_streamwise_location_from_trailing_edge()
l set_last_streamwise_location_on_meridional_chord(value,highlight=1)
l get_last_streamwise_location_on_meridional_chord()
l set_last_streamwise_location_from_leading_edge(value,highlight=1)
l get_last_streamwise_location_from_leading_edge()
l set_last_streamwise_location_from_trailing_edge(value,highlight=1)
l get_last_streamwise_location_from_trailing_edge()
XYZ Mode
l enable_xyz_holes_location(highlight=1)
l set_x_location(value,highlight=1)
l get_x_location()
l set_y_location(value,highlight=1)
l get_y_location()
l set_z_location(value,highlight=1)
l get_z_location()
l set_x2_location(value,highlight=1)
l get_x2_location()
l set_y2_location(value,highlight=1)
l get_y2_location()
l set_z2_location(value,highlight=1)
l get_z2_location()
RTHZ Mode
l enable_mtheta_holes_location(highlight=1)
l set_r_location(value,highlight=1)
l get_r_location()
l set_theta_location(value,highlight=1)
l get_theta_location()
l set_z_location(value,highlight=1)
l get_z_location()
l set_r2_location(value,highlight=1)
l get_r2_location()
l set_theta2_location(value,highlight=1)
l get_theta2_location()
l set_z2_location(value,highlight=1)
l get_z2_location()
Hole Axis
Parametric Mode
l enable_parametric_holes_axis(highlight=1)
l set_streamwise_angle(value,highlight=1)
l get_streamwise_angle()
l set_spanwise_angle(value,highlight=1)
l get_spanwise_angle()
XYZ Mode
l enable_xyz_holes_axis(highlight=1)
l set_x_axis(value,highlight=1)
l get_x_axis()
l set_y_axis(value,highlight=1)
l get_y_axis()
l set_z_axis(value,highlight=1)
l get_z_axis()
RTHZ Mode
l enable_rthz_holes_axis(highlight=1)
l set_r_axis(value,highlight=1)
l get_r_axis()
l set_theta_axis(value,highlight=1)
l get_theta_axis()
l set_z_axis(value,highlight=1)
l get_z_axis()
Hole Dimension
l set_depth(value,highlight=1)
l get_depth()
Circular Shape
l set_diameter(value,highlight=1)
l get_diameter()
Rectangular/Oval Shape
l set_width(value,highlight=1)
l get_width()
Grooves (Parametric Mode)
l set_heigth(value,highlight=1)
l get_heigth()
Quadrilateral Shape (4-Sided)
l set_holes_p1x(value,highlight=1)
l get_holes_p1x()
l set_holes_p2x(value,highlight=1)
l get_holes_p2x()
l set_holes_p3x(value,highlight=1)
l get_holes_p3x()
l set_holes_p4x(value,highlight=1)
l get_holes_p4x()
l set_holes_p1y(value,highlight=1)
l get_holes_p1y()
l set_holes_p2y(value,highlight=1)
l get_holes_p2y()
l set_holes_p3y(value,highlight=1)
l get_holes_p3y()
l set_holes_p4y(value,highlight=1)
l get_holes_p4y()
Hole Orientation
l set_orientation_angle(value,highlight=1)
l get_orientation_angle()
Hole Line Mesh Control
Grid Points Number
l set_number_of_points_in_boundary_layer(value,highlight=1)
l get_number_of_points_in_boundary_layer()
l set_number_of_points_streamwise(value,highlight=1)
l get_number_of_points_streamwise()
l set_number_of_points_spanwise(value,highlight=1)
l get_number_of_points_spanwise()
l set_number_of_points_streamwise_left(value,highlight=1)
l get_number_of_points_streamwise_left()
l set_number_of_points_streamwise_right(value,highlight=1)
l get_number_of_points_streamwise_right()
l set_number_of_points_spanwise_up(value,highlight=1)
l get_number_of_points_spanwise_up()
l set_number_of_points_spanwise_down(value,highlight=1)
l get_number_of_points_spanwise_down()
Optimization
l set_number_of_optimization_steps_inside_holes(value,highlight=1)
l get_number_of_optimization_steps_inside_holes()
l enable_skewness_control_inside_holes()
l disable_skewness_control_inside_holes()
l get_skewness_control_inside_holes()
l set_number_of_optimization_steps_arround_holes(value,highlight=1)
l get_number_of_optimization_steps_arround_holes()
l enable_skewness_control_arround_holes()
l disable_skewness_control_arround_holes()
l get_skewness_control_arround_holes()
Wake Control
l set_upstream_wake_length(value,highlight=1)
l get_upstream_wake_length()
l set_downstream_wake_length(value,highlight=1)
l get_downstream_wake_length()
Holes Line Mesh Shape Control
l set_hole_line_shape_link_to_next_hole_line_shape(value,highlight=1)
l get_hole_line_shape_link_to_next_hole_line_shape()
l set_hole_line_shape_link_to_previous_hole_line_shape(value,highlight=1)
l get_hole_line_shape_link_to_previous_hole_line_shape()
Global Mesh Control
l set_preserved_layers_on_lower_side(value,highlight=1)
l get_preserved_layers_on_lower_side()
l set_preserved_layers_on_upper_side(value,highlight=1)
l get_preserved_layers_on_upper_side()
l set_intersection_tolerance(value,highlight=1)
l get_intersection_tolerance()
13.2.25 BasinHole Class Commands
l select()
l delete()
Geometry Control
l reset_parametrization_up()
l reset_parametrization_down()
l enable_parametric_location()
l enable_XYZ_location() (New in AutoGrid5™ v13.1)
Switch from parametric to geometrical definition.
l set_parametric_streamwise_location(value)
l get_parametric_streamwise_location()
Set the location (% mean line).
l set_parametric_azimutal_deviation(value)
l get_parametric_azimutal_deviation()
Set the location (% width).
l set_anchor_points_x_coordinate(value)
l get_anchor_points_x_coordinate()
l set_anchor_points_y_coordinate(value)
l get_anchor_points_y_coordinate()
l set_anchor_points_z_coordinate(value)
l get_anchor_points_z_coordinate()
Set the anchor point of the axis of the radial hole.
l set_axis_x_coordinate(value)
l get_axis_x_coordinate()
l set_axis_y_coordinate(value)
l get_axis_y_coordinate()
l set_axis_z_coordinate(value)
l get_axis_z_coordinate()
Set the axis of the radial hole.
l set_diameter(value)
l get_diameter()
Set the diameter of the radial hole or the penny.
l set_rotation_angle(value)
l get_rotation_angle()
Set the blade rotation angle of the penny.
l set_width(value)
l get_width()
Set the width of the separator.
Mesh Control
l set_number_of_points_in_bnd_layer(value)
l get_number_of_points_in_bnd_layer()
Set the number of grid points in the radial direction (Number of Point Along Radius).
l set_number_of_points_on_hole_side(value)
l get_number_of_points_on_hole_side()
Set the number of grid points along the side (Number of Point Along Sides).
l set_boundary_optimization_steps(value)
l get_boundary_optimization_steps()
Set the number of boundary smoothing steps.
l set_optimization_steps(value)
l get_optimization_steps()
Set the number of optimization steps.
l set_streamwise_mesh_resolution(value) (New in AutoGrid5™ v13.1)
l get_streamwise_mesh_resolution() (New in AutoGrid5™ v13.1)
Set the streamwise mesh resolution.
13.2.26 PinFinsChannel Class Commands
l select()
l delete()
l box()
l view_mesh(pinfinstype,boxtype,boxside,clear=1)
pinfinstype : 0, 1 for grid, 2 for solid and 3 for both
box type : 0, 1, 2 or 3
box side : 0, 1 or 2.
l viewbox(side,rep)
l hidebox()
l link_geometry(curve_names,surfaces_name)
l edit()
l stop_edit()
l generate()
l number_of_pinFins_line()
l add_pinFins_line()
l pinFins_line(i)
Returns an object of class PinFinsLine.
13.2.27 PinFinsLine Class Commands
l select()
l delete()
l getName()
l number_of_pinFins()
l pinFin(i)
Returns an object of class PinFin.
l preview3D()
l hide3D()
External File Control
l exportGeometry()
l exportDefinition()
l defineGeometry(file_name)
Pin Fins Line Geometry Control
Pin Fins Number
l set_pinfins_number(value,highlight=1)
l get_pinfins_number()
Pin Fin Shape
l set_circular_shape(highlight=1)
l set_rectangular_shape(highlight=1)
l set_oval_shape(highlight=1)
l set_quadrilateral_shape(highlight=1)
l get_shape(highlight=1)
Pin Fin Location
Parametric Mode
l enable_parametric_pinfins_location(highlight=1)
l set_first_spanwise_parametric_location(value,highlight=1)
l get_first_spanwise_parametric_location()
l set_last_spanwise_parametric_location(value,highlight=1)
l get_last_spanwise_parametric_location()
l set_streamwise_location(value,highlight=1)
l get_streamwise_location()
XYZ Mode
l enable_xyz_pinfins_location(highlight=1)
l set_x_location(value,highlight=1)
l get_x_location()
l set_y_location(value,highlight=1)
l get_y_location()
l set_z_location(value,highlight=1)
l get_z_location()
UV Mode
l enable_UV_pinfins_location(highlight=1)
l set_U_location(value,highlight=1)
l get_U_location()
l set_V_location(value,highlight=1)
l get_V_location()
Pin Fin Axis Control
Parametric Mode
l enable_parametric_pinfins_axis(highlight=1)
l set_streamwise_angle(value,highlight=1)
l get_streamwise_angle()
l set_spanwise_angle(value,highlight=1)
l get_spanwise_angle()
XYZ Mode
l enable_xyz_pinfins_axis(highlight=1)
l set_x_axis(value,highlight=1)
l get_x_axis()
l set_y_axis(value,highlight=1)
l get_y_axis()
l set_z_axis(value,highlight=1)
l get_z_axis()
Pin Fin Dimension Control
l set_depth(value,highlight=1)
l get_depth()
Circular Shape
l set_diameter(value,highlight=1)
l get_diameter()
l set_diameter2(value,highlight=1)
l get_diameter2()
Rectangular/Oval Shape
l set_width(value,highlight=1)
l get_width()
l set_heigth(value,highlight=1)
l get_heigth()
Quadrilateral Shape (4-Sided)
l set_holes_p1x(value,highlight=1)
l get_holes_p1x()
l set_holes_p2x(value,highlight=1)
l get_holes_p2x()
l set_holes_p3x(value,highlight=1)
l get_holes_p3x()
l set_holes_p4x(value,highlight=1)
l get_holes_p4x()
l set_holes_p1y(value,highlight=1)
l get_holes_p1y()
l set_holes_p2y(value,highlight=1)
l get_holes_p2y()
l set_holes_p3y(value,highlight=1)
l get_holes_p3y()
l set_holes_p4y(value,highlight=1)
l get_holes_p4y()
Pin Fin Orientation Control
l set_orientation_angle(value,highlight=1)
l get_orientation_angle()
Pin Fin Mesh Control
Grid Points Number
l set_number_of_points_in_boundary_layer(value,highlight=1)
l get_number_of_points_in_boundary_layer()
l set_number_of_points_streamwise(value,highlight=1)
l get_number_of_points_streamwise()
l set_number_of_points_spanwise(value,highlight=1)
l get_number_of_points_spanwise()
l set_number_of_points_streamwise_left(value,highlight=1)
l get_number_of_points_streamwise_left()
l set_number_of_points_streamwise_right(value,highlight=1)
l get_number_of_points_streamwise_right()
l set_number_of_points_spanwise_up(value,highlight=1)
l get_number_of_points_spanwise_up()
l set_number_of_points_spanwise_down(value,highlight=1)
l get_number_of_points_spanwise_down()
Optimization
l set_number_of_optimization_steps_inside_holes(value,highlight=1)
l get_number_of_optimization_steps_inside_holes()
l enable_skewness_control_inside_holes()
l disable_skewness_control_inside_holes()
l get_skewness_control_inside_holes()
l set_number_of_optimization_steps_arround_holes(value,highlight=1)
l get_number_of_optimization_steps_arround_holes()
l enable_skewness_control_arround_holes()
l disable_skewness_control_arround_holes()
l get_skewness_control_arround_holes()
Wake Control
l set_upstream_wake_length(value,highlight=1)
l get_upstream_wake_length()
l set_downstream_wake_length(value,highlight=1)
l get_downstream_wake_length()
Holes Line Mesh Shape Control
l set_hole_line_shape_link_to_next_hole_line_shape(value,highlight=1)
l get_hole_line_shape_link_to_next_hole_line_shape()
l set_hole_line_shape_link_to_previous_hole_line_shape(value,highlight=1)
l get_hole_line_shape_link_to_previous_hole_line_shape()
Global Mesh Control
l set_preserved_layers_on_lower_side(value,highlight=1)
l get_preserved_layers_on_lower_side()
l set_preserved_layers_on_upper_side(value,highlight=1)
l get_preserved_layers_on_upper_side()
l set_intersection_tolerance(value,highlight=1)
l get_intersection_tolerance()
13.2.28 PinFin Class Commands
l select()
l delete()
l getName()
Pin Fin Location
Parametric Mode
l set_first_spanwise_parametric_location(value,highlight=1)
l get_first_spanwise_parametric_location()
l set_last_spanwise_parametric_location(value,highlight=1)
l get_last_spanwise_parametric_location()
l set_streamwise_location(value,highlight=1)
l get_streamwise_location()
XYZ Mode
l set_x_location(value,highlight=1)
l get_x_location()
l set_y_location(value,highlight=1)
l get_y_location()
l set_z_location(value,highlight=1)
l get_z_location()
UV Mode
l set_U_location(value,highlight=1)
l get_U_location()
l set_V_location(value,highlight=1)
l get_V_location()
Pin Fin Axis Control
Parametric Mode
l set_streamwise_angle(value,highlight=1)
l get_streamwise_angle()
l set_spanwise_angle(value,highlight=1)
l get_spanwise_angle()
XYZ Mode
l set_x_axis(value,highlight=1)
l get_x_axis()
l set_y_axis(value,highlight=1)
l get_y_axis()
l set_z_axis(value,highlight=1)
l get_z_axis()
Pin Fin Dimension Control
l set_depth(value,highlight=1)
l get_depth()
Circular Shape
l set_diameter(value,highlight=1)
l get_diameter()
l set_diameter2(value,highlight=1)
l get_diameter2()
Rectangular/Oval Shape
l set_width(value,highlight=1)
l get_width()
l set_heigth(value,highlight=1)
l get_heigth()
Quadrilateral Shape (4-Sided)
l set_holes_p1x(value,highlight=1)
l get_holes_p1x()
l set_holes_p2x(value,highlight=1)
l get_holes_p2x()
l set_holes_p3x(value,highlight=1)
l get_holes_p3x()
l set_holes_p4x(value,highlight=1)
l get_holes_p4x()
l set_holes_p1y(value,highlight=1)
l get_holes_p1y()
l set_holes_p2y(value,highlight=1)
l get_holes_p2y()
l set_holes_p3y(value,highlight=1)
l get_holes_p3y()
l set_holes_p4y(value,highlight=1)
l get_holes_p4y()
Pin Fin Orientation Control
l set_orientation_angle(value,highlight=1)
l get_orientation_angle()
13.2.29 EndWall Class Commands
l select()
l delete()
End Wall Generation Control
l generate()
l generate_holes()
End Wall Parameters Control
l set_width(value)
l get_width()
l set_number_of_connected_layers(value) (New in AutoGrid5™ v13.1)
l get_number_of_connected_layers() (New in AutoGrid5™ v13.1)
l set_number_of_optimization_steps(value)
l get_number_of_optimization_steps()
l enable_multigrid_optimization(value)
l disable_multigrid_optimization(value)
l get_multigrid_optimization_status()
l set_generation_type(value) (New in AutoGrid5™ v13.1)
l get_generation_type() (New in AutoGrid5™ v13.1)
l number_of_holes_lines()
l add_holes_line()
l holes_line(i)
13.2.30 EndWallHole Class Commands
l select()
l delete()
l setName(value)
l getName()
Hole Location Control
XYZ Mode
l set_x_location(value,highlight=1)
l get_x_location()
l set_y_location(value,highlight=1)
l get_y_location()
l set_z_location(value,highlight=1)
l get_z_location()
MTheta Mode
l set_m_location(value,highlight=1)
l get_m_location()
l set_theta_location(value,highlight=1)
l get_theta_location()
Hole Axis Control
Parametric Mode
l set_streamwise_angle(value,highlight=1)
l get_streamwise_angle()
l set_spanwise_angle(value,highlight=1)
l get_spanwise_angle()
XYZ Mode
l set_x_axis(value,highlight=1)
l get_x_axis()
l set_y_axis(value,highlight=1)
l get_y_axis()
l set_z_axis(value,highlight=1)
l get_z_axis()
Hole Dimension Control
Circular Shape
l set_holes_diameter(value,highlight=1)
l get_holes_diameter()
Rectangular/Oval Shape
l set_holes_width(value,highlight=1)
l get_holes_width()
l set_holes_heigth(value,highlight=1)
l get_holes_heigth()
Quadrilateral Shape (4-Sided)
l set_holes_p1x(value,highlight=1)
l get_holes_p1x()
l set_holes_p2x(value,highlight=1)
l get_holes_p2x()
l set_holes_p3x(value,highlight=1)
l get_holes_p3x()
l set_holes_p4x(value,highlight=1)
l get_holes_p4x()
l set_holes_p1y(value,highlight=1)
l get_holes_p1y()
l set_holes_p2y(value,highlight=1)
l get_holes_p2y()
l set_holes_p3y(value,highlight=1)
l get_holes_p3y()
l set_holes_p4y(value,highlight=1)
l get_holes_p4y()
Hole Dimension Control
l set_orientation_angle(value,highlight=1)
l get_orientation_angle ()
13.2.31 EndWallHolesLine Class Commands
l select()
l delete()
l number_of_holes()
l hole(i)
l setName(value)
l getName()
External File Control
l exportGeometry()
l exportDefinition()
l defineGeometry(file_name)
Hole Line Geometry Control
Holes Number
l set_holes_number(value,highlight=1)
l get_holes_number()
Hole Shape
l set_circular_shape(highlight=1)
l set_rectangular_shape(highlight=1)
l set_oval_shape(highlight=1)
l set_quadrilateral_shape(highlight=1)
l get_shape(highlight=1)
Hole Location
Parametric Mode
l enable_parametric_holes_location(highlight=1)
l set_first_theta_location(value,highlight=1)
l get_first_theta_location(highlight=1)
l set_last_theta_location(value,highlight=1)
l get_last_theta_location(highlight=1)
l set_streamwise_location (value,highlight=1)
l get_streamwise_location(highlight=1)
XYZ Mode
l enable_xyz_holes_location(highlight=1)
l set_x_location(value,highlight=1)
l get_x_location()
l set_y_location(value,highlight=1)
l get_y_location()
set_z_location(value,highlight=1)
l get_z_location()
MTheta Mode
l enable_mtheta_holes_location(highlight=1)
l set_m_location(value,highlight=1)
l get_m_location()
l set_theta_location(value,highlight=1)
l get_theta_location()
Hole Axis
Parametric Mode
l enable_parametric_holes_axis(highlight=1)
l set_streamwise_angle(value,highlight=1)
l get_streamwise_angle()
l set_spanwise_angle(value,highlight=1)
l get_spanwise_angle()
XYZ Mode
l enable_xyz_holes_axis(highlight=1)
l set_x_axis(value,highlight=1)
l get_x_axis()
l set_y_axis(value,highlight=1)
l get_y_axis()
l set_z_axis(value,highlight=1)
l get_z_axis()
Hole Dimension
Circular Shape
l set_holes_diameter(value,highlight=1)
l get_holes_diameter()
Rectangular/Oval Shape
l set_holes_width(value,highlight=1)
l get_holes_width()
l set_holes_heigth(value,highlight=1)
l get_holes_heigth()
Quadrilateral Shape (4-Sided)
l set_holes_p1x(value,highlight=1)
l get_holes_p1x()
l set_holes_p2x(value,highlight=1)
l get_holes_p2x()
l set_holes_p3x(value,highlight=1)
l get_holes_p3x()
l set_holes_p4x(value,highlight=1)
l get_holes_p4x()
l set_holes_p1y(value,highlight=1)
l get_holes_p1y()
l set_holes_p2y(value,highlight=1)
l get_holes_p2y()
l set_holes_p3y(value,highlight=1)
l get_holes_p3y()
l set_holes_p4y(value,highlight=1)
l get_holes_p4y()
Hole Orientation
l set_orientation_angle(value,highlight=1)
l get_orientation_angle()
Hole Line Mesh Control
Grid Points Number
l set_number_of_points_in_boundary_layer(value,highlight=1)
l get_number_of_points_in_boundary_layer()
l set_number_of_points_streamwise(value,highlight=1)
l get_number_of_points_streamwise()
l set_number_of_points_azimutal(value,highlight=1)
l get_number_of_points_azimutal()
l set_number_of_points_streamwise_left(value,highlight=1)
l get_number_of_points_streamwise_left()
l set_number_of_points_streamwise_right(value,highlight=1)
l get_number_of_points_streamwise_right()
l set_number_of_points_azimutal_up(value,highlight=1)
l get_number_of_points_azimutal_up()
l set_number_of_points_azimutal_down(value,highlight=1)
l get_number_of_points_azimutal_down()
l set_up_clustering_relaxation(value,highlight=1)
l get_up_clustering_relaxation()
l set_down_clustering_relaxation(value,highlight=1)
l get_down_clustering_relaxation()
Optimization
l set_number_of_optimization_steps_inside_holes(value,highlight=1)
l get_number_of_optimization_steps_inside_holes()
l enable_skewness_control_inside_holes()
l disable_skewness_control_inside_holes()
l get_skewness_control_inside_holes()
l set_number_of_optimization_steps_arround_holes(value,highlight=1)
l get_number_of_optimization_steps_arround_holes()
l enable_skewness_control_arround_holes()
l disable_skewness_control_arround_holes()
l get_skewness_control_arround_holesc
Wake Control
l set_upstream_wake_lenght(value,highlight=1)
l get_upstream_wake_lenght()
l set_downstream_wake_lenght(value,highlight=1)
l get_downstream_wake_lenght()
Holes Line Mesh Shape Control
l set_hole_line_shape_link_to_next_hole_line_shape(value,highlight=1)
l get_hole_line_shape_link_to_next_hole_line_shape()
l set_hole_line_shape_link_to_previous_hole_line_shape(value,highlight=1)
l get_hole_line_shape_link_to_previous_hole_line_shape()
Global Mesh Control
l set_preserved_layers_on_lower_side(value,highlight=1)
l get_preserved_layers_on_lower_side()
l set_preserved_layers_on_upper_side(value,highlight=1)
l get_preserved_layers_on_upper_side()
l set_intersection_tolerance(value,highlight=1)
l get_intersection_tolerance()
© NUMECA International, all rights reserved
EN201808281624

NEW FEATURES IN V13
This document provides a description of the new capabilities and major improvements included in
AutoGrid5™ v13 as well as statements outlining main customer benefits and known limitations.
The following is a detailed list of new capabilities and enhancements in AutoGrid5™ v13:
All Products:
"Flexlm based security ID updated to v18" (p. 3)
"Improve administration wizard" (p. 4)
"General upgrade in package" (p. 5)
AutoGrid5™:
"New gap topology" (p. 6)
"Partial wake prolongation & relax clustering in bypass configuration" (p. 6)
"Block conversion to right-handed after mesh generation" (p. 8)
"Reduce ZR effect default mesh size" (p. 8)
"New ZR effect Python commands" (p. 9)
"New Python commands" (p. 10)
0.1
FLEXLM BASED SECURITY ID UPDATED TO
V18
(New in AutoGrid5™ v13.1)
(All Products)
AutoGrid5™ requires FlexLM based license keys for execution. In AutoGrid5™ v13, the
security ID has been upgraded from v17 to v18 thus requiring the delivery of new license keys for
execution
Customer Benefits
None
Known Limitations
None
0.2
IMPROVE ADMINISTRATION WIZARD
(New in AutoGrid5™ v13.1)
(All Products)
The user-friendliness of the license management and diagnostics of the administration wizard is
improved:
l License Management>Product (de)activation: Deactivate button to return all fulfillment and all
servers on the machine.
l License Management>Trusted storage: check-box to return a fulfillment and refresh button to
refresh the fulfillment status if needed.
l License Management>License server: control and display the status of the known servers and
the list of all the features deserves by the selected server.
l Diagnostics: Support request button to generate a file containing the results from the checks
performed.
Customer Benefits
More user-friendly tool to diagnose and manage licensing.
Known Limitations
None
0.3 GENERAL UPGRADE IN PACKAGE
(New in AutoGrid5™ v13.1)
(All Products)
General upgrade is made in the package:
l Use of Datakit 2017.3 (for Catia V5 file import).
Customer Benefits
CATIA R26 support.
Known Limitations
None
0.4
NEW GAP TOPOLOGY
(New in AutoGrid5™ v13.1)
A new gap topology (O2H) allows to impose a higher number of points at the trailing edge than
at the leading edge.
Customer Benefits
Better capture the wake by adding more points at trailing edge without adding too much points at
the leading edge.
Known Limitations
l Not available with HOH blade-to-blade topology, with blunt blade or partial gap.
l Not available with blade cooling module.
0.5
PARTIAL WAKE PROLONGATION & RELAX
CLUSTERING IN BYPASS CONFIGURATION
(New in AutoGrid5™ v13.1)
Meshing bypass configurations has been improved:
l The new partial wake prolongation option propagates the wake angle from the unfixed control
line to the next fixed control line where it becomes horizontal.
l Mesh after a nozzle control line is progressively relaxed to the outlet by default to improve
mesh quality.
l Mesh is also fully relaxed at nozzle control lines. If there are control lines before the nozzle,
the mesh is unmodified at the first downstream and progressively relaxed till nozzle control
lines. The relaxation is controlled by the Python commands set_ downstream_ block_
relaxation_before_nozzle(value) and get_downstream_block_relaxation_before_nozzle().
Customer Benefits
Improved mesh quality for bypass configuration.
Known Limitations
None
0.6
BLOCK CONVERSION TO RIGHT-HANDED
AFTER MESH GENERATION
(New in AutoGrid5™ v13.1)
For a new template created in AutoGrid5™ v13.1, all the left-handed blocks are converted to
right-handed at the end of the mesh generation. Therefore the preference Keep Left Handed
Orientation After Saving has no more effect.
Customer Benefits
Improve process chain.
Known Limitations
None
0.7
REDUCE ZR EFFECT DEFAULT MESH SIZE
(New in AutoGrid5™ v13.1)
When creating a new ZR effect and computing the default mesh, the number of points in the ZR
effect could be divided by more than 2 compare to v12 while keeping a good boundary layer.
A new clustering type “ZReffect boundary layer” is available in ZR effect edit mode without
control parameters. It is only setup by the default mesh process.
Customer Benefits
Reduce number of points of the generated mesh while keeping a good boundary layer in the
ZR effects.
Known Limitations
l When moving manually vertices or fixed points, new distribution type will not be recomputed
but simply rescaled.
l Expansion ratio can be higher than before after propagating channel number of points.
0.8
NEW ZR EFFECT PYTHON COMMANDS
(New in AutoGrid5™ v13.1)
New commands have been added in the TechnologicalEffectZR class:
l to set/get autoblocking expert parameters: set_H_topology_around_corners(value), get_H_
topology_ around_ corners () , set_ H_ topology_ around_ thin_ films (value) and get_ H_
topology_around_thin_films();
l to return number of unmapped edges: detect_unmapped_edges().
Customer Benefits
More flexibility in setting up projects with Python.
Known Limitations
None
0.9
NEW PYTHON COMMANDS
(New in AutoGrid5™ v13.1)
Python scripts can now be executed without the GUI using "-real-batch" mode. New Python
commands have been added to increase the usability for both "-batch" and "-real-batch" modes,
along with new commands for the generation of the ZR and 3D effects.
Customer Benefits
Expanded usability of Python scripting.
Known Limitations
None
© NUMECA International, all rights reserved
EN201808281626

New Features in v13
This document provides a description of the new capabilities and major improvements included in IGG™ v13 as well as statements outlining main customer benefits and known limitations. 
 The following is a detailed list of new capabilities and enhancements in IGG™ v13:
All Products:
Flexlm based security ID updated to v18 

Improve administration wizard

General upgrade in package 

Flexlm based security ID updated to v18 
(New in IGG™ v13.1)
        
(All Products)
IGG™ requires FlexLM based license keys for execution. In IGG™ v13, the security ID has been upgraded from v17 to v18 thus requiring the delivery of new license keys for execution
Customer Benefits

None
Known Limitations

None


Improve administration wizard
(New in IGG™ v13.1)
        
(All Products)
The user-friendliness of the license management and diagnostics of the administration wizard is improved:

License Management>Product (de)activation: Deactivate button to return all fulfillment and all servers on the machine.
License Management>Trusted storage: check-box to return a fulfillment and refresh button to refresh the fulfillment status if needed.
License Management>License server: control and display the status of the known servers and the list of all the features deserves by the selected server. 
Diagnostics: Support request button to generate a file containing the results from the checks performed.

 
Customer Benefits

More user-friendly tool to diagnose and manage licensing.
Known Limitations

None


General upgrade in package 
(New in IGG™ v13.1)
        
(All Products)
General upgrade is made in the package:

Use of Datakit 2017.3 (for Catia V5 file import).

 
Customer Benefits


            CATIA R26 support.
        
Known Limitations

None

IGG™
IGG™ enables the creation of 2D and 3D arbitrary shapes and multi-block structured grids on 2D/ 3D geometries. IGG™ also supports python scripts for automatic replay into optimization loops. To get started with the use of IGG™ the links in the following paragraphs can be of good use.
Installation

IGG™/AutoGrid5™ is included in the installation of 
 FINE™/Turbo
.

What's new?
New Features in v13

Getting started with IGG™
To get started with the use of IGG™ the following material is available:
User Guide,
Demo Case 2 of FINE™/Turbo is an example of a case with an IGG™ mesh,
Tutorials: step-by-step instructions to create a mesh in IGG™

TUTORIAL 5. Axisymmetric Seal Leakage

Introduction

Introduction

Prerequisites

Presentation

Preparation

Mesh Generation

Define Project Configuration

Import Geometry

Create & Control Blocks

Define Clustering

Control Mesh Quality

Define Boundary Conditions

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To
 answer these questions, NUMECA has developed a Flow INtegrated 
 Environment for internal and Turbomachinery assimilations called 
 FINE™/Turbo. The environment integrates the following tools:


IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™ 
 is a three-dimensional Automated Grid generation software tool, 
 dedicated to turbomachinery applications. Similarly to IGG™, it is based
 on structured multi-block techniques.
Euranus
 is a state-of-the-art multi-block flow solver, able to simulate Euler 
 and Navier-Stokes equations in the laminar, transitional and turbulent 
 regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™ 
 Graphical User Interface is a user-friendly environment that includes 
 the different software. It integrates the concept of projects and allows
 the user to achieve complete simulations, going from the grid 
 generation to flow visualization, without the need of file manipulation.

The tutorial shows the successive steps that must be followed to generate a mesh of an axisymmetric geometry (i.e. seal leakage) and to define the boundary conditions required before starting a solver:

set up an axisymmetric project,
import curves needed for meshing,
define the topology before meshing,
create/place blocks,
specify the clustering,
generate a face grid,
check the mesh grid quality,
define the boundary conditions.

Prerequisites
This tutorial does not require any prior knowledge but it is strongly recommended for beginners to perform the basic Tutorial 1, Tutorial 2 and Tutorial 3.
Presentation
A mesh of an axisymmetric seal leakage is created in this example case. The input geometry describing the seal leakage consists of the curves defined in a ".dat" file.  (Where to Find the Files Used in the Tutorials?)
Using the axisymmetric option, only one face of a block (lying in the plane) will be generated instead of six, as classically required when generating 3D blocks. During the saving of the mesh, IGG™  will automatically generate the volume grid by rotating one cell along the Z-axis, to match the requirement of the FINE™/Turbo flow solver.


Preparation
Start IGG™

On  Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows

click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or  in Start/Programs/NUMECA Software/AutoGrid#.

alternatively IGG™ can be launched from a dos shell by typing:

<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or 

<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>

where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic Installation section and # is the version (e.g. 131 ).





The IGG™ graphical user interface by default 
 provides a visualization of the geometry and mesh of the internal 
 or external test case in the 3D view. The access to main menu and 
 controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar and a control area (including the keyboard input area).
Mesh Generation
Before running the IGG™  software, it is advised to make a sketch of the face to be generated and to identify the grid boundaries, as well as the number and orientation of segments on each of the edges.
Conventionally in axisymmetric configurations (2D), the face being generated is always Face 1 of the 3D block. For this face, the topology selected for the seal leakage is shown in the following figure.


Define Project Configuration
When launching IGG™, a 3D project is initialized by default. For this tutorial, the axisymmetric option needs to be activated.
1. Access the File/Project Configuration... menu: a dialog box is opened.
2. In the Dim area, left-click the axisym button.
3. Keep the axis of rotation along Z.
4. Click the Apply button to validate the input: a confirmation is asked.
5. Choose yes to confirm.
6. Close the dialog box.
A new axisymmetric project is now initialized and only the XZ-plane is active. The depth of the view, controlling the y-coordinate, is invariably set to 0. You are now ready to start to mesh the axisymmetric seal leakage in 2D!
Import Geometry
7. Go to File/Import/IGG Data... (). A file chooser is opened. Select the "seal-leakage.dat" file  (Where to Find the Files Used in the Tutorials?). The curves are  loaded into IGG™  and displayed in the active view.                  
8. Left-click the Default orientation button () in the Viewing buttons area.
Create & Control Blocks
9. Left-click the Insert New Face icon () in the Quick Access Pad/Grid/Create page. A square face will appear in the graphics area.
10. Move the cursor (representing the left corner of the rectangle) near the inlet polyline (see figure below). Once the cursor is attracted to the top left corner, left-click to place the first point.
11. Move the cursor (representing the right corner of the rectangle) near the outlet polyline (see figure below). Once the cursor is attracted to the bottom right corner, left-click to place the second point. The square face is now fixed and should appear with a default orientation.
12. Left-click to accept the default orientation and to complete the face creation.


At this stage, the face is created. Its four edges appear as straight lines which still need to be mapped onto the seal leakage geometry.
13. Move vertices to map the block on the geometry:

Move the mouse to the desired vertex.
Left-click the vertex when highlighted in yellow to pick it.
Move the mouse to place the vertex on the geometry.
Left-click to fix the vertex position (edges are automatically mapped onto the geometry when the vertices used by the edge are on the same curve or surface).

The number of grid points along the I- and J-directions is currently 9 (default) and will be changed to (25x61).
14. The number of grid points will be changed as follows:

Left-click the left segment to select it (the selected segment is highlighted in yellow).
Right-click and select Segment/Set Number of Points.
Type <25> in the Set Number of Points dialog box, press <Enter> and click Apply.
Repeat the above steps to set the number of points to 61 for the top segment.

The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.

Close the dialog box.



The initial mesh can be visualized by pressing the Toggle Face Grid icon ()
 in the Quick Access Pad/View/Grid page.
15. Map the seal leakage geometry as presented in the following figure (repeat step 9 to step 14).


16. Insert a vertex with a fixed point attached to the edge to ensure a matching connection:

Left-click the Insert Vertex icon () in the Quick Access Pad/Grid/Insert/Edit page.
Move the mouse to the desired edge (figure below): a square marker representing the vertex will appear when the cursor is close enough to the edge.
Left-click to fix the vertex to the edge and place it (left-click).
Move the mouse to the additional vertex.
Right-click it when highlighted in yellow and select Attach Fixed Point: a diamond marker representing the vertex with attached fixed point will be highlighted in yellow when moving the mouse over it.




Right-click the marker when highlighted in yellow and select Change ... index.




In the keyboard input area, type <13> and press <Enter> to change the grid point attached to the vertex.

17. Fill the seal leakage geometry as presented in the following figure (repeat step 9 to step 14).


Additional vertices have to be inserted (empty square in above figure) in blocks A, B, C and D respectively. 
You can also use the shortcut <i> to activate the Insert Vertex function.
18. Fill the seal leakage geometry as presented in the following figure (repeat step 9 to step 14).


19. Insert a vertex with a fixed point attached to the edge to ensure a matching connection as presented in the above figure (repeat step 16).
20. Insert an internal grid line to control the grid generation and/or allow a connection between blocks:

Left-click the block edges to select the block as presented in the figure below.
Click the Insert Internal Grid Line icon () in the Quick Access Pad.
Move the mouse cursor over the active face. When moving the cursor over a grid line, the grid line is highlighted and its index appears on the screen.
Press <i> or <j> to enable grid line selection in a preferred direction. To disable it, press <u>.
Left-click to create the internal grid line as presented in the following figure ("I = 17").
Select no when asked to create the underlying geometry (underlying geometry is not necessary if you want to place the internal grid line on existing geometry entities).




Repeat the above steps to create a second internal grid line at "I = 45".

21. Modify the location of the vertices to control the mapping and to ensure the connections:

Move the mouse to the desired vertex and left-click to select it.
Place the vertex to the new desired location and left-click again to fix it to the new position.



22. Insert internal grid lines (repeat step 20) used to control the face grid generation and/or to allow a connection between the blocks as presented in the following figure at "I = 13", "25", "37", "49", "61", "73", "85", "97".


23. Modify the location of the vertices to control the mapping and ensure connections:


24. If needed, the vertices added in step 17 on block A have to be removed  first (right-click the vertex when highlighted in yellow and select Delete Vertex) in order to correctly place the internal grid lines. Afterward, the vertices have to be inserted again in block A.
25. Insert an internal grid line to control the inlet block as presented in the following figure (repeat step 20).
26. Modify the location of the vertices to control the mapping and to ensure connections.


Once the edges and internal grid lines of the faces are set up, the next step consists of connecting the faces to ensure the connection between the blocks and to ease the clustering.
27. Left-click the Whole Grid button in the Quick Access Pad/Grid/Connect page: a popup window appears.
28. Consecutively left-click Vertices, Orphan Vertices, Edges and Grid Points to connect the whole grid. The selected entities which are connected will be highlighted in green, or red if already detected.


Define Clustering
Once the edges of the face are set up, the next step is to specify the clustering of grid points along each edge. This step is essential before proceeding to the face grid generation since the location of the grid points at the boundaries (on the edges) is directly used to interpolate the face grid.
Grid point clustering will be specified here to capture the boundary layer on the solid walls.
the following figure shows the boundary conditions of the seal leakage and presents the solid walls on which the boundary layer needs to be captured (cell width of 1e-5 [m]).


29. Click the Cluster Points icon () in the Quick Access Pad/Grid/Insert/Edit page. A dialog box appears which can be used to control the distribution.
30. Select Define/Edit group to define a new group: a new dialog box is opened.
31. Press the Create button. The dialog is extended to provide a field in which the name of the group can be specified. Enter the name <group1> and press <Enter> (or the Create button). The group is added to the list. Do not close the dialog box at this stage.


32. The segments will now be added to the group one by one:




Move the cursor to one of the segments defining a block section and left-click to select it. When selected, arrows appear on the segment and the parent block is highlighted. If this is not the proper segment, repeat the step.
Middle-click to add the segment to the list. The segment appears in the group in the dialog box.
Repeat the above steps to add all segments defining the section of the block as presented in the following figure.




Close the dialog box or right-click in the graphics area to complete the group creation.

The group is now defined and can be used to specify the clustering on all segments at once.
33. In the popup menu of the Clustering dialog box, select the group name "group1" (it should be the default).
34. Select distribution type At Both Ends and set Initial spacing to <1e-5>.
35. Click Apply to group to apply the clustering to each segment in the group.


The grid point distribution can be visualized by clicking the Quick Access Pad/View/Grid/Toggle Grid Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing the mesh, using the Quick Access Pad/View/Grid/Toggle Face Grid icon (alternatively, use <Ctrl-z>).
The clustering on the segments can also be set one by one, with no group defined.
36. Select the segment presented in the following figure by left-clicking it (highlighted in yellow).
37. Select distribution type At Both Ends and set Initial spacing to <1e-4>.
38. Press the Apply to seg button to perform the clustering.


39. Repeat the above steps to impose the clustering on all segments of the mesh as presented in the figures below.






40. Close the dialog box.
The face of the block is now completely created and generated.
Control Mesh Quality
41. Check for negative cells by clicking .



                42. Click Apply and press Ok in the dialog box.
            

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by clicking the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

43. Close the dialog box.
44. Check for grid quality by clicking .


A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
45. Set block number (0 for all).
46. Select quality criteria using the Type pull-down menu.
47. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The 
 histogram is drawn per block (0 = all blocks).
 
48. Left-click part of the histogram to plot the corresponding cells in the 3D view.
49. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


50. Close the dialog box.
Define Boundary Conditions
This section explains the division of a face into patches and the setting of a boundary condition type for each patch.
As explained in the introduction, an axisymmetric project consists of a 2D face grid rotated along the Z-axis to yield a 3D block. Within the axisymmetric project, boundary conditions are specified directly on this 3D block. The rotation is performed automatically by IGG™  when opening the dialog box to set the boundary conditions.
51. Select the Grid/Boundary Conditions... menu to open the dialog box. The 2D face grids are automatically rotated and appear as 3D blocks in the 3D view.
The boundary condition type for Faces 1 and 2 for all blocks are automatically set to PER (periodic matching condition) in 2D, which explains why these faces do not appear in the patch browser (because their boundary condition type cannot be changed). Face 3 is activated in the dialog box and displayed in pink meaning that its boundary condition type is undefined.
52. For Face 3 of Block 1, set Patch Type to INL (inlet boundary condition). To do this, left-click Set Patch Type, drag the mouse to INL and release the left mouse button.


53. Select Face 4 in the dialog box (left-click it) and set Patch Type to OUT (outlet boundary condition).
54. Select Face 6 in the dialog box and set Patch Type to SOL (solid wall).
Face 5, which corresponds to the top of the block must be divided into several patches. The patches will be obtained by dividing the existing patch into three smaller ones.
55. Select Face 5 (1 5) and press the button Edit Patch >>. Right-click in the K-J domain and select the Divide Patch vertically option to divide Face 5 at indices 17 and 45 (type <17> and press <Enter>, then type <45> and press <Enter> to validate the divisions). Set Patch Type of patches 1 and 3 of Face 5 (1 5 1 and 1 5 3) to SOL (solid boundary condition).


56. Repeat the above steps to divide the four patches presented in the figures below.


57. Set the Patch Type to SOL (solid boundary condition) or INL (inlet boundary condition) as presented in the following figure. To do this. select the right patch in the list, left-click Set Patch Type, drag the mouse to SOL or INL and release the left mouse button.


Some patches remain undefined (UND). These patches should be connected, since they are located at the same position.
58. Click the Search button in the Connectivity (CON / NMB / PER / PERNM) area to automatically set up the connection (CON) between the undefined patches.


59. Select UND in the Type pull-down menu and check that there are no patches in the patch list that are still set to an undefined type.
60. Close the dialog box: the view is set automatically back to the projected XZ-view.
Save Project
61. Go to File -> Save -> Save As <tutorial5> and press <Enter> to save the mesh files.
The mesh files (6 files) contain the multiblock mesh topology, geometry, grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg" and ".config". For more information regarding these files, the user is referred to the User Guide.

TUTORIAL 4. Volute

Introduction

Introduction

Prerequisites

Presentation

Preparation

Mesh Generation

Load Geometry

Create & Control Blocks

Generate Block Grid

Control Mesh Quality

Define Boundary Conditions

Define Full Non Matching Connection

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:


IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation.

The tutorial consists of the mesh generation of a volute to explain the basic features of the major topology and grid generation modules within IGG™.
The tutorial shows the successive steps that must be followed to generate a 3D mesh and to define the boundary conditions required before starting a solver:

import an existing geometry,
define the topology,
create internal grid faces,
project face grid onto a surface,
check mesh quality,
create full non-matching connection.

Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for beginners to perform the basic Tutorial 1, Tutorial 2 and Tutorial 3.
Presentation
A mesh in a volute is created in this example case. The volute consists of a scroll limited by two planes completed by curves and surfaces that will be used to map the structured grid blocks on the geometry. The final generated mesh is shown below.


Preparation
Start IGG™

On  Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows

click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or  in Start/Programs/NUMECA Software/AutoGrid#.

alternatively IGG™ can be launched from a dos shell by typing:

<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or 

<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>

where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic Installation section and # is the version (e.g. 131 ).





The IGG™ graphical user interface by default provides a visualization of the geometry and mesh of the internal or external test case in the 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar and a control area (including the keyboard input area).
Mesh Generation
Load Geometry
The next steps describe the importation of geometry curves and surfaces needed to delimitate the computational domain.  (Where to Find the Files Used in the Tutorials?)
1. Open File/Import/IGG Data... (). A file chooser is opened. Select the "volute.dat" file. The curve is loaded into IGG™  and displayed in the active view.
2. Create geometry groups to organize geometrical data:

Click Create group in the View/Geometry Groups page of the Quick Access Pad.
Type <main> and press <Enter> to set a name for the first group, which will contain the curves and surfaces defining the scroll.
Repeat the above steps to create a second group <outlet> that will contain the curves and surfaces defining the volute exit.



3. Add selected geometry to each group:

Select Geometry/Select/Curves and Geometry/Select/Surfaces to select curves or surfaces respectively. 
Left-click a geometrical entity to select it (selected curves highlighted in yellow and selected surfaces highlighted in red or yellow).  Select the curves and surfaces as illustrated in yellow and red in below figure.
A group of curves/surfaces can be easily selected by left-clicking and moving the mouse over the screen without releasing the mouse button. All the curves/surfaces included in the specified region, will be selected when the mouse button is released.
Right-click the "main" group name.
Select Add Selection to add the selected geometry in the selected group.




Repeat above steps, selecting now all the remaining curves and surfaces. Check carefully that all the remaining curves and surfaces are selected. Add the selected geometries to the "outlet" group.


4. Left-click a group name to toggle the display of the corresponding geometry group.
The geometry is now organized.
Create & Control Blocks
This section describes the creation of the blocks used to mesh the full volute. In general, a first block is used to mesh the scroll, a second block to mesh the volute exit and a third block to control the mesh in the nozzle area. These blocks will be created by constructing an initial cube, specified by two opposite corners, and by snapping their vertices to the boundary curves of the surface. During these operations, the edges of the blocks will be automatically mapped on the curves or surfaces.
5. Left-click the Insert New Block icon ().
6. Place the first vertex as presented in the following figure at the desired location and left-click to validate its position.
7. Place the second opposite vertex as presented in the following figure and left-click to validate its position.
A local coordinate axis system IJK will appear at the location of the first vertex. Its orientation can be modified so that the K-axis points in the flow direction, as an example.
8. Choose the block axes:

Press the <o> key to change the axis origin if necessary.
Press the 
 key to change the axis orientation if necessary.
Left-click to validate the axis choice.

Right-click will abort the block insertion.


9. Move vertices to map the block onto the geometry:

Move the mouse to the desired vertex.
Left-click it when highlighted in yellow to pick it.
Move to mouse to place the vertex on the geometry.
Left-click to fix the vertex position (edges are automatically mapped onto the geometry when the vertices used by the edge are on the same curve or surface).



10. Visualize your block with the wireframe and shading grid viewing option.
11. Extend the block along the scroll:

Left-click the Extend block icon ().
Left-click the face (face edges highlighted in white or black) to extend the block as shown in the following figure.
Middle-click to expand the block.
Move the mouse and left-click to fix the extended block face.



12. Move the block vertices to map the extended block edges as shown below.


The block extension automatically creates an internal face. The internal face divides the perpendicular edges into two segments (initial segment and an extended segment).
13. Repeat the above steps to cover the full volute scroll as presented in figure below.


Vertices can be added to map the blocks onto the geometry if necessary by clicking the  Insert Vertex icon ( ). Vertices are visualized in your block with the vertices grid viewing option.


By default, the extended segments have only two grid points.
14. Increase the number of grid points along the "extended" segments:

Left-click the segment to select it (the selected segment is highlighted in yellow).
Right-click and select Segment/Set Number of Points.
Type for example <13> and press <Enter> in the Set Number of Points dialog box. Click Apply.
Repeat the above steps to set the number of points as presented in figure below.



The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.

Close the dialog box.

15. Control the clustering along segments:

Left-click a segment to select it (the selected segment is highlighted in yellow).
Click the Cluster Points icon () in the Quick Access Pad/Grid/Insert/Edit menu. A dialog box appears which can be used to control the distribution.

16. Select Define/Edit group to define a new group: a new dialog box appears.
17. Click the Create button. The dialog is extended to provide a field in which the name of the group can be specified. Enter the name <group-1> and press <Enter> (or the Create button). The group is added to the list. Do not close the dialog at this stage.
18. The segments will now be added to the group one by one in the following way:




Move the cursor to one of the segments to define a block section and left-click to select it. When selected, arrows appear on the segment and the parent block is highlighted. If this is not the proper segment, repeat the step.
Middle-click to add the segment to the list. The segment should appear in the group in the dialog box.
Repeat the above steps to add all the segments defining the section of the block as presented in figure below.




Close the dialog box or right-click in the graphics area to complete the group creation.

The group is now defined and can be used to specify the clustering on all segments at once.
19. In the popup menu of the Clustering dialog box select group name "group-1" (it should be the default).
20. Select distribution type At Both Ends and set initial spacing to <0.01>.
21. Click Apply to group to apply the clustering to each segment in the group.


The grid point distribution can be visualized by selecting the Quick Access Pad/View/Grid/Toggle Grid Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing the mesh using the icon Quick Access Pad/View/Grid/Toggle Face Grid (<Ctrl-z>).
22. Close the dialog box.
By default, all the faces of the block are generated using a bilinear interpolation. However, the curved faces should lie on the surfaces defining the scroll. A projection must be performed for these faces so that the grid exactly points on the surface.
23. Select the surfaces corresponding to the scroll (Geometry/Select/Surfaces item or select "main" under View/Geometry group).
24. Select one of the curved faces by left-clicking a face segment until the face edges are highlighted in white or black.
25. Click the Project Face icon () in the Quick Access Pad/Grid/Generate page. It opens a dialog box to set the projection parameters.
26. Keep the default parameters: projection on Selected Surfaces - validation level 2 - boundary projection Off, since the edges are already on the surface (automatic mapping feature) - entire Face projection.
27. Click Apply to perform the projection of the active face.


28. Repeat the above steps for the other curved face and Close the dialog box.
29. Repeat step 9 to move the face close to the nozzle as presented in the following figure to ensure a good quality of the mesh when adding a new block around the nozzle.


Vertices can be added to map the blocks onto the geometry if necessary by left-clicking the  Insert Vertex icon ().
Before generating the block grids, a check must be performed to ensure that the faces still lie on the input geometry. This might not be the case anymore if an operation has been performed on the block faces, for example adjusting a vertex interactively. In that case, IGG™  performs a default algebraic 4 boundary interpolation to keep the face grids inline with the boundaries.
This regeneration can be done in a straightforward way by replaying the generation of the face grids.
30. Select the Regenerate Faces item in the Quick Access Pad/Grid/Generate page. A dialog box is opened to select the face(s) to regenerate.
31. Select All Blocks Faces.
32. Click Apply to fully regenerate all face grids of all the blocks in the project.
33. Close the dialog box.
All the boundary faces of the block are now properly generated.
To mesh the area around the nozzle a new block will be created by its 8 vertices.
34. Left-click the Insert New Block by picking vertices icon () in the Quick Access Pad.
35. Move the mouse to the desired location and left-click to place the first vertex.
36. Repeat the above steps to place the other three vertices defining the first face.
When the first four vertices are placed, a 3D block appears following the mouse cursor. You can lock the movement in one direction by pressing one of the following key: <x>, <y>, <z> to lock the movement in the specified axis directions, <n> to lock the movement perpendicular to the first face, <v> to lock the movement in a user-defined direction and <u> to unlock.
37. Repeat the above steps to place the other four block vertices defining the opposite face.
A local coordinate axis system IJK will appear at the location of the first vertex. Its orientation can be modified so that the K-axis points in the flow direction, as an example.
38. Choose the block axes:

Press the <o> key to change the axis origin if necessary.
Press the 
 key to change the axis orientation if necessary.
Left-click to validate the axis choice.



39. Insert an internal grid face to control the face grid generation and/or to allow a connection between blocks:

Left-click the block edges to select the block as presented in figure below.
Left-click the Insert Internal Face icon () in the Quick Access Pad.
Left-click yes to confirm the block 2 generation.
Set the Sweep along J to <2>: the internal grid face appears in red.
Click Save.
For the second face set the Sweep along J to <3>: the internal grid face appears in red.
Click Save.
Close the dialog box.



Each internal face is composed of four edges and four vertices (diamond).
40. Modify the location of the internal faces vertices and add an additional vertex to control the mapping if necessary:

Go to Geometry/Draw Polyline/Free to create a polyline to map the vertices of the internal grid faces as presented in next figure.
Move the face vertices to the desired location (step 9).
Add a new vertex to control the mapping by left-clicking the Insert Vertex icon () and left-clicking the desired edge to add the vertex on it. Move the new vertex to the desired location (step 9).





41. Increase the number of grid points along the segments:Left-click segment to select it (the selected segment is highlighted in yellow).Right-click and select Segment/Set Number of Points.Type <25> and press <Enter> in the Set Number of Points dialog box. Click Apply to confirm.Repeat the above steps to set the number of points as shown in the following figure.


The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.

Close the dialog box.

42. Control the clustering along the segments:

Left-click segment to select it (the selected segment is highlighted in yellow).
Click the Cluster Points icon () in the Quick Access Pad/Grid/Insert/Edit menu. A dialog box appears which can be used to control the distribution.
Select the distribution type as presented in figure below.
Press the Apply to seg button to apply the clustering to the selected segment.




Adapt the clustering in block 1 if necessary to ensure a good quality between the block used for the scroll and the block used for the nozzle.




Left-click the segment to select it (the selected segment is highlighted in yellow).
Select the distribution type as presented in figure below.
Press the Apply to seg button to apply the clustering to the selected segment.




Close the dialog box.

By default, all the faces of the block are generated using a bilinear interpolation. However, the curved faces should lie on the surfaces defining the nozzle. A projection must be performed for these faces such that the grid lies exactly on the surface.
43. Select the surfaces corresponding to the nozzle (Geometry/Select/Surfaces item or select "main" in View/Geometry group).
44. Select one of the faces by left-clicking a face segment until the face edges are highlighted in white or black.
45. Click the Project Face icon () in the Quick Access Pad/Grid/Generate page. A dialog box which is used to set the projection parameters appears.
46. Keep the default parameters: projection on Selected Surfaces - validation level 2 - boundary projection Off, since the edges are already on the surface (automatic mapping feature) - entire Face projection for the faces of block 1 or define Range projection for the face of block 2 (left-click the limit of the yellow square, type the values as presented in below picture and press <Enter>).
47. Click Apply to perform the projection of the active face.
48. Repeat the above steps to project the other two faces onto the surfaces.


To mesh the volute exit, a last block will be created by extruding a range of the nozzle block face. In order to make sure that the meshing works properly, this face should cover the volute exit completely.
49. Click the Extrude Range icon () in the Quick Access Pad/Grid/Create page. It opens a dialog box to set the extrusion range as well as the direction and magnitude of the extrusion.


By default, the range corresponds to the complete face and is displayed in red in the graphics area.
50. Change the range by left-clicking each boundary of the small yellow square and enter the appropriate values. These values should be such that the range fits the volute exit, as shown in the above figure: the limits I = [1,25] and J = [37,61] have been selected.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.
51. Select the User Direction option and type <0 -1 0> (direction of the volute exit).
52. Change the Magnitude to <55> (size of the volute exit).
53. Click Apply a new block is created. Close the dialog box.


When extruding a new block, IGG™  automatically connects the new block to the existing one by connecting the vertices, the topological edges and the segments. A division into patches of the reference face and a connection is also performed, if possible.
54. Select the Block or Grid scope in the Quick Access Pad/View/Grid page.
55. Select the Toggle Vertices icon () to visualize the grid for the whole block.
56. Left-click one of the four vertices.
57. Move and left-click to snap this vertex to the volute exit, as shown in the following figure.



            58. If necessary, add a new vertex to control the mapping by clicking the Insert Vertex icon () and left-clicking the desired edge to add the vertex on it. Move the new vertex (step 9) to the desired location (see above figure).
59. Repeat the above steps for the three other vertices.
60. Increase the number of grid points in the flow direction:

Left-click a segment to select it (the selected segment is highlighted in yellow).
Right-click and open the Segment/Set Number of Points menu.
Type <25> and press <Enter> in the Set Number of Points dialog box. Click Apply.

61. Control the clustering along segments:Left-click a segment to select it (the selected segment is highlighted in yellow).Click the Cluster Points icon () in the Quick Access Pad/Grid/Insert/Edit menu. A dialog box appears which can be used to control the distribution.Select the distribution type as presented in the following figure.Press the Apply to seg button to apply the clustering to the selected segment.



Close the dialog box.

By default, all faces of the block are generated using a bilinear interpolation. However, the faces should lie on the surfaces defining the volute exit. A projection must be performed for these faces such that the grid lies exactly on the surface.
62. Select the surfaces corresponding to the volute exit (use Geometry/Select/Surfaces or select "outlet" in View/Geometry group).
63. Select one of the faces by left-clicking a face segment until the face edges are highlighted in white or black.
64. Click the Project Face icon () in the Quick Access Pad/Grid/Generate page. It opens a dialog box to select projection parameters.
65. Keep the default parameters: projection on Selected Surfaces - validation level 2 - boundary projection Off, since the edges are already on the surface (automatic mapping feature) - entire Face projection.
66. Click Apply to perform the projection of the face.
67. Repeat the above steps to project the other faces.


68. Close the dialog box.
Generate Block Grid
Before generating the block grids, a check must be made to ensure that the faces are still lying on the input geometry. This might not be the case anymore if an operation has been performed on the block faces, such as adjusting a vertex interactively. In that case, IGG™  performs a default algebraic 4 boundary interpolation to keep the face grids inline with the boundaries.
This regeneration can be done straightforwardly by replaying the generation of the face grids.
69. Choose Regenerate Faces in the Quick Access Pad/Grid/Generate page. A dialog box is opened to select the face(s) to regenerate.
70. Select All Blocks Faces.
71. Apply to fully regenerate all face grids of all the blocks in the project.
72. Close the dialog box.
In case the Regenerate Faces results in an undesired projection, select the problematic faces and go to Show Historyin the Quick Access Pad/Grid/Generate page. Delete all steps except the last one, close the dialog box and choose Regenerate Faces again.
73. Click the Block 6 Bnd icon () in the Quick Access Pad/Grid/Generate page. A dialog box is opened to select the block(s) to generate.
74. Select the All option.
75. Click Apply to generate the grid in the three blocks.
76. Close the dialog box.


Control Mesh Quality
77. Check for negative cells by clicking .


78. Press Apply and click Ok in the dialog box.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh using the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before a calculation can be started.

79. Close the dialog box.
80. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
81. Set block number (0 for all).
82. Select quality criteria using the Type pull-down menu.


83. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


84. Left-click part of the histogram to plot the corresponding cells in the 3D view.
85. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


86. Close the dialog box.
Define Boundary Conditions
87. Go to the Grid/Boundary Conditions... menu to open a dialog box.
In this example Block 1 - Face 3 is activated is activated in the dialog box and displayed in pink, meaning that its boundary condition type is undefined.


88. For Block 1 - Face 3, set Patch Type to INL (inlet boundary condition). To do this, left-click Set Patch Type, drag the mouse to the INL button and release the left mouse button.
89. For the patch presented in the following figure, the patch needs to be split:Left-click the patch in the list.Left-click the Edit Patch >> button.Right-click and choose Divide Patch horizontally.Type <21> and press <Enter> to divide the patch in two.Left-click the << button.


90. Select the patches in the dialog box (left-click it) and set the Patch Type to INL or SOL or OUT as presented in the following figure.


91. Click the Search button in the Connectivity frame. Two patches, originating from the extrusion of the nozzle block to create the volute exit block, are automatically defined as perfectly matching (CON). Four patches are defined now as non-matching (NMB). These patches should be connected by full non-matching connections, since they are located at the same position. Before doing that, set all these patches to UND.


Define Full Non-Matching Connection
In this section, the full non-matching connection between the two blocks will be defined.
92. Click the Define... button in the Full Non Matching frame (boundary conditions dialog box). It opens a dialog box controlling the FNMB connections.
93. In the left patches list, select UND in the Type filter.
94. Left-click the first patch "1 1 1". It is highlighted in the graphics area in yellow.
95. In the right patches list, select UND in the Type filter.
96. Left-click the patch "2 2 1". It is highlighted in the graphics area in blue.


97. In the Connection Name entry, type <connection-1> and press <Enter>.
98. Create the FNMB connection by pressing the Create/update button. The new connection appears in the list at the right of the dialog box.
The type of the patches involved in the connection is automatically changed from UND to SOL*.
99. Repeat the above steps for patches "1 2 1" and "2 1 1" and name it "connection-2".
100. Left-click a connection in the connection list area.
101. Press the Compute & Show button to compute and visualize the triangulation of the selected connection on grid level 0 by default. Both results are shown in the following figure. Calling this item is optional in IGG™.


102. Close the Full Non Matching Connections dialog box.
103. Close the boundary conditions dialog box.
Save Project
104. Go to File -> Save -> Save As <tutorial4> and press <Enter> to save the mesh files.
The mesh files (6 files) contain the multiblock mesh topology, geometry, grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg" and ".config". For more information regarding these files, the user is referred to the User Guide.

TUTORIAL 1. Geometry Creation

Introduction

Introduction

Prerequisites

Preparation

Cartesian Point

Create Cartesian Point

Select Cartesian Point

Delete Cartesian Point

Curves

Create Curves

Select Curves

Visualize Curves

Modify Curves

Edit/Copy Curves

Export Curves

Surfaces

Create Surfaces

Select Surfaces

Visualize Surfaces

Modify Surfaces

Edit/Copy Surfaces

Export Surfaces


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:


IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

This tutorial is particularly adapted to the creation and modification of geometrical entities. It makes exclusive use of IGG™.
In this tutorial you will learn how to:

create a Cartesian point,
create and modify curve entities,
create and modify surface entities,
select and delete geometrical entities,
group/ ungroup geometrical entities,
save geometrical entities.

Prerequisites
This tutorial does not require any prior knowledge.
Preparation
Start IGG™

On  Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows

click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or  in Start/Programs/NUMECA Software/AutoGrid#.

alternatively IGG™ can be launched from a dos shell by typing:

<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or 

<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>

where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic Installation section and # is the version (e.g. 131 ).





You are now ready to start creating and modifying geometrical entities!
The IGG™ graphical user interface by default provides a visualization of the geometry and mesh of an internal or external test case in the 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar and a control area (including the keyboard input area).
Cartesian Point
Create Cartesian Point
1. Open the Geometry/Create Points/Cartesian Point menu to initiate the creation of a Cartesian point.
2. Type <1 1 0> into the keyboard input area and press <Enter>. This action will create a Cartesian point (a black or white point will appear in the graphics area).
3. Open the Geometry/Create Points/Cartesian Point menu to initiate the creation of a second Cartesian point.
4. Type <1 1 1> into the keyboard input area and press <Enter>. This action will create a second Cartesian point (another black or white point will appear in the graphics area).
Cartesian points can also be defined as an intersection between two selected curves, between a selected curve and a plane or between a selected curve and a surface (more details here).
Select Cartesian Point
5. Open the Geometry/Select/Cartesian Points menu to start selecting Cartesian points.
6. Move the mouse to the Cartesian point (1, 1, 1) and left-click it when it is highlighted in blue to select it.
7. Right-click or press <q> in the graphics area to end the selection.
Delete Cartesian Point
8. Select Geometry/Delete/Cartesian Points to delete the selected Cartesian points (highlighted in blue)
Curves
Create Curves
The following section describes how to:

create basic curves,
use the keyboard or mouse to input points,
use the attraction feature.

The below geometry, consisting of two polylines, one C-spline and one arc, will be created.


9. Define a polyline curve:

Access the Geometry/Draw Polyline/Free menu (shortcut <p>) to initiate the creation of a polyline.
Type <1 0 0> into the keyboard input area and press <Enter>. This action will create the first point on the polyline.

The keystrokes are automatically echoed in the keyboard input area.

Enter a second point with coordinates <1.2 0.5 0> and press <Enter>.
Move the mouse near the Cartesian point (1, 1, 0) defined earlier. When the mouse is close enough, the mouse will be attracted to this point, if the attraction to points feature is enabled. If there is no attraction, press <a> in the graphics area. Left-click to add this point to the polyline.
Right-click or press <q> in the graphics area to end the polyline creation.
Repeat the above steps to create another polyline passing through (0, 0, 0), (-0.2, 0.5, 0) and (0, 1, 0).

10. Define a C-spline curve:

Open the Geometry/Draw CSpline/Free menu (shortcut <c>) to initiate the creation of a C-spline curve.
Move the mouse near point (0, 0, 0) on the second polyline. When close enough, the mouse will be attracted to this point, if the attraction to points feature is enabled. If there is no attraction, press <a> in the graphics area. Left-click to add this point to the C-spline.
Move the mouse somewhere between points (0, 0, 0) and (1, 0, 0). Left-click to add a point.
Move the mouse near point (1, 0, 0) on the first polyline. When close enough, the mouse will be attracted to this point, if the attraction to points feature is enabled. If there is no attraction, press <a> in the graphics area. Left-click to add this point to the C-spline.
Right-click or press <q> in the graphics area to end the C-spline creation.

11. Define a circular arc curve:

Select the Geometry/Circular Arc/Normal-Point-Point-Radius option to initiate the creation of a circular arc. Several inputs will be requested to define the arc.

The circular arc can be created using different methods (more details here).

Enter <0 0 1> and press <Enter> to define the arc's normal.
Move the mouse near point (1, 1, 0). When close enough, the point will be highlighted (if there is no attraction, press <a> in the graphics area). Left-click to define the arc's starting point.
Move the mouse near point (0, 1, 0) on the second polyline. When close enough, the point will be highlighted (if there is no attraction, press <a> in the graphics area). Left-click to define the arc's endpoint.
Type <0.6> and press <Enter> to define the arc's radius.
Press <o> until the circle has the same shape as the one displayed in the above figure. Left-click to create the arc.

Right-click or press <q> in the graphics area to end the arc creation.
Select Curves
The curve selection operation is used to activate one or more curves for subsequent operations in geometry modeling or grid generation. When a curve is selected it is highlighted in yellow (default). All the curves created in the previous steps are selected.
12. Select the Geometry/Select/Curves option to initiate curve selection.



The shortcut 
 can also be used to activate the option without accessing the menu.
13. Press <a> to unselect all the curves, which become unhighlighted (in blue).
14. Move the mouse over the C-spline, which is then highlighted. At the same time, the name, type of curve and approximate arc length of the curve appear in the information area.
15. Left-click to select it.
16. Repeat the above step to select the first polyline.
17. Right-click to quit the selection.
Selection and deselection of all curves can be done by pressing <a> repeatedly (toggle option).
Visualize Curves
When importing complex models, many curves may be created and visualized in IGG™, making the graphics unclear. It is possible to visualize only specific curves on the screen, hiding all others, in the following way:
18. Select the Geometry/View/Curves... option. A curve chooser appears with the name of all the curves. All the names are highlighted since all the curves are visible.
19. Select the C-spline in the chooser (left-click it) and press Apply. Only the C-spline curve is now visible in the view.
20. Select the first polyline in the chooser (left-click it) while holding the <Ctrl> key. The polyline is highlighted in the chooser, together with the C-spline. Press Apply to visualize both curves.
21. Select the first and last curve in the chooser while holding the <Shift> key. All the curves are now selected. Press Apply to visualize them all.
22. Close the chooser.
After selecting the curves by using the Geometry/Select/Curves menu, the selected curves can be investigated further in the following way:
23. Select Geometry/View/Curve Orientation. The default orientation of the selected curves is shown. This orientation is important for other geometry modeling and grid generation operations. These orientations can be hidden by accessing the command once again (toggle option).
24. Access Geometry/View/Control Points. The control points of the selected curves will now appear. This option acts as a toggle (display on-off) on all selected curves.
25. Select Geometry/Select/Control Points. A control point must be selected. When moving the mouse near a control point, the point becomes highlighted. Left-click a control point to display its point coordinates in the information area.
26. Right-click to quit the option.
27. Select the Tools/Distance tool (). A prompt window appears to select two points. The distance between the two points will be measured and displayed:




Press <c> to disable the attraction to curves (this can be verified by moving the cursor near the start point of the C-spline. Normally, there is no attraction to the curve. Otherwise, press <c> a second time).
Move and attract the cursor over the starting point of the C-spline. If there is no attraction, press <a>. Left-click curve to select the start point.
When moving the mouse, the distance between the selected point and the cursor is indicated. Move the mouse to the last point of the C-spline. The cursor is attracted to the point and the distance is indicating "d=1".
Left-click to fix the distance on the screen.

The above steps can be repeated to measure the distance between other points.

Right-click to quit the option.

Modify Curves
Existing selected curves can be modified within IGG™  in the following way:
28. Select the Geometry/Modify Curve/Add Control Point option to add control points on the selected curve by left-clicking on it.
29. Access the Geometry/Modify Curve/Remove Control Point option to remove a control point on the selected curve by left-clicking the control point.
30. Select Geometry/Modify Curve/Modify Point On Surface to move an existing control point on the selected curve (on surface) by left-clicking to select the point and left-clicking once more after moving the control point.
31. Go to Geometry/Modify Curve/Set Name... to impose a user-defined name to the selected entity (only one curve should be selected).
32. Select the Geometry/Modify Curve/Divide option to split the selected curve at a user-defined location by left-clicking it (one curve should be selected).
33. Choose the Geometry/Modify Curve/Reverse option to reverse the curve orientation plotted when selecting Geometry/View/Curve Orientation.
Edit/Copy Curves
Existing selected curves can be moved or copied within IGG™  in the following way:
34. Select Geometry/Select/Curves to select all the curves (highlighted in yellow).
35. Access the Geometry/Edit/Copy menu to copy all the selected entities and impose a translation, rotation, scaling or mirror operation.
36. Type <new> and press <Enter> to impose a user-defined prefix to the geometrical entities that will be created.
37. Type <t> and press <Enter> to select a copy with a translation.
38. Type <1 0 0> and press <Enter> to set the translation vector.


The menus Geometry/Edit/Translate, Rotate, Scale or Mirror allow the selected geometry to move without copying.
Export Curves
It is possible to save the curves created in the previous steps. Only the curves selected are saved into a file:
39. Select the Geometry/Select/Curves menu to select all the curves (highlighted in yellow).
40. Select File/Export/Geometry Selection... . A file chooser is opened asking the user to specify the name of a ".dat" file (with corresponding Parasolid™  file "X_T" or "xmt_txt"). Such a file can be using the File/Import/IGG Data... menu ().
Surfaces
Create Surfaces
In this section simple surface creation is described, starting from a set of curves. A new session is started, clearing all previous drawings.
41. Select File/New - yes to close the current project and open a new empty project.
Opening a new project closes the current project without automatic saving.
42. Define a lofted surface:

Select File/Import/IGG Data... and choose the file "geometry_curves.dat" in the "Tutorial_1" directory of the documentation package. Three curves are read and stored in the geometry repository.




Select the curves using Geometry/Select/Curves (shortcut 
) in the order indicated on the figure.
Verify that the curves are properly oriented using Geometry/View/Curve Orientation. Otherwise, you need to reverse the orientation by using the Geometry/Modify Curve/Reverse menu to impose the same orientation onto all three curves.
Select theGeometry/Create Surface/Lofted menu. A NURBS surface, interpolating the curves, is now created. Notice that two new curves, representing the surface boundaries, are created as well. These curves automatically appear in the curve chooser (Geometry/View/Curves) when it is opened.

43. Define a coons patch:
A Coons surface is a surface interpolating 4 boundary curves using a bilinear interpolation. To avoid overlapping with the lofted surface, the selected curves are copied and translated.

Select the four boundary curves (shortcut 
) of the lofted surface, in the order indicated in the following figure.




Access the Geometry/Edit/Copy menu in the Quick Access Pad. IGG™  offers the possibility to translate, rotate, scale, mirror or perform no operation on the selection. To avoid overlap with the existing curves and surface, a translation will be performed.
Type <new> and press <Enter> to impose a userdefined prefix to the geometrical entities that will be created.
Type <t> and press <Enter> to copy and translate the selection.
Type <1 1 1> <Enter> to impose the translation vector.

The selected curves are duplicated and the new curves are automatically selected (the other curves are now unselected).

Access the Geometry/Create Surface/Coons Patch menu. A new surface is created which interpolates the four selected curves.



Notice that four additional curves have been created. These are curves following the parametric directions of the surface and are used to provide a better visualization of the surface.
44. Define a surface of revolution:
A surface of revolution will be created by rotating a newly created curve around the Y-axis.

First create a C-spline (Geometry/Curve/CSpline in the Quick Access Pad) between the points (-0.5 ,-2 ,0.1), (-0.5 ,0 ,0.2) and (-0.5 ,2 ,0.1). These points are chosen such that the new surface of revolution will intersect the lofted surface.
Make this curve the only selected curve (Geometry/Select/Curves).
Select the Geometry/Create Surface/Revolution menu to create a surface of revolution by rotating this new curve around a line parallel to the Y-axis. The rotation origin is taken so that the surface of revolution intersects the lofted surface.
Type <0 1 0> and press <Enter> to select the rotation axis direction.
Type <-0.5 0 -1> and press <Enter> to select the rotation axis origin.
Type <300> and press <Enter> to select the angle of rotation.



Notice that the curve used for the rotation constitutes the first boundary of the surface. Three other boundary curves are automatically created to indicate the other surface boundaries.
Select Surfaces
The surface selection operation is used to activate one or more surfaces for subsequent operations in geometry modeling (i.e. surface-surface intersection) or grid generation (i.e. face grid mapping). When a surface is selected, its boundary curves appear highlighted in red or yellow.
45. Select the Geometry/Select/Surfaces menu to initiate surface selection.



The <Ctrl-s> shortcut can also be used to activate the same option, without accessing the menu.
46. Press <a> to unselect all the surfaces (toggle option), which become unhighlighted (boundary curves are unhighlighted).
47. Move the mouse over the lofted surface. The surface becomes highlighted in blue.
48. Left-click to select the surface. The boundary curves will remain displayed in red or yellow.
49. Repeat above steps to select the surface of revolution.
50. Right-click to quit the selection.
Selection and deselection of all the visible surfaces can be done by pressing <a> repeatedly (toggle option).
Visualize Surfaces
Surfaces stored in IGG™  are by default visualized by displaying their boundaries. As soon as the boundary curves of a surface are visible, the surface is considered visible. The following step describes how to hide surfaces, and hence how to hide their boundaries.
51. Select the Geometry/View/Surfaces option. The surface chooser with the names of all the surfaces in the geometry repository will appear. All surfaces in the chooser are highlighted since they are all visible in the graphics area.
52. Select the lofted surface (left-click it) in the chooser and press Apply. The lofted surface appears alone in the graphics area with all the previously created curves.
53. Select the surface of revolution (left-click it) in the chooser while holding the <Ctrl> key. The surface of revolution is highlighted in the chooser together with the lofted surface. Press Apply to visualize both surfaces. Notice that the surface of revolution is now unselected in the graphics area (highlighted in blue).
54. Select the first and last surfaces (left-click them) in the chooser while holding the <Shift> key. All surfaces are highlighted in the chooser. Press Apply to visualize them all in the graphics area.
55. Close the chooser.
Modify Surfaces
When manipulating parametric surfaces, it is possible to create curves in the parametric directions of the surfaces. These curves can be used to better visualize the surfaces or for other geometry and grid modeling operations.
56. After selecting a surface, select the Geometry/Modify Surface/Representation menu. IGG™  requests the number of curves to be created in the u and v direction of each selected surface:

Type <15 15> <Enter> to plot 15 curves in both parametric directions of the selected surfaces.
Repeat the previous step and specify 5 curves in each direction.

57. Select the Geometry/Modify Surface/Add uv Curves menu. Then a point must be selected on the selected surfaces:

Move the mouse inside the limits of the selected surfaces. Two orthogonal curves will appear at the mouse position. The attraction feature can be enabled, if needed.
Left-click to add the two curves in the geometry repository.

The curves created in the above steps are deleted when the surface is deleted, except if they are used by other entities.
Edit/Copy Surfaces
Existing selected surfaces can be moved or copied within IGG™  as presented on the curves (Edit/Copy Curves).
Export Surfaces
It is possible to save the curves and surfaces created in the previous steps. Only the selected curves and surfaces are saved into a file:
58. Select the Geometry/Select/Curves and Surfaces menu to select respectively the curves (highlighted in yellow) and the surfaces (highlighted in red or yellow).
59. Select the File/Export/Geometry Selection... menu. A window is opened where the name of the ".dat" file (with corresponding Parasolid™  file "X_T" or "xmt_txt") can be chosen. This type of file can be imported by using File/Import/IGG Data... ().

TUTORIAL 2. 2D NACA Airfoil

Introduction

Introduction

Prerequisites

Presentation

Preparation

Mesh Generation

Define Project Configuration

Define Geometry

Import Existing Geometry

Create New Geometry

Create Blocks

Define Clustering

Generate Face Grid

Control Mesh Quality

Define Boundary Conditions

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:


IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A C-type block grid around an airfoil is used to explain the basic features of the major topology and grid generation modules within IGG™. The tutorial shows the successive steps that must be followed to generate a 2D mesh and to define the boundary conditions required before starting a solver:

set up a 2D project,
import/create geometry curves needed for meshing,
define the topology before meshing,
create/place blocks,
specify the clustering,
generate a face grid,
check the mesh grid quality,
define the boundary conditions.

Prerequisites
This tutorial does not require any prior knowledge, but it is strongly recommended for beginners to perform the basic tutorial 1 first.
Presentation
A mesh around a 2D airfoil is created in this example case. The input geometry describing the airfoil consists of the pressure and suction sides, provided as curves defined in two ".dat" files (Where to Find the Files Used in the Tutorials?).
Using the 2D option, only one face of a block (lying in the plane) will be generated, instead of six as classically required when generating 3D blocks. During the saving of the mesh, IGG™  will automatically generate the volume grid by extruding one cell in the orthogonal direction, to match the requirement of the FINE™/Turbo flow solver.
Two blocks will be used to mesh around the airfoil. Obtaining a "C-type" grid using body-fitted capabilities is done by deforming an initial square block around the airfoil as shown in the following figure.


Preparation
Start IGG™

On  Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows

click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or  in Start/Programs/NUMECA Software/AutoGrid#.

alternatively IGG™ can be launched from a dos shell by typing:

<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or 

<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>

where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic Installation section and # is the version (e.g. 131 ).





The IGG™ graphical user interface by default provides a visualization of the geometry and mesh of an internal or external test case in the 3D view. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar and a control area (including the keyboard input area).
Mesh Generation


Before running the IGG™  software, it is advised to make a sketch of the face in order to generate and identify the grid boundaries, as well as the number and orientation of segments on each edge. Conventionally in 2D, the face being generated is always Face 1 of the 3D block. For this face, the topology selected for the airfoil is shown in the above figure.
In the topological space of the face, our boundary decomposition is as follows:


A few comments can be made from the previous figures:

Edges 1 & 2 of Block 1 and Edges 3 & 4 of Block 2 have only one segment. The starting point of the Block 1 - Edge 1 segment corresponds to the starting point of the Block 2 - Edge 3 segment.
Edge 3 of Block 1 and Edge 1 of Block 2 are used to respectively model the pressure and suction sides of the airfoil as well as the wake. It is decomposed into two segments to capture the discontinuity in the wake and to facilitate the grid point distribution settings.
Edge 4, opposite to Edge 3 of Block 1, and Edge 2, opposite to Edge 1 of Block 2, are decomposed into 2 segments as well.
Segment 1 of the Edge 3 of Block 1 and Edge 1 of Block 2 coincide geometrically.

Define Project Configuration
When launching IGG™, a 3D project is initialized by default. For this tutorial, the 2D option needs to be activated.
1. Open the File/Project Configuration... menu: a dialog box is opened.
2. In the Dim area, left-click the 2D button.
3. Click Apply to validate the input: a dialog box will appear, asking for confirmation.
4. Answer yes.
5. Close the dialog box.
A new 2D project is now initialized and only the XY-plane is active. The depth of the view, controlling the z-coordinate, is invariably set to 0. You are now ready to start meshing the airfoil in 2D!
Define Geometry
The following steps describe the importation and creation of geometry curves needed to limit the computational domain. The initial input data are the pressure and suction sides of the airfoil, described as curves stored in two separate ".dat" files.  (Where to Find the Files Used in the Tutorials?)
In order to place the four edges of both faces at a later stage, as sketched in previous figures, additional curves indicating the external boundaries of the domain will be created as shown below.


Notice the orientation of the curves that is used to localize the starting and end points of the curves. These points will be used later to place the face boundaries.
Import Existing Geometry
6. Select File/Import/IGG Data... (). A file chooser is opened. Select the "suction.dat" file  (Where to Find the Files Used in the Tutorials?). The curve is loaded into IGG™  and displayed in the active view.
7. Now, import the "pressure.dat" file located in the same directory.
Create New Geometry
The missing curves will be now created using the IGG™  geometry modeling capabilities. For a complete description on how to create basic curves refer to Tutorial 1 and the User Guide.
8. Create a polyline (Geometry/Curve/Polyline in the Quick Access Pad (QAP)) between the points (5, 0, 0) and (1, 0, 0).
Since the line lies far from the airfoil, it will not be visible in the current view. The view must be fitted to the curve sizes.
9. Left-click the Default orientation button () in the Viewing buttons area.
Next, the name of the curve will be modified. Naming a curve explicitly is required when using template capabilities. It is done here as an exercise.
10. Select only the polyline (Geometry/Select/Curves or 
) if needed.
11. Select Geometry/Modify Curve/Set Name in the QAP and change the name of the curve to "p1". Click Apply and Close the dialog box.
12. Create a polyline between the points (1, -10, 0) and (5, -10, 0) and name it "p2".
13. Create a polyline between the points (5, 10, 0) and (1, 10, 0) and name it "p3".
14. Create a circular arc (Geometry/Circular Arc/Normal-Center-Point-Point menu) by entering the normal to the arc (0, 0, 1), the center (normal anchor point) (1, 0, 0), the starting point (1, 10, 0) and the end point (-9, 0, 0). Name the curve "a1".
15. Create a second circular arc by entering the normal (0, 0, 1), the center (anchor point) (1, 0, 0), the start point (-9, 0, 0) and the end point (1, -10, 0). Name the curve "a2".
Create Blocks
This section describes the creation of Block 1, around the airfoil. When dealing with a 2D project, only one face must be manipulated (Face 1).
16. Left-click the Insert New Face icon () in the Quick Access Pad/Grid/Create page. A square face will appear in the graphics area.
17. Move the cursor (representing the left corner of the rectangle) to the starting point of Polyline p1 (see figure below). Once the point is attracted, left-click to place the first point.
18. Enter the coordinates of the second point (opposite corner of the rectangle) from the keyboard: <-8 8 0> and press <Enter>. The square face is now fixed and appears with a default orientation.
19. Left-click to accept this default orientation and to complete the face creation.


At this stage, the face is created. Its four edges appear as straight lines which still need to be wrapped around the airfoil. The number of grid points along the I and J directions is currently 9 (default) and will be changed to (41x85), as described in the initial sketch.
20. The number of grid points is changed as follows:

Select Grid/Grid Settings... . A dialog box appears.
Specify the number of grid points in each direction. To do this, move the cursor to the Imax box, type <41> and press <Enter>.

This setting takes effect immediately after pressing <Enter> and deletes any previously generated grid.

Specify in the same way that Jmax = <85> and press <Enter>. Notice that Kmax has a value of 2 in the 2D option. This value cannot be changed.

The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow multigrid process on minimum 3 grid levels within FINE™.

Close the dialog box.

The initial mesh can be visualized by pressing the Toggle Face Grid icon ()
 under Quick Access Pad/View/Grid.
21. The face can now be positioned correctly around the airfoil:

Move the cursor over the upper right vertex. When it is highlighted, left-click it to initiate the placement. Move and attract the cursor to the start point of Polyline p3. Then, left-click to fix the position of the vertex.
To map Edge 4 onto Polyline "p3", an additional vertex must be inserted. Click the Insert Vertex icon () in the Quick Access Pad/Grid/Insert/Edit page. Move the cursor near Edge 4. A marker representing the vertex (square) will appear when it is close enough to the edge. left-click to fix the vertex to the edge and place it (left-click) on the Polyline "p3" endpoint.
During this placement, the vertex was attracted to curves and curve end points. To be sure the vertex is placed on the Polyline p3 endpoint, the attraction to curves can be deactivated. While holding the <Ctrl> key, right-click the vertex to access a menu; drag the mouse over Attract to Curves option (to deactivate the attraction) and left-click. To ease the attraction, the value of the Pick Aperture, in the File/Preferences... menu under the thumbnail Tolerances, can be increased to 0.3. This option controls how close the cursor needs to be to the curve before being attracted.
Now move again the vertex which will be attracted to the Polyline p3 endpoint but not to Polyline p3 or other curves.

Use the shortcut <i> to activate the Insert Vertex function in a faster way.

For the moment, Edge 4 contains only one segment. To divide it into several segments as in the sketch made previously, a fixed point must be inserted. Move the cursor over the additional vertex. When it is highlighted, right-click to access a menu. Drag the mouse over the Attach Fixed Point item. This will merge a fixed point to the vertex. Once this is done, the square shape of the vertex marker will be transformed into a diamond shape. The result of these operations is shown in the following figure.




Edge 3 will be used to capture the shape of the airfoil (suction side). A zoom can be performed on the airfoil. To do this, left-click the Zoom Area button () in the Viewing buttons area. Press and drag the left mouse button to select a rectangular region around the airfoil, then release the left mouse button to perform the zoom.
Insert one vertex (v5) onto Edge 3 and place it on the end point of the suction curve. Then, to be sure to map Edge 3 on the suction curve and not on the pressure curve, insert another vertex (v6) on Edge 3. Place it on the suction curve, roughly in the middle). Finally, place Vertex v4 (already existing) onto the starting point of the suction curve, as presented in the following figure, and attach one fixed point to Vertex v5.




Move the Vertex v3 (already existing) onto the arc "a1" endpoint to finish the blocking of Block 1.



This section describes the creation of the Block 2 around the airfoil. When dealing with a 2D project, only one face must be manipulated (Face 1).
22. Left-click the Insert New Face icon () in the Quick Access Pad/Grid/Create menu. A square face will appear in the graphics area.
23. Move the cursor (representing the left corner of the rectangle) near the start point of Polyline p1 (see figure below). Once the point is attracted, left-click to place the first point.
24. Enter the coordinates of the second point (opposite corner of the rectangle) from the keyboard: <-8 -8 0> and press <Enter>. The square face is now fixed and appears with a default orientation.
25. Left-click to accept this default orientation and to complete the face creation.
At this stage the face is created. Its four edges appear as straight lines which still need to be wrapped around the airfoil. The number of grid points along the I and J directions is currently 9 (default) and will be changed to (85x41), as described in the initial sketch.


26. The number of grid points will be changed as follows:

Select Grid/Grid Settings... . A dialog box is opened.
Specify the number of grid points in each direction. To this end, move the cursor to the Imax box, type <85> and <Enter>.

This setting takes effect immediately after pressing <Enter> and deletes any previously 
generated grid.

Specify in the same way Jmax = <41> <Enter>. Notice that Kmax has a value of 2 in the 2D option. This value cannot be changed.

The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow multigrid processes on minimum 3 grid levels within FINE™ .

Close the dialog box.

The initial mesh can be visualized by pressing the Toggle Face Grid icon () 
 in the Quick Access Pad/View/Grid menu.
27. The face can now be positioned correctly around the airfoil:

Move the cursor over the lower right vertex. When it is highlighted, left-click it to initiate the placement. Move and attract the cursor to the end point of Polyline p2. Then, left-click to fix the position of the vertex.
To map Edge 2 onto Polyline p2, an additional vertex must be inserted. Left-click the Insert Vertex icon () in the Quick Access Pad/Grid/Insert/Edit menu. Move the cursor near Edge 2. A marker representing the vertex (square) will appear when it is close enough to the edge. Left-click to fix the vertex to the edge and place it (left-click) on the Polyline p2 start point.
During this placement, the vertex was attracted to curves and curve end points. To be sure the vertex is placed on the Polyline p2 endpoint, the attraction to curves can be deactivated. While holding the <Ctrl> key, right-click the vertex to access a menu; drag the mouse over Attract to Curves option (to deactivate the attraction) and left-click it.


Now move again the vertex which will be attracted to the Polyline p2 starting point but not to Polyline p2 or other curves.

Use the shortcut <i> to activate the Insert Vertex function in a faster way.

For the moment, Edge 2 contains only one segment. To divide it into several segments as in the sketch made previously, a fixed point must be inserted. Move the cursor over the additional vertex. When it is highlighted, right-click to access a menu. Drag the mouse over the Attach Fixed Point item. This will merge a fixed point to the vertex. The square shape of vertex marker will be transformed into a diamond shape. The result of these operations is shown in the following figure.
Edge 1 will be used to capture the shape of the airfoil (pressure/suction side). A zoom can be performed on the airfoil. To do this, left-click the Zoom Area button () in the Viewing buttons area. Press and drag the left mouse button to select a rectangular region around the airfoil, then release the left mouse button to perform the zoom.
Insert one vertex (v5) on Edge 1 and place it on the endpoint of the pressure curve. Then, to be sure to firstly map Edge 1 on the pressure curve and not on the suction curve, insert another vertex (v6) on Edge 1, and place it on the pressure curve (about in the middle). Finally, place Vertex 3 (v3) on the starting point of the pressure curve, as in the following figure, and attach one fixed point to Vertex v5.




Move the Vertex v4 on the arc "a1" end point to finish the blocking of block 2.



Now the faces are put in place and the segments are created according to the sketch made previously. The mesh can be visualized (the face mesh is automatically generated) by pressing the Toggle Face Grid icon () of the Quick Access Pad/View/Grid page. At this stage, the mesh may look quite distorted because the fixed points indices have a default value, which still needs to be adapted. So, the last thing to do is to set the correct fixed points indices.
28. See the current index of a fixed point by moving the cursor over it. The index is then displayed.
29. Set the fixed points indices as in the following figure. To change the index, right-click the fixed point to access a menu. Drag the mouse to the Change ... index item and left-click it. The prompt "Enter new index:(q)" will appear.


30. Enter the new index in the keyboard input area and press <Enter>. The new index can be visualized as explained before.

The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow multigrid processes on minimum 3 grid levels within FINE™.
In some cases, the index will not be changed because the new value is higher than the index of the next fixed point on the same edge. So, the index of the next fixed point must be changed first before changing the one of the current fixed point.
Some problems may occur for the fixed points v5 because they lie in the same place so that indices cannot be changed for both. Simply separate the fixed points by moving one of them to another location, then change the indices. Once it is done, place the fixed points back to their original position.

Define Clustering
Once the edges of the faces are set up, the next step consists of specifying the clustering of grid points along each edge. This step is essential before proceeding to the face grid generation since the location of the grid points at the boundaries (on the edges) is directly used to interpolate the face grid.
Grid point clustering will be specified to capture:

the boundary layer on the pressure and suction sides,
the wake,
the leading edge and trailing edges.

the following figure shows the segment numbering and orientation as defined in the next steps. I and J constant grid lines are also outlined.


The boundary layers on the pressure and suction sides are controlled by modifying the grid point distribution on segments s1 (segment 1 1 1 1), s2 (segment 2 1 3 1), s11 (segment 1 1 2 1) and s12 (segment 2 1 4 1). Indeed, by setting more points near the start of these segments, the grid lines parallel to the airfoil will tend to be closer to the airfoil. To modify the distribution symmetrically on segments s1 and s2, a group containing the two segments will be created and used to specify the clustering.
31. Select the Cluster Points icon () in the Quick Access Pad/Grid/Insert/Edit menu. A dialog box for controlling the distribution is opened.


32. Click the Define/Edit group button to define a new group: a new dialog box is opened.


33. Click the Create button. The dialog box is extended to provide a field in which the name of the group can be specified. Enter the name <group1> and press <Enter> (or the Create button). The group is added to the list. Do not close the dialog box at this stage.
34. The segments will now be added to the group one by one in the following way:




Click the Modify button
Move the cursor to segment s1 (segment 1 1 1 1) and left-click to select it. When selected, arrows appear on the segment and the parent block is highlighted. If this is not the proper segment, repeat the step.
Middle-click to add the segment to the list. The segment appears in the group in the dialog box.
Repeat the above steps to add segments s2 (segment 2 1 3 1), s11 and s12 to the group.

35. Close the dialog box or right-click in the graphics area to complete the group creation.
The group is now defined and can be used to specify the clustering of the four segments at once.
36. In the popup menu of the Clustering dialog box, select group name "group1" (it should be the default).
37. Select distribution type At Both Ends 2 and set initial spacing at start to <1e-5>, the initial spacing at end to <0> and the number of constant cells to <10>.
38. Press the Apply to group button to apply the clustering to each segment in the group.
The grid point distribution can be visualized by selecting the Quick Access  Pad/View/Grid/Toggle Grid Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing the mesh using the Quick Access Pad/View/Grid/Toggle Face Grid (<Ctrl-z>) icon.
The grid point distribution in the wake can be controlled with segments s3 (segment 1 1 3 1) and s4 (segment 2 1 1 1). Additionally, segments s5 (segment 1 1 4 1, opposite to 1 1 3 1) and s6 (segment 2 1 2 1, opposite to 2 1 1 1) should be modified in the same way, to keep the mesh as regular as possible. For this purpose, two groups containing these segments will be created.
39. Click the Define/Edit group button and create a new group named "group2".
40. The segments will now be added to the group one by one in the following way:




Select segment s3 (left-click) and add it to the group (middle-click).
Select segment s4 and add it to the group.

41. Click the Close button in the dialog box or right-click in the graphics area to complete the group creation.
Now the clustering can be easily applied to both segments at once.
42. Select the "group2" group in the combo box of the Clustering dialog box.
43. Select the distribution type At Both Ends 2 and set initial spacing at start to <0>, the initial spacing at end to <0.005> and the number of constant cells to <10>.
44. Press the Apply to group button to apply the clustering.
45. Click the Define/Edit group button and create a new group named "group3".
46. The segments will now be added to the group one by one in the following way:Select segment s5 and add it to the group.Select segment s6 and add it to the group.Select the Close button in the dialog box or right-click in the graphics area to complete the group creation.
Now the clustering can be easily applied to both segments at once.
47. Select the "group3" group in the combo box of the Clustering dialog box.
48. Select distribution type At Both Ends 2 and set initial spacing at start to <0>, the initial spacing at end to <0.05> and the number of constant cells to <10>.
49. Press the Apply to group button to apply the clustering.
As an exercise, the clustering of the segments controlling the leading and trailing edges will be set one by one with no group defined.
50. Select segment s7 (1, 1, 3, 2). This segment extends the grid points from the trailing edge to the far field and allows to control the grid point distribution in the wake.
51. Select distribution type Hyperbolic Tangent and set initial spacing at start to <0.005>, and the initial spacing at end to <0.001>.
52. Press the Apply to seg button to perform the clustering.
53. Select segment s8 (2, 1, 1, 2). This segment extends the grid points from the trailing edge to the far field and is actually located at the same position in Block 2 as segment (1, 1, 3, 2) in Block 1 with the same orientation. Its distribution should consequently be the same.
54. Select distribution type Hyperbolic Tangent and set initial spacing at start to <0.005>, and the initial spacing at end to <0.001>.
55. Press the Apply to seg button to perform the clustering.
56. Close the dialog box.
Finally, the clustering on segments s9 and s10 will be copied from segments s7 and s8, respectively.
57. Open the Grid/Grid Density/Copy... menu to copy the grid points clustering of segment s7 to segment s9. Enter <1 1 3 2> in the From box and <1 1 4 2> in the To box then press the Apply button to perform the copy.
58. In the same dialog box, enter <2 1 1 2> in the From box and <2 1 2 2> in the To box then press the Apply button to copy the distribution from segment s8 to s10. Close the dialog box.
Generate Face Grid
This section describes the grid generation and orthogonality control of the mesh near the solid wall.
59. Select the item Quick Access Pad/Grid/Generate/Face Generation Tool () to access the dialog box dedicated to the face generation tools and press the Algebraic button. The grid is created using a linear interpolation of the four edges of each block.


The orthogonality of the mesh to the pressure and suction sides could still be improved and must be improved. To do this, the cubic interpolation option (orthogonality control + algebraic generation) will be used. Orthogonality will be enforced between Edges 3 and 4 of Block 1 and Edges 1 and 2 of Block 2.
60. After having selected Block 1 (left-click one of its edges), select Edges: 3-4 and Orthogonality Control to set up the orthogonality control between Edge 3 and Edge 4. The normals are displayed in black (or white) indicating the range and the level of orthogonality.
The normals are currently too large and must be reduced before regenerating the face.
61. Reduce the Ratio 1st Edge to <0.1> and the Ratio 2st Edge to <0.01> and press the Algebraic button to regenerate the grid according to these values. Then unselect Orthogonality Control.



            62. After having selected Block 2 (left-click one of its edges), select Edges: 1-2 and Orthogonality Control to set up the orthogonality control between Edge 1 and Edge 2. The normals are displayed in black (or white) indicating the range and the level of orthogonality.
        
63. Reduce the Ratio 1st Edge to <0.1> and the Ratio 2st Edge to <0.01> if not already done and press the Algebraic button to regenerate the grid according to these values. Then unselect Orthogonality Control.
64. After having selected Block 1, activate the Overlapping option to see the overlapping cells near the trailing edge. Overlapping cells are highlighted using a small circle on the selected block.
65. After having selected Block 1, set the Face Range for smoothing: Index 1 min = <19>, Index 1 max = <41>, Index 2 min = <15>, Index 2 max = <26>. The grid area that will be smoothed is highlighted. Activate the Elliptic Smoothing option, then press the Smooth button three times to remove the overlapping cells.
66. Close the dialog box.
The faces of the blocks are now completely created and generated.
Control Mesh Quality
67. Check for negative cells by clicking .


68. Click Apply and press ok.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pushing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

69. Close the dialog box.
70. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
71. Select block number (0 for all).
72. Select quality criteria using the Type pull-down menu.


73. Left-click the Show chart button to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


74. Left-click part of the histogram to plot the corresponding cells in the 3D view.
75. Left-click the More info button to obtain information about minimum and maximum values of the selected criterion and block.


76. Close the dialog box.
Define Boundary Conditions
This section explains the division of a face into patches and the setting of a boundary condition type for each patch.
As explained in the introduction, a 2D project consists of a 2D face grid extruded orthogonally to yield a 3D block. Within the 2D project, boundary conditions are specified directly on this 3D block. The extrusion is performed automatically by IGG™  when opening the dialog box for boundary condition setting.
77. Select the Grid/Boundary Conditions... menu to open the dialog box. The 3D block is automatically extruded and appears in a 3D view.
The boundary condition type for block Faces 1 and 2 is automatically set to MIR (mirror condition) in 2D, which explains that these faces do not appear in the patch browser (because their boundary condition type cannot be changed). Face 3 (1 3) is activated in the dialog box and displayed in pink meaning that its boundary condition type is undefined.
78. For Face 3 (1 3), set Patch Type to EXT (external boundary condition). For this, left-click Set Patch Type , drag the mouse to the EXT button and release the left mouse button.
79. Select Face 4 (2 5) in the dialog box (left-click on it) and set Patch Type to EXT.
80. Select patches (1 6) and (2 4) defining Face 6 (<Ctrl>+ left-click on it) in the dialog box and set Patch Type to EXT.


Faces 5 and 8, corresponding to the face wrapping around the airfoil, must be divided into several patches. These patches will be obtained by dividing successively existing patches into two.
81. Select Face 5 (1 5) and press the button Edit Patch >>. Right-click in the K-J domain, activate the Divide Patch vertically option to divide Face 5 at index 21 (type <21> and press <Enter> to validate the division). Set Patch Type of patch 2 of Face 5 (1 5 2) to SOL (solid boundary condition).
82. Select Face 8 (2 3) and press the button Edit Patch >>. Right-click in the K-I domain, activate the Divide Patch vertically option to divide Face 8 at index 21 (type <21> and press <Enter> to validate the division). Set Patch Type of patch 2 of Face 8 (2 3 2) to SOL (solid boundary condition). This last face is then divided in 2 patches.
Four patches remain undefined (UND). These patches should be connected to each other, since they are located at the same position.
83. Press the Search button in the Connectivity (CON / NMB / PER / PERNM) area to automatically set up the connection (CON) between patches 1 of Faces 5 and 8, and Faces 7 and 9.
84. Close the dialog box: the view is automatically set back to the projected XY-view.
Save Project
85. Go to File -> Save -> Save As ... <tutorial2> and press <Enter> to save mesh files.
The mesh files (6 files) contain the multiblock mesh topology, geometry, grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg" and ".config". For more information regarding these files, the user is referred to the User Guide.

Tutorials


The tutorials for IGG™ as listed below provide detailed step-by-step instructions for the entire mesh generation process. Most of the tutorials are designed so as to limit use of computational resources but some of them may require a significant amount of computational time assuming they are executed on the finest mesh level.
Geometry Creation

2D NACA Airfoil

Pipe to Pipe

Volute

Axisymmetric Seal Leakage


Where to Find the Files Used in the Tutorials?
Each of the tutorials starts from mesh generation and uses an existing geometry. The appropriate files (and any other relevant files used in the tutorial) can be downloaded from the following link: IGG™ tutorial input files.
Some of the project files can also be found in the demo cases package dedicated to ready-to-run demonstration cases and presented in the FINE™/Turbo Demo Cases section. This allows to quickly start a calculation and observe the behavior of IGG™, without necessarily going through all the steps of the tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry, either in a ".dat" or CAD related format.
The sequence of actions to be executed are described through a step-by-step approach, in the form of Arabic numbers.
Additional insight about some specific actions and/ or features is frequently added to illustrate the tutorial further. This information is proposed for the purpose of clarity and completeness, and should not be executed. It appears as a note with a light blue background.
The calculations executed to illustrate the behavior of the flow solver include a "reasonable" number of grid points, so as to limit the computational resources required to complete the tutorials. As a consequence, most of the underlying flow solutions must be considered as qualitative. Additional mesh refinement may be required in some circumstances so as to obtain a more quantitative picture.
Contact NUMECA local sales or support office for any question or information you may require. To allow NUMECA local sales or support office to help you out within the shortest delays, please provide a detailed description of the observed behavior and performed analysis.

TUTORIAL 3. Pipe to Pipe

Introduction

Introduction

Prerequisites

Presentation

Preparation

Mesh Generation

Define Geometry

Create & Control Blocks

Generate Block Grid

Define Butterfly Topology

Control Mesh Quality

Define Boundary Conditions

Define Full Non Matching Connection

Save Project


Introduction
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:


IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

The tutorial consists of the mesh generation of intersecting pipes to explain the basic features of the major topology and grid generation modules within IGG™.
The tutorial shows the successive steps that must be followed to generate a 3D mesh and to define the boundary conditions required before starting a solver:

create the geometry,
create intersection,
define the topology,
create internal grid lines,
project face grid onto a surface,
create butterfly topology,
check mesh quality,
create full non-matching connection.

Prerequisites
This tutorial does not require any prior knowledge but it is strongly recommended for beginners to perform the basic Tutorial 1 and Tutorial 2.
Presentation
A mesh in two intersecting pipes is created in this example case. The geometry consists of two pipes with different diameters intersecting each other. 
The final generated mesh is shown below:


Preparation
Start IGG™

On  Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows

click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or  in Start/Programs/NUMECA Software/AutoGrid#.

alternatively IGG™ can be launched from a dos shell by typing:

<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or 

<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>

where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic Installation section and # is the version (e.g. 131 ).





The IGG™ graphical user interface by default provides a visualization of the geometry and mesh of the internal or external test case in the 3D view. The access to main menu and controls is proposed through a menu bar and a quick access pad, and is complemented with a tool/icon bar and a control area (including the keyboard input area).
Mesh Generation
Define Geometry
The geometry consists of two intersecting cylinders. The first cylinder is aligned with the Z-axis, has its bottom part at Z = -100, its top part at Z = 100 and a radius = 25. The second cylinder is aligned with the X-axis, has its bottom part at X = 0, its top part at X = 100 and a radius = 12. For a complete description on how to create basic curves, the user is referred to Tutorial 1 and the User Guide.
1. Create a polyline from (0, 25, -100) to (0, 25, 100) using the Geometry/Curve/Polyline menu in the Quick Access Pad.
2. Based on this polyline, create a surface of revolution around the Z-axis (0, 0, 1) with rotation center (0, 0, 0) and a rotation angle of 360 degrees from the Geometry/Create Surface/Revolution menu.
3. Unselect all curves by going to Geometry/Select/Curves. Press the <a> key binding and right-click to quit.
4. Create a polyline from (0, 0, 12) to (100, 0, 12) by going to Geometry/Curve/Polyline menu in the Quick Access Pad. Select only the created polyline with the Geometry/Select/Curves menu.
5. Based on this last polyline, go to Geometry/Create Surface/Revolution menu  to create a second surface of revolution around the X-axis (1, 0, 0) with rotation center (0, 0, 0) and a rotation angle of 360 degrees.
6. Left-click the Default orientation button () in the Viewing buttons area.
7. Go to Geometry/Select/Surfaces to select both surfaces and compute the intersection from Quick Access Pad/Geometry/Curve/Surf-Surf Inters; a new curve is created.
8. Go to Geometry/Select/Surfaces and press <a> key binding to unselect both surfaces and right-click to quit.


9. A new small cylinder based on the intersection curve and the base circle of the small cylinder at X = 100 needs to be generated:Select the two curves and go to Geometry/View/Curve Orientation to show their orientation. They should normally have the same orientation. If this is not the case, the orientation of one curve must be reversed before creating the new surface by going to Geometry/Modify Curve/Reverse.Create a lofted surface from the Geometry/Create Surface/Lofted menu based on the two curves. The new surface appears at the same location as the initial small cylinder.Select the original small cylinder surface and delete it using Geometry/Delete/Surfaces.
 After that, select the curve used to create this surface and delete it
 using Geometry/Delete/Curves. The new surface is shown in the following figure.


10. Save the project using the File/Save/Save menu. Alternatively, the geometry could be saved using the File/Export/Geometry Selection menu after selecting curves and surfaces.
The geometry is now created!
Create & Control Blocks
This section describes the creation of the block used to mesh the big cylinder. This block will be created by constructing an initial cube, specified by two opposing corners, and by snapping its vertices to the boundary curves of the surface. During these operations, the edges of the blocks will be automatically mapped onto the curves or surfaces.
11. Click the Insert New Block icon .
12. Place the two opposite corners by attracting them to the two circles, as shown in the following figure.


A local coordinate axis system IJK will appear at the location of the first vertex. The  orientation will be modified such that the K-axis points downward (along the Z-axis), as an example.
13. Press the 
 key. The orientation of the axis system is changed and the K-axis now points downward. If this is not the case, press the 
 key again until the proper orientation is obtained.
14. Left-click to complete the block creation.
The block is now created and its eight vertices appear on the screen. The vertices lie close to the circles. In the next steps, they will be moved and snapped to the circles.
15. Left-click one vertex and move the mouse around its original position.
The block is instantaneously updated to reflect the new vertex position.
16. Move the vertex near the closest circle. It gets attracted to the circle.
17. Left-click to fix the new vertex position.
The block edges are automatically mapped onto the circles.
18. Repeat the above steps for the other vertices and try to place the vertices as shown in the following figure. Notice that the edges of "face 4" should be placed symmetrically around the intersection curve and should not cross it.
At this stage, the initial mesh created by IGG™  can be visualized.


19. Access the Block or Grid scope in the Quick Access Pad/View/Grid page.
20. Click the Toggle Face Grid icon () to visualize the grid for the whole block.
The face grids are by default generated using a bilinear interpolation. These initial grids will be projected onto the surfaces at a later stage.
21. Repeat the above step to remove the grid from the screen.
Now the number of points for the block can be defined.
22. Left-click segment '1 5 4 1' (see above figure).
23. Right-click segment '1 5 4 1' to pop up a menu.
24. Select Segment/Set Number of Points.
25. Type <65> and press <Enter> in the Set Number of Points dialog box. Click Apply.
Increasing the number of points of a segment automatically affects the total number of points in the associated direction. The total number of points along the K direction is consequently 65.
26. Repeat the above steps for segments '1 1 2 1' and '1 1 3 1' and increase their size to <33>. The block size should now be 33 x 33 x 65, as shown in the bottom left.


The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processes on a minimum of 3 grid levels within FINE™.
27. Close the dialog box.
By default, all the faces of the block are generated using a bilinear interpolation. However, the lateral faces should lie on the cylinder. A projection must be performed for these faces so that the grid lies exactly on the surface.
28. Select the surface corresponding to the large (vertical) cylinder using Geometry/Select/Surfaces.
29. Right-click and select one of the lateral faces (i.e. Face 4) by left-clicking one face segment until the face edges are highlighted in white or black.
30. Click the Project Face icon () in the Quick Access Pad/Grid/Generate page. It opens a dialog box to set the projection parameters.
31. Keep the default parameters: projection on Selected Surfaces - validation level 2 - boundary projection Off, since the edges are already on the surface (automatic mapping feature) - entire Face projection.
32. Click Apply to perform the projection of the active face.


33. Repeat the above steps for the other three lateral faces and Close the dialog box.
All the boundary faces of the block are now properly generated.
To mesh the small cylinder, a new block will be created by extruding a range of "Face 4" of the first block. For the meshing to work properly, this face should cover the intersection curve completely.
34. Activate "Face 4" of the first block by left-clicking one of its edges.
35. Click the Extrude Range icon () in the Quick Access Pad/Grid/Create page. It opens a dialog box to set the range of extrusion as well as the direction and magnitude of the extrusion.


By default, the range corresponds to the complete face and is displayed in red in the graphics area.
36. Change the range by left-clicking each boundary of the small yellow square and entering the appropriate values. These values should be such that the range fits the intersection curve as shown in the following figure: the limits I = [13,21] and K = [29,37] have been selected.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processes on a minimum of 3 grid levels within FINE™.


37. Select the User Direction option and type <1 0 0> (direction of the small cylinder).
38. Change the Magnitude to <75> (size of the small cylinder).
39. Press the Apply button: a new block is created. Close the dialog box.


The extrusion automatically creates four internal edges in the active face of the first block. At each intersection between two internal edges and between the internal edges and the boundary edges, a vertex/fixed point is created (they can be visualized by pressing the Toggle Vertices icon of the Quick Access Pad/View/Grid page). These internal edges are used as the basis for the creation of the boundaries of the second block. During the creation of the new block, IGG™  automatically connects the new block to the internal edges of the first block. The vertices at intersection of the internal edges are consequently used by the new block.
When extruding a new block, IGG™  automatically connects the new block to the existing one by connecting the vertices, the topological edges and the segments. A division into patches of the reference face and a connection is also performed, if possible.
To allow for a connection with the second block, "Face 4" of the first block is automatically divided into patches, as shown in the following figure (Grid/Boundary Conditions...). The central patch is automatically connected to the adjacent patch of the second block (Block 2 Face 3).


The internal edges will now be deformed to capture the intersection curve of the two cylinders. This is done by interactively moving the vertices and snapping them to the intersection curve.
40. Select the Block scope in the Quick Access Pad/View/Grid page.
41. Click the Toggle Vertices icon () to visualize the grid points for the whole active block.
42. Left-click one of the four vertices at the intersection of the internal edges.
43. Move and left-click the vertex to snap it to the intersection curve, as shown in the following figure.


44. Repeat the above steps for the three other vertices.
IGG™  will automatically map the central segment of each internal edge to the intersection curve. Notice also that the other segments are mapped onto the big cylinder.
45. Other vertices (intersecting the boundary edges of Block 1, Faces 5 and 6) have to be moved to correctly map the surface. Otherwise, the edges are going straight as presented in the following figure.


46. Select each vertex of Face 4 (Block 2, Face 4) and attract them to the circle at X=100 in order to snap the face to the small circle at X=100.
47. Left-click segment '2 5 1 1' (See left lower corner to see which segment is selected).


48. Right-click segment '2 5 1 1' to open a menu.
49. Select Segment/Set Number of Points.
50. Type <25> and press <Enter> in the Set Number of Points dialog box. Click Apply and Close the menu.
51. Similarly to the first block (steps 30 to 33), the lateral faces of block 2 must be projected on the small cylinder to ensure that their grid lies exactly on the cylinder. Select only the surface corresponding to the small cylinder and project the lateral faces of the second block in the same way as for the first block. In addition, the face of the second block connecting the first block must be projected on the big cylinder. Select the surface corresponding to the big cylinder and project the concerning face.


52. Click the Cluster Points icon () in the Quick Access Pad/Grid/Insert/Edit menu. A dialog box for controlling the distribution is opened.
53. Select Define/Edit group to define a new group: a new dialog box is opened.
54. Click the Create button. The dialog is extended to provide a field in which the name of the group can be specified. Enter the name <group-1> and press <Enter> (or click the Create button). The group is added to the list. Do not close the dialog box at this stage.
55. The segments will now be added to the group one by one in the following way:




Move the cursor to segment 1 4 5 1 and left-click to select it. When selected, arrows appear on the segment and the parent block is highlighted. If this is not the proper segment, repeat the step.
Middle-click to add the segment to the list. The segment appears in the group in the dialog box.
Repeat above steps to add segments 1 4 7 1, 1 4 7 3, 1 4 8 1, 1 4 8 3, 1 4 5 3, 1 4 6 1 and 1 4 6 3.




Left-click segment 1 4 7 3 in the clustering groups dialog box.
Right-click and select Reverse orientation.
Repeat the above steps for segments 1 4 8 3, 1 4 5 3 and 1 4 6 3.



56. Close the dialog box or right-click in the graphics area to complete the group creation.
The group is now defined and can be used to specify the clustering of all segments of the group at once.
57. In the popup menu of the Clustering dialog box, select group name "group-1".
58. Set distribution type At End and set initial spacing to <1>.
59. Press the Apply to group button to apply the clustering to each segment in the group.
The grid point distribution can be visualized using the Quick Access Pad/View/Grid/Toggle Grid Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing the mesh using the Quick Access Pad/View/Grid/ Toggle Face Grid (<Ctrl-z>) icon.


60. Click the Define/Edit group button and create a new group named "group-2".
61. The segments will now be added to the group one by one in the following way:



Select segment 2 1 4 1 (left-click) and add it to the group (middle-click).
Select segment 2 2 4 1 and add it to the group.
Select segment 2 1 3 1 and add it to the group.
Select segment 2 2 3 1 and add it to the group.

62. Close the dialog box or right-click in the graphics area to complete the group creation.
Now the clustering can be easily applied to these segments at once.
63. Select group "group-2" in the combo box of the Clustering dialog box.
64. Set distribution type At Start and initial spacing to <1>.
65. Press the Apply to group button to apply the clustering.


66. Close the dialog box.
Generate Block Grid
Before generating the block grids, a check must be done to ensure that the faces still lie on the input geometry. This might not be the case anymore if an operation has been performed on the block faces, for example adjusting a vertex interactively. In that case, IGG™  performs a default algebraic 4 boundary interpolation to keep the face grids inline with the boundaries.
This regeneration can be done straightforwardly by replaying the generation of the face grids.
67. Use the Regenerate Faces icon in the Quick Access Pad/Grid/Generate page. A dialog box is opened to select the face(s) to regenerate.
68. Select the All Blocks Faces option.
69. Click Apply to fully regenerate all face grids of all the blocks in the project.
70. Close the dialog box.
71. Click the Block 6 Bnd icon () in the Quick Access Pad/Grid/Generate page. A dialog box is opened to select the block(s) to generate.
72. Select the All option.
73. Click Apply to generate the grid in the two blocks.
74. Close the dialog box.
Define Butterfly Topology
In order to improve the mesh quality at block corners, a butterfly topology will be created in each block.
75. Activate the first block and click the Create Butterfly icon () of the Quick Access Pad/Grid/Create page. It opens the following dialog box and displays a default butterfly topology in Block 1.
76. Keep K as Preferential direction (axial direction of the pipe).
The IJK coordinates of the block can be plotted by right-clicking the  
icon in the Viewing buttons. This button acts as a toggle.
77. Remove the buffer blocks at Faces 1 and 2 by left-clicking the corresponding buttons 1 & 2 in the General variables frame. The shape of the butterfly topology is automatically updated in the first block.
78. In the Section control frame, activate Straight radial edges and set the Radial depth to <30> for the first section (Section number ID = 0). The four control points of the section are now closer to the cylinder center.
79. Now the parameters of the second control section will be copied from the first one:Activate the second section by setting the Section number ID to <1>.Press the Copy from section button.Select Face 1 (upward face where Section ID 0 locates) of the first block by left-clicking one of its segments.Middle-click to perform the copy: control points of the second section are now positioned in the same manner as those of the first section.Right-click to stop the procedure.
80. In the Clustering frame, keep Number of radial points set to 9.
81. Left-click the Radial clustering button and set the clustering as presented in the following figure.


82. Activate the option Clustering reciprocity parent -> inner.
If the button Clustering reciprocity parent->inner is activated, the clustering of the parent block is copied to the inner block, destroying the optimized clustering. Moreover, both clusterings (on parent and inner blocks) will be linked, meaning that each modification of the parent block clustering will be applied automatically to the inner block.
83. Create the butterfly topology in the first block by pressing the Create/update button.
Similarly, a butterfly topology can be created in the second block.
84. Type <2> in the Block entry to select the second block. This block will be automatically activated.
85. Set the Preferential direction to the axis of the small cylinder, J. A confirmation dialog box will appear. Confirm the change by pressing the yes button. Control sections of the butterfly topology are automatically updated.


Now, the topology of the mesh must be chosen. Indeed a buffer block can be associated to the Face 3 of Block 2, leading to a matching connection between patches of the two cylinders. Otherwise, if Face 3 has no buffer block associated, it leads to a full non-matching connection with the first block. This latter topology is chosen in order to illustrate the FNMB connection and to have a better mesh quality.
86. Remove the buffer blocks at Faces 3 and 4 by pressing the corresponding buttons 3 & 4.
87. In the Section control frame, activate Straight radial edges and set the Radial depth to <30> for the first section (Section number ID = 0). The four control points of the section are now closer to the cylinder center.
88. Activate the second section and to copy the parameters from the first one:Activate the second section by setting the Section number ID to <1>.Press the Copy from section button.Select Face 3 of the second block by left-clicking one of its segments.Middle-click to perform the copy: control points of the second section are now positioned in a same manner as those of the first section.
89. In the Clustering frame, keep Number of radial points set to <9>.
90. Left-click the Radial clustering button (if menu not already extended) and set the clustering as presented in the following figure.


91. Activate the Clustering reciprocity parent -> inner option.
92. Create the butterfly topology in the second block by pressing the Create/update button.  Close the dialog box.
Control Mesh Quality
94. Check for negative cells by clicking .


95. Click the Apply button and press Ok.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pushing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

96. Close the dialog box.
97. Check for grid quality by clicking .
A detailed analysis of mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window by using the Type pull-down menu.
98. Select block number (0 for all).
99. Select quality criteria using the Type pull-down menu.


100. Left-click the Show chart button to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


101. Left-click part of the histogram to plot the corresponding cells in the 3D view.
102. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


103. Close the dialog box.
Define Boundary Conditions
104. Go to Grid/Boundary Conditions... to open the dialog box.
Note that only the parent block patches appear in the lists of the dialog box. Consequently, connections are performed between parent block patches. Therefore these ones are visualized instead of the butterfly block patches.
Face 1 of Block 1 is activated in the dialog box and displayed in pink meaning that its boundary condition type is undefined.


105. For Block 1 Face 1, set Patch Type to OUT (outlet boundary condition). To do this, left-click the Set Patch Type menu, drag the mouse to the OUT button and release the left mouse button.


106. Select Block 1 - Face 2 in the dialog box (left-click it) and set Patch Type to INL (inlet boundary condition).
107. Select the patches defining Block 1 Faces 3, 5 and 6 (<Ctrl> + left-click) in the dialog box and set Patch Type to SOL.
108. Select all the patches defining Block 1 - Face 4 (<Ctrl> + left-click) except patch 5 (the patch connected to Block 2) in the dialog box and set Patch Type to SOL.
109. Select the patches defining Block 2 - Faces 1, 2, 5 and 6 (<Ctrl>+ left-click) in the dialog box and set Patch Type to SOL.
110. Select the patch defining Block 2 - Face 4, set Patch Type to INL (inlet boundary condition).
Two patches remain undefined (UND). These patches should be connected by a full non-matching connection, since they are located at the same position.
Define Full Non-Matching Connection
In this section, the full non-matching connection between the two blocks will be defined.
111. Press the Define... button in the Full Non Matching frame (Boundary Conditions dialog box). It opens a dialog box controlling the FNMB connections.
112. In the left patches list, select UND in the Type filter.
113. Left-click the first patch 1 4 5. It is highlighted in the graphics area in yellow.
114. In the right patches list, select UND in the Type filter.
115. Left-click patch 2 3 1. It is highlighted in the graphics area in blue.


116. In the Connection Name entry, type <connection> and press <Enter>.
117. Create the FNMB connection by pressing the Create/update button. The new connection appears in the list at the right of the dialog box.
The type of the patches involved in the connection is automatically changed from UND to SOL*.
118. Press the Compute & Show button to compute and visualize the triangulation of the connection on grid level 0 by default. The result is shown in the following figure. Calling this item is optional in IGG™.


119. Close the Full Non Matching Connections dialog box.
120. Close the boundary conditions dialog box.
Save Project
121. Go to File -> Save -> Save As <tutorial3> and press <Enter> to save mesh files.
The mesh files (6 files) contain the multiblock mesh topology, geometry, grid 
points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg" and ".config". The meaning of these files is detailed in the User Guide.

Input & Output Files


This chapter describes the file formats used in IGG™ or generated by IGG™. There are basically two categories of files: files used to import and export a geometry or a grid (points, curves, surfaces or blocks) and files used to save and reload an IGG™ project.
First the file formats used to import geometry and grid data are described. Then, the file structure of an IGG™ project will be presented.
White spaces should be avoided in the file name.

Planar Smoothing frame
This frame allows to control the optimization of the mesh in all planar sections using an elliptic multiblock smoother mainly to avoid high expansion ratio at the connection between inner block and buffer blocks. The multiblock smoother is applied after respecting the settings imposed by the user in the three above frames.
To ensure planar faces, the butterfly topology should present no buffer blocks in the preferential direction.
To ensure planar faces, all parent block internal faces should be aligned with preferential direction, i.e. they are control sections.
In this frame, the maximum expansion ratio and the number of smoothing steps are controlling the smoothing process.

Connection Commands

Connection commands allow to perform connections for the different entities manipulated in IGG™: vertices, topological edges, segments and patches. The commands correspond to the options available in the Quick Access Pad/Grid/Connect menu or in the Boundary Conditions dialog box.

connect_edges(edge1,edge2,level,tol)
Connects two block edges together at the specified level and with the given tolerance.
edge1 and edge2 are the two edges to connect and must be of class Edge. The first edge is taken as reference.
level specifies what to connect. It can take one of the following values: VERTEX, ORPHAN, SEGMENTS, EDGES or ALL. Quotes must surround these values.
tol is a real, specifying the absolute tolerance for connections. It is optional, if omitted it has a default of 1e-5.
connect_faces(face1,face2,level,tol)
Connects two faces together at the specified level and with the given tolerance.
face1 and face2 are the two faces to connect and must be of class Face. The first face is taken as reference.
level specifies what to connect. It can take one of the following values: VERTEX, ORPHAN, SEGMENTS, EDGES, PATCHES or ALL. Quotes must surround these values;
tol is a real specifying the absolute tolerance for connections. It is optional, if omitted it has a default of 1e-5.
connect_whole_grid(level,tol)
Connects the whole grid at a given level.
level specifies what to connect. It can take one of the following values: VERTEX, ORPHAN, SEGMENTS, EDGES, PATCHES or ALL. Quotes must surround these values;
tol is a real specifying the absolute tolerance for connections. It is optional, if omitted it has a default of 1e-5.
search_connections(tol)
Searches all the connections of type CON, NMB, PER, PERNM, falling within a given tolerance. This function corresponds to the Search button in the Grid/Boundary Conditions... dialog box.
tol is the tolerance search given in absolute units.
connect_patches(patch1,patch2,dir1,dir2,con_type,tol)
Manually connects two patches by specifying their relative orientation and connection type. IGG™ will check the validity of the connection. This function corresponds to the Manual button in the Boundary Conditions dialog box.
patch1, patch2 are the two patches to connect and must be of class Patch.
dir1,dir2 specify the relative connection orientation. It can take one of the following values: IHIGH, ILOW, JHIGH, JLOW (surrounded by quotes).
con_type specifies the type of connection: CON, NMB, PER, PERNM.
tol is the absolute tolerance used for connecting.
Example:
            
connect_patches(patch(2,1,1),patch(1,2,1),"IHIGH","JHIGH","CON",1E-005)
delete_all_connections()
Deletes all existing connections (type CON, NMB, PER, PERNM) in the project. Similar to the Delete All button in the Grid/Boundary Conditions... dialog box.
create_fnmb(name,left_patches,right_patches,periodic,max_proj_dist,min_proj_dist,n_smooth_normals,triangulated_side,attraction_tol,projection_type,search_type)
Creates a new full non matching connection. Similar to the Define... button in the Full Non Matching area in the Grid/Boundary Conditions... dialog box.
delete_fnmb(name)
Deletes the full non matching connection.
set_fnmb_parameters(name,param_name,param_value)
Sets the value of the full non matching connection parameters.
param_name corresponds to either name, max_projection_distance, min_projection_distance, normal_smoothing_steps, triangulated_side or periodicity.
compute_fnmb(name,grid_level)
Computes a full non matching connection at the grid level and returns a value (0 if failed, 1 if success). Similar to the Compute & Showbutton in the Full Non Matching Connections dialog box.
compute_all_fnmbs()
Computes all full non matching connections on all the grid levels available.
get_fnmb_list()
Returns the list of existing full non matching connections.

Compute All Fnmbs
Grid/Compute All Fnmbs is used to ease the calculation of the full non matching connections by computing all full non matching connections defined in the menu Grid/Boundary Conditions at once on all available grid levels. A window appear when full non matchings are failing on specific grid level(s).

Create Face->Generation Tool
Grid/Create Face/Generation Tool... menu item is used to define internal grid lines and to generate the grid of the active face. See FIGURE 36. The dialog box is divided into two pages:

Grid: the page gives access to the grid generation tools.
Internal Grid Lines: this page gives access to the internal grid lines control.

When the dialog box is opened, the interactive selection of the active face remains operational. The pages are automatically updated when selecting another active face.
This tool can also be accessed through the Quick Access Pad/Grid/Generate page.
 Grid Page


FIGURE 36 Grid generation control
Face Range: these parameters are used to select the active area on the active face. The active area is automatically displayed in red. Two methods are available:

selection of a patch. If the patch 0 is selected, the entire face is activated.
selection of a range by specifying the boundary indices of the desired area.

Edge Mapping: this parameter is specified to control whether the boundary points of the active area have to be updated if a generation method is applied to this area.
Overlapping: this parameter is specified to display the overlapping cells. These cells are highlighted using a small circle. 
Overlapping cells can be correctly detected for planar grids only.
The selection of a face range by specifying the boundary indices is illustrated in FIGURE 37.
Generation Type: 

Algebraic: it is used to generate the mesh by linear interpolation of the active edges of the active area. 
Mapping: it is used to generate the mesh by mapping the mesh of the active area on the active surface (can be applied if only one geometric surface is selected).



FIGURE 37 The active area is displayed in red and the active edges in blue.
Edges 1-2, 3-4, 1-2-3-4: these buttons are used to select the active edges. The active edges are displayed in blue. Mapping method always interpolates the four edges of the active area on the selected surface.
Orthogonality Control: this button activates the orthogonality control parameters. These parameters allow the control of the orthogonality of the mesh near two opposite active edges through definition of the active edges normals. Normals to the edges are automatically displayed in black. The normal ranges and lengths (Ratio) can be controlled for both active edges.


The orthogonality parameters are not active for the four boundaries interpolation (button 1-2-3-4 activated). 
When orthogonality control is applied, the mesh fits the four boundaries of the active area and is orthogonal to the two opposite active edges
Elliptic Smoothing: this button opens an additional area controlling smoothing:



The grid inside the active area can be smoothed using an elliptic solver by pressing the Smooth button. The level of smoothing can be controlled through the Ratio entry, which is in fact the relaxation factor of the smoothing algorithm and should be lower than 1. If the option On Surface is activated, IGG™ smoothes the grid on the active surface.
Mapping, orthogonality control or smoothing generation options do not take into account internal grid lines of the face generated. Therefore the user must take care because an inconsistency can appear (no grid points corresponding to the internal grid line points). 


 Internal Grid Lines Page
This dialog box allows the creation of C-Spline curves used to define the geometry of new internal edges.
Constant Index: the location of the internal grid lines can be chosen through the selection of a direction and a constant index. The geometry of the future internal grid line is automatically displayed when scrolling the I or J index.
Orthogonality Control: the orthogonality of the geometry can be controlled at both ends through two different parameters:

ratio 1: real number defining the relative distance along which the geometry of the internal grid line is perfectly normal to the edge: 3 control points are computed at both ends of the geometry to define the orthogonality.
ratio 2: real number defining the tangential condition of the curve after the three first control points and before the three last control points.

Create: when the geometry is correctly set, this button can be used to create a new internal edge.
Delete: the internal edge selected previously by the indices can be deleted by using this button. Note that the internal edge is deleted but not its end vertices (which are attached to fixed points).

Create Block->Elliptic->SLOR
Grid/Create Block/Elliptic/SLOR menu item is used to create an elliptic surface or block grid by solving a Poisson type quasi linear PDE with the Successive Line Over Relaxation (SLOR) technique, for active face or block depending on the Viewing Scope. When this command is repeated, the latest created grid is taken as the initial solution and solved with the current values of SLOR parameters. The active view is updated after each iteration to show the progress of the generation process. The number of iterations for convergence is also displayed on the status area. This item can also be used to smooth the algebraic surface or block grids within a user-defined area of the block (local smoothing) or completely.
For 2D/3D surface grids, the control functions (CF) are computed by interpolation from the edges. In Keyboard mode, the grid points on edges 3 and 4 are also shifted after the grid is solved, to conform to the slopes of internal grid lines near the boundaries.
The following prompts are given to specify the smoothing area for 2D/3D surface and block grids:
Smoothing area (0) or all (1) : (q)
>>   0 
In case of local smoothing, the grid indices are specified as:
Smooth index 1 min,max 1 ... 65 (q)
>>   7  25 
Smooth index 2 min,max 1 ... 41 (q)
>>   3  17 
For 3D surface or block grids :
Smooth index 3 min,max 1 ... 33 (q)
>>   15  33 
After the initial number of user-specified iterations is completed and if the solution is not converged, the following prompt is given to ask for more iterations (ranging from 1 to 200). If a value is indicated, the same prompt is repeated in a loop, after the additional iterations are completed:
Iterate more ? ... 20 so far (q)
>>   4

Create Block->Split
Grid/Create Block/Split... menu item is used to split a block along a face mesh (I, J or K) in order to obtain two new blocks.
The features and details about block splitting, as well as the limitations, are described here after.
The splitting operation will yield several new blocks with the same grid point coordinates as the initial block and the topology of the new blocks will closely follow the one of the initial block (i.e. if an additional vertex is present in the initial block, it will also be present in a new created block, at the same position).
Upon successful splitting of a block, the new split blocks will be such that:

The two split blocks are fully connected at their interface: vertices, edges, segments and patches connection.
All the topological connections with the adjacent blocks are recovered: vertices, edges and segments.
The periodicity of the original block is recovered.
The division into patches, as well as their type, name and connection are recovered.
When a patch overlaps the splitting region, it results into two segmented patches: one in the first split block and the other in the second split block. If the original patch is connected (CON or PER connection type), its connected patch is also divided, and the connection between these segmented patches is established. For NMB and PERNM connection types, such a division is not applicable and is not performed. Therefore the type of the original patch is set to UND in this case.
All the FNMB connections involving the block to be split are recovered.

Limitations

Information about faces generation (projection, smoothing,...) is lost.
A butterfly block (a parent block containing a butterfly topology) cannot be split.
Block patches connected to a butterfly block are disconnected. The connection should be re-established after splitting.
As said before, the division of connected patches cannot be performed for NMB and PERNM connections.
It is up to the user to take care about multigrid levels. Indeed, no checks are done on block and patch sizes that will be obtained. Therefore, even if the original block has several multigrid levels, the split blocks can have no multigrid levels if indices of splitting are improperly chosen.

This tool opens a dialog box allowing the selection of the face mesh where the block will be split. If the active block is not generated or has been modified since the last generation (by moving a vertex, for example), the message shown in FIGURE 45 will appear:


FIGURE 45 Message indicating that the block may be regenerated
It asks for block regeneration. If the block is not generated and that the no button is pressed, the dialog box of the next figure will appear but without being able to do something except pressing the Close button. If the block has been modified since the last generation (a block is not automatically regenerated after modifications of its topology) and that the no button is pressed, the mesh that will be interactively displayed may look quite strange.


FIGURE 46 Split block dialog box
The Block box allows to choose the active block which will be split. Next to this box, the active block name and the grid points number in each direction are displayed.
The I, J and K scrollers allow to interactively sweep the grid along the three directions. While scrolling, surface grids are displayed for each constant index direction.
When pressing the Split button, the selected block is split at the face mesh currently visible and the dialog box is closed. 
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.

Create Block->Linear 2Bnd


Create Block/Linear 2Bnd menu item is used to create an algebraic block grid using two opposite boundaries of the active block. The grid matches the point distributions on the active boundary and its opposite. Other grid boundaries are computed by linear interpolation and the internal grid points are distributed according to the user-defined point distributions between opposite boundaries.

General variables frame
This first frame contains three items allowing to control the whole shape of the butterfly topology. It is highly recommended to set the parameters of this frame before going to the next frame Section control.
Preferential direction
This first item allows to choose the preferential direction along which the section control will proceed. The possible values for this direction are the I, J or K axis of the parent block. Obviously, the shapes obtained with different directions are rather variable because the geometric surfaces of the control sections are constructed by taking different surfacic meshes.
Consequently all the parameters of the Create butterfly dialog box are reset to default values and a new optimized shape is calculated. To prevent wrong manipulations and a non desired reset of the parameters, a dialog box asking for confirmation appears when changing the preferential direction.


FIGURE 15 Influence of preferential direction on shape control
Buffer blocks
This second item is a set of buttons allowing to choose the type of the butterfly topology that will be generated. For each parent block face, a buffer block can be set by simply clicking repeatedly on the button corresponding to the face number.


FIGURE 16 Buffer block selection by parent face index
Creation from uniform clustering
For each control section, a geometric surface is created from a surfacic mesh, leading to a different edge mapping if the mesh is different. Also, the edges interpolated in the parent block mesh have a different shape when using different meshes. This option allows to change the mesh used to calculate the edges position.
It is important to note that the activation of this option is not modifying the mesh of the parent block. A duplication of this mesh is done, all the clusterings are reset to uniform, all the faces are regenerated and a new mesh is re-interpolated.
This option is useful when a clustering already exists on a parent block and allows to always obtain the same butterfly blocks shape with different clusterings. This option is illustrated in FIGURE 17.


FIGURE 17 Creation of a butterfly topology by using a uniform clustering
As shown by the crosses in FIGURE 17, the parent block (cylinder) is clustered. The left butterfly topology is obtained by activating the option and recalculating a default shape (a default shape can be recalculated by changing the preferential direction). The right topology is obtained from the left one by simply deactivating the option, showing its influence. Thus, the parametric position of the control points is left unchanged and these ones are simply repositioned on the new geometric surfaces created, leading to the different shapes. If a default shape was recalculated on the right case, it will lead to approximately the same shape as the left one, because the shape will result from an optimization procedure which recalculates the parametric position of the control points.
Consequently this option is useful when the parametric position of the control points remains unchanged, for example when replaying a template on a butterfly topology, or when copying parameters from one parent block to another one.

Internal Face->Delete
Grid/Internal Face/Delete menu item is used to delete the active internal face from the active block. This face is permanently removed from the system and the total number of faces for the active block is decreased by one. A dialog box appears to select if the face boundary edges must be kept or not. Even if the boundary edges are deleted, the end vertices (which are attached to fixed points) are kept.
Obviously, using this command on a boundary face will have no effect and a warning message will appear.

Basic Geometry Operations
Curves and surfaces constructions are provided in this script file. The following features are used:

polyline creation,
C-spline creation,
lofted surface creation,
surface of revolution creation,
surface intersection with a plane.


# Close the currently opened project in IGG™. This allows to rerun the script within a same session.
# Commenting this line would keep adding entities to the opened project.
close_project()
 
# Empty polyline, default name.
p1 = new_polyline()
# Default name is given by IGG™.
p2 = new_polyline(Point(0,0,0),Point(1,0,0))
# Name + points.
p3 = new_polyline("poly1",Point(1,0,0),Point(1,1,0),Point(0,1,0))
# Create new C-spline.
c1 = new_cspline("c1",Point(1,0,1),Point(1,1,1),Point(0,1,1))
 
# Construct a lofted surface from two curves. A name is assigned to the surface.
loft = lofted_surface([p3,c1],"first_lofted")
# Create a surface of revolution by rotating a curve.
surf_rev = surface_revolution(p2,Point(0,1,0),Vector(1,0,0),-90,"surface_2")
 
# Create intersection between a surface and a plane.
surface_intersect_plane("first_lofted",CurvePointNorm("c1",0.252854),"first_lofted_spi1")
surface_intersect_plane("first_lofted",CurvePointNorm("c1",0.610316),"first_lofted_spi2")
surface_intersect_plane(surf_rev,PlanePPP(CurvePointNorm("surface_2#1",0.848231),
                                                CurvePointNorm("surface_2#1",0.41521),
                                                CurvePointNorm("surface_2#0",0.600666)),
                                                "surface_2_spi3")

Butterfly Management
Creation specificities
Several parent block configurations can lead to warnings during the butterfly creation, or even more, to a butterfly creation failure.
Face divided into several patches
If a parent block face has no associated buffer block and if this face contains several patches, the butterfly topology cannot be created. The reason is that, in general, it is impossible to associate butterfly blocks patches to parent block patches in this case. So the message shown in FIGURE 25 will appear:


FIGURE 25 Face without buffer containing several patches
To solve the problem, the parent block patches must be deleted.
Periodic connections
If a parent block contains periodic connected patches, the butterfly topology cannot be created. The message shown in FIGURE 26 will appear:


FIGURE 26 Periodic connections detected at the creation
To solve the problem, the periodic connections of the parent block must be deleted.
In the two previous cases, a message indicating that the butterfly topology cannot be created will appear. See FIGURE 27:


FIGURE 27 Creation of the butterfly topology forbidden
Invalid connections (of type CON or NMB)
Invalid connections can appear when creating a butterfly topology. For example, when two blocks are connected and a butterfly is created in the first block, the connection can become invalid if there is no buffer associated to the connected face. It means that this connection is nonsense within the topology chosen and that a full non matching configuration will be created. The message shown in FIGURE 28 will appear:


FIGURE 28 Invalid connections detected
After pressing the ok button, the corresponding forbidden connection is deleted. This message is displayed for each forbidden connection encountered. Then the butterfly topology is created.
Blocks naming and numbering
As said in the Generation method section, the butterfly blocks numbering and naming is hidden to the user. The butterfly blocks naming is based on the parent block name, according to the following rule:
If "X" is the name of the parent block, the name of the butterfly blocks will be the following:

Inner block: X_but0
Face 1 buffer block: X_but1
...                             ...
Face 6 buffer block: X_but6

If the butterfly group is split, the part "but" of the butterfly blocks name is automatically replaced by "split". If the parent block name is changed, the butterfly blocks names are automatically updated according to this rule.

Concerning the butterfly blocks numbering, as they are not added in the grid, their number is not seen. However, there are differences in blocks numbering between IGG™ and FINE™, EURANUS and CFView™. Indeed, parent blocks are only seen in IGG™ and block number 2 in FINE™, EURANUS and CFView™ may not correspond with block number 2 in IGG™. Moreover, the number of blocks can also be different. For example, for one parent block containing a butterfly topology, there is one block seen by the user in IGG™ whereas there are 7 blocks in FINE™ (the butterfly blocks).
On the other hand, when a butterfly group is split, the parent block is deleted and the butterfly blocks are added at the end of the grid. It implies that blocks number are modified. For example, let's take two butterfly groups to split: parent block 1 and parent block 2. Start to split group 1: parent block 1 is deleted and parent block 2 becomes block number 1. So, to split the remaining butterfly group, block number 1 must be split and not the block number 2, which has no more a butterfly topology!
Interaction with the butterfly topology
As the butterfly blocks are not added in the grid, the user will always interact with the parent block and never directly with the butterfly blocks. Here below are listed the main operations executed through the parent block.
Setting blocks number of points
The number of points of the butterfly blocks is updated automatically in order to be always matching with the parent block. The radial number of points, independent from the parent block, must be changed in the Create Butterfly dialog box ().
Setting segments clustering
Clustering is automatically applied from a parent block segment to the underlying buffer block segment, if existing. Moreover, the same arc-length distribution can be applied from a parent block segment to the corresponding segment of the inner block by using the Clustering reciprocity parent->inner option of the Create Butterfly dialog box ().
The radial clustering, independent from the parent block, must be changed in the Create Butterfly dialog box ().
Face generation
When a face mesh is modified (for example by projecting a face) and that there is a buffer block associated, the face 1 of this buffer block is automatically updated.
When a face of a parent block is mapped on a surface this mapping is not taken into account when creating the butterfly block. Therefore the grid points of the butterfly block may be away from the surface. Only the projection is taken into account for butterfly, not the mapping. So currently it is recommended to use projection instead of mapping for butterfly blocks. 
Block generation
The butterfly blocks are generated by generating the parent block.
Block deletion
Obviously, when the parent block is deleted, the butterfly topology is also removed.
Boundary conditions, connection of patches and division of the faces into patches
If a parent face is associated to a buffer block, the same division into patches will be applied from this face to the face 1 of the buffer block. If there is no associated buffer block, the parent face can contain only one patch and cannot be divided.
Connections are performed between parent blocks. Then connections between corresponding butterfly blocks are set automatically. If the butterfly blocks configuration does not allow this connection, the connection between parent blocks is not found.


FIGURE 29 Face without buffer block associated
Concerning the boundary conditions, the patch type is applied from the parent block patch to the corresponding butterfly blocks patch. If there is no buffer associated to the patch face, the same type is applied to all the butterfly block patches adjoining the parent face. It is exactly the same for the full non matching connections, as illustrated in FIGURE 29.
All these operations can be performed before or after the creation of the butterfly topology; they will be taken into account in both cases.
Visualization
Edges of butterfly blocks are visualized but cannot be accessed. They are toggled with the edges of the parent block.
Vertices, fixed points, edges grid points and patches are only displayed for the parent block.
Faces grids are displayed for the butterfly blocks. This means that if there is no buffer block associated to a parent block face, the adjoining butterfly faces will be shown, see FIGURE 30.


FIGURE 30 Face grid representation
Forbidden operations
Vertex displacement
To keep consistency between the parent block and its corresponding butterfly blocks, the vertices of the parent block cannot be moved when the butterfly topology is created. If a vertex has to be moved, the butterfly topology must be deleted and then recreated after vertex displacement.
Vertices connection
When connecting vertices of the parent block, some care must be taken to avoid vertex displacement and therefore keep consistency between parent and butterfly blocks. Indeed a vertex can be displaced automatically when connecting it to another vertex if it is too far away. If a vertex is moved, the butterfly topology of the parent block will not be updated.
It is recommended to do Edge-Edge or Face-Face connections (Quick Access Pad/Grid/Connect page) by always choosing the parent block as reference to avoid its modification.
Internal faces
At the creation of a butterfly topology, internal faces are automatically inserted in the butterfly blocks for each internal face of the parent block. Therefore, once the butterfly topology is created, internal faces cannot be inserted or deleted in the parent block. To do such operations, the butterfly topology must be deleted and then re-created.
Face grid modification
When there is no buffer block associated to a parent block face, the edges of the butterfly blocks adjoining this face are mapped on a surface constructed from the face mesh. If this mesh is then modified (e.g. by face projection), the edges will not be remapped and will not lie any more on face mesh. To ensure this, the butterfly topology needs to be re-created.
Block modification
To keep consistency, following operations cannot be applied on the parent block:

Block creation by face rotation
Block creation by face translation
Block creation by face expansion
Block creation by sweeping
Block extension
Block splitting
Blocks merging
Change block axis system

Visualization of butterfly blocks inner mesh
The Sweep Surfaces tool (View menu) can be used on a butterfly group to visualize its mesh. Indeed, in this case, the butterfly blocks will be swept instead of the parent block. The global direction of sweeping is one of the three directions of the parent block (I, J or K). The faces of the butterfly blocks that will be displayed are normal to the direction of sweeping. When sweeping in one direction, all the butterfly blocks will be swept except the possible buffer blocks related to the faces that are normal to the direction (the blocks that will be swept must have the same number of points along the chosen direction). For example, when sweeping the K direction, the buffer blocks corresponding to faces 1 and 2 will not be swept. However, their mesh can be visualized by sweeping in the two other directions. This is illustrated in FIGURE 31.


FIGURE 31 Sweeping of butterfly blocks mesh
Cells volume calculation
For butterfly topologies, the calculation of the cells volume is performed on all the butterfly blocks of the specified parent block. The number of negative cells of each butterfly block is added and displayed in the Negative cells dialog box by referencing the parent block.
Grid quality checking
The Mesh Quality dialog box (Grid/Grid Quality... menu item) contains a special item dedicated to butterfly topologies allowing to choose the butterfly block in which the quality will be checked. See FIGURE 32. 
The Block entry allows to choose the block that will be checked. When it is a parent block, the second entry Butterfly block is activated, displaying the number of the butterfly block which is analysed. The range goes from 0 to 6. The number 0 represents the inner block and is therefore always present. The other numbers between 1 and 6 represent the parent face number and thus the associated buffer block. If there is no associated buffer, the corresponding number does not appear.


FIGURE 32 Grid quality checking on butterfly topology
Butterfly regeneration when using template
When replaying a template by geometry importation, all the curves and surfaces of the current IGG™ project having the same name as a corresponding entity in the geometry data file imported can be modified. Indeed, they can be replaced by the new imported entity having a common name. All vertices snapped and all edges mapped on these modified entities are repositioned correctly according to the curve or surface modification (see Templates).
By simply importing a geometry data file, since the vertices and edges of a butterfly topology have no underlying geometry, they remain at the same position while the parent block is adapted according to the new imported geometry. Thus it leads to a mismatch between the butterfly topology and its associated parent block.
Consequently a new option has been added in order to replay a template by geometry file importation and then to automatically regenerate all the butterfly topologies of the grid. This is accessible in the File/Replay Template/Import IGG Data... menu item. Obviously, this option is only applicable on unsplit butterfly topologies, as split blocks must be considered as normal blocks.
The following steps will be executed to regenerate a parent block:

Memorization of the butterfly generation parameters
Deletion of the butterfly topology
Regeneration of the parent block faces
Regeneration of the parent block
New butterfly topology creation according to the memorized parameters

The butterfly option Creation from uniform clustering will always be used to regenerate the butterfly topology because in general, a clustering is always set on a parent block after the butterfly creation. On the other hand, it is not restrictive as it is advised to create a butterfly topology on a parent block by using a uniform clustering.
Moreover, the options Clustering reciprocity will be taken into account for regeneration.
Patches connections between butterfly groups and their adjacent blocks will be lost because they are deleted when removing the existing butterfly topology.
Block transformation
When a parent block is transformed (icon  in the Quick Access Pad/Grid/Insert/Edit page), its butterfly topology is automatically regenerated by IGG™. The following steps will be executed to regenerate a parent block:

Memorization of the butterfly generation parameters
Deletion of the butterfly topology
Transformation of the parent block
New butterfly topology creation according to the memorized parameters

All the same parameters of the initial butterfly topology are re-used to create the new one.
Block duplication
When a parent block is duplicated (icon  in the Quick Access Pad/Grid/Create page), a butterfly topology is created in the duplicated block(s). This is valid except if the No Topology option is selected, in which case only the parent block mesh is duplicated.
All the same parameters of the parent block butterfly topology are re-used to create the new butterfly topology in the duplicated block(s).
Imposition of an initial solution in FINE™
The axis system of the butterfly blocks is imposed by IGG™ and cannot be changed. When imposing the flow direction of the initial solution in FINE™, the butterfly blocks axis system do not have the same orientation. However their orientation can be found according to the one of the parent block without splitting the butterfly topology. Indeed, the flow direction is imposed for each block, represented by its name. As said in a previous section, butterfly blocks naming is based on the following rule: 
If "X" is the name of the parent block, the name of the butterfly blocks will be the following:

Inner block: X_but0
Face 1 buffer block: X_but1
...                             ...
Face 6 buffer block: X_but6

If the butterfly group is split, the part "but" of the butterfly blocks name is automatically replaced by "split". As the relative position of a block to the butterfly group can be known from these names, there is no need to look in IGG™ the orientation of this block. If the flow direction chosen for the parent block is respectively K, J or I, the corresponding flow direction for the butterfly blocks will be the following:

Inner block:              K    	                  J                     I
Face 1 buffer block:  K                      J                     I
Face 2 buffer block:  Reverse K         J                     Reverse I
Face 3 buffer block:  J                       K                    Reverse I
Face 4 buffer block:  J                       Reverse K        I
Face 5 buffer block:  J                       I                      K
Face 6 buffer block:  J                       Reverse I         Reverse K

Current limitations

Avoid using the File/Export/Block Coor functionality if butterfly blocks have to be exported. Only the parent block is exported when selecting this functionality.
Avoid connections of type PER and PERNM for butterfly groups. They are not available.
Avoid setting periodicity to a butterfly group (set by the Grid/Periodicity menu item). It is not applied from the parent block to the butterfly blocks. Moreover, there is no warning message. Split the butterfly group to set the periodicity and to find periodic connections.
For patch visualization, it is the parent block patches that are displayed.
The mapping of radial edges on a geometric surface of the section can sometimes lead to curved edges. It is due to the parametrization of the surface. In this case additional control points can be inserted in the edge to improve its shape.
Coarse grids cannot be visualized for butterfly blocks because their coarse grid levels are different than the ones of the parent block (due to the radial number of points).

Geometry Subpad Description
The Geometry subpad provides commands and tools allowing the creation and the modification of geometry entities like points, curves and surfaces. It consists of four pages: three for geometry entities creation (respectively point, curve and surface creation) and one for curves and surfaces editing.
Point page


Cartesian Point
See the Geometry/Create Points/Cartesian Point menu item description in Create Points->Cartesian Point.
Curve-Curve Inters
See the Geometry/Create Points/Curve-Curve Intersection menu item description in Create Points->Curve-Curve Intersection.
Curve-Plane Inters
See the Geometry/Create Points/Curve-Plane Intersection menu item description in Create Points->Curve-Plane Intersection.
Curve-Surface Inters
This command is used to create a Cartesian point between the selected curve (Select->Curves) and the selected surface (Select->Surfaces).
Curve page


Polyline
See the Geometry/Draw Polyline/Free menu item description in Draw Polyline->Free.
CSpline
See the Geometry/Draw CSpline/Free menu item description in Draw CSpline->Free .
Arc
It opens the following submenu for the selection of various circular arc creation modes:



This menu is strictly equivalent to the Geometry/Circular Arc menu from Circular Arc->Normal-Center-Point-Point to Circular Arc->Point-Point-Point sections.
Trim
See the Geometry/Create Curve/Trim menu item description in Create Curve->Trim.
Group
See the Geometry/Create Curve/Group menu item description in Create Curve->Group.
UnGroup
See the Geometry/Create Curve/UnGroup menu item description in Create Curve->UnGroup.
Surf-Surf Inters
See the Geometry/Create Curve/Surf-Surf Intersection menu item description in Create Curve->Surf-Surf Intersection.
Surf-Plane Inters
It opens the following submenu for the selection of various intersection modes:



This menu is strictly equivalent to the Geometry/Create Curve/Surf-Plane Intersection menu from Create Curve->Surf-Plane Intersection->Point-Normal to Create Curve->Surf-Plane Intersection->Point-Point-Point sections.
Set Name
It is used to change the name of a selected curve. See the Geometry/Modify Curve/Set Name... menu item description in section Modify Curve ->Set Name.
Surface page


Lofted
See the Geometry/Create Surface/Lofted menu item description in Create Surface->Lofted.
Revolution
See the Geometry/Create Surface/Revolution menu item description in Create Surface->Revolution.
Offset
See the Geometry/Create Surface/Offset menu item description in Create Surface->Offset.
Bilinear From Face Grid
See the Geometry/Create Surface/Bilinear From Face Grid menu item description in Create Surface->Bilinear From Face Grid.
Set Name
It is used to change the name of a selected surface. See the Geometry/Modify Surface/Set Name... menu item description in section Modify Surface->Set Name.
Edit page


Copy
See the Geometry/Edit/Copy menu item description in section Edit->Copy.
Mirror
See the Geometry/Edit/Mirror menu item description in section Edit->Mirror.
Translate
See the Geometry/Edit/Translate menu item description in section Edit->Translate.
Rotate
See the Geometry/Edit/Rotate menu item description in section Edit->Rotate.
Scale
See the Geometry/Edit/Scale menu item description in section Edit->Scale.

Create Block->Butterfly
Create Block/Butterfly... opens the Create Butterfly dialog box which is used to automatically create a butterfly topology in a block. Refer to Butterfly mesh for a complete description of this dialog box and for information about the butterfly topology.
This tool can also be accessed through the Quick Access Pad/Grid/Create page.

Templates & Scripts


IGG™ provides two options to automate the generation of grids around similar geometries: templates and scripts.
In the template concept, an initial mesh is created manually around an "initial geometry" and saved in a ".igg" project file. This project file is then reused as a template by importing the new geometry and replacing the corresponding entities. The block boundaries are then automatically remapped onto the new geometry.
In the script concept, a set of commands describing each step of the grid generation of a given grid is provided in a script file and executed by IGG™. These commands operate on a reference geometry and can be replayed on any similar geometry.
Both options fundamentally require that the reference and modified geometries keep the same topology. This means that the reference and the modified geometries have the same surfaces, organized in the same way, but with different shapes. This assumption is completely justified in a design concept, where the shape of the geometry should be modified to optimize some flow features.
Upon limited topology modifications, both options can still be used, if combined with manual operations to correct local problems.
The advantages and limitations of each method are described in Templates vs. Scripts.

Pipe-to-Pipe Mesh Generation
This example shows the usage of some geometry and grid script capabilities. It shows the creation of the two cylinders together with their intersections. The following features are used: 

polyline creation,
surface of revolution creation,
surface-surface intersection,
block creation,
block resizing,
vertex placement on the geometry,
face projection on surfaces,
patch specification.


# Close the currently opened project in IGG™. This allows to rerun the script within a same session.
# Commenting this line would keep adding entities to the opened project.
close_project()
 
# Draw a vertical cylinder by rotating a line about the Z axis. The height of the cylinder is stored as a
# variable 'cyl_height'. 
cyl_height = 200
# Definition of two points. p2 is defined as an offset of p1 along z dir.
p1 = Point(0,50,-100)                   # creates a Point object.
p2 = p1 + Point(0,0,cyl_height)         # uses addition of two Point.
# Create a new polyline with the two points and store in a variable 'poly1'. The class is Curve.
poly1 = new_polyline(p1,p2)
# Create a surface of revolution 'cyl1' by rotating the polyline about the Z axis.
# The rotation axis is specified by a Point and a Vector.
surf1  = surface_revolution(poly1,Point(0,0,0),Vector(0,0,1),360,"cyl1")
# Draw a horizontal cylinder by rotating a line about the X axis.
# Create the entities in a compact way. The name of the second surface is defined as "cyl2".
poly2  = new_polyline      (Point(0,0,12),Point(100,0,12))
surf2  = surface_revolution(poly2,Point(0,0,0),Vector(100,0,0),360,"cyl2")
# Intersect the two cylinders
surf_surf_intersection(surf1,surf2)
# Fit the graphics window to the size of the objects.
original_view()
# Change the representation (number of uv curves) of the two surfaces.
surfaces_set_representation(["cyl1","cyl2"],9,2)
# Create and place a block on first surface of revolution 'cyl1'.
Block_1 = new_block(CurvePointNorm("cyl1uv_3",1),CurvePointNorm("cyl1uv_3",0),
                    CurvePointNorm("cyl1uv_1",1),CurvePointNorm("cyl1uv_1",0),
                    CurvePointNorm("cyl1uv_5",1),CurvePointNorm("cyl1uv_5",0),
                    CurvePointNorm("cyl1uv_7",1),CurvePointNorm("cyl1uv_7",0))
 
# Change grid points of the block_1.
Block_1.set_size(65,33,33)
# Extrude a range of the face 2, block 1. 
extrude_new_block(face(1,2),Range(27,39,9,27),0,2,Vector(1,0,0),1)
# Increase block size by increasing the size of one segment.
segment(2,3,3,1).increase_size(31)
# Place the topology onto the input geometry.
move_vertex(vertex(1,2,7,2),CurvePointNorm("cyl1_cyl2_0",1-0.868234))
move_vertex(vertex(1,2,7,3),CurvePointNorm("cyl1_cyl2_0",1-0.627376))
move_vertex(vertex(1,2,8,2),CurvePointNorm("cyl1_cyl2_0",1-0.122894))
move_vertex(vertex(1,2,8,3),CurvePointNorm("cyl2#0",1-0.547887))
move_vertex(vertex(1,2,8,3),CurvePointNorm("cyl1_cyl2_0",1-0.377558))
f_2_2 = block("Block_2").face(2)
move_face(f_2_2,vertex(2,3,3,2),CurvePointNorm("cyl2uv_1",1))
move_vertex(vertex(2,4,3,2),CurvePointNorm("cyl2uv_7",1))
move_vertex(vertex(2,3,4,2),CurvePointNorm("cyl2uv_3",1))
move_vertex(vertex(2,4,4,2),CurvePointNorm("cyl2uv_5",1))
move_vertex(vertex(1,2,3,2),CurvePointNorm("cyl1#1",0.676098))
move_vertex(vertex(1,2,3,3),CurvePointNorm("cyl1#1",0.826857))
move_vertex(vertex(1,2,4,3),CurvePointNorm("cyl1#0",0.814794))
move_vertex(vertex(1,2,4,2),CurvePointNorm("cyl1#0",0.681103))
# Divide a face into patches.
face(1,2).delete_patch(1)       # deletes the only existing patch
face(1,2).new_patch(Range(1,65,1,9))
face(1,2).new_patch(Range(1,27,9,27))
face(1,2).new_patch(Range(27,39,9,27))
face(1,2).new_patch(Range(39,65,9,27))
face(1,2).new_patch(Range(1,65,27,33))
# Projection onto surfaces.
face(1,3).project_on_surfs(["cyl1"],0,2,10,Range(1,65,1,33))
face(1,1).project_on_surfs(["cyl1"],0,2,10,Range(1,65,1,33))
face(1,4).project_on_surfs(["cyl1"],0,2,10,Range(1,65,1,33))
face(1,2).project_on_surfs(["cyl1"],0,2,10,Range(1,65,1,33))
face(2,3).project_on_surfs(["cyl2"],0,2,10,Range(1,13,1,9))
face(2,5).project_on_surfs(["cyl2"],0,2,10,Range(1,19,1,9))
face(2,4).project_on_surfs(["cyl2"],0,2,10,Range(1,13,1,9))
face(2,6).project_on_surfs(["cyl2"],0,2,10,Range(1,19,1,9))
# Project face 1 of block 2 on the large cylinder. Since the complete face is projected and we use the
# default parameters, only the surface(s) are specified.
face(2,1).project_on_surfs(["cyl1"])
# Connect face 1 of block 2 with face 2 of block 1.
connect_faces( face(2,1),face(1,2), "VERTEX")
connect_faces( face(2,1),face(1,2), "EDGES")
connect_faces( face(2,1),face(1,2), "SEGMENTS")
connect_faces( face(2,1),face(1,2), "PATCHES",1e-2)
# Regenerates face 1 of block 2 and face 2 of block 1.
regenerate_faces(face(1,2))
regenerate_faces(face(2,1))

Internal Grid Line->Delete
Grid/Internal Grid Line/Delete allows to delete the active internal edge. This edge is permanently removed from the system and the total number of edges for the active face is decreased by one. Note that the internal edge is deleted but not its end vertices (which are attached to fixed points).
Obviously, using this command on a boundary edge will have no effect and a warning message will appear.

Meshing Fundamentals

Blocks are used to decompose the space into smaller regions that can easily be meshed using algebraic or elliptic methods. They are constrained to have exactly six faces that may possibly be degenerated. There is no theoretical limit to the number of blocks being used to completely cover a domain. Two approaches can be used to mesh a problem: use the minimum number of blocks to avoid increased complexity in block management or use more blocks as they are needed. In the first case, block shapes might be significantly distorted to capture the geometry and the generation of meshes with good quality might be more difficult. In the second approach the shape of the blocks may be simpler and their placement on the geometry may be facilitated, at the expense of more blocks to control and additional management of connections between blocks.
The complete procedure to generate a mesh on a given geometry can be decomposed into several logical steps:

Create block topologies and map their shape to the geometry;
Control edge grid parameters on blocks such as the number of points or distribution;
Define patches;
Connect blocks together to ease later meshing process;
Generate the face grids for each block;
Generate the block grids.


The execution order needs not strictly follow the above enumeration. It is for example possible to add new blocks to already existing blocks and connect them at a later stage or to define patches after face grid generation. This chapter introduces all the concepts needed to generate a mesh with IGG™.

Clustering frame
This frame allows to control globally mesh parameters on all the butterfly blocks at once. The parameters of this frame can be changed even if the butterfly topology of the parent block is already created. The changes are simply taken into account by pressing the Create/update button of the dialog box.
Number of radial points
This box controls the number of points along the K axis of the buffer blocks (axis directed from a parent block face towards its corresponding inner block face).
Radial clustering
This button is used to set the clustering along the K axis of the buffer blocks. The same clustering is applied to all the buffer blocks edges along this axis. Simply click repeatedly on this button to toggle the corresponding dialog box. See FIGURE 23.


FIGURE 23 Radial clustering dialog box
The setting of the clustering is the same as in the Clustering dialog box (Grid/Grid Density/Clustering... menu item). "Start" position is located at the parent block corner and  "End" position is located at the inner block corner.
A default clustering is automatically calculated at each parameter modification in the two first frames of the dialog box.
When connecting two butterfly block faces without buffer block associated, this Radial clustering value must be the same for the two butterfly topologies in order to obtain a matching connection.
Clustering reciprocity
The two buttons Clustering reciprocity are used to link the clustering of the parent block to the one of the inner block. In fact, at each butterfly creation, an optimized clustering on the inner block is automatically calculated in order to obtain in this block a first layer of cells with a constant thickness. The purpose of such layer is the minimization of the cells size variations between the inner block and the buffer blocks. 
If the option Clustering reciprocity inner->parent is activated before the butterfly creation, the optimized clustering of the inner block is copied on the parent block, thus destroying any clustering set previously on this block. This button has an effect on clustering only if it is activated before butterfly creation. If it is activated after, only the recording of the parameter is done for the active parent block.
If the option Clustering reciprocity parent->inner is activated (before or after the butterfly creation), the clustering of the parent block is copied on the inner block, destroying the optimized clustering. Moreover both clustering (on parent and inner blocks) will be linked, meaning that each modification of the parent block clustering will be applied automatically on the inner block.
If both options are activated (assuming that first button is activated before butterfly creation), the optimized clustering of the inner block is copied on the parent block and both clustering (on parent and inner blocks) will be linked, meaning that each modification of the parent block clustering will be applied automatically on the inner block.
These options are illustrated in FIGURE 24.


FIGURE 24 Clustering reciprocity options
Each button selection must be validated by pressing the Create/update button.

Language Overview

Scripts are available in IGG™ through the object-oriented Python language. Python is a popular scripting language designed to be easily extendible to a specific application. It provides the major functionalities classically found in languages such as C or C++, in a dynamic, interpreted environment.
The supported Python version is 2.7 on Windows/Linux.
By default, French accents cannot be included in a script except if the string # coding=utf-8 is added as first line of the script.
Keywords as names of classes or global functions presented in IGG™ Script Commands are forbidden in the script.
This section provides a brief overview of the basic features of the Python language. Interested readers should consult the tutorial documents or the systematic description of the language available on the Python web site (http://www.python.org).
Scripts are evaluated line by line. However, line evaluation continues on the next line if the character '\' is the last character of the line.
Starting v8.9, intersection curves resulting from surface-surface or surface-plane intersection algorithm may have a different orientation compared to v8.8. In order to use old algorithm, the string igg_script_version(1) should be added on top of the script. For new recorded script, the new algorithm will be used and the script will start with the string igg_script_version(2).
Starting v8.10, when a Parasolid curve with a reverse orientation is duplicated the resulting curve is presenting also a reverse orientation. To ensure backward with v8.9 script (using old algorithm where the duplicated curve was not reversed), the new recorded script will use the new algorithm and the script will start with the string igg_script_version(2.1) instead of igg_script_version(2).
Adding Commented Lines
The '#' character specify that the rest of the line is a comment and will be skipped while the macro is executed.
Support for Mathematical Operations

the operators +, -, * and / are defined,
parenthesis can be used and nested to any level,
functions abs(x), int(x), floor(x), ceil(x) and sqrt(x) for square root are available,
trigonometric functions sin(x), cos(x), tan(x), acos(x), asin(x), atan(x) are available, atan2(x,y) returns atan(x/y),
logarithmic functions log(x) for neperian logarithm, log10(x) for base 10 logarithm, exp(x), sinh(x), cosh(x), tanh(x), asinh(x), acosh(x) are available,
x to the power y is obtained by the function pow(x,y),
boolean values are returned by the operators >, <, <=, >=, ==, !=, and, or,
the constants pi and e are predefined.

String Handling
Strings are handled in Python in the following way:

they are enclosed in single <'> or double <"> quotes,
concatenation is obtained with the operator +,
duplication is obtained by the multiplication by an integer (operator *),
access to the ie element is obtained by the suffix '[i]' and access to a substring is obtained by the suffix [i:j] for a substring starting from the ie character to the je,
numerical values contained in variables can be inserted in a string by enclosing the variable name with reverse quotes (') or by using a formatting specification:

Example:
s = 'The Value of x is' +'x'
s = 'The Value of x is %3d' %(x)
    The formatting symbols are interpreted as follows:

%d formats in an integral value (rounded if necessary)
%nd (where n is an integer) in an integral value having a length of exactly n characters (space characters are inserted on the left if necessary)
%n.mf (where n and m are integers and n>m) formats into a floating point value having at most n characters length and a fractional part of m characters exactly
%n.me(where n and m are integers and n>m) formats into a scientific representation having at most n characters length and a fractional part of m characters exactly


stripping of the leading or trailing white spaces is obtained by the function strip. 

Example:
myStrippedString = strip(myString)
Lists Handling
A list is an ordered set of items.

a list is defined by enclosing the comma separated items by square brackets. A list may be empty,

Example:
my_list = [a,b]

empty_list = []
	      Note that list definition can be extended over several lines without the '\' terminating character.

an item is accessed by adding the suffix [i] to the list name (ex: my_list[1]). Note that list indices start at 0,
lists can be nested to any level,
appending is obtained by the operator + (ex: my_list + my_list2) or by the function append (ex:my_list.append([c, d])),
multiplication (appending oneself n times) is obtained by the multiplication operator (ex: my_list*3),
the functions insert(index, value) inserts value at position index, the elements at upper position are shifted,
the function index(value) returns the index of the first item of which the value is value,
the function remove(value) removes the first item of which the value is value,
the functions sort(), reverse() and len() are, respectively, sorting, reversing the elements and returning the number of elements in the list.

Control Flow 
The body part of these instructions is defined by the indented lines and the specific control lines are terminated by a colon. The end of the loop body is marked by the first line that does not start by a tab character. Nested loop are obtained by heading lines with multiple characters.

if statement: 

Example:
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.

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.

Example:
for x in a[:] :
for x in range(0,10) :
while x>0 :
where the range function returns a list of integers starting from the first argument value to the second argument value with a step indicated by the third argument if existing (default value is 1).
Function Definition
Function definition starts with the standard header:
def function_name (arg1, arg2, arg3 = default_value, ...)
where def is a reserved keyword. The arguments can be of any type (it is a user responsibility to provide meaningful ones) and last arguments may have a default value (as arg3 in the above example).
Each line of the function's body is indented with a TAB character. The function definition ends with the first line which is not indented by a TAB character.
All arguments are passed by value. Thus, if an argument value is modified, the new value is not available to the caller.
A returned value may be specified using the 'return' statement followed by the name of the variable or by a value. In any case, a value is returned and not a reference on a local variable or object. The type of the returned value is a list, this means that appending a new element in the returned list is obtained by the statement 'return.append(x)'.
Global scope variable can be accessed if they are declared as such by a statement 'global' (e.g. 'global x' specifies that the x variable is a global variable for the current function).
File Handling
Files can be opened for reading and writing. A file is associated to a variable which is initialized at its opening: 
f = open(fileName, mode, bufferSize)

where fileName is the full file name including its path. The parameter mode is a character string of which the value may be:

'r' or 'rb': file opened for reading, 
'w' or 'wb': file opened for writing, creates it if not existing or the previous content is discarded, 
'a' or 'ab': file opened for appending, creates if not existing or writes at the end of the file.

The 'b' character is used only on Windows systems to indicate that the file is in binary mode, on Linux system, it is neglected.The parameter bufferSize is the integer value of the size of the buffer, the system default size is chosen if the value is negative, the file is opened in the unbuffered mode if the value is 0, a value of 1 specifies a line-buffered mode.
The following functions can be used to handle the file content:

f.close(): closes file,
f.flush(): flushes file's internal buffer,
f.read(n): reads at most n bytes from the file and returns as a string. If n is omitted, reads to the end of the file,
f.readline(): reads one entire line,
f.readlines():reads until the end of the file and returns a list of lines,
f.seek(offset, whence=0): sets file position, if whence =0 or is omitted, offset is the absolute position, if whence=1 offset is relative to the current position and if whence = 2, offset is relative to the file end,
f.tell(): returns file current position,
f.write(string): writes string to file.

Error Handling
IGG™ performs continuous checks during the running of a script to insure that functions can be normally executed, check of arguments validity during calls to functions or object access. When a check fails IGG™ raises an exception which stops the execution of the script.
Create & Use Modules (library of functions) 
The python language provides the concept of module for grouping a set of functions in a same file. The module name is the name of the file containing the functions.
The functions can be made available into a script in a similar way to the large set of utility functions provided with IGG™. If a set of functions is defined in a file called MyModule.py, and the file is located in the directory /people/myself/igg_scripts, they can be made available in another script through the following instructions: sys.path.append('/people/myself/igg_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.

Basic Block Creation
This section describes the various methods to create a block in a project using fast interactive placement of the block vertices (corners).
Creating block defined by two opposite vertices

Click on the Insert New Block icon.



Move the mouse to the desired location and left-click the mouse to place the first vertex.



The current vertex can be attracted to a curve or a visible vertex by moving it close to the desired entity. See Vertex snapping for more detail.
As the mouse is moved around, a box attached to the cursor appears. The box boundaries represent the 12 edges of the new block.
Left-click to place the second (opposite) vertex.



The position of a vertex can also be defined by entering directly its absolute coordinates in the keyboard input area.
The orientation of the block, defined by the IJK axes, appears at a default corner that can be changed in the next steps. The IJK axes always appear right-handed.


FIGURE 1 IJK axis placement
To change the origin of the IJK axis repeatedly press the <o> key.
To change the orientation of the IJK axis press the 
 key.
Left-click to complete the block creation. When the block is created the vertices of the block are drawn using solid square markers.
At any stage the right-click cancels the block creation.
Changing the position of the vertices is explained in Moving vertex.

Creating a block by its eight vertices

Click on the dedicated icon.



Move the mouse to the desired location and left-click to place the first vertex.



The position of the vertex can also be defined by entering its coordinates in the keyboard input area. Attraction to existing vertices or curves is also possible.
Repeat the operation to place the other three next vertices defining the first face.
When the first four vertices are specified, a 3D block appears following to the cursor.


FIGURE 2 Block placement by vertices.
The movement of the cursor can be locked in one direction by pressing one of the following key:

<x>, <y> or <z> to lock the movement in the specified direction,
<n> to lock the movement perpendicular to the first face,
<v> to lock the movement in a user defined direction. The direction must be entered as a vector direction through the keyboard input area,
<u> to unlock.

Repeat the click operation to place the other vertices defining the block.
The placement of the block can be accelerated by middle-clicking the mouse one or two times (depending of the current creation status). This will give a default position for the remaining vertices.
When all the corners are defined, the IJK axis appears at a default corner that can be changed in the following optional steps:

To change the origin of the IJK axis repeatedly press the <o> key.
To change the orientation of the IJK axis press the 
 key.

Left-click to complete the block creation.



After all the vertices have been defined, IGG™ attempts to automatically perform a mapping of the edges of the new block onto the geometry, as the latest stage of the creation process.
Creating a block by extrusion from an existing block



The creation of a block by extrusion from an existing face of another block is very convenient as it can save a lot of intermediate steps, like internal grid line creation, manual connections,...
Using this option, blocks are automatically connected at each level: vertices, topological edges, grid points (segments) and patches.
To create a block by extrusion

Click on the dedicated icon. The dialog box shown in FIGURE 3 is opened:


FIGURE 3 Extrude block dialog box
Select in the graphics area the face from which the block will be extruded. The face of extrusion is highlighted in orange.
In the dialog box, select the range of the face to extrude (see File Menu for more details on how to select the range). The range appears in orange in the graphics area.
Select the direction of extrusion:
Average Normal: computes the extrusion direction by averaging the normal to the face at each grid point (unique direction).
Normal to Face: performs the extrusion for each grid point in the direction orthogonal to the face at the grid point. This direction will most of the time vary from one grid point to another.
User Direction: performs an extrusion along a unique, user-defined direction.
Select the magnitude of the extrusion. This parameter determines the length, along the extrusion direction, by which the new block will be extruded, in absolute units.The default value is an average of the reference face size.
Press the Apply button to perform the final operation. A new block is created.
When the range of extrusion covers the reference face only partially, internal grid lines are automatically created in the reference face. These internal grid lines are used to connect the new block to the existing block.
During the extrusion, the vertices, topological edges, segments and patches are automatically connected. See File Menu for more details on the limitations.

Creating blocks by duplication of existing block(s)




Click on the dedicated icon. The dialog box shown in FIGURE 4 is opened:


FIGURE 4 Duplicate block dialog box
In the dialog box, select the block(s) which will be duplicated: active block, blocks selected by their indices or blocks contained in a group.
Select the number of duplication that will be performed for each selected block.
Select the transformation that will be applied to the duplicated block(s): rotation, translation or scaling.
Select the topology creation mode:
No Topology: only the block mesh is duplicated.
Topology from Grid: Therefore a slight shape difference can appear between the duplicated edge and the original one if this one is mapped on a geometry entity. Only the boundary edges and the corner vertices are reproduced.
Duplicate Geometry: all block entities are reproduced and edges will have exactly the same shape as those of the initial block.
Vertex snapping: same as previous option. Moreover, IGG™ tries to snap the duplicated block vertices on the neighboring geometry.
Press the Apply button to perform the duplication.

Block extension



This option allows the extension of an existing block, starting from one of its faces. This option does not create a new block, but rather prorogates a block along the I, J or K direction, allowing to construct blocks incrementally in an efficient way.


FIGURE 5 Block extension along the J direction
During an extension operation, IGG™ automatically inserts a new internal face at the position of the reference face and increments the number of points of the block along the extension direction. This allows to keep the current shape of the block unchanged while being able to extend it. Internal edges are inserted in the new internal face at the same position and with the same shape as internal edges of the reference face.
The connections of the reference face (vertices, edge, segments and patches) are deleted during the extension operation. A warning appears when a deletion of connections is performed.
To extend a block

Click on the Extend Block  icon.
Select the reference face with the left mouse button (<1>). Middle click (<2>) to acknowledge the face selection and to start the block extension.

One vertex of the reference face is selected and can be moved with the mouse. The whole reference face is translated at once, according to the vertex movement. This vertex can be placed in the same way as when moved alone, and in particular its coordinates can be entered in the keyboard input area.
Left-click to place the vertex and to end the block extension.

Section control  frame
This frame allows to control the shape of the butterfly topology within a section. The number of sections is at minimum two and an additional section is added for each internal face of the parent block aligned in the chosen preferential direction.
Section number ID
The parameters of the Section control frame are applied on the active section, i.e. the one for which the control points are displayed. This item is therefore used to select the active section by simply setting the section number ID which goes from 0 (for the first section) to the total number of sections minus 1 (for the last section).
Section with number ID = 0 corresponds to parent block face 5, 3 or 1 when preferential direction is set to I, J or K, respectively.
Preferential direction buffer depth
This parameter is used to position the section along the preferential direction chosen, i.e. construct the geometric surface corresponding to the section. It is only used for the first and last section if there is a buffer block associated to the section. Indeed, if there is no buffer associated, the surfacic mesh used to construct the geometric surface is the mesh of the corresponding face of the parent block, which is fixed. It is also the case for internal sections where the mesh of the corresponding internal face of the parent block is used. Consequently, in these two cases, the parameter is deactivated. Otherwise the parameter controls the position of a surfacic mesh interpolated along the preferential direction, to construct the geometric surface. It can be seen as a sweeping of the parent block mesh along the preferential axis. It is illustrated in FIGURE 18.


FIGURE 18 Different geometric surface positions for first control section
This parameter can vary continuously from 0 to 100%, corresponding respectively to the face at the beginning and the face at the end of the preferential axis. When this parameter is changed, the parametric position of all the section control points remains unchanged and is used to replace the control points on the new created surface.
Radial depth
This parameter controls the global position of the inner block corners within a section. An automatic optimization is done on the corners position in order to put them on the bisecting line calculated at the corresponding corner of the parent block.


FIGURE 19 Optimization on inner block corners position
The parameter controls the position of each corner on its bisecting line. When decreasing this parameter, the corner gets closer to the parent block corner. It can vary continuously from 1 to 49. 
In fact, the optimization comes to assigning a normalized parametric position for each corner point, i.e. find normalized (u,v) values to position correctly the point on the section surface. The Radial depth parameter is thus used to initialize the v value of the first corner, which is obtained by dividing the parameter by 100. For example, if the parameter is set to 20, the normalized v value is set to 0.2. Then the u value of the first corner and all the (u,v) values of the other corners are calculated in order to be on bisecting lines.
Generally, depending on the section shape, the optimization cannot converge for all possible values of the Radial depth. Thus there is a limit value of the parameter for convergence, and over which all the corners (u,v) values are assigned to default values based on the Radial depth. This leads obviously to a radical change in the section shape, as illustrated in FIGURE 20.


FIGURE 20 Different shapes obtained by increasing the Radial depth
This optimization cannot be deactivated manually. It is always applied as long as there is convergence. When it cannot converge, it is automatically deactivated and default values are assigned to the points parameters.
It is important to note that all the additional control points of the active section are deleted when changing this parameter, as the optimization can only be done on the inner block corners.
Straight radial edges
This option allows the creation of straight radial lines from the "inner" block to the parent block.


FIGURE 21 Straight radial edges
Control points parameters
This item provides a button allowing to copy control points parameters from one section to another. Additional points are also copied and all the control points are replaced on the current section surface with exactly the same parametric values as in the original section. See FIGURE 22.
This option is useful to ensure a same butterfly shape at the interface of two parent blocks that must be connected. Consequently to the method used and in order to obtain exactly identical shapes and positions, the geometric surface of the two sections must be the same, i.e. constructed from identical surfacic meshes with common orientations.
The following prompt appears when activating the option to choose the section from which to copy:
Section control: <1> = select face, <2> = copy parameters, <3> = stop
The reference section can be chosen by left-clicking on the corresponding face of the parent block. The copy operation takes effect by middle-clicking the mouse. If the selected face is not correct (e.g. if the block is not a parent one or if the face does not correspond to a control section), nothing happens and a new face can be selected or the copy mode can be exited by right-clicking. Once the copy operation is performed, the working mode is reset to the default one and the Copy from section button must be pressed again to make another copy.


FIGURE 22 Copy of section parameters
Section interactive control
When the section shape obtained by modifying parameters of the Section control frame is not satisfactory enough, a more precise control is provided by modifying interactively the control points position. As for the Section control frame, the control acts on the active section, i.e. the one for which the control points are displayed. The default prompt is the following one:
Section control : select point(<i> = insert point, <d> = delete point)
To move a control point, move the mouse on the corresponding marker to highlight it and select it by a left-click. Then it can be positioned continuously on the geometric surface of the section by moving the mouse. To fix it, left-click again.
To insert an additional control point, press <i> and move the mouse cursor on the desired edge of the active section. When the cursor is close enough and an additional point can be inserted, a marker appears; left-click to insert the corresponding control point. Then it can be moved as previously.
To delete an additional control point, press <d> and move the mouse cursor on the desired control point. When it is highlighted, left-click to delete it. Then the corresponding edge is remapped automatically on the geometric surface.

Internal Grid Line->Create from grid



Grid/Internal Grid Line/Create from grid allows to add an internal edge to the active face by selecting an internal grid line with the mouse. Internal edges allow a better control of the face grid and are also used to realize connections between adjacent blocks. The face grid must be already created.The following prompt appears to select a grid line:
Select a Grid Line <1> (i or j = select a direction, u = unselect) <3> to quit.
Move the cursor to the desired grid line of the active face. When the cursor is close enough, the grid line is highlighted and its index is displayed. Simply press the left mouse button to create the internal edge.
To quit this command without creating an internal grid line, press <q> or the right mouse button. 
The <i> and <j> key bindings allow to select a grid line in a preferred direction. When one of the keys is selected, only grid lines in that direction will be selectable. Press <u> to remove the preferred direction.
After the creation of the internal edge, a dialog box is opened to ask whether a geometrical curve should be created at the position of the internal edge. 
Geometrical curve allows to modify the shape of the internal grid line and possibly come back to its original position. If no geometrical curve is created, the internal edge will lose its initial shape as soon as a vertex is moved, without any possibility to come back to its first position. 
If such curve is not created, it is always possible to later create a curve at the position of the internal grid line by right-clicking on it and selecting the Edge/Create Curve pop-up menu item.
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.

IGG™ Script Commands
The functionalities classically available within the IGG™ graphical interface are provided in scripts as commands or functions that can be combined together to provide higher level functionalities. 
Since the language is object-oriented, classes of objects are naturally provided to the user and functions applicable to these objects are associated with these classes. Typical examples of classes defined for IGG™ are Curve, Surface, Block, Face, Vertex, Edge, etc… 
Commands and classes are classified by categories. There are three main categories: project commands, geometry commands and grid commands.
Commands are either global functions that can be called as normal functions without any object or member functions that must be called with an object previously defined.
Examples:
save_project("example.igg")			  # global function call
c = Curve("curve_1")			            # create an object 'c' referring to a curve in IGG™
c.set_name("new_name")		     # member function call applied to object 'c'

Note for Windows users:
The specification of path names when using commands requiring file names as input must be performed using a Linux style coding. This practically means that '/' should be used as separator between directories instead of '\'.

Examples:
save_project("c:/users/greg/rexample.igg")		 # correct
save_project("c:\users\greg\rexample.igg")		 # not correct !!

Create Face->Copy Face Range
Grid/Create Face/Copy Face Range... is used to copy part of a face grid onto another face or patch, possibly with a different orientation. In the example shown in FIGURE 38, the face 4 of block 1 is created and the face 1 of block 2 is created by copying a part of the face 4, with the proper orientation.


FIGURE 38 Copying a face range onto another face
The dialog box shown in FIGURE 39 will appear:


FIGURE 39 Copy Face Range dialog box
The first thing to choose is a reference and a target face between which the copy will proceed. They are selected by entering their indices (Block and Face indices) in the From and To boxes respectively.
Then the reference face range which will be copied must be selected:

The Patch box allows to choose an existing patch of the reference face to perform the copy. The patch is automatically displayed in the graphics area. By default, the patch number is 0, that is the patch corresponding to the entire reference face.
Any range can also be selected by changing the limits of the reference face range borders. Move the cursor to the desired border which is highlighted when the cursor is close enough. Then left-clicking on it will open a box allowing to enter the new limits. See FIGURE 40:




FIGURE 40 Changing range limits
The new limits can be entered manually or modified using the scrollers. Pressing <Enter> applies the new limits to the range. Pressing <Escape> cancels the limit modification.
Once the range is chosen, the orientation in which the copy will proceed must be selected. When the reference and target faces have different origin and/or local axis orientation, as in our example, the correspondence between the axis must be specified. It is done by assigning an expression (such as "Ilow", "Khigh") for each axis of the reference face. These expressions are determined as follows:

Take the first axis of the reference face.
 Search the axis of the target face which has the same direction, that is to say X (where X is I, J or K).
If the two axis have the same orientation, expression = "Xhigh", else expression = "Xlow".
Do the same with the second axis of the reference face to determine the second expression.

In the previous example, the relative orientation of the two faces is as indicated in FIGURE 41:


FIGURE 41 Orientation of the two faces
It can be seen that Face 1 axis I increasing corresponds to Face 4 axis K decreasing, while Face 1 axis J increasing corresponds to Face 4 axis I increasing. The correct relative orientation specification should consequently be: "Klow", "Ihigh".

After pressing Apply, IGG™ checks whether the copy is possible or not. A warning appears if the copy cannot be performed (i.e. if the number of points for the reference face range and the target face is different).

Create Face->Rotate Edge
Grid/Create Face/Rotate Edge is used to create the active face by rotation of the edge 1 of this face. It ensures that the face points are exactly on a specified cylinder, which is not necessarily the case with a 4Bnd interpolation. Firstly, create a new face (see the Insert New Face icon of the Quick Access Pad/Grid/Create page) before selecting this option. The edges of this face must contain only one segment. A face of an existing block cannot be used, otherwise the face created by rotation will be disconnected from the other block faces. After the single face has been created by rotation, the creation of the block can be completed by a face expansion (Grid/Create Block/Face Expansion menu item).
 The following prompt is given to choose the rotation axis vector:
Rotation axis vector : (q)
>>   0  0  1 
The following prompt is given to choose the anchor point of the axis:
Center of rotation : (q)
>>   1 0 0
The following prompt is given to choose the rotation angle in degrees:
Rotation angle -360...360 deg : (q)
>>   20
To exit this command, enter 'q' in the keyboard input area and press <Enter>.

View Menu





The View menu options provide a set of display options to visualize the grid boundaries, surface and block grids, repetition, hidden lines and rendered surfaces. The viewing parameters and projection, as well as window attributes can also be modified interactively. Other options include the text insertion and deletion. When dealing with projects with some kind of symmetry (i.e. mirror plane, rotating symmetry,...) the grid needs to be generated for only one part of the geometry. IGG™ allows getting a complete visual representation of the whole mesh by applying a repetition to the graphic objects of the active view.

Patch Viewer
View/Patch Viewer... is used to visualize selected patches in wireframe or solid mode to produce full rendered pictures of the grid. The dialog box provides control over the colour and transparency.


FIGURE 1 Patch Viewer dialog box
Patch Browser
The patch browser  lists all the patches in the grid, according to the current Block, Face, Patch or Type filters. In this browser, one or more patches can be selected with the left mouse button.
It is possible to select several patches at once in the following way:

While holding the <Ctrl> key down, select the desired patches in the browser.
While holding the <Shift> key down, select two patches delimiting a range of patches.
While pressing the left mouse button, drag the mouse and release the left button to select a range of patches.

Filters
The different filters allow to display specific patches of a grid in the browser while hiding the others. The Block, Face and Patch filters work together and allow to display patches by indices. For example:
Block Filter: 	’*’
Face filter: 			’1 2’
Patch filter:	’*’
shows in the browser all the patches of faces 1 and 2 of all the blocks. ’*’ means ALL. The Face filter allows also to select a boundary face by choosing imin, imax, jmin, jmax, kmin or kmax. These items can be shown and selected by left-clicking on the Face filter arrow.
The Type filter is very useful to list all the patches of a given type (according to the other filters). In particular it allows to easily identify the periodic and connected patches (PER, PERNM, CON, NMB) and the patches that have not any type yet (UND).
Patch visualization
To assign a color to one or several patches:

 Select the patches in the patch browser,
 Select one color from the predefined colors or from customized colours (Ed. button),
 Press the Show Grid (wireframe representation) or the (solid representation) button.

To hide the patches representation, proceed in the same way by pressing the Hide Grid or the Hide Solid button. 
It is possible to make some patches semi-transparent by specifying a transparency factor on the selected patches. The transparency factor can vary from 0 (no transparency) to 1 (highly transparent). By default, the transparency factor is only applied when pressing the Show Solid button. This default may be overwritten by activating the Full Visibility option. In this case, the transparency effect will be recomputed each time the transparency slider is moved. 
Since the rendering of transparent patches is computationally intensive and may take up to several minutes, it is not advised to use the Full Visibility flag on large grids.
Sweep Surfaces
View/Sweep Surfaces... is used to scroll the constant grid index surfaces within 3D grid blocks. If the active block is not generated or has been modified since the last generation (by moving a vertex, for example), the following message will appear:


FIGURE 2 Message indicating that the block may be regenerated
It asks for block regeneration. If the block is not generated and that the no button is pressed, the dialog box of the next figure will appear but without being able to do something except pressing the Close button. If the block has been modified since the last generation (a block is not automatically regenerated after modifications of its topology) and that the no button is pressed, the mesh that will be interactively displayed may look quite strange.
Mesh sweeping is done through the Sweep Surfaces dialog box:


FIGURE 3 Sweep Surfaces dialog box
The Block box allows to choose the active block in which the surface grids will be scrolled. Next to this box, the active block name and the amount of grid points in each direction (according to the coarse grid levels selected) are displayed.
It is to be noticed that setting the Block to 0 allows to scroll the grid surface on all blocks. 
The I, J and K scrollers allow to interactively sweep the surface grid along the three directions. While scrolling, surface grids are displayed for each constant index direction.
Sweep Cells
View/Sweep Cells... is used to scroll the individual grid cells within 3D grid blocks. If the active block is not generated or has been modified since the last generation (by moving a vertex, for example), the following message will appear: Block 1 is not generated or has been modified. Generate ?


FIGURE 4 Message indicating that the block may be regenerated
It asks for block regeneration. If the block is not generated and that the no button is pressed, the dialog box of the next figure will appear but without being able to do something except pressing the Close button. If the block has been modified since the last generation (a block is not automatically regenerated after modifications of its topology) and that the no button is pressed, some cells that will be displayed may look quite distorted.
A dialog box is used to scroll in I, J and K index directions. 


FIGURE 5 Sweep Cells dialog box.
Show Unmapped vertices

View/Show Unmapped vertices are used to show the vertices which are not mapped on any geometry entity or which are mapped on curves automatically created by IGG™ (i.e. when extruding a new block). It is useful for templates that must be successfully applied to similar geometries, where the vertices of the blocks should be placed on the input curves and surfaces.
IGG™ cannot currently detect whether a curve or surface is imported from a CAD file or explicitly created within IGG™. This tool will consequently not flag vertices lying on such entities.
Right-click to quit this tool.
Coarse Grid
View/Coarse Grid is used to set the active coarse grid levels of the active block or grid for all the views. To select the scope (active block or grid), set the viewing scope (see the Quick Access Pad/View/Grid page description) to Block or Grid mode. The active coarse grid levels are taken into consideration while:

displaying the block faces and BC patches on all active views,
saving the block or face coordinates,
scrolling the block surface grids or cells.

These graphical representations are automatically updated after each change to the coarse grid levels.
The finest grid level is identified as 0. The smallest number of grid points for coarse levels is 2. The coarsest level is computed and updated in each index direction separately. The keyboard input area is used to enter the desired levels within available ranges. 
A different coarse grid level can be specified in each grid direction. The following prompt is given to specify the coarse grid levels: 
Levels ( 0 / 3, 0 / 4, 0 / 2 ) (q)
>>   2  2  1
To quit this command, enter ’q’ and press <Enter>.
Repetition
View/Repetition... allows to control the repetition of the blocks on the active view: 


FIGURE 6 View Repetition dialog box
For each block, the number of repetition desired can be set in the Nb Repet entry. The repetition of all blocks can be displayed or hidden respectively by pressing the Show or Hide button.
To perform a repetition, IGG™ takes the information about the periodicity of each block (angle, rotation axis,...) in the Grid/Periodicity... menu. By default, the repetition is not displayed.
Face Displacement
The View/Face Displacement  menu allows to adapt the view if interferences are appearing between the grid lines and the shading.
When the block face grids are visualized, in both wireframe and solid modes (shading), visual interference may be produced between the grid lines and the shading. For this reason, IGG™ slightly shifts the grid lines towards the user to get a correct picture. 
This shift is controlled by the Face displacement. This parameter represents the amount by which the grid is shifted along the view plane normal vector (normal to the screen), and is used to correct the display when combining wireframe and solid representations. 
The Face displacement dialog box  will be opened so that users can define the face displacement (higher or equal to 1).



FIGURE 7 Face displacement dialog box
Apply and Close to respectively apply the new parameter and close the window.
View Depth
View/View Depth menu allows to control the view depth. This depth is used for all interactive geometry editing operations with the mouse.
When using the option, the new depth for the active view is imposed by entering the coordinates of the reference point:
New reference pt coordinates (q)
>>  0 0 0
All subsequent inputs with the mouse will be at z = 0. To quit this option, enter <q> and press <Enter>.
Perspective
View/Perspective is used as a toggle to switch between orthogonal and perspective projection in the active view. By default, the orthogonal projection is used.
In perspective projection, the selection of curves and edges and the rendering of hidden surfaces may not succeed.
Hidden lines
View/Hidden lines are used to display the grid edges of all the mesh using hidden line - hidden surface algorithms. By default, the hidden line removal flag is off. It is switched on/off after each selection of this item. When hidden line removal is applied, the grid quality and solid model representations (shading) are removed from the display to avoid any overlap of incompatible graphical objects.


FIGURE 8 Representation using hidden line/surface
When the face grids are visualized, a visual interference may be produced with the grid lines. For this reason, IGG™ slightly shifts the grid lines towards the user to get a correct picture. 
This shift is controlled by the shift factor of the active view which can be changed. This parameter represents the amount by which the grid is shifted along the view plane normal vector (normal to the screen), and is used to get a correct display when combining wireframe and solid representations. This parameter can be changed with the View/Face Displacement menu item.
Insert Text
View/Insert Text can be used to insert a descriptive text in the active view. The position of the text must be first specified by pressing the left mouse button at the desired position in the active view. Then the following prompt allows to enter the text and to display it at the specified position:
Text description  (q)
>>   DLR F5 wing - coarse grid levels 1 1 1 - 129 x 33 x 25
Press <Enter> to validate and display the text. It can be erased from the view by using the View/Delete Text menu.
To quit this option, enter ’q’ and press <Enter>.
Delete Text
View/Delete Text is used to delete all the descriptive texts displayed in the graphics area.

Quick Access Pad


The Quick Access Pad is located in the left part of the GUI. It contains icons and more evolved options providing a fast access to the most used functions of IGG™. Some of these functions are only accessible through the Quick Access Pad whereas others are also accessible through the menu bar, so that their description will be referenced to this menu.
The Pad is divided into three subpads, each of which can be toggled by a mouse left-click:

Geometry subpad
Grid subpad
View subpad



The three subpads are composed of pages containing icons or more evolved options. The icons perform specific function related to the subpad and the page. Each page can be toggled by a simple mouse left-click.

The Geometry subpad commands and tools allow the creation and the modification of geometry entities like points, curves and surfaces.
The Grid subpad commands and tools allow the creation and the manipulation of blocks and related entities like vertices, fixed points, internal faces, internal grid lines,...
The View subpad allows viewing operations on the geometry and the grid. In particular, the two first pages provide options allowing the creation and the visualization of geometry and block groups.

All the commands and options accessible with the subpads are described in the following sections.

Grid Density->Clustering



Grid/Grid Density/Clustering... is used to modify the grid points clustering along the segments defining the blocks. This option opens a dialog box providing different clustering schemes. It allows also to define clustering groups which are groups of segments and for which the same clustering is applied to all the segments contained in the group.
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page. See FIGURE 49.
At the opening, the dialog box will be updated according to the active segment. If this one is contained in a group, the corresponding group name will be displayed in the Group area. Otherwise "NONE" appears in this area. When changing the active segment, the settings in the dialog box are also automatically updated to reflect the clustering currently defined.

A list of the existing clustering groups can be displayed by left-clicking on the arrow of the Group area. Left-click on one of the groups to display its clustering information. The first segment of the group is automatically activated and all the segments of the group are highlighted in the IGG™ graphics area.
The dialog box contains in the left part a list of the different clustering types available. Left-click on the desired one to select it. The right part of the box is automatically updated according to the type and displays the necessary inputs. The chosen clustering will be applied on the active segment or on its entire group by pressing respectively the Apply to seg or the Apply to group button. This button is deactivated if the active segment is not contained in a group.


FIGURE 49 Clustering dialog box
When changing the active segment, if it is not contained in a group and that its clustering type is uniform, the current clustering type and the clustering values of the dialog box are not changed to be able to apply on the active segment the same clustering set previously. Therefore the same clustering values do not have to be entered manually a second time. To indicate that the clustering type of the active segment is different than the one displayed in the dialog box, the message "Current distribution is uniform" appears at the bottom part.
The Active segment info area displays useful information about the active segment: its number of points, its multigrid level and the maximum expansion ratio of its grid points distribution. Moreover the Clustering info... button gives access to a dialog box allowing to calculate optimum settings for the segment (distribution parameters, number of points, maximum expansion ratio). This dialog box is described after in a specific section.
The following sections describe the different clustering types, how to define clustering groups, the convergence of the clustering computation and how to calculate optimum settings for a segment.
Clustering types
Uniform
This type is used to obtain a uniform grid points distribution on the segment (grid points equally spaced on segment).
Undefined
This type indicates that the segment has no specific distribution (for example when copying a distribution from one segment to another). In fact this type is informative and obviously cannot be applied explicitly to a segment or a group.
At Start
This type allows to impose the cell size at the beginning of the segment. The size of the first segment cell is requested in absolute units. Other cells sizes will follow a geometric progression.
At End
This type allows to impose the cell size at the end of the segment. The size of the last segment cell is requested in absolute units. Other cells sizes will follow a geometric progression.
At Both Ends
This type allows to impose the cell size at the beginning and at the end of the segment. The size of the first segment cell, equal to the size of the last segment cell, is requested in absolute units. Other cells sizes will follow a geometric progression.
At Both Ends 2
This type allows to impose the cell size at the beginning of the segment, the end or both with a number of constant cells between the end points. The sizes of the first segment cell and of the last segment cell are requested in absolute units. Enter 0 for the start spacing to impose only the size of the last segment cell. Similarly enter 0 for the end spacing to impose only the size of the first segment cell.
Hyperbolic Tangent
This type allows to impose the cell size at the beginning and at the end of the segment. The sizes of the first segment cell and of the last segment cell are requested in absolute units.
The advantage of this type is that it always converges, even with nonsense values for specified cell sizes. On the other hand the specified cell sizes are not exactly respected by the distribution.
Boundary Layer
This type is used when knowing an approximation of the boundary layers thickness (at the end points of the segment), as well as the distance of the first cell (y+) in these layers and the desired number of grid points in each layer. The distribution in the boundary layers will follow a geometrical progression, while the distribution in the intermediate region will be made as smooth as possible.
Curvature
This type is used to compute a clustering distribution function of the segment curvature. Two parameters can be used to customize the clustering: the curvature weight and the maximal curvature ratio. When the ratio of segment curvature extrema is higher than the maximum curvature ratio, the grid points density is limited and is set to uniform. A value of 50 is advised. The curvature weight is used to decrease or increase the influence of the segment curvature on the grid points density.
Clustering groups
The features of this segment grouping are listed below:

A segment will be contained only in one group (a segment has obviously only one distribution). Therefore if a segment is already present in a group and is inserted in a new group, it will be removed from the first group.
In the same way, connected segments will be included in the same group (in the group of the reference segment chosen). Therefore when inserting or removing a segment connected to other ones, these will be automatically inserted/removed without need to select them.
At a group creation, the initial clustering chosen for the whole group will be the one of the first segment of the group.
If a segment belongs to a group and that a clustering is applied only on this segment and not on the whole group, the segment will be removed from the group.

The clustering groups are managed (created, modified and deleted) through a dedicated dialog box shown in FIGURE 50, accessed by left-clicking on the Define/Edit group button of the Clustering dialog box.


FIGURE 50 Clustering groups dialog box
This dialog box contains a list of the clustering groups defined in the current project. Each group name is preceded by two buttons. Left-clicking on the first one toggles the segment list of the corresponding group. Left-clicking on the second one toggles the segments of the group in the graphics area. Each segment of a group is also preceded by a check button allowing to individually show or hide the segment. Segment names are based on their Block, Face, Edge and Segment indices.
Groups are managed through the buttons at the bottom of the dialog box or through pop-up menus accessed by right-clicking on an item in the list.
The Create button allows to create a new group. An additional entry will be opened to enter the group name. Then the group will be added to the list and its filling will proceed just as with the Modify button, described below.
The Delete button allows to delete the selected group. A group is selected by left-clicking on its name in the list. Several groups can be selected at once in the following ways:

 While holding the <Ctrl> key down, select the desired group in the list.
 While holding the <Shift> key down, select two groups delimitating a range of groups.
 While pressing the left mouse button, drag the mouse and release the left button to select a range of groups.

The Modify button allows to modify the segment list of a group (addition or removal of segments). After the selection of this option, all the segments of the selected group are highlighted and the following prompt appears:
<1> Select segment, <2> Add, <d> Remove, <o> Orient = SAME, <3> Quit
Then select a segment by left-clicking on it in the graphics area. It is highlighted as well as its parent block (to be able to distinguish segments lying in the same place).

The group clustering can be applied on the segment with two orientations: same or reverse. Select the desired one by pressing <o>. The prompt and the segment highlight are updated to reflect it.
To add the selected segment in the group, middle-click.
To remove it from the group (if already contained), press <d>.
To quit this tool, right-click.

Editing options can also be accessed by right-clicking on a group or on a segment in the dialog box. See FIGURE 51.


FIGURE 51 Pop-up menus accessed through the dialog box
For a group, the active segment can be added, the group can be modified just as with the Modify button previously described and the group can be deleted.
For a segment of a group, this one can be removed from the group and the clustering distribution can be reversed.
Clustering convergence
In some cases, the computation of the grid points distribution on a segment, according to the clustering type, cannot converge (for example, with a type At Start, there is no convergence if the first cell size is greater than the segment length). Therefore the new clustering type cannot be applied to the segment and a warning appears.
If a clustering is applied on a segment alone (Apply to seg button), the dialog box shown in FIGURE 52 will appear:


FIGURE 52 No convergence on a segment
If a clustering is applied on a group (Apply to group button), the dialog box shown in FIGURE 53 will appear:


FIGURE 53 No convergence on segments of a group
It contains the list of group segments for which the distribution cannot converge. Moreover, these ones are highlighted in the graphics area to easily localise them. Once this warning box is closed, all the segments of the group keep the same clustering as previously (clustering unchanged).
Segment optimum settings
Optimum settings can be calculated for the active segment through a dedicated dialog box shown in FIGURE 54, accessed by left-clicking on the Clustering info... button of the Clustering dialog box.


FIGURE 54 Clustering info dialog box
The basic idea of this tool is to impose several independent parameters and to calculate from them a dependent variable, which can be either the expansion ratio, the segment number of points or the distribution parameters (start or end spacing). Before doing any calculation, the clustering type that will be used must be chosen in the top of the dialog box. The clustering types have the same name and meaning as the ones of the Clustering dialog box. 
The dependent variable is selected by left-clicking on the corresponding radio button. Then other parameters can be modified. The parameters not preceded by a radio button cannot be chosen as dependent variable. Pressing <Enter> or the Compute button will recalculate the dependent variable according to the new parameters. It is also recalculated when the active segment is changed.
The following variables can be computed:

Expansion ratio: it is simply the computation of the expansion ratio of the distribution obtained from the other parameters.
Number of points: the minimum segment number of points is calculated in order to satisfy the specified expansion ratio and distribution spacing(s). For this variable, the multigrid level can be chosen, leading to a calculated number of points with at least the selected multigrid level.
Spacing at start/at end: the minimum spacing is calculated in order to satisfy the specified number of points and expansion ratio.

For example, as shown in the previous figure, the minimum number of points can be calculated to satisfy an imposed maximum stretching ratio of 2, with a "Hyperbolic tangent" clustering type and a start - end spacing of 1e-5.
In some cases, the computation of the dependent variable, according to the clustering type, cannot converge (for example, with a type "At Start", there is no convergence if the first cell size is greater than the segment length). Therefore the message "Computation not converged" appears at the bottom part of the dialog box.
It is important to note that this dialog box is not linked to the Clustering dialog box. It has to be considered as an "information" box and therefore any modification of its parameters will have no direct effect on the mesh or the segment clustering. Therefore a computed optimum parameter must be applied externally (for example, to apply a computed spacing on a segment, the value must be introduced manually in the "Clustering" dialog box).

Negative cells
Grid/Negative cells... is used to compute, store the indices and show the cells with a negative volume. The dialog box shown in FIGURE 29 is provided to select calculation preferences:


FIGURE 29 Preferences dialog box for Negative cells calculation
Four preferences can be controlled:

Scope: determines whether the calculation will proceed on the active block or on all blocks.
Coord Sys: specifies whether calculation should proceed using a left-handed local reference frame for each cell or a right-handed one.
Precision: specifies whether to perform calculation in single or double precision.

This preference is the most important to control. Indeed, IGG™ always works in double precision. However some solvers may work in single precision. Consequently, checking negative cells in double precision in IGG™, with no negative cells as a result, may give negative cells in the solver !
Coarse Levels: specifies on which multigrid level the calculation should proceed. The All button allows to perform the calculation on all the available uniform multigrid levels at once, "uniform" meaning that the levels are equal in the three directions I, J and K, for example "0 0 0", "1 1 1" and "2 2 2". The Custom button allows to select a specific multigrid level, like "1 2 2".

The Apply button performs the negative volumes calculation. If the active block is not generated or has been modified since the last generation (by moving a vertex, for example), the message shown in FIGURE 30 will appear:


FIGURE 30 Message indicating that the block may be regenerated
The View neg cells button allows to visualize cells with negative volume. The computation of the negative volumes is performed automatically as a first step. Cells with negative volumes are displayed in a shaded representation and with markers, which are useful to detect cells that cannot be seen only with the shaded representation.
Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
If no cell with negative volume is detected, the message shown in FIGURE 31 appears::



FIGURE 31 No negative cells detected
On the contrary, if there are cells with negative volumes after the complete search, a message shown in FIGURE 32 will appear:


FIGURE 32 Grid contains cells with negative volume
It shows the number of each block containing negative cells and the corresponding number of negative cells.
For butterfly topologies, the calculation is performed on all the butterfly blocks of the corresponding parent block. The number of negative cells of each butterfly block is added and displayed in the previous dialog box by referencing the parent block.

Create Block->Translation
Grid/Create Block/Translation menu item is used to create a block grid by translating the active face along an arbitrary vector (translation vector). The number of grid points and their distribution in the translation direction is set as follows:

The block to which the active face belongs has only this face created (other faces are created by using tools as this one or Grid/Create Block/Rotation,...): the number of grid points is the default one (9) and the distribution is uniform.
The block to which the active face belongs has all its boundary faces created: the number of grid points and their distribution are those of the reference edge determined as follows:
Active face	Reference edge
	Faces 1 or 2			Face 3, Edge 3
	Faces 3 or 4			Face 1, Edge 3
	Faces 5 or 6			Face 1, Edge 1

The translation vector is defined by using the keyboard input area. The translation (T) can be combined with rotation (TR), scaling (TS) or both rotation and scaling (TRS). 
During the translation, the boundary edges can be created using the boundary grid nodes of the generated block:
Edge creation (y/n)? (q)

>>  y	
Translation (1) can be combined with rotation (2), scaling (3) or both (4) as follows:
T(1), TR(2), TS(3), TRS(4) (q)

>>   4	
Translation vector  (q)

>>   1 1.5 5
For rotation or scaling, the vector origin can be specified as:
Origin  (q)				 ( for 2, 3 and 4)
>>   1  1 0
The rotation axis is equal to the translation vector. The rotation angle can be given as:
Angle  (-360...360 deg) (q) 			( for 2 and 4)
>>   60	
The scale factor is given for all index directions as a single value:
Scale factor  (q) 			( for 3 and 4)
>>   0.5	

Next, IGG™ will ask to create the geometry. 
Create Geometry ? (y/n) (q)

>>   y
This geometry consists of NURBS surfaces representing the lateral faces of the block. It is strongly advised to create these surfaces so that any later modification of a vertex of the block will automatically map the touched edges onto these surfaces. Without these surfaces, the touched edges (or any new internal grid lines) would be drawn as straight lines. 
After the creation of the block grid, it is possible to intersect a selected geometry surface and adapt the new block according to the intersection. The following prompt is given to ask for intersection: 
Intersect selected surface ? (y/n) (q) (only for 1)

>>   y
The geometry surface must have been previously selected using the Geometry/Select/Surfaces menu item to use this option.
To quit this command, enter 'q' in the keyboard input area and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Grid/Create page.
When selecting a face from a 3D block, the original block is removed when creating a new block using Translation.

Tools Menu




The Tools menu options provide tools to measure distance or angle in the graphics area.

Distance
Tools/Distance is useful to measure the distance between two points or between a point and a line. The distance tool dialog box will appear, showing the distances computed along principal directions between the two points:



FIGURE 1 Distance tool dialog box
The following prompt appears, asking to enter the first point:
Enter first point (toggle selection: a = points, c = curves, s = surfaces, l =distance to line)
Once the first point (or line) is entered, a second prompt appears, asking to enter the second point:
Enter second point (toggle selection: a = points, c = curves, s = surfaces, l =distance to line)
To measure the distance between two points, simply select the points with the mouse or enter the coordinates with the keyboard. For example, to measure the distance between (0,0,0) and (1,1,1), enter the sequence ’0 0 0’ in the graphics area, followed by <Enter>. Then enter ’1 1 1’ followed by <Enter>. The distance is indicated in the graphics area and in the information area.
To select an existing point, attraction features are available, allowing attraction to points, curves and surfaces. To activate the attraction to points, press <a> in the graphics area, then move the cursor to the desired point. Similarly, to activate the attraction to curves or surfaces, press respectively <c> or 
, then move the cursor to the desired curve or surface. The attraction works on:

end points of the curves,
visible Cartesian points,
visible curves,
visible surfaces,
block vertices and fixed points.

In this last case, the attraction cannot be deactivated. When there is attraction, the corresponding point is highlighted. Simply press the left mouse button to select it.
To measure the distance between a point and a line, press <l> in the graphics area. Then enter a line origin (with the mouse or the keyboard) and direction (this one must be entered with the keyboard). The attraction features are also available for the line origin.
Enter line origin (toggle selection: a = points, c = curves, s = surfaces)
Enter line direction (keyboard only)
>> 1 1 1
This option can be activated before or after having entered the first point. The distance is measured perpendicularly to the line.
Once a distance is calculated, another distance can be measured by selecting other points.
To quit this tool, press <q> or the right mouse button. 
Angle
Tools/Angle is useful to measure the angle between two points projected in a specified plane.
The following prompt appears, asking to enter the origin of the angle (origin of the plane):
Enter origin (o = (0,0,0))
The origin can be specified in the keyboard input area or by left-clicking in graphics area (with attraction on curves, surfaces and edges) or with the shortcut <o> to impose origin at (0,0,0).
Once the origin is specified, a second prompt appears asking to enter the plane normal:
Enter normal (<1> = view plane normal; <x>,<y> or <z> to select axis)
The plane normal can be specified in the keyboard input area or by left-clicking in graphics area (with attraction on curves, surfaces and edges) or with the shortcuts <x>, <y> or <z> to impose normal respectively along X, Y or Z.
The following prompt appears, asking to enter the first point:
Enter start point
The point can be specified in the keyboard input area or by left-clicking in graphics area (with attraction on curves, surfaces and edges).
Once the first point is entered, a last prompt appears, asking to enter the second point:
Enter end point
The point can be specified in the keyboard input area or by left-clicking in graphics area (with attraction on curves, surfaces and edges).
The resulting angle is displayed in the graphics area and in the information area. The angle is expressed in degrees in the range [0,180] and with a sign according to the normal direction (+ sign if moving first point on second point leads to a crossproduct of same direction as normal).

Internal Edges & Faces
Internal edges
Internal edges, also called internal grid lines, correspond to edges inserted inside a face. They are used for two purposes:

To control the face grid generation (control of the grid points distribution on the internal edge, mapping of the internal edge on geometric entities,....),
To allow the connection between blocks (i.e. when one block ends on an other).



FIGURE 23 Internal edges used to connect blocks together
To insert an internal grid line




Select a face by left-clicking on one of its edges.
Click on the Insert Internal Grid Line icon in the Quick Access Pad/Grid/Insert/Edit page.
Move the mouse to the active face. When moving the cursor over a grid line, the grid line is highlighted and its index appears on the screen.



Press <i> or <j> to enable grid line selection in a preferred direction.
Press <u> to disable the preferred direction.
Left-click to create the internal grid line.


Click on yes or no to respectively create or not the underlying geometry of the initial location of selected internal grid line.

The newly created internal grid line is visualized and automatically intersects the other already existing edges as shown in FIGURE 24. 


FIGURE 24 Fixed point insertion through internal grid line creation
The created internal grid line can be manipulated in the same way as boundary edges:

 Additional vertices can be inserted and moved,
 The edge can be mapped onto curves or surfaces,
 Fixed points can be inserted and moved,
 Distribution of grid points can be fully controlled.

To change the index of an internal grid line

Right-click on the internal edge and go to the Edge pop-up menu.


Select the Change Index menu item.
A prompt will appear to enter the new index for the internal edge.



Enter new Edge Index:
>> 5

The fixed points of the internal edges are automatically updated.
Internal faces
Internal faces are very convenient to add control to the block generation and to improve the generation of blocks in case negative cells appear. They can be generated as boundary faces. It is possible to insert internal faces in the I, J or K directions of the existing blocks.
To insert an internal face:

Select the desired block by left-clicking on one of its edges.
Click on the Insert Internal Face icon in the Quick Access Pad/Grid/Insert/Edit page. The dialog box shown in FIGURE 25 appears.





FIGURE 25 Insert internal face dialog box
Sweep the I, J or K indices in order to select the desired internal face grid.
Click on the Save button to generate the internal face.
This action automatically creates new internal edges at the intersection between the new face and the other existing faces. At the same time, fixed points are introduced into intersected edges to insure grid consistency at any time. These fixed points are attached to the vertices of the internal edges.



FIGURE 26 Creation of an internal face
To change the index of an internal face




Select the internal face by left-clicking on one of its edges.
Right-click on one of its edges and go to the Face pop-up menu, shown in the margin.
Select the Change Index menu item.
A prompt will appear to enter the new face index value:
Enter new face index (q):
>> 5

Create page
This page contains icons used to create and delete blocks. When moving the cursor above one of these icons, a balloon containing a description appears, indicating the function of the corresponding icon. Each icon is referenced here below with this description.
When inserting a new block and placing a vertex, this one can be attracted to a visible Cartesian point, curve, surface, vertex or fixed point by moving it close to the desired entity. There is attraction when the distance between the vertex and the entity is small enough. This distance is controlled by the Pick Aperture. When a vertex is attracted, the block drawing in the graphics area is highlighted. This attraction feature cannot be deactivated.
Insert New Block
This icon is used to create a block by defining two opposite vertices. The following steps have to be followed to insert a new block:




A block with a default position appears in the graphics area. The first vertex that has to be placed is displayed as a filled-in circle. Move the cursor to the desired location and left-click or middle-click to place it.
The current vertex can be attracted to a visible Cartesian point, curve, surface, vertex or fixed point by moving it close to the desired entity (see the beginning of this section for more information).
To make easily the vertex positioning, a zoom (<F2>) or a 3D viewing (<F1>) operation can be performed before resuming the placement.


FIGURE 1 IJK axis placement
When moving the cursor around, the drawing of the block is updated according to the cursor position. Move the cursor to the desired location and left-click or middle-click to place the second (opposite) vertex.
The position of a vertex can also be defined by entering its coordinates in the keyboard input area.
The orientation of the block, defined by the IJK axis, appears at a default block corner (FIGURE 1). 
The following message is displayed in the message area, asking to position the axis system:
Place the IJK Axis (o = origin, s = orientation, <1> or <2> = create, <3> = abort)
To change the origin or the orientation of the IJK axis, press respectively the <o> or the 
 key. The axis system displayed is always right-handed. Left-click or middle-click to complete the block creation. When the block is created, the vertices of the block are drawn using solid square markers. 

To quit this tool, press <q> or the right mouse button.
Insert New Block by picking vertices



This icon is used to create a new block by defining its eight vertices. The following steps must be followed after selection of the icon:

A block face with a default position appears in the graphics area and the first vertex to place is displayed as a filled-in circle. Move the cursor to the desired location and left-click to place it. 
The position of a vertex can also be defined by entering its coordinates in the keyboard input area. The current vertex can be attracted to a visible Cartesian point, curve, surface, vertex or fixed point by moving it close to the desired entity (see the beginning of this section for more information).
During the vertex placement it is possible to change the view orientation using the zoom (<F2>) or a 3D viewing (<F1>) options.
Repeat the operation to place the other three next vertices defining the first face.
When the first four vertices positions are specified, a 3D block appears, for which the drawing is updated according to the cursor position.


FIGURE 2 Block drawing with the first four vertices specified
The following message is displayed in the message area, asking to position the first vertex of the block second face:
Place vertex (Locking: x, y, z, n = normal, v = vector, u = unlock; <2> = default position)
The movement of the cursor can be locked in one direction by pressing one of the following keys:

<x>, <y> or <z> to lock the movement in the specified direction.
<n> to lock the movement perpendicular to the first face.
<v> to lock the movement in a user defined direction. The direction must be entered through the keyboard input area.
<u> to unlock. (It is also possible to press the same key twice to unlock the corresponding direction).

Repeat the click operation to place the other vertices defining the block.
At each step of the vertices positioning, the process can be accelerated by pressing the middle mouse button. If any of the vertices of the first face is positioned, middle-clicking will position this face as it appears on the screen so that the next step will be the placing of the first vertex of the second face. During this step, middle-clicking will position the second face as it appears on the screen so that the next step will be the choice of IJK axis.
When all the vertices are defined, the orientation of the block, defined by the IJK axis, appears at a default block corner (see FIGURE 1). The following message is displayed in the message area, asking to position the axis system:
Place the IJK Axis (o = origin, s = orientation, <1> or <2> = create, <3> = abort)
To change the origin or the orientation of the IJK axis, press respectively the <o> or the 
 key. The axis system displayed is always right-handed. Left-click or middle-click to complete the block creation. When the block is created, the vertices of the block are represented by solid square markers.

After having specified the orientation of the IJK axis, IGG™ will attempt to automatically map the edges of the new block onto the geometry, before completing the block creation.

To quit this tool, press <q> or the right mouse button.
Insert New Face



This icon is used to create partially a block by defining its face 1. The complete creation of the block from this face can be done by using construction tools such as: create block by translation, rotation,... (see a detailed description in the next sections). The face 1 is positioned by two opposite corners.
The following steps have to be followed to insert a new face:

A face with a default position appears in the graphics area. The first vertex that has to be placed is displayed as a filled-in circle. Move the cursor to the desired location and left-click or middle-click to place it.
The current vertex can be attracted to a visible Cortisone point, curve, surface, vertex or fixed point by moving it close to the desired entity (see the beginning of this section for more information).
To make easily the vertex positioning, a zoom (<F2>) or a 3D viewing (<F1>) operation can be performed before resuming the placement.
As the cursor is moved around, the drawing of the face is updated according to the cursor position. Move the cursor to the desired location and left-click or middle-click to place the second (opposite) vertex.
The position of a vertex can also be defined by entering its coordinates in the keyboard input area.
The orientation of the face, defined by the IJ axis, appears at a default face corner. The following message is displayed in the message area, asking to position the axis system:
Place the IJ Axis (o = origin, s = orientation, <1> or <2> = create, <3> = abort)
To change the origin or the orientation of the IJ axis, press respectively the <o> or the 
 key. Left-click or middle-click to complete the block creation. When the block is created, the vertices of the face are drawn using solid square markers. 

To quit this tool, press <q> or the right mouse button.
Extrude Range



This icon is used to create a block by extruding a range of the active block face. The dialog box shown in  FIGURE 3 will appear:


FIGURE 3 Extrusion of block faces
The first thing to choose is the active face range from which the new block will be extruded:

The Patch box allows to choose an existing patch of the active face to perform the extrusion. The patch is automatically displayed in the graphics area. By default, the patch number is 0, that is the patch corresponding to the entire active face.
Any range can also be selected by changing the limits of the active face range borders. Move the cursor to the desired border which is highlighted when the cursor is close enough. Then left-clicking on it will open a box allowing to enter the new limits:




The new limits can be entered manually or modified using the scrollers. Pressing <Enter> applies the new limits to the range. Pressing <Esc> cancels the limit modification.
Once the range is chosen, the direction in which the extrusion will proceed must be selected. Three possibilities are available (simply left-click on the desired one in the box):

Average Normal. This normal is computed as the average of all the normals to the face in each range grid point.
Normal to Face. Each range grid point is extruded along the face normal in this point.
User Direction. The extrusion direction is specified by entering with the keyboard the x, y and z coordinates of the direction vector. Only the vector direction is taken into account, not its orientation. This one is calculated automatically in order to obtain a right-handed block.

After the direction, the magnitude of the extrusion must be specified. Just after the dialog box opening, it is set to the 'default' value which depends on the range size. To modify this, simply enter a new positive value with the keyboard (all negative values are equivalent to the default value).
Finally the Connect Topology option can be activated or deactivated to create a new block automatically connected or not connected to the original block on which the extrusion is performed.
Once all the previous parameters are chosen, simply press the Extrude button to perform the extrusion. Here below are listed its main features:

The new extruded block is always right-handed.
Internal grid lines are automatically created in the active face to capture the first face of the new block.
The number of points in the extrusion direction is the default one (9). In other directions, the number is the same as those of the corresponding internal grid lines segments.
Connections between the reference block and the extruded one are automatically performed for vertices, topological edges, segments and patches. Patch connection is subject to limitations described below.

Patch decomposition and connection
When extruding a new block, IGG™ attempts, as much as possible, to divide correctly the reference face and the new one into patches and to perform matching connections between them. Several cases may happen:

The reference face contains only one patch:
The reference face is divided into patches in order to match the patch of the new face and the connection is performed.
The reference face is decomposed in several patches and the complete face is extruded:
The new face is divided in the same way as the reference face. Each patch will be connected to its counterpart.
The reference face is decomposed in several patches and a range is extruded:
Three sub-cases may happen:

The range is completely included in one of the patches of the reference face. In this case, the reference face is further divided into smaller patches and the connection is performed with the new face. It is illustrated in FIGURE 4 where the central patch will be further divided into nine patches and the new central patch will be connected to the new face.


FIGURE 4 Extruded range included in a reference face patch
The range covers exactly a set of existing patches. In this case, the new face is divided using the same limits as the covered patches and the connection is performed with these patches.
The range overlaps two or more patches. In this case patch decomposition will NOT be performed automatically and a warning will appear. It is illustrated in FIGURE 5 where the range being extruded overlaps two patches. In this case, the division into patches and the connections must be performed manually.


FIGURE 5 Extruded range overlapping two reference face patches


Duplicate Block



This icon is used to create blocks by duplicating existing blocks. The dialog box shown in FIGURE 6 will appear:


FIGURE 6 Duplicate Block dialog box
The first item Blocks to Duplicate offers three possibilities to choose the blocks to duplicate (simply left-click on the desired one in the box):

Active Block. Select only the active block.
Selected Block(s). Select the desired blocks by entering with the keyboard their number in the dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be selected by entering two numbers separated by a '-'. For example, enter '4 6 10-15' to select the blocks 4, 6 and the range 10->15. The numbers do not have to be ordered. If a syntax error is made, a warning message will appear.
Block Group. Select all the blocks of the group. To see all the group names in a pull-down menu and select the desired one, left-click on the dedicated arrow.

Then, choose the number of duplicated blocks (Nbre of duplicates) for each block that has been selected. Choose also the transformation that will be applied to the selected blocks to create the duplicated ones. When the duplication number is greater than 1, the transformation is applied to the previous duplicated block to create the next new block. There are three transformations available: rotation, translation and scaling. Simply left-click on the corresponding page to select one or the other transformation.

For the rotation, its axis, origin and angle must be specified. For the axis and origin, simply enter the x, y and z coordinates. A number must be specified for the angle, which will be computed as follows: angle = 360/number.
For the translation, simply specify a vector by entering its coordinates.
For the scaling, simply specify the scaling factor in the x, y and z directions. Null values are not allowed.

Finally, a modeling option must be chosen for the duplicated blocks. Four possibilities are available (simply left-click on the desired one in the box):

No topology. Only the mesh of the selected blocks will be duplicated but not the edges and vertices. It is useful when the duplicated blocks do not have to be modified.
Topology From Grid. The boundary edges are created by using the boundary grid nodes of the duplicated blocks. 
Only the boundary edges and the corner vertices are reproduced.
Duplicate Geometry. All the selected blocks entities are duplicated: vertices, fixed points, edges, internal grid lines, internal points, internal faces. The duplicated edges will have exactly the same shape as those of the initial block, which is not the case when edges are created by using the boundary grid nodes of the duplicated block. The difference can be seen clearly in FIGURE 7 for the edge mapped on the curve:


FIGURE 7 Difference between 'Topology From Grid' and 'Duplicate Geometry'
Vertex Snapping. It will have the same effect as the previous option. But in addition IGG™ tries to snap the duplicated block vertices on curves lying near this new block. This snapping is controlled by a tolerance (Rel Tol) that can be modified. For example, if the distance between a vertex and the closest point of a curve is higher than this tolerance, there is no snapping.
Once all the previous parameters are chosen, simply press the Apply button to perform the duplication.

Block by Sweeping



See the Grid/Create Block/Sweeping menu item description in section Create Block->Sweeping.
Block by Face Translation
See the Grid/Create Block/Translation menu item description in section Create Block->Translation.
Block by Face Expansion



See the Grid/Create Block/Face Expansion menu item description in section Create Block->Face Expansion.
Block by Face Rotation
See the Grid/Create Block/Rotation menu item description in section Create Block->Rotation.
Create Butterfly
This icon opens the Create Butterfly dialog box which is used to automatically create a butterfly topology in a block. Refer to Butterfly mesh for a complete description of this dialog box and for information about the butterfly topology.
Delete Block(s)



This icon is used to delete blocks. The dialog box shown in FIGURE 8 will appear:


FIGURE 8 Delete blocks dialog box
This box allows to choose the blocks to delete. Two possibilities are available (simply left-click on the desired one in the box):

Active Block. Select only the active block.
Selection. Select the desired blocks by entering with the keyboard their number in the dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be selected by entering two numbers separated by a '-'. For example, enter '1 5 10-15 3' to select the blocks 1, 3, 5 and the range 10->15. The numbers do not have to be ordered and the same number can be entered more than one time. If a syntax error is made, a warning message will appear.

Once the desired blocks are selected, press the Delete button to perform the deletion. A confirmation is asked for each block. See FIGURE 9:



FIGURE 9 Deletion confirmation
Press the yes or no button to confirm the deletion or not.
To have no confirmation asked at each selected block, press the Delete All button to perform the deletion of all selected blocks. 
Create Internal Block



This icon opens the Create Internal Block dialog box which allowed the user to create a new block based on a existing block. The Block, Minimal Indices and Maximal Indices allow to define the block or part of the block that will be duplicated.
Furthermore, the new block can be refined in one or more specified direction (Refinement Level). When increasing the refinement level to "N", the number of grid points in the specified direction will be increased by 2N by successively subdividing in two (N times) the distance between two successive grid points.


FIGURE 10 Create internal block dialog box
Refine Block



This icon is used to refine blocks in specified direction. When increasing the refinement level to "N", the number of grid points in the specified direction will be increased by 2N by successively subdividing in two (N times) the distance between two successive grid points.


FIGURE 11 Refine block dialog box

Create Face->Linear 2Bnd


Create Face/Linear 2Bnd menu item is used to create an algebraic face grid using two opposite boundaries of the active face. The grid matches the point distributions on the active boundary and its opposite. Other grid boundaries are computed by linear interpolation and the internal grid points are distributed according to the user-defined point distributions between opposite boundaries.
This option can also be accessed through the Quick Access Pad/Grid/Generate page.

Internal Grid Line->Index
Grid/Internal Grid Line/Index allows to change the index of the active internal edge. The following prompt is given to enter the new index of the internal edge:
Enter New Edge Index (q) ?
>>  17 
If a value greater than the corresponding block limit or greater than the index of the face nearest fixed point is entered, the index will not be changed. Setting a new index to an internal grid line will not change its position but the block grid points will be moved.
If the internal edge belongs to an internal face, its index cannot be changed.
To quit this command, enter 'q' and press <Enter>.

Patch connections

Three connection types can be defined in IGG™: matching, non matching and full non matching. Matching and non matching connections are used to connect two patches having common boundaries whereas full non matching connections allow to connect several patches of several blocks with non matching boundaries.
Matching & non matching connections
Matching connections are obtained between two patches with same number of grid points along the two directions, and when all their points are matching at a specified tolerance. Non matching connections are obtained when some patches points are not matching at the specified tolerance, or when the number of grid points is not the same in one or both directions.
The following checks are performed by IGG™ when trying to connect two patches using Search  button (more details in section Defining Patches & Boundary Conditions):

Four patch corners must be matching at the given tolerance.
Four patch boundaries must be matching at the given tolerance.
Patch points must lie on a same common surface. For this, some points of the first patch are projected on the surfacic cells of the second patch. An intersection must be found and the distance between the point and its projection must be lower than an internally calculated value based on the given tolerance and the patch dimension.
All the patch points must be matching at the given tolerance. Obviously, when number of grid points is different in one or both directions, this test is never satisfied.

The three first tests are performed for both matching and non matching connections and determine if a connection is possible between the two considered patches. The last test determines if the connection is matching or non-matching.
According to these tests, several conditions must be satisfied to ensure connection between patches. First of all, make sure the division into patches is correctly done. It is illustrated in FIGURE 28 where a principal block has to be connected to two adjacent blocks. In this example, the face of the principal block that has to be connected must be divided into two patches before performing connections.


FIGURE 28 Division into patches
Secondly, to connect two patches, their boundaries must be coincident. If it is not the case, it can be achieved by inserting fixed points or internal grid lines into faces. 
As shown in case a) of FIGURE 29, a principal block has to be connected with a smaller adjacent block. The face of the principal block that has to be connected is divided into two patches, but the boundaries of the first patch are not matching the boundaries of the single patch of the adjacent block. The boundaries match after insertion of an internal grid line, as in the case b) of FIGURE 29.
Finally, for matching connections, the grid points of the patches must be matching at the specified tolerance. If it is not the case, it can be due to a difference in the method used for face generation. For example, if a face is generated by a 4Bnd interpolation and that smoothing is applied on the second face, their grid points would not be coincident, as shown in FIGURE 30. 


FIGURE 29 Matching and non matching patch boundaries
Therefore faces mesh should be generated in the same way (by using the same method) in order to obtain matching points, or the tolerance must be increased to force the connection. However, this is only valid for small gaps between grid points (compared to the patch size) and it is highly recommended to avoid setting a tolerance close to the patch size, otherwise connection can be found incorrectly. For example, having two square patches of size 1 and distant of 2, a tolerance of 3 will connect them whereas they should remain unconnected.


FIGURE 30 Different methods used for face generation
Full non matching connections
This type of connection is used to connect several patches with non matching boundaries. Obviously, it can therefore be also used to connect two patches with matching boundaries (matching and non matching connections) though it is useless and not recommended, except to replace some non matching connections. Indeed, the treatment by the flow solver of a same connection can be different if it is defined as a non matching or full non matching connection.
The possibility to use full non matching connections in IGG™ mostly depends on the capabilities of the flow solver to support such type of connections. In the case of NUMECA solver, this capability is fully supported.
FIGURE 31 shows an example of full non matching connection between two blocks.


FIGURE 31 Full non matching connection between two blocks
In this example, the connection region between the two blocks is polygonal and crosses over the two patches of first block and over the unique solid patch of second block. As it can be seen, the limits of this region do not, in general, correspond to the rectangular limits of the patches. Moreover the grid points on one side do not correspond to grid points on the other side. 
Establishing a full non matching connection consists of listing the patches defining one side of the connection and patches defining the other side. Therefore such connection is defined by a list of "left" patches and a list of "right" patches, defining both sides of the connection. This information is basically sufficient for IGG™ and the solver to proceed further. The patches in one list are not restricted to belong to the same face or same block.
It is to be noticed that full non matching connections are always defined on top of existing patches and that these ones must have a valid basic type (no undefined type (UND)), even if the patch is entirely contained in the connection region. In the previous example, the basic type of the patches of block 1 face 2 are inlet and solid. However a region of these patches actually belongs to the full non matching connection.
In the case a patch has an undefined type (UND) and is used in the definition of the FNMB (full non matching boundary), IGG™ automatically sets its type to solid (SOL). This is required by the solver to run properly.
Following rules must be respected when performing FNMB connections:

A patch can be contained in only one list (either the left patches list or the right one) and in only one type of FNMB (solid-fluid or fluid-fluid). 
Two patch points cannot be coincident. For example, an O-type patch with a singular line or a triangular patch cannot be used in a FNMB connection.


FIGURE 32 Patches with coincident points
For periodic FNMB connections, all the patches defining the connection must have the same periodicity information. This information is set for the patch block (see Periodicity).

Create Block->Elliptic->Multigrid



Grid/Create Block/Elliptic/Multigrid menu item is used to create an elliptic face or block grid by solving a Poisson type quasilinear PDE (Partial Differential Equation) with the multigrid (MG) technique, for the active face or block depending on the Viewing Scope. When this option is repeated, the last created grid is taken as the initial solution and solved with the current values of MG parameters. The number of iterations for convergence is also displayed in the status area. This item can also be used to smooth the algebraic face or block grids within a user-defined area of the block (local smoothing) or completely. Multigrid parameters can be controlled using the Grid/Create Block/Elliptic/Multigrid Parameters menu item.
The following prompts are given to specify the smoothing area for 2D/3D surface and block grids:
Smoothing area (0) or all (1) : (q)
>>   0 
In case of local smoothing, the grid indices are specified as:
Smooth index 1 min,max 1 ... 65 (q)
>>   7  25 
Smooth index 2 min,max 1 ... 41 (q)
>>   3  17 
For 3D surface or block grids 
Smooth index 3 min,max 1 ... 33 (q)
>>   15  33 
After the initial number of user-specified iterations is completed the following prompt is given to ask for more iterations, if the solution is not converged:
Iterate more ? ... 12 so far (q)
>>   8

How to Start IGG™ Interface
On  Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows

click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or  in Start/Programs/NUMECA Software/AutoGrid#.

alternatively IGG™ can be launched from a dos shell by typing:

<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or 

<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>

where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic Installation section and # is the version (e.g. 131 ).

Internal Face->Create



Grid/Internal Grid Face/Create... allows to add an internal face to the active block for better control of the block grid. If the active block is not generated or has been modified since the last generation (by moving a vertex, for example), the message shown in FIGURE 34 will appear:


FIGURE 34 Message indicating that the block may be regenerated
It asks for block regeneration. If the block is not generated and that the no button is pressed, the dialog box of the next figure will appear but without being able to do something except pressing the Close button. If the block has been modified since the last generation (a block is not automatically regenerated after modifications of its topology) and that the no button is pressed, the mesh that will be interactively displayed may look strange.
The creation of an internal face is done through a dialog box as shown in FIGURE 35. It allows the selection of a face along I, J or K axis. 


FIGURE 35 Internal face creation dialog box
The Block box allows the users to choose the active block in which the internal face will be inserted. Next to this box, the active block name and the grid points number in each direction are displayed.
The I, J and K scrollers allow to interactively sweep the grid along the three directions. While scrolling, surface grids are displayed for each constant index direction.
When pressing the Save button, the surface currently visible is saved as internal face of the active block. 
When an internal face is created, an internal edge is also created for each existing face crossing the new face. This edge is shared by the faces which means that modifying the edge on one face affects the other face as well.
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.

Grid Density->Continuous Distribution
Grid/Grid Density/Continuous Distribution... allows to ensure a continuous distribution between successive segments.
The segment list should be correctly ordered, i.e. one segment is connected to the next one in the list, whatever their orientation.
The start spacing and end spacing allow to control the size of the first cell of the first segment and the last cell of the last segment of the list.


When performing a planar face smoothing (Create Face->Planar Faces Smoothing), the smoother will smooth the initial inner expansion ratios in the mesh but not the ones on the boundaries. Therefore the clustering on the boundary segments should be correctly set to avoid too big expansion ratios. To avoid this problem, the segment groups defined for the planar face smoothing will appear in the Segment continuous distribution dialog box to ensure a continuous distribution.

View Subpad Description
The View subpad provides commands and tools that allow viewing operations on the geometry and the grid. In particular, the two first pages provide options permitting the creation and the visualization of geometry and block groups. The three pages of this subpad are described in the following sections.
Geometry Groups page
Geometry groups are powerful means of classifying geometrical entities by grouping them under the same name. This tool proves to be essential as soon as the input geometry gets a little complicated. Using groups, the user can easily perform selective visualization of parts of interest and focus on the current region being meshed.
The geometry group page allows the creation, the deletion and the visualization of geometry groups, which can contain curves and/or surfaces. Different groups can contain the same curve(s) or surface(s).


FIGURE 23 Geometry Groups page
All the existing geometry groups are listed by name in the browser of the page. Each group name is preceded by two buttons. Left-clicking on the first one toggles the list of curves and surfaces of the corresponding group in the Quick Access Pad. Left-clicking on the second one toggles the display of curves and surfaces of the group in the graphics area.
Each item in a group is also preceded with a check button that allows to individually show or hide the item.
The page contains four buttons at the bottom:

Create Group. Before pressing this button, curves and surfaces that will be put in the new group must be selected (see the Geometry/Select menu). The dialog box shown in FIGURE 24 will be opened:


FIGURE 24 Geometry group creation
Simply enter the new group name and press the Create button to create the new group.
Delete Group. It opens the dialog box shown in FIGURE 25:


FIGURE 25 Geometry group deletion
All existing geometry groups are listed in the box. Simply select a group by left-clicking on its name and press the Delete button to delete it (this will not delete the related geometrical entities).
Show All. This button shows all the geometry in the graphics area: curves, surfaces and Cartesian points.
Hide All. This button hides all the geometry in the graphics area: curves, surfaces and Cartesian points.

Two pop-up menus, shown in FIGURE 26 , are also accessible by right-clicking on a group name or on a geometry entity in the page browser:



FIGURE 26 Geometry group pop-up menus
The first menu contains three items:

Add Selection. This adds the currently selected curves and surfaces to the group.
Remove Selection. This removes the currently selected curves and surfaces of the group. If some selected curves or surfaces are not in the group, the removal of these entities will have no effect on the group.
Delete. This deletes the geometry group.

The second menu allows to remove of the group the geometry entity from which the menu is opened.
Block Groups page
This page allows the creation, deletion and the visualization of block groups. Different groups can contain the same block(s).


FIGURE 27 Block Groups page
All the existing block groups are listed by name in the browser of the page. Each group name is preceded by two buttons. Left-clicking on the first one toggles the list of blocks of the corresponding group in the Quick Access Pad. Left-clicking on the second one toggles the display of blocks of the group in the graphics area.
Each item in a group is also preceded with a check button that allows to individually show or hide the item.
The page contains four buttons at the bottom:

Create Group.
Simply enter the new group name and press the Create button to select the group blocks. The following prompt will appear:
<1> Select a Block, <2> Add to Group, <3> Quit, <Keyboard Area>: Add Block by Indices to Group
Left-click on a block to select it. The block will be highlighted. Then, middle-click to add the block to the group. This block will remain highlighted until leaving this tool. Add in the same manner as many blocks as desired. 
Blocks can also be added to the group by entering their number in the keyboard input area. In this case, the blocks are directly added to the group without being highlighted and without any validation. The numbers must be separated by spaces. A range of blocks can also be added by entering two numbers separated by a '-'. For example, enter <1 5 10-15 3><Enter> to add the blocks 1, 3, 5 and the range 10->15. The numbers do not have to be ordered and the same number can be entered more than one time. If a syntax error is made, a warning message will appear.
Press <q> or the right mouse button to complete the group creation.
Delete Group. It opens the dialog box shown in FIGURE 28:


FIGURE 28 Block group deletion
All existing block groups are listed in the box. Simply select a group by left-clicking on its name and press the Delete button to delete it (this will not delete the related blocks).
Show All. This button shows all the blocks in the graphics area.
Hide All. This button hides all the blocks in the graphics area. 

Two pop-up menus are also accessible by right-clicking on a group name or on a block in the page browser:



FIGURE 29 Block group pop-up menus
The first menu contains three items:

Modify. This allows to add blocks to the group with same menu as when creating group.



Add Selection. This adds the active block to the group.
Remove Selection. This removes the active block of the group. If it is not in the group, this operation will have no effect on the group.
Delete. This deletes the block group.

The second menu allows to remove of the group the block from which the menu is opened.
Grid Configuration page
For the multiblock data structure in complex geometry, the Grid Configuration page is a powerful tool to categorize the fluid and solid domains along with their interconnected faces and boundaries. Once the Update button is clicked, it initializes the grid configuration. 


Grid Configuration process automatically groups the fluid or solid block together into a set of IGG Core Flow or IGG Solid Body domains. The boundaries are also grouped automatically according to the boundary condition type and the connection between them, appears in the Domain Boundaries node. 
If right mouse button is clicked on the Main Project, a popup menu appears to Duplicate or Merge the project. The duplicate project is named as SubProject followed by the project numbering by default. Right clicking on any sub-project shows a popup menu consisting of six items. All the items in the subproject can be accessed independently. See FIGURE 30.


FIGURE 30 Project menus
Whereas right clicking on any domain, domain boundary or specific boundary shows the popup menus shown in FIGURE 31:


FIGURE 31 Domain and domain boundary menus
Subprojects are useful when part of the main configuration needs to be analyzed separately. Each subproject can have its own mesh. Once the computation is fruitful on the subproject, a merge process enables you to concatenate the main project with the selected subproject to analyze the complete configuration with the new geometry defined in the subproject. More details are available in the FINE™ and AutoGrid™ User Manuals.
Grid page
This page provides visualization commands on the grid. It consists of two rows: a row of buttons and a row of icons.


FIGURE 32 Grid page
The first row of buttons is used to determine the viewing scope, that is the grid scope on which the viewing commands provided by the icons of the second row will apply. There are five modes determining the scope, each one being represented by a button: Segment, Edge, Face, Block, Grid (all blocks). Only one mode is active at a time and the current mode is highlighted. Simply left-click on a button to select the desired mode.

In Segment mode, a viewing operation applies to the active segment only.
In Edge mode, a viewing operation applies to the active edge only.
In Face mode, a viewing operation applies to the active face only.
In Block mode, a viewing operation applies to the active block only.
In Grid mode, a viewing operation applies to all the blocks of the grid.

The icons of the second row and their related commands are listed in the next table:






Icon


Command









Toggles vertices.







Toggles fixed points.







Toggles segment grid points.







Toggles edges.







Toggles face grid.







Toggles shading.

Boundary Conditions file format
The boundary condition file (.bcs file) is used to export the boundary condition settings of each patch of a grid, defined with the Grid/Boundary Conditions... menu. There exists one ".bcs" file for each project. An example of a ".bcs" file is shown below:








Format description
The first line contains the number of blocks in the file (second field).
Each block is then described one after the other in the following way:


Name of the block (name set in IGG™ - name used in ".cgns" file) - Type of the block (FLUID).
Number of points in the I, J and K directions.
Periodicity information of the block set with the Grid/Periodicity... menu item. Periodicity information is one of the following:
NONE                        no periodicity
TRANSLATIONtranslation_x translation_y translation_z

MIRRORmirror_axis_x  mirror_axis_y mirror_axis_z origin_x origin_y origin_z 

ROTATION	rot_axis_x rot_axis_y rot_axis_z origin_x origin_y origin_z num_repet 

	num_mesh_channels
In our example, the first block has a translation periodicity with translation axis (0,0,1). The second block has a rotating periodicity with origin (0,0,0), rotation axis (0,0,1) and 9 repetitions (9 blades).
The next lines describe the patches information for each block face. The order in which faces are described is the following: Imin Jmin Kmin Kmax Jmax Imax (faces 5 3 1 2 4 6).

For each face:

The number of patches for the face (one line).
Patches description (one line per patch). This information depends on the patch type and is summarized below:

For each patch, the line contains the patch name, its type and its limits min1, min2, max1, max2 (1 and 2 are the two principal axes of the patch: [I, J], [J, K] or [I, K]). FIGURE 1 describes a solid patch going from (1,9) to (41,49):


FIGURE 1 SOLID patch type information
For CON, NMB, PER and PERNM patches, the line contains in addition the indices of the connected patch (three indices giving the number of the connected block, face and patch) and the relative orientation of the two patches, described by the corner and orientation indices. Moreover the end of the line contains the name of the connected block. This information is not mandatory (connected block is described by its index) and is only present to make things clear. See FIGURE 2.


FIGURE 2 CON patch type information
The index of the connected face (4 in FIGURE 2) is not directly the face number in IGG™. Instead the indices in the right column of FIGURE 3 are used (for historical reason):


FIGURE 3 Face index convention
The corner and orientation indices determine how the connected patch connects to the patch currently described. The table shown in FIGURE 4 shows the eight possible configurations:


FIGURE 4 Standard notation for corner and orientation.
In this table, the left patch is always the connected patch and is taken as reference. The right patch is the patch currently described.
For PER and PERNM patches, the line contains in addition a connection sign (+1 or -1) before the connected block name. This sign indicates the sense of the periodic transformation for the given patch (the periodicity information is given previously in the file for each block):
+1 means that the patch connects to the other by rotating (or translating) it according to the periodic axis (clockwise).
- 1 means that the patch connects to the other by rotating (or translating) it in the opposite direction as the periodic axis (counterclockwise).
This means that for two periodic patches, one will always have the sign +1 and the other -1.
After the information of each block, the full non matching connections are described. The description is done for each connection between the two following lines: "NI_BEGIN FNMB_CONNECTION" and "NI_END FNMB_CONNECTION"; it contains the following information:

Fnmb connection name.
General information for the connection (periodic or not, tolerance,...).
List of left patches involved in the connection.
List of right patches involved in the connection.

Each patch is identified by three indices determining the Block, Face and Patch number.

Running Script File
Script files can be run from the graphical user interface or from the command line. 


From the interface, the option is accessed with the File/Scripts/Execute... menu item. It opens a file chooser prompting to select a ".py" script file. After acceptation, the script is executed by IGG™ and the results are visualized in the graphics area.
From the command line, a script can be run by launching IGG™ with the -script option. For example: igg -script my_script.py. IGG™ will execute the script and then open the graphical user interface. When running a script from the command line, it is possible to execute a process in batch mode, avoiding to open the GUI. To do so, the -batch option should be used as the very first argument to the igg command: igg -batch -script my_script.py.

Generate page
This page contains five icons and two named bars used to generate face and block grids. When the cursor is moved above one of the icons, a balloon containing a message appears, indicating the function of the corresponding icon. Each icon is referenced here below with this message whereas the bar is referenced with its name.
2 Bnd Interpolation
See the Grid/Create Face/Linear 2Bnd menu item description in section Create Face->Linear 2Bnd.
4 Bnd Interpolation






This icon is used to generate face grids of a block. This generation method is based on bilinear interpolation from the boundary grid points. It takes into account the clustering applied to each segment. 
The dialog box shown in FIGURE 17 will appear:



FIGURE 17 Face 4 Bnd Interpolation dialog box
It allows to select the faces to generate. Simply left-click on the desired scope and press the Apply button to perform the generation of the corresponding faces. The face grid of the selected face(s) will be displayed to show the result of the generation.
Face Generation Tool
See the Grid/Create Face/Generation Tool... menu item description in Create Face->Generation Tool.



Project Face
This option is used to project the active face onto one or more geometry surfaces. It opens a dialog box shown in FIGURE 18:





FIGURE 18 Project Face(s) dialog box
The dialog box is divided into four parts:
Surface specification
The surfaces used during the projection can be:

 the currently selected surfaces. These must be selected before applying the option.
 the surfaces belonging to a specific geometry group, previously defined. 

Projection on a group is specially useful when a large number of surfaces are used for the projection. It avoids to repeat the surface selection process each time the face needs to be reprojected. 
Another advantage is that surfaces can be added to the group after the projection on the geometry group has been performed. Regenerating the face, using the Regenerate Faces option, will then automatically project the face on all the surfaces in the group.
Projection mode
The following validation levels are available:

projection with validation 1 implies that no check is done to validate the projected points.
projection with validation 2 implies that one check is done to choose the nearest projected points (ex: to project a patch on a sphere).
projection with validation 3 implies that checks are done to fill the possible gaps in the surface data. It also involves the check of validation. A projection ratio must be defined. It corresponds to the highest distortion ratio admitted by the projection. A value of 10 is advised.

Boundary Edge projection
This flag enables or disables the projection of the grid points located on the boundary of the face or range. The default is not to project these grid points since they belong to block edges which are supposed to be mapped on the surface before the projection.
Projected Range scope
It allows to specify projection of the whole active face or a range. In case the Range option is selected, the dialog box is extended to allow the range specification (see below).
Projected Range selection
A range can be selected by changing the limits of the active face range borders. Move the cursor to the desired border which is highlighted when the cursor is close enough. Then left-clicking on it will open a box allowing to enter the new limits:



FIGURE 19 Changing range limits
The new limits can be entered manually or modified using the scrollers. Pressing <Enter> applies the new limits to the range. Pressing <Esc> cancels the limit modification.
Block 6 Bnd
This icon is used to generate block grids. The faces of a block have to be generated before the generation of the block grid can proceed (it is done by default when inserting a new block or moving a vertex).



The dialog box shown in FIGURE 20 will appear:


FIGURE 20 Block 6 Bnd Interpolation dialog box
It allows to select the blocks to generate. Simply left-click on the desired scope.
The desired blocks can be selected by entering with the keyboard their number in the dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be selected by entering two numbers separated by a '-'. For example, enter '1 5 10-15 3' to select the blocks 1, 3, 5 and the range 10->15. The numbers do not have to be ordered and the same number can be entered more than one time. If a syntax error is made, a warning message will appear. 
Press the Apply button to perform the generation on the selected blocks. All the face grids of the selected block(s) will be displayed to show the result of the generation.
Regenerate Faces




When performing an action such as modifying a clustering or moving the topology, some faces may need to be regenerated. Indeed to keep at any time the face grids in line with the boundary information, IGG™ performs a default bilinear interpolation on these faces.
When such face has been previously projected on surfaces or smoothed, it is normally needed to repeat these steps after modification to get the correct final result. IGG™ automatically records all these steps used during the previous generation of each face. 
This bar is used to automatically replay each step, and thus to regenerate the face(s). The dialog box shown in FIGURE 21 is opened:



FIGURE 21 Regenerate Faces dialog box
It allows to select the faces to regenerate. Simply left-click on the desired scope and press the Apply button to perform the regeneration of the corresponding faces. The face grid of the selected face(s) will be displayed to show the result of the regeneration.
Show History



This option is used to visualize and edit the generation history of a face. It is most useful to keep track of complex operations performed on a face grid like projection by patches or to delete obsolete operations. It opens a dialog box showing the list of the operations performed on the active face grid. See FIGURE 22.


FIGURE 22 Face generation history.
The list of operations is dynamically updated when selecting a new active face. It is to be remembered that a bilinear interpolation is always performed implicitly by IGG™ as the very first operation performed on a face. This operation is not shown in the list.
Editing
The editing capabilities are currently limited to the deletion of one or more operations from the list. It avoids to begin the face generation from scratch when an operation does not provide expected results. To delete an operation, simply select the desired operation and press the Delete button.
For speed reason, IGG™ does NOT automatically regenerate the face after a deletion. This operation must be performed explicitly with the Regenerate Faces option.

Create Block->Elliptic->Multigrid Parameters
Grid/Create Block/Elliptic/Multigrid Parameters menu item is used to set the multigrid parameters through a dialog box. See FIGURE 44.
The range of MG level is computed and displayed on the top line to enter the desired value from a string input box. The coarse grid correction (CGC) is performed by the red-black point relaxation and linear interpolation. The relaxation steps before and after the CGC can be specified between 1 and 20. The number of MG cycles can also be set between 1 and 200. The tolerance for the total error can be set within the range of 1e-10 to 1. The multigrid mode can be set to normal or full MG and the type of cycles can be chosen as V or W cycles. The following options are available to change the effect of control functions: 
P, Q (R) : include both the effect of coordinate line spacing and angle control in each curvilinear coordinate direction
P=0, Q (R) : exclude the effect of control functions for grid points on constant I lines.
P, Q=0 (R) : exclude the effect of control functions for grid points on constant J lines.
P=Q=(R)=0 : no effect of control functions.


FIGURE 44 MG Parameters dialog box.

Create Block->Face Expansion
Grid/Create Block/Face Expansion menu item is used to create a block grid by expansion of the active face with a user-specified distance. In fact, each grid point of the active face is translated along the local normal to the face with the user-specified distance. The number of grid points and their distribution in the expansion direction is set as follows:

The parent block of the active face has only this face created (other faces are created by using tools as this one or Grid/Create Block/Rotation,...): the number of grid points is the default one (9) and the distribution is uniform.
The parent block of the active face has all its boundary faces created: the number of grid points and their distribution are those of the reference edge determined as follows:
Active face	Reference edge
	Faces 1 or 2			Face 3, Edge 3
	Faces 3 or 4			Face 1, Edge 3
	Faces 5 or 6			Face 1, Edge 1

During the expansion, the boundary edges can be created using the boundary grid nodes of the generated block:
Edge creation (y/n)? (q)

>>  y	
The expansion distance is defined using the keyboard input area:
Translation distance : (q)
>>  1
To quit this command, enter 'q' in the keyboard input area and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Grid/Create page.
The original block is removed when creating a new block using Face Expansion.
When selecting a face from a 3D block, the original block is removed when creating a new block using Face Expansion.

Templates
Introduction

As mentioned in the introduction, templates allow the reuse of an existing IGG™ project created on a reference geometry such that the topology may be applied to a similar, modified geometry. By applying the IGG™ project to a modified geometry, the user will be able to directly recover all the grid-related information from the previous mesh. This includes:

number of blocks and their position (relative to the geometry),
grid settings, like number of points in each direction,
grid clustering,
face generation history,
connections between blocks,
boundary conditions.

In the template approach, the user generates an initial grid manually on a reference geometry, using the standard tools of IGG™. In particular, the user defines the blocks by placing their vertices on the input curves and surfaces. At any time, the position of the vertices is stored using a normalized parametric value on the curve or surface. These curves and surfaces are referenced by their name. Using these two parameters (name+normalized position), IGG™ will be able to store the position of the vertices and to correctly place them onto a new geometry. The rest of the grid generation proceeds much in the same way as usual and the final grid can be saved in a ".igg" project. 
The created project can then be used to automate the generation on a modified geometry, simply by importing the new geometry in the opened project. During the importation, IGG™ will automatically replace the geometrical entities with the same name and will perform an automatic remapping of the topology on the new geometry. The regeneration of the face grids is then performed manually when applying the Regenerate Faces option.
As mentioned, the implementation uses the normalized parametric position of the vertices on the input curves or surfaces to localize the new position of the vertices on the modified geometry. This introduces some limitations on the range of validity of the automatic regeneration, when the parametrization changes widely. In that case, manual corrective operations may be needed to obtain an optimized topology.
Fundamental Assumptions
A few basic assumptions must be fulfilled in order for the template implementation to work properly:

Same topology of the geometry:


The reference and modified geometries must have the same topology. This means that they should contain the same entities (curves and surfaces), arranged in a similar way. The shape of these entities may however change from one file to another.

Same names for the curves and surfaces:


The curves and the surfaces in the modified geometries must have the same name as in the original geometry. IGG™ uses these names to detect a one-to-one correspondence between the entities in the two geometries and to perform the replacement of one by the other.
Using Template Option
To successfully use the template option, a number of conventions must be observed. As a general rule, creating a template project must be planned from the start. In particular, taking an existing project and attempting to use it as a template, will, in general, not work. With this in mind, the sequence of steps for using templates is as follows:

analysis and preparation of the geometry,
generation of the initial grid, yielding the template project,
replay of the template.

Analyze Input Geometry
Before creating the initial grid, the user should verify that the reference and modified geometries conform to the basic assumptions enumerated above. To do this, the user should open the reference and modified geometries in separate IGG™ sessions and compare them using the visualization tools.
The user should verify that:

The curves and surfaces in the reference geometry are present in the modified geometry.
The name of each curve and surface is the same in the two geometries. The name of entities can be displayed by using the Geometry/Select Curves (
) or Surfaces (<Ctrl-s>) and by moving the mouse on top of the desired entity. The name will then appear in the information area.

If the naming condition is not satisfied, the user can adapt the reference or modified geometries by assigning explicitly a proper name to the curves or surfaces, using the Quick Access Pad/Geometry/Curve/Set Name or Quick Access Pad/Geometry/Surface/Set Name options. Name assignment should of course be performed in a consistent way in each project.
Create Template Project
Creating a template project consists in generating a grid on the reference geometry. Saving the grid will yield a ".igg" project which will be used as template project. It is to be noticed that template projects are actually standard IGG™ projects, used for template purposes. 
IGG™ can be used in the usual way to perform the grid generation task. Limitations exist however in the use of some options.
Geometry Options
Geometry creation or modification options should not be used during the creation of the grid. Placing vertices on such entities is not suitable for template purposes. This limitation exists because the curves or surfaces created interactively, although saved in the project, are not parameterized. They will keep their initial position after replay of the template and will not follow the new geometry. Vertices lying on these entities will consequently not move either.
It is however possible to add curve or surface entities as follows: create the required entities in the reference geometry and reproduce exactly the same steps for the modified geometry, before applying the template. To do this, create the entities in the template project, and name them explicitly using the Quick Access Pad/Geometry/Curve/Set Name and Quick Access Pad/Geometry/Surface/Set Name tools.
Then, before replaying the template on a modified geometry, the user must recreate these entities   in a separate session, in the same way as for the reference geometry, but using the new geometry shape. Renaming must be performed exactly in the same manner. Finally, these entities must be saved using the File/Export/Geometry Selection option. The ".dat" file created in this operation can then be used together with the modified geometry file when using the template.
Grid Options
All the grid options may be used to create the template project. This includes: segment creation, internal edge and internal face creation, clustering specification, face generation, patch and boundary condition specifications, block generation.
A few options, however, have to be used with some care. These are the options that automatically create or place vertices as a result of a generation option. For instance the option Quick Access Pad/Grid/Create/Extrude Range creates a block by extruding from an existing face.In this process, some vertices of the new block will be localized on construction curves, not necessarily visible or accessible to the user. These curves receive an arbitrary name that, most probably, will change from one session to another. Consequently, these vertices are not directly suitable for templates. To solve this problem, these vertices must be moved explicitly by the user to a visible curve or surface of the reference geometry.
Vertex Positioning
Vertices with an absolute position (i.e. vertices not on a curve or surface) will stay at the same absolute position after replay of the template.
Replay Template on Modified Geometry

Within a new session, open the template project (File/Open... option).
Import the new geometry with the File/Replay Template/Import IGG Data... option.

Using File/Replay Template/Import IGG Data... instead of File/Import/IGG Data... is only important when the template project contains butterfly blocks.
After the file has been selected, IGG™ automatically detects the curves and surfaces having the same name as the entities in the current project. The dialog box shown in FIGURE 1 appears as soon as one curve or surface being loaded has the same name as an existing curve or surface:


FIGURE 1 Geodup dialog box
In the context of templates, the Replace mode should be used. This option will instruct IGG™ to automatically replace the old curves and surfaces by the new ones. Replacement will take place after the Apply or Apply to Allbuttons has been pressed
At the end of the importation, IGG™ will automatically remap all the vertices and edges lying on these curves or surfaces.
At this stage the edges of the blocks should be checked to verify that the mapping has been performed in a satisfactory way. Depending on the parametrization of the new geometry, the new position of the vertices may not be optimum on the new geometry. Also, if the topology of the new geometry is different from the original one, straight edges may appear. In these cases, manual corrective operations may be needed. These operations should be straightforward.
When the topology is correctly positioned on the geometry, the face grid regeneration may proceed.

Select the Quick Access Pad/Grid/Generate/Regenerate Faces option and apply it to all the faces of all the blocks.
Finally regenerate the blocks manually.
Save using the File/Save/Save As... menu item.

Be careful not to overwrite the template project by calling the File/Save/Save option. Always use Save As.... 
Troubleshooting

Using the vertex attraction to curve intersections, on curves that intersect several times (i.e. a closed circle with a straight line), may create problems during a replay, when the new geometry is significantly different from the original one. Since several intersections exist, IGG™ has to make the choice of which intersection to assign to the vertex. Currently the closest parametric intersection to the current vertex position is taken, which may be the wrong choice when the geometry is much different. A work around is to split in the input geometry one of the curves so that only one intersection exists between curves.
When using the Quick Access Pad/Grid/Create/Extrude Range option on a range of a block face, IGG™ automatically creates new internal grid lines on the reference face. Additional curves are also created on which these internal grid lines lie. These automatically created curves should not be used in the template since they are not part of the parametric definition of the geometry. The solution to this limitation is to delete the four created curves, and manually remap all the newly created vertices on the input geometry. To check that the vertices lie onto the input geometry, move the mouse to the vertex and check in the status bar (at the bottom right) the name of the curve or surface for the vertex.
Creating internal grid lines or internal faces in the template project, will create vertices at the intersection with the other edges of the block. By default these vertices do not lie on the input geometry but on internally generated curves. It is consequently needed to manually touch and reposition these vertices so that they lie on the input geometry. 
IGG™ uses a vertex tolerance mechanism to automatically close gaps between surfaces that do not exactly match. When these gaps are significantly larger in a modified geometry, it may happen that the default tolerance of a vertex, which used to work on the original geometry, is not large enough to close the gaps in the modified geometry. Straight edges will appear which must be corrected by increasing the tolerance of the vertices.

Input file format
For this version, only ".dat" files can be used with the template option. The format is described in Input Data Files section. The first line in a file is interpreted as the name of the entity described. This means that a geometry described by several files should be such that the first line within each ".dat" file is different.

Block Generation
After all the faces of a block have been generated, the generation of the block can proceed. This section describes how to generate a basic block grid by interpolation:

Select the desired block by left-clicking on one of its edges.



When several blocks have an edge at the same location, repeat the left-click operation until the proper block is activated.
Click on the Block 6 Bnd icon in the Quick Access Pad/Grid/Generate page.
The dialog box as in FIGURE 22 appears and enables to select the block(s) to generate.


FIGURE 22 Generate block(s) dialog box
Press Apply to generate the specified block(s). 

After the generation the boundary faces of the generated block(s) are automatically visualized.

Defining Patches & Boundary Conditions

Patches are dividing face grids into 2D regions. These regions should not overlap, although IGG™ performs no check on this. Patches are mainly used for two purposes: 

 to control the face grid generation process,
 to define boundary conditions of a face.

By default only one patch exists for each grid face extending over the whole face. Patch creation is done by division of an existing patch in one of the two directions of the face. To create more patches a recursive division must be done.
To define patches on a face

Select the desired face.
Open the Patch Selector dialog box shown in FIGURE 27 (Grid/BoundaryConditions... menu). The list of all patches for the current project is displayed.
Use the filters to reduce the list and make the selection easier.


FIGURE 27 Patch Selector dialog box
In the list, select one patch belonging to the desired face. The patch is highlighted in the graphics area.
Click on the Edit Patch >> button. The dialog box is extended and shows the current patch decomposition for the face.
Move the mouse to the patch to divide in the Edit Patch area.
Right-click on the patch to pop-up a menu.
Select the menu item corresponding to the desired division direction.



An entry is popped up to enter the division index. At the same time, for visual control, the range is displayed in the graphics area.

If the wrong division direction was selected, simply press <Esc> to cancel and repeat step 6.
To change the limits of a patch

Open the Patch Selector dialog box (Grid/Boundary Conditions... menu).
Select the patch in the Edit Patch area.
Left-click on one of the border to modify its value. An entry is opened to enter the new value.
Enter the value and press <Enter>.



To specify a boundary condition for a patch




Open the Patch Selector dialog box (Grid/Boundary Conditions... menu).
Select the patch in the list or in the Edit Patch area.
Go to the Set Patch Type pop-up menu and select the proper boundary condition.

Connection between adjacent patches (CON and NMB) or periodic connection between periodic adjacent patches (PER and PERNM) cannot be specified explicitly with this menu item and there are detected automatically by pressing the Search button. Checks must be done by IGG™ for these connections to insure integrity of data for the solver (i.e. relative orientation of the connected patches)
To specify periodic boundaries
The automatic imposition of the periodic connections in the Patch Selector dialog box requires that the periodicity is correctly specified for each block first before pressing the Search button.

Open the Periodicity dialog box (Grid/Periodicity... menu).
Set the Periodicity information for each block.

Create Block->Change axis
Grid/Create Block/Change axis menu item is used to change the axis system of the active block, for example to transform a left handed block into a right handed block. Only right handed blocks can be created. The active block is simply deleted and a new one is created with the same points, topology, the same name and number, but with a different axis system. This new block has the same division in patches and patch naming than the old one. Moreover, all the connections are kept (vertices, edges, segments and patches connections). However, the information on faces generation (projection, smoothing,...) is lost. Therefore regenerating them will simply lead to a 4 Bnd interpolation.
When starting this tool, a message indicating that the block must be regenerated can appear. In this case, if the block is not regenerated, the tool will be stopped. Then, the current axis system of the block is displayed.
The following prompt will appear:
Place IJK Axis ( o = origin, s = orientation, <1> or <2> = set axis, <3> = abort)
Press <o> to change the origin of the axis system and 
 to change the orientation of the axis. Then, press the left or middle mouse button to create the new block with a modified axis system.
Press the right mouse button or <q> to stop this tool without creating the new block and deleting the old one.

Quality Checking Commands

calc_negative_cells(block, precision, right_handed, levels, cI, cJ, cK)
Computes the negative cells according to the specified parameters. Returns a string giving the result.
block is the block on which the test will be done and must be of class Block. However the value 0 can be specified to apply the test on all the blocks of the grid at once.
precision can be equal to "single" or "double" and specifies the precision mode of the check.
right_handed specifies whether calculation should proceed using a right_handed local reference frame (0 or 1).
levels specifies the multigrid levels on which the calculation is done. Set it to "all" to make the check on all levels available at once. Otherwise set it to "custom" and specify the desired multigrid levels as the last three arguments.
cI, cJ, cK are the multigrid levels for the check. Not used when levels is set to "all".
Example:
text = calc_negative_cells(block(1), "double", 1, "all", 0, 0, 0)
calc_mesh_quality(type, block, axis, range_start, range_end, range_number)
Computes the mesh quality. Returns a list giving a spreaded number of cells as in a barchart.
type is the name of the quality criterion: "Orthogonality", "Aspect Ratio" or "Expansion Ratio".
block is the block on which the test will be done and must be of class Block. However the value 0 can be specified to apply the test on all the blocks of the grid at once.
axis is either "All", "I", "J" or "K" and is the direction along which the quality is computed.
range_start
range_end specify the criterion range to be tested.
range_number is the number of items of the returned list (i.e. the number of bars in the chart).
Example:
list = calc_mesh_quality("Orthogonality", block(1), "All", 0, 90, 9) # list will contain 9 items, giving the number of cells for each interval of 10 degrees between 0 and 90.
get_statistic_quality_values()
Returns the statistic of the quality values of the previous quality check (list with three items: average, standard deviation, variation coefficient). Must be run after the function calc_mesh_quality.
get_extremum_quality_values()
Returns a list of the following extremum quality values of the previous quality check: minimum value, maximum value, minimum value block nr, maximum value block nr, imin, jmin, 
kmin, imax, jmax, kmax. The indices of imin, jmin, kmin, imax, jmax and kmax start at 0 instead of 1as in GUI.
Must be run after the function calc_mesh_quality.
Example:
list = get_extremum_quality_values()
	min_orthogonality = list[0]
max_orthogonality = list[1]
calc_mesh_quality_inter_block(type, block, range_start, range_end, range_number)
Computes the mesh quality at block boundaries. Returns a list giving a spreaded number of cells as in a barchart.
type is the name of the quality criterion: "Orthogonality", "Angular deviation", "Expansion Ratio", "Cell width" or "Cell width at wall".
block is the block on which the test will be done and must be of class Block. However the value 0 can be specified to apply the test on all the blocks of the grid at once.
range_start
range_end specify the criterion range to be tested.
range_number is the number of items of the returned list (i.e. the number of bars in the chart).
get_extremum_quality_values_inter_block()
Returns the two extremum quality values of the previous quality inter block check (list with two items). Must be run after the function calc_mesh_quality_inter_block.
calc_mesh_quality_fnmb(type, fnmb_name, range_start, range_end, range_number)
Computes the mesh quality at the full non matching boundaries. Returns a list giving a spreaded number of cells as in a barchart.
type is the name of the quality criterion: "Expansion Ratio", "Cell Width Ratio", "Inner Gap" or "Relative Inner Gap".
range_start
range_end specify the criterion range to be tested.
range_number is the number of items of the returned list (i.e. the number of bars in the chart).
get_extremum_quality_values_fnmb()
Returns the two extremum quality values of the previous quality full non matching check (list with two items). Must be run after the function calc_mesh_quality_fnmb.
hide_quality()
Removes the colormap and cell quality representation.

Butterfly Dialog Box
After the creation of the initial parent block, a butterfly topology can be created by selecting the Grid/Create Block/Butterfly... menu item or by clicking on the Create Butterfly icon () of the Quick Access Pad/Grid/Create page. The dialog box shown in FIGURE 13 will appear:


FIGURE 13 Butterfly dialog box
The Block box allows to choose the block in which the butterfly topology will be created. When changing this number, the corresponding block becomes active in the grid. Next to this box, the selected block name and the grid points number in each direction are displayed. By default, when opening the Create Butterfly dialog box, the active block is selected. If it is not generated or has been modified since the last generation (by moving a vertex, for example), the message shown in FIGURE 14 will appear:


FIGURE 14 Message indicating that the block may be regenerated
It asks for block regeneration. If the no button is pressed and the butterfly topology is not created yet in the active block, the Create Butterfly dialog box will be closed. 
The dialog box contains four frames allowing to control the different parameters of the butterfly topology on the active block. The two first frames allow to control the shape of the butterfly blocks whereas the third and fourth ones allow to change mesh parameters such as number of points, clustering and smoothing steps. If the butterfly topology of the chosen block is already created, the parameters of the first, second and fourth frames cannot be changed until the butterfly topology is deleted by pressing the Delete button.

GUI Interaction
Keyboard Shortcuts

IGG™ provides shortcuts for the most commonly used options which allow to activate options without accessing the menus. A shortcut consists of a single key or a two keys combination and is indicated at the right of each menu item, when available. To use a shortcut:

 Move the mouse to the graphics area
 Press the key corresponding to the shortcut. The menu option is activated automatically.

For example, the selection of curves can be activated using the Geometry/Select/Curves menu or simply by pressing 
 in the graphics area.
A list of the available shortcuts is given in the following table.
TABLE 2 Shortcuts






Shortcuts


Function






Alt-e



Sets the viewing scope to Edge mode.
See the Quick Access Pad View/Grid page description in Grid page.




Alt-f



Sets the viewing scope to Face mode.
See the Quick Access Pad View/Grid page description in Grid page.




Alt-b



Sets the viewing scope to Block mode.
See the Quick Access Pad View/Grid page description in Grid page.




Alt-g



Sets the viewing scope to Grid mode.
See the Quick Access Pad View/Grid page description in Grid page.




Alt-s



Toggles solid representation of selected surfaces.
See the Geometry/View/View solid menu item description in View->View Solid.




Alt-w



Toggles wireframe representation of selected surfaces.
See the Geometry/View/View wireframe menu item description in View->View Wireframe.




Alt-x



Used to insert an internal face.
See the Grid/Internal Face/Create menu item description in Internal Face->Create.




Ctrl-o



Toggles the visualization of curves orientation.
See the Geometry/View/Curve Orientation menu item description in View->Curve Orientation.




Ctrl-e



Closes the current project and opens a new empty one.
See the File/New menu item description in section New.




Ctrl-y



Used to import external curves and surfaces stored in an ASCII IGG™ format.
See the File/Import/IGG Data menu item description in Import -> IGG Data.




Alt-p



Toggles the display of the Quick Access Pad.
See the File/Preferences menu item description in Preferences.




Ctrl-q



Used to end the current session.
See the File/Quit menu item description in Quit section.




Ctrl-z



Toggles the block faces grid.
See the Quick Access Pad View/Grid page description on Grid page.




Ctrl-l



Toggles grid points.
See the Quick Access Pad View/Grid page description on Grid page.




Ctrl-j



Toggles edges.
See the Quick Access Pad View/Grid page description on Grid page.




Ctrl-m



Toggles blocks shading.
See the Quick Access Pad View/Grid page description on Grid page.




Ctrl-x



Used to set the active coarse grid levels.
See the View/Coarse Grid menu item description in section Coarse Grid.




Ctrl-c



Used to select curves to be displayed.
See the Geometry/View/Curves menu item description on View->Curves.




Ctrl-f



Used to select surfaces to be displayed.
See the Geometry/View/Surfaces menu item description on View->Surfaces.




Ctrl-t



Toggles the selected curves control points.
See the Geometry/View/Control Points menu item description on View->Control Points .




Ctrl-p



Used to display the control point coordinates.
See the Geometry/Select/Control Points menu item description on Select->Control Points. 




Ctrl-s



Used to select surfaces.
See the Geometry/Select/Surfaces menu item description on Select->Surfaces.




Ctrl-d



Deletes the selected curves.
See the Geometry/Delete/Curves menu item description on Delete->Curves.




Ctrl-r



Deletes the selected surfaces.
See the Geometry/Delete/Surfaces menu item description on Delete->Surfaces .




Escape



Stops the current tool.




Page-Up



Used to zoom in on Linux.




Page-Down



Used to zoom out on Linux.









Used to translate to the right the active view.









Used to translate to the left the active view.









Used to translate to the top the active view.









Used to translate to the bottom the active view.




F1



Used to perform a 3D viewing.
See Viewing Buttons




F2



Used to perform a zoom in/out.
See Viewing Buttons




F3



Used to fit the content of the view.
See Viewing Buttons.




F4



Used to fit the content of the view and reset the camera orientation.
See Viewing Buttons.




>



Opens the segment clustering dialog box.
See the Grid/Grid Density/Clustering menu item description in Grid Density->Clustering.




H



Performs a four boundaries interpolation on the active face.
See the Grid/Create Face/Linear 4Bnd menu item description in Create Face->Linear 4Bnd.




I



Performs a six boundaries interpolation on the active block.
See the Grid/Create Block/Linear 6Bnd menu item description in Create Block->Linear 6Bnd.




N



Opens the project face dialog box.
See the Quick Access Pad Grid/Generate page description in Project Face.




S



Opens the grid settings dialog box.
See the Grid/Grid Settings menu item description in Grid Settings.




T



Opens the periodicity dialog box.
See the Grid/Periodicity menu item description in Periodicity.




X



Opens the boundary conditions dialog box.
See the Grid/Boundary Conditions menu item description in Boundary Conditions.




a



Draws an arc by specifying the center and two points.
See the Geometry/Circular Arc/Normal-Center-Point-Point menu item description in section Circular Arc->Normal-Center-Point-Point.




b



Draws a bspline.
See the Geometry/Draw BSpline/Free menu item description in section Draw BSpline->Free.




c



Draws a cspline.
See the Geometry/Draw CSpline/Free menu item description in Draw CSpline->Free.




e



Used to change in a cyclic way the mode of the viewing scope.
See the Quick Access Pad View/Grid page description in Grid page.




f



Opens the generation tool dialog box.
See the Grid/Create Face/Generation Tool menu item description in Create Face->Generation Tool.




i



Used to insert a new vertex in an edge.
See the Quick Access Pad Grid/Insert/Edit page description in Insert/Edit page.




m



Used to modify a curve control point.
See the Geometry/Modify Curve/Modify Point menu item description in Modify Curve->Modify Point.




p



Draws a polyline.
See the Geometry/Draw Polyline/Free menu item description in section Draw Polyline->Free.




s



Used to select curves.
See the Geometry/Select/Curves menu item description in Select->Curves.




t



Toggles vertices.
See the Quick Access Pad View/Grid page description in Grid page.




x



Opens the sweep surfaces dialog box.
See the View/Sweep Surfaces menu item description in Sweep Surfaces.




y



Opens the copy distribution dialog box.
See the Grid/Grid Density/Copy menu item description in Grid Density->Copy.




Default Mouse Bindings

Left button bindings (<1>): when the cursor is in the graphics area, the left button is used for entity selection and positioning. The entities that can be selected by a simple click and release are listed here below:

Segment: as soon as a segment is created and is visible within the limits of the views, it can be interactively selected with the mouse to become active. The selected segment is automatically displayed in yellow with an arrow showing its orientation and general information about it is shown in the information area. When the parent edge (which is also active) comprises several segments, the non active ones are displayed in pink.
Face, Block: when a segment is selected, its parent face is displayed in white and its parent block in red which means that both become active. As a segment can belong to several faces or several segments can lie in the same place, multiple clicks on a segment will change the active face and/or active block.
Vertex, Fixed point: when the cursor is close enough, these entities are displayed in yellow which means that they can be selected. When selected, an entity can be moved by simply dragging the mouse and replaced with a second click and release. A Fixed point can be moved only along its parent edge.


As said in the previous section, the left mouse button is also used to select the active view among the views displayed in the graphics area.

Right button bindings (<3>): when the cursor is in the graphics area, the right button gives access to a wide variety of tools and commands from pop-up menus.
This gives an efficient way to do an operation without continually moving the cursor to the pull-down menus of the menu bar or the Quick Access Pad.
The pop-up menus and the commands associated depend on the entity lying under the mouse cursor. Some menus are directly accessible by the right mouse button whereas others are accessible with the right mouse button in conjunction with a keyboard key. For example, press the <Ctrl> key and the right mouse button over a vertex gives access to a pop-up menu specifying the vertex attraction features.

The following figure shows three examples of pop-up menus and the way to access them:


FIGURE 5 Pop-up menus accessible with a right-click (<3>)

Face Generation
Face grid generation is an essential step of the complete generation process. It must be performed for the six faces of a block before the volume grid generation can proceed. In fact, the basic volume generation methods interpolate grid points within the block from the grid points on the boundary faces. It is thus essential to generate proper face grids before proceeding to volume grid generation.
When internal faces exist, the same manipulations as for the boundary faces can also be applied. See the block generation section, later in this chapter, for more information about internal faces.
This section describes:

how to generate a basic face grid,
how to project or map a face grid on one or more CAD surfaces,
how to automatically regenerate a face after topology modification.

Face grid generation can be further controlled by inserting internal edges. The internal edges concept is introduced in a following section (see Internal Edges & Faces).
Face generation by bilinear interpolation
Basic generation method of a face is based on bilinear interpolation from the boundary grid points. This generation takes into account the clustering applied to each segment.

Select a face by left-clicking on one of its edges.
When several faces have an edge at the same location (i.e connected faces) repeat the left-click procedure until the proper face is activated.
Click on the 4 Bnd Interpolation icon in the Quick Access Pad/Grid/Generate page.



This option opens dialog box shown in FIGURE 16 that allows to select the faces to generate:



FIGURE 16 4 Bnd Interpolation dialog box
Select the scope of the generation.
Press Apply. The face grid of the selected scope will be displayed to show the result of the generation.



FIGURE 17 Active face generated by bilinear interpolation.
Face projection



Algebraic face grid generation (bilinear interpolation) does not in general insure that grid points will lie on CAD surfaces. To insure this, projection of the face grid on the surfaces must be performed. Surface projection consists of projecting the grid points of a face onto one or more CAD surfaces, along the normal to the face. To insure a correct projection, it is required that the initial face grid is sufficiently close to the surfaces.
To project a face grid onto geometry surfaces:

Activate the Geometry/Select/Surfaces menu option (<Ctrl-s>) and select the desired surfaces. Right-click when the selection is finished.
Select the grid face to project.
Click on the Project Face icon in the Quick Access Pad/Grid/Generate page.
A dialog box shown in FIGURE 18 will be opened to select parameters and to perform the projection:


FIGURE 18 Face projection dialog box.
Select the target surfaces on which to project: selected surfaces or surfaces contained in a geometry group.
Select the level of checks which will be applied during projection (usually level 2).
Select if the boundary grid points of the projected range must be projected or not (the default is not to project these grid points since they belong to block edges which are supposed to be mapped on the surface before the projection).
the boundaries projection is only useful for patches which have no common boundaries with the block's ones (e.g. patch "fully" inside a block face).
Select the projection scope: the whole face or a range.
In case only a face range is projected, select a patch or a range to project.
Projecting just a patch is useful when the projection of the whole face on several overlapped surfaces fails. In this case, projecting patch by patch onto dedicated surfaces may help.
Press the Apply button to perform the projection.


Few problems that may happen during face projection are the following:

Grid points are projected onto wrong surfaces. This may happen when the base NURBS of trimmed surfaces overlap, leading to some ambiguities in the automatic choice of the closest projection surface. In this case it may be necessary to remove one of the surfaces from the list of surfaces or to project the face grid by patches.
Negative cells may appear in the face grid. This can happen when the initial grid is significantly away from the surfaces. Introducing internal grid lines placed onto the surfaces may improve the initial mesh and remove the problem. It is also possible to get rid of the problem by smoothing the face grid and re-applying the projection. Smoothing is available through the Face Generation Tool icon () of the Quick Access Pad/Grid/Generate page.
When the projection is not working, it can be due to the edge discrimination. When this discretization is too coarse to capture correctly the curve curvature, it can lead to poor grid quality after projection.To refine the discretization on an edge, additional vertices () need to be added on the edge.


Mapping onto a surface



When a face completely lies on one geometrical surface, it is possible to avoid the projection option and to use a mapping instead. This method does not require an initial grid to be generated and is consequently less sensitive to projection problems. 

Select the face,
Select the geometry surface,
Click on the Face Generation tool icon in the Quick Access Pad/Grid/Generate page,
Press on the Mapping button to perform the mapping,


FIGURE 19 Generation control for mapping
Close the dialog box.

Finer control on the face generation
When the basic generation options are not giving satisfactory grids, more control can be performed on the face grid generation by imposing orthogonality or smoothing the grid distribution on the selected grid face.



Click on the Face Generation tool icon in the Quick Access Pad/Grid/Generate page.
The dialog box shown in FIGURE 20 appears:


FIGURE 20 Face generation control 
This dialog box allows to control the face generation by range (either existing patches or a range defined by its limits).
Face generation history & face regeneration

To keep at any time the face grids in conformity with the boundary information the face grids are automatically generated by IGG™ using the default algebraic 4 boundaries interpolation. This dynamic update is applied when performing actions such as modifying the clustering or moving the topology. It removes the effects of other face generation options such as face smoothing, projection or mapping.
When such face has been previously projected on surfaces or smoothed, it is normally necessary to repeat the full regeneration procedure to get the correct final result using the non default face grid.
To help accelerating this task IGG™ automatically records all the steps used during the generation of each face grid. This information can later be used to visualize the generation operations applied on a face and to regenerate a face by replaying automatically each generation operation.
History visualization
Face generation history can be monitored and to some extend edited by using the Quick Access Pad/Grid/Generate/Show History item. It is most useful to keep track of complex operations performed on a face grid like projection by patches or to delete obsolete operations.


It opens a dialog box showing the list of the operations performed on the active face grid as shown in FIGURE 21.


FIGURE 21 Face generation history.
The list of operations is dynamically updated when selecting a new active face. It is to be remembered that a bilinear interpolation is always performed implicitly by IGG™ as the very first operation performed on a face. This operation is not shown in the list (except if it has been done explicitly, as in the previous example).
Editing
One or more operations can be deleted from the list by selecting the desired operation and pressing the Delete button. For speed reason, IGG™ does NOT automatically regenerate the face after a deletion. This operation must be performed explicitly with the Regenerate Faces option.
Face regeneration

Select the Regenerate Faces item in the Quick Access Pad/Grid/Generate page.


A dialog box is opened to select the face(s) to regenerate.



Select the scope of regeneration and press Apply.

Connection tools
Connection tools can be accessed through the Quick Access Pad/Grid/Connect page and the Grid/Boundary Conditions... menu (see Connect page and Boundary Conditions sections for a detailed description).
Topological connections (vertex, topological edge, segment) are exclusively performed by using these Quick Access Pad tools.
Patch connections can be performed by several means:

The first one is the use of the Grid/Boundary Conditions... menu (see Boundary Conditions). It allows to find and define all connections: matching, non matching and full non matching; periodic or not. The most interesting mode is the "automatic search" (Search button), which performs automatically the search and the effective connection for all undefined patches of the grid. The second mode "manual connect" (Manual... button) is rarely used, when other means cannot perform the connection correctly.
Secondly, the Connect/Face - Face and Connect/Whole grid tools can be used. In this case, only matching and non periodic connections (CON type) can be found. The "Face - Face" item allows to find connections between patches of two selected faces, whereas the "Whole grid" item performs connections for all the patches of the grid.

Connecting face grids
In this section connectivity control between two faces is described. Connecting two edges or the whole grid follows the same principle.

The connection of two faces requires the selection of a reference face and a second face (target). During the different connection operations, IGG™ may need to remap edges affected by the operation. By convention IGG™ keeps the reference face unchanged and applies the modifications on the second face only. This is important when an existing face cannot be modified at all.

Click on the Face-Face menu option in the Grid/Connect page.


A prompt will appear to select the reference face.



Left-click (<1>) on face edges to start the face selection. Repeat the left-click procedure until the proper face is activated.
Middle-click (<2>) to store the active face as reference face.



Left-click (<1>) on face edges again to start the second face selection. Repeat the left-click procedure until the proper face is activated.
Middle-click (<2>) to store the active face as target face.


A pop-up dialog box will be opened to enable connections at different levels, each level being identified by a button in the dialog box.
For the first four "topological" levels, an order must be respected. On the other hand the Patches level can be applied independently. The All button performs all the connections of the previous buttons, if possible.
For vertex or orphan vertex connections, the topological edges using the replaced vertex are remapped on the geometry.
For each level, the connected entities found are highlighted in green in the graphics area. Entities that were connected in a previous operation are highlighted in red.

Full non matching connections
Such patch connections are described previously in this chapter (see Patch connections). It consists of the following:

A connection name.
A list of "left" patches defining one side of the connection.
A list of "right" patches defining the other side of the connection.

To define full non matching connections

Open the Patch Selector dialog box (Grid/Boundary Conditions... menu). This dialog box offers an additional field Full Non Matching that can be activated by pressing on the Define... button. It opens the dialog box shown in FIGURE 38.
Select the patches defining the "left" side. These patches are highlighted in yellow in the graphics area.
Select the patches defining the "right" side. These patches are highlighted in blue.
Enter a name for the connection.
Activate the Periodic option to define a periodic FNMB connection.


FIGURE 38 Full Non Matching Connections dialog box
Press on the Create/update button to define the FNMB connection.
This connection will appear in the list located on the right of the dialog box.

Once the connection is defined, it is possible to visualize the triangulation of the common region (press the Compute & Show button). This triangulation is not directly used in IGG™ but only serves to visualize the triangulation that will be used by the solver and to verify that the connection is correctly performed. Calling this item is optional in IGG™.
To view and/or delete an existing FNMB connection

Left-click on the desired connection in the connection list to select it.
The patches participating in the definition of the full non matching connection will be automatically highlighted in the dialog box as well as in the graphics area. A "*" is also displayed next to the patch type to indicate that the patch is involved in a FNMB connection. If the computation of the triangulation was performed for this connection, it will also be shown on the screen.
To list only the patches involved in the desired connection, middle-click on it in the connection list.
Press the Delete button to delete the selected FNMB connection (the type of the corresponding patches is unchanged but the "*" symbol is removed).

Create Face->Linear 4Bnd
Create Face/Linear 4Bnd menu item is used to create an algebraic face grid using the four boundaries of the active face. The grid matches the point distributions defined on four boundaries.

This is the default generation mode for face grid. Whenever a face grid is touched, IGG™ automatically performs a four boundaries linear interpolation. If operations like smoothing or projections onto geometrical surfaces were applied previously on that face grid, it is necessary to redo them by using the Regenerate Faces option of the Quick access Pad/Grid/Generate page.
This option can also be accessed through the Quick Access Pad/Grid/Generate page.

Grid Quality
This item gives access to a tool for performing an analysis of the grid quality. The dialog box presented in FIGURE 20 will appear.
This dialog box contains three pages: 

Block: Analyze the grid quality on all block cells (inside the blocks and not between the blocks),
Boundaries: Analyze the grid quality at the matching block boundaries (boundary faces),
FNMB: Analyze the grid quality across fully non-matching boundary connections.



FIGURE 20 Mesh Quality dialog box
The items all the pages are almost similar and described here after. The quality criteria are just slightly different.
The Block entry allows to choose the block in which the quality will be analysed. It is selected by its number. Each change must be validated by pressing <Enter> to recompute the quality checking. If 0 is entered, the mesh quality is analysed on all the blocks of the grid. Next to this entry, the selected block name and the grid points number in each direction are displayed. By default, when opening this dialog box, the active block is selected. If the selected block is not generated or has been modified since the last generation (by moving a vertex, for example), the message shown in FIGURE 21 will appear:


FIGURE 21 Message indicating that the block may be regenerated
It asks for block regeneration. If the no button is pressed, the quality analysis is not performed.
The next entry Butterfly block is a special item dedicated to butterfly topologies allowing to choose the butterfly block in which the quality will be checked. When the block selected in the first entry is a parent block, the second entry is activated, displaying the number of the butterfly block which is analysed. The range goes from 0 to 6. The number 0 represents the inner block and is therefore always present. The other numbers between 1 and 6 represent the parent face number and thus the associated buffer blocks. If there is no associated buffer, the corresponding number does not appear.
The Quality Criterion frame is used to choose the criterion type which will be used to analyse the block cells quality. The criterion is chosen through the Type pull-down menu. According to the criterion, a preferential direction can be chosen through the second pull-down menu Direction (only for Block page). It is used when the criterion gives different results along different directions (for example 2D criteria applied on surfacic cells). When it is not the case, this menu is deactivated. The following possibilities are available: All, I, J or K. ’All’ is equivalent to the three directions I, J, K. Moreover, a range can be selected for each criterion; each range modification must be validated by pressing <Enter>.
Unlikely to Block and Boundaries pages, in FNMB page, the FNMB list is available to select the desired FNMB connection by its name
The Visualization control frame is used to select the representation mode of the cells. Cells can be displayed with markers and/or with a shaded representation (Cells button). Markers are useful to detect cells that cannot be seen with the shaded representation only. Moreover, cells shading can be deactivated to greatly improve the speed of representation. In the shaded representation, cells are shaded with a different color according to their quality value. The link between colors and values is established by a colormap which is displayed in the graphics area after the tool selection. The range of the colormap is automatically updated according to the criterion range. The cells can be displayed as surfaces or volumes by switching on the corresponding button.

The Display frame is used to show in the IGG™ graphics area the cells falling inside the quality criterion range. The All cells button shows all the bad quality cells of the selected block(s). The Sweep cells scrollers allow to sweep the selected block to display cells by constant I,J,K face.
The Show chart button is used to toggle a histogram, shown in FIGURE 22, displaying the result of the quality checking. Left-clicking on a bar displays the corresponding cells in the IGG™ graphics area.


FIGURE 22 Quality analysis histogram
The entry Number of intervals is used to select the number of bars of the histogram. The default value is 5 and the maximum number is 10. Each new number must be validated by pressing <Enter>.
The More info button is used to toggle a window, shown in FIGURE 23, which gives more information about the quality checking: minimum and maximum values with their location (and possibly the block number in which they are detected if the check is performed on all the blocks).


FIGURE 23 Additional information on quality analysis
Quality criterion definitions (Block page)
These criteria are dedicated to evaluate the grid quality on whole cells of a block.
Criteria class
Two classes can be defined according to the type of cell on which criterion is applied: 

2D criteria: application on surfacic cells (quadrilateral cells)
3D criteria: application on volumic cells (hexahedral cells)

Obviously, the number of cells falling in the criterion range is always greater for a 2D criterion than for the equivalent 3D one because an hexahedral cell contains six quadrilateral cells. This means that, for a 2D criterion, the number of cells falling in the range can easily be greater than the block number of points.
On the other hand, as 2D criteria are applied on surfacic cells, they are all direction dependent.
Criteria definition
Following criteria are available:

Orthogonality,
Angular deviation,
Aspect Ratio,
	Expansion Ratio,
Cell width.

Each one is described here below.
Orthogonality
2D criterion. Range: 0 - 90 degrees. Orthogonality is a measure of the minimum angle between edges of the cell. If angle between two edges is greater than 90 degrees, the value taken into account is (180 - real angle).
Angular deviation
3D criterion. Range: 0 - 180 degrees. Angular deviation is a measure of the angular variation between two adjacent cells in I, J and K directions. See FIGURE 24 for definition.


FIGURE 24 Angular deviation definition
Aspect Ratio
2D criterion. Range: 1 - 50,000. If the calculated value is outside the range, the value is reset to 50,000. See FIGURE 25 for definition.



FIGURE 25 Aspect Ratio definition
Expansion Ratio
3D criterion. Range: 1 - 100. Expansion Ratio is a measure of the size variation between two adjacent cells. See FIGURE 26 It is direction dependent. If the calculated value is outside the range, the value is reset to 100. Obviously, this criterion is nonsense if there is only one cell in the selected direction.


FIGURE 26 Expansion Ratio definition
Cell width
3D criterion. Range: 0 - 1,000,000. Cell width is the height of the cell measured along I, J and K directions. If the calculated value is outside the range, the value is reset to 1,000,000.
Quality criterion definitions (Boundaries page)
These criteria are dedicated to evaluate the grid quality at the boundaries of a block (boundary faces), including matching connections with adjacent blocks (only CON and PER boundary faces are considered).
Following criteria are available:

Orthogonality,
Angular deviation,
	Expansion Ratio,
Cell width,
Cell Width at Wall (available in 3D view).

Each one is described here below.
Orthogonality
Range: 0 - 90 degrees. Orthogonality is a measure of the cell angle relatively to the block boundary (face ’S’).  See FIGURE 27. If angle is greater than 90 degrees, the value taken into account is (180 - real angle).


FIGURE 27 Orthogonality definition
Angular deviation
Range: 0 - 90 degrees. Angular deviation is a measure of the angular variation between two adjacent cells, the first one being in the current block and the adjacent one in the matching connected block. See FIGURE 28. Obviously, this criterion is nonsense if there is no matching connected block.


FIGURE 28 Angular deviation definition
Expansion Ratio
Range: 1 - 100. Expansion Ratio is a measure of the size variation between two adjacent cells, the first one being in the current block and the adjacent one in the matching connected block. Obviously, this criterion is nonsense if there is no matching connected block. The definition is the same as for the Block page (see before).
Cell width
Range: 0 - 1,000. Cell width is the height of the cell measured normally to the block boundary (face). If the calculated value is outside the range, the value is reset to 1,000.
Cell width at wall
Range: 0 - 1,000. Cell width at wall is the height of the first cell close to the wall measured normally to the solid wall. If the calculated value is outside the range, the value is reset to 1,000.
As the criterion is applied on all solid patches, it will also be applied on solid patches of FNMB connections, even if there are not real walls.
Quality criterion definitions (FNMB page)
These criteria are dedicated to evaluate the grid quality across fully non-matching boundary (FNMB) connections.
FNMB connection must be computed with the fine mesh level before checking the quality.
Following criteria are available:

Expansion ratio
Cell Width Ratio
Inner Gap
Relative Inner Gap 

Each definition is described here below.
Expansion Ratio
Range: 1 - 100. This computes the expansion ratio perpendicularly and through the FNMB for each cell involved in the FNMB connection. This criterion is symmetric, which means the result is the same on the left and right parts of the FNMB. 
Cell Width Ratio 
Range: 0 - 1000. This computes the difference of cell size between each side of the FNMB. It is available for each cell involved in the FNMB connection. It identifies how many cells are connected to the cell considered. The criterion takes into account the "wall fraction", which means one left cell is connected to only a part of a right cell. Then the ratio will be balanced according to the size of the connected part. This criterion is not symmetric, which means the result is not the same on the left and right parts of the FNMB. 
Example: One cell (A) on the left, four cells (B, C, D and E) on the right covering exactly the left cell. The result will be 4 for cell A (because this cell is connected to 4 right cells) and 0.25 for each right cell, B, C, D or E (because each one is connected to only 0.25 part of the left cell).


For this criteria the lower values are not too important, it is more the maximum value that should be considered. Really small values (~1e-5) can easily happen on the boundaries (due to the difference of mesh discretization even a value 0 as in the above example for cell 2 that is not crossing cell A.
Inner Gap 
Range: 0 - 1e6. This computes the gap between the left and right side of the FNMB (absolute distance). It is available for each cell involved in the FNMB connection. This criterion is symmetric. 
Relative Inner Gap 
Range: 0 - 1000. It is exactly the same as the previous criterion except that the result is balanced with the cell size perpendicular to the FNMB. It enables you to have a better idea on how the order of magnitude of the gap is compared to the cell size around FNMB. The cell size taken into account can be either the one of the left or the right side (depending on which side has been done the FNMB projection) but it does not matter as if the cell size is too different on both sides, the expansion ratio criterion will be bad.
2D project particularities
2D or axisymmetric projects (see File/Project Configuration... menu) have only one layer of cells along the K direction (K = 2). Therefore some functionalities of the dialog box are useless considering that no check is needed along the K direction. As the grid must be generated to perform a quality calculation, all the created faces are automatically extruded (or rotated for axisymetric projects) at the opening of the dialog box.
Particularities are the following:

Quality criterion direction: this menu is deactivated except for the Expansion Ratio criterion. Therefore it allows in this case to apply the criterion separately along the I and J axis. Obviously, the calculation along K axis will lead to nothing as there is only one cell.
The cells viewing mode is set to Volume to allow cells visualization on a 2D view with the Expansion Ratio criterion.
Sweep cells options along I, J and K directions are deactivated. These are useless because the view of the mesh is 2D.
The Butterfly block entry is not present because the butterfly topology (see Butterfly mesh) cannot be applied on 2D or axisymmetric configuration.

Geometry Menu



The Geometry module provides simple and efficient tools to create, edit and delete points, curves and surfaces. Without having the complexity of CAD systems, it allows to create wire or surface models from scratch or to complement imported geometries. The module allows the following:

create and edit basic and advanced curves and surfaces,
visualize and probe the geometry entities,
perform advanced geometry operations such as surface-surface intersection, offsetting...

Other features include:

attraction features to points, curves and surfaces,

importation of external CAD geometry in IGG™ or IGES formats,
exportation of CAD geometry in IGG™ format.


Basic Geometry Entities

The basic type of curves provided in IGG™ are:

Polylines.
CSplines, which are parametric cubic splines. These curves interpolate a set of user-defined points and have the property to pass through these points. They are the most commonly used curve entity in IGG™.
BSplines, are spline curves defined with basic functions. In general, bspline curves do not pass through the control points. This kind of curve is generated by IGG™ when performing, for example, surface-surface intersections or other geometry manipulations.
Circular arcs or circles.

The basic type of surfaces provided in IGG™ are:

Wireframes, which are defined by a structured network of points.
Lofted surfaces, which are surfaces interpolating a set of "parallel" curves. Lofted surfaces are internally represented as BSpline or NURBS surfaces.
BSpline and NURBS surfaces, defined using basic functions. In general, the surfaces do not pass through their control points.



Curve Orientation

When creating or importing curves in IGG™, a default orientation for the curve is given. This orientation is used when using the curves for other geometry or grid operations. For example, Coons patches or lofted surfaces directly use the orientation of the building curves.
The curve orientation can be visualized using the Geometry/View/CurveOrientation menu and it can be changed with the Geometry/Modify Curve/Reverse menu.


Geometry Tolerance

Absolute tolerance
This geometry tolerance controls the accuracy of some geometry modeling operations, such as surface-surface intersection. This tolerance is specified in absolute units and should be adapted to the size of the current problem. For example, for a geometry with a global size of 1, a tolerance of 1e-5 is a good choice. For a global size of 1000, a better value is 1e-2 or 1e-3.
The tolerance may affect various parameters in IGG™:

the computation time, which increases as the tolerance reduces,
the accuracy of some IGG™ algorithms (i.e. surface-surface intersection),
the size of the result, for example the number of control points of intersection curves.

The current tolerance can be queried, modified and saved for other sessions with the File/Preferences... menu (Tolerances/Geom Tol (abs) item).
Relative tolerance
This geometry tolerance controls the accuracy of some geometry modeling options, such as attraction features (e.g. accuracy of the position of the curve closest point when using the curve attraction feature). This tolerance is a relative one and a value of 1e-5 is a good choice.
The current tolerance can be queried, modified and saved for other sessions with the File/Preferences... menu (Tolerances/Geom Tol (rel) item).


Attraction

During interactive manipulations, attraction features allow to attract the mouse cursor to existing entities listed here below:

Curve end points,
Curve control points,
Cartesian points,
Edge grid points,
Curves,
Surfaces,
Vertices,
Fixed points.

Some of these entities must be visible to perform an attraction. Most of the attraction features can be activated or deactivated by simply pressing a keyboard key. These features are very interesting since it allows to connect entities together. 
The attraction feature and its key binding is described in detail for each command in the corresponding section if it is available.


Draw CSpline->Free



Geometry/Draw CSpline/Free is used to draw a parametric cubic spline through a set of control points entered with the mouse and/or with the keyboard. 

Using the mouse, the user must simply move the cursor to the desired position and press the left mouse button to add a control point to the curve.
Using the keyboard, the user must enter the 3 coordinates separated by a blank, while the cursor is in the graphics area. The keyboard inputs are automatically echoed in the string input area. Pressing <Enter> adds a control point to the curve.
The creation of the curve is terminated by pressing the right mouse button. Notice that the last curve segment, attached to the mouse movement is not part of the curve and is removed from the screen.

When entering the points with the mouse, the depth of the point is automatically fixed by IGG™. The current depth can be seen by reading the mouse coordinates in the corresponding area. This depth can be changed using the View/View Depth menu.
During the specification of the points with the mouse, it is possible to attract the cursor to existing points, curves or surfaces. This feature is very interesting since it allows to connect curves together and to create T junctions. By default this attraction is enabled. To toggle the attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces, press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attraction works on:

point attraction: Cartesian points and curves end points if they are visible.
curve attraction: visible curves.
surface attraction: visible surfaces.
vertices and fixed points. This attraction always work and cannot be deactivated.


The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>, <c> or 
 repeatedly, while the cursor is in the graphics area.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/CSpline menu item.
Draw CSpline->On Surfaces
Geometry/Draw CSpline/On Surfaces is used to draw a cspline of which control points must lie on one or more surfaces. The drawing works by projecting the input control points on all selected surfaces. The projection direction is the normal to the current view plane. A control point falling outside any selected surface will not be projected.
The final spline curve does not, in general, completely lie on the selected surfaces. Only the control points are on the surface(s).
Except for the attraction feature which is described below, all other operations are the same as for free cspline and are explained in the Draw CSpline -> Free menu.
When adding points using the mouse, it is possible to attract the cursor to existing points. This feature is very interesting since it allows to connect curves together. To activate the attraction press <a> in the graphics area, then move the cursor to the desired point. The cursor (if close enough) is attracted to the point. Finally, press the left mouse button to add a point at that position. The attraction works on all control points of the curves and on the grid points of the edges if they are visible. 
The point attraction feature is activated or deactivated by pressing <a> repeatedly, while the cursor is in the graphics area.
Draw CSpline->On Surface + Projection
Geometry/Draw CSpline/On Surface + Projection is used to draw a cspline and to project it on a selected surface as the final step of its creation. 
The control points are initially entered with the mouse or the keyboard (see Draw CSpline->Free menu for a more complete description of the operations). Then, after pressing the right mouse button, the control points are projected on the first selected surface and a new cspline created. This spline interpolates the projected points. The total number of control points defining the final curve can be entered manually or can be automatically calculated.
Number of control points (automatic = 0) (q)
>> 0
Draw BSpline->Free	



Geometry/Draw BSpline/Free is used to draw bsplines by defining control points with the mouse and/ or with the keyboard. 

Using the mouse, the user must simply move the cursor to the desired position and press the left mouse button to add a control point to the curve.
Using the keyboard, the user must enter the 3 coordinates separated by a blank, while the cursor is in the graphics area. The keyboard inputs are automatically echoed to the string input area. Pressing <Enter> adds a control point to the curve.
The creation of the curve is terminated by pressing the right mouse button. Notice that the last curve segment, attached to the mouse movement is not part of the curve.
When entering the points with the mouse, the depth of the point is automatically fixed by IGG™. The current depth can be seen by reading the mouse coordinates in the corresponding area. This depth can be changed using the View/View Depth menu.
During the specification of the points with the mouse, it is possible to attract the cursor to existing points, curves or surfaces. This feature is very interesting since it allows to connect curves together and to create T junctions. By default this attraction is enabled. To toggle the attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces, press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attraction works on:

point attraction: cartesian points and curves end points if they are visible.
curve attraction: visible curves.
surface attraction: visible surfaces.
vertices and fixed points. This attraction always work and cannot be deactivated.


The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>, <c> or 
 repeatedly, while the cursor is in the graphics area.
Draw BSpline->On Surfaces
Geometry/Draw BSpline/On Surfaces is used to draw a bspline of which control points must lie on one or more surfaces. The drawing works by projecting the input control points on all selected surfaces. The projection direction is the normal to the current view plane. A control point falling outside any selected surface will not be projected.
The final spline curve does not, in general, lie completely on the selected surfaces. Only the control points are on the surface(s).
Except for the attraction feature which is described below, all other operations are the same as for free bspline and are explained in the Draw BSpline -> Free menu.
When adding points using the mouse, it is possible to attract the cursor to existing points. This feature is very interesting since it allows to connect curves together. To activate the attraction press <a> in the graphics area, then move the cursor to the desired point. The cursor (if close enough) is attracted to the point. Finally, press the left mouse button to add a point at that position. The attraction works on all control points of the curves and on the grid points of the edges if they are visible. 
The point attraction feature is activated or deactivated by pressing <a> repeatedly, while the cursor is in the graphics area.
Draw BSpline->On Surface + Projection
Geometry/Draw BSpline/On Surface + Projection is used to draw a bspline and to project it on a selected surface as the final step of its creation. 
The control points are initially entered with the mouse or the keyboard (see Draw BSpline->Free menu for a more complete description of the operations). Then, after pressing the right mouse button, the control points are projected on the first selected surface and a new bspline created. This spline interpolates the projected points. The total number of control points defining the final curve can be entered manually or can be automatically calculated.
Number of control points (automatic = 0) (q)
>> 0
Draw Polyline->Free 	



Geometry/Draw Polyline/Free is used to create a polyline by entering a set of control points. Between two points, the curve is represented as a line segment. 

Using the mouse, the user must simply move the cursor to the desired position and press the left mouse button to add a control point to the curve.
Using the keyboard, the user must enter the 3 coordinates separated by a blank, while the cursor is in the graphics area. The keyboard inputs are automatically echoed to the string input area. Pressing <Enter> adds a control point to the curve.
The creation of the curve is terminated by pressing the right mouse button. Notice that the last curve segment, attached to the mouse movement is not part of the curve.
When entering the points with the mouse, the depth of the point is automatically fixed by IGG™. The current depth can be seen by reading the mouse coordinates in the corresponding area. This depth can be changed using the View/View Depth menu.
During the specification of the points with the mouse, it is possible to attract the cursor to existing points, curves or surfaces. This feature is very interesting since it allows to connect curves together and to create T junctions. By default this attraction is enabled. To toggle the attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces, press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attraction works on:

point attraction: Cartesian points and curves end points if they are visible,
curve attraction: visible curves,
surface attraction: visible surfaces,
vertices and fixed points. This attraction always work and cannot be deactivated.

The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>, <c> or 
 repeatedly, while the cursor is in the graphics area.

This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Polyline menu item.
Draw Polyline->On Surfaces
Geometry/Draw Polyline/On Surfaces is used to draw a polyline of which control points must lie on one or more surfaces. The drawing works by projecting the input control points on all selected surfaces. The projection direction is the normal to the current view plane. A control point falling outside any selected surface will not be projected.
The final polyline curve does not, in general, lie completely on the selected surfaces. Only the control points are on the surface(s).
Except for the attraction feature which is described below, all other operations are the same as for free polyline and are explained in the Draw Polyline -> Free menu.
When adding points using the mouse, it is possible to attract the cursor to existing points. This feature is very interesting since it allows to connect curves together. To activate the attraction press <a> in the graphics area, then move the cursor to the desired point. The cursor (if close enough) is attracted to the point. Finally, press the left mouse button to add a point at that position. The attraction works on all control points of the curves and on the grid points of the edges if they are visible. 
The point attraction feature is activated or deactivated by pressing <a> repeatedly, while the cursor is in the graphics area. 
Draw Polyline->On Surface + Projection 
Geometry/Draw Polyline/On Surface + Projection is used to create a curve (polyline) in the same way as Geometry/Draw CSpline/On Surface + Projection. The final curve is a polyline with a number of control points defined by the user. These control points are guaranteed to lie on the selected surface.
Circular Arc->Normal-Center-Point-Point



This menu option is used to create circles or circular arcs through two points and perpendicular to an anchored vector. It allows also the creation of an arc perpendicular to an anchored vector, running through one point and of a given angle. The following inputs are requested:

an anchored vector, defined by a direction and an anchor point,
the start and end points (or an angle in place of the end point).

All these data (except for the angle) can be entered either through the keyboard input area or with the mouse. 
The center of the circle is calculated so that the circular arc runs exactly through the two points. The anchor of the vector can be used to define it. However, in case it is not on the perpendicular to the chord bound by the two points, the center is set on this perpendicular, the nearest to the vector. See FIGURE 1.


FIGURE 1 Circular arc
To draw a complete circle, the start point must be equal to the end point. The following prompts are given for the anchor vector and the two points (data entered with the keyboard):
Enter normal to the arc 
>>   0 1 0
Enter   normal anchor point (q)
>>   0 0 0
Enter start point
>>   0 1 1
Enter end point
>>   1 1 0
The normal to the arc can be chosen as the screen normal by simply left-clicking in the graphics area. 
For the specification of the normal anchor point, start and end points, it is possible to attract the cursor to existing points, curves or surfaces. This feature is very interesting since it allows to connect curves together and to create T junctions. By default this attraction is enabled. To toggle the attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces, press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attraction works on:

point attraction: Cartesian points and curves end points if they are visible,
curve attraction: visible curves,
surface attraction: visible surfaces,
vertices and fixed points. This attraction always work and cannot be deactivated.

The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>, <c> or 
 repeatedly, while the cursor is in the graphics area.
An angle can be specified in place of the end point by pressing <p> when the start point is entered. The following prompt will appear:
Enter angle
>> 45
Enter the desired angle and press <Enter>.
To quit this tool without creating an arc, press <q> or the right mouse button.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Arc menu.
Example:
To draw a circular arc from (1,1,0) to (0,1,1) with centre (0,1,0), enter the following:
plane normal	(0,1,0)
anchor point	(0,1,0)
start point	(0,1,1)
end point	(1,1,0)
Notice that entering (0,0,0) for the anchor point would give the same result. Indeed, (0,0,0) is located on the same arc normal than (0,1,0).
Circular Arc->Normal-Point-Point-Radius
This menu option is used to create circles or circular arcs through two points, with a given radius and perpendicular to a normal. The following inputs are requested from the user:

Circle/ arc normal,
Start and end point,
Circle/ arc radius,
Arc position.

All these data (except the arc position) can be entered either through the keyboard input area or with the mouse. The normal to the arc can be chosen as the screen normal by simply left-clicking in the graphics area. 
For the specification of the arc start and end points, it is possible to attract the cursor to existing points, curves or surfaces. This feature is very interesting since it allows to connect curves together and to create T junctions. By default this attraction is enabled. To toggle the attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces, press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attraction works on:

point attraction: Cartesian points and curves end points if they are visible,
curve attraction: visible curves,
surface attraction: visible surfaces,
vertices and fixed points. This attraction always work and cannot be deactivated.

The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>, <c> or 
 repeatedly, while the cursor is in the graphics area.
Once the start point is entered, it is displayed in a filled-in circle and a semicircle is drawn through this start point and the cursor. See FIGURE 2. Moreover, a line representing the radius and a cross representing the center are displayed; the corresponding values of the radius and center are shown in the information area. When the end point is entered, it is also displayed in a filled-in circle.


FIGURE 2 Arc representation before its creation
If the radius is entered through the keyboard input area, it is possible that the value entered is too small (if value is lower than half distance between start and end point), in which case a warning message appears. When the radius is entered, the sense of the circular arc can be chosen by pressing <o> repeatedly. In fact, there are six possibilities to draw an arc between two points and with a given radius, which includes two possibilities of complete circle, as shown in FIGURE 3.


FIGURE 3 Six arcs drawn through two points with a given radius
Once the correct sense is chosen, simply click on the left mouse button to complete the arc creation.
To quit this tool without creating an arc, press <q> or the right mouse button.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Arc menu.
Circular Arc->Point-Point-Point
This menu option is used to create circular arcs through three points. The following inputs are requested from the user:

Start point,
End point,
Middle point.

All these data can be entered either through the keyboard input area or with the mouse. 
During the specification of the points with the mouse, it is possible to attract the cursor to existing points, curves or surfaces. By default this attraction is enabled. To toggle the attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces, press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attraction works on:

visible points and curves end points,
visible curves,
visible surfaces,
vertices and fixed points. This attraction always work and cannot be deactivated.

The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>, <c> or 
 repeatedly, while the cursor is in the graphics area.
The start and end points must be specified first and are displayed in a filled-in circle. When both points are specified, a circular arc is drawn between the start point, end point and the current cursor position, representing the mid point  See FIGURE 4. Moreover, a line representing the radius and a cross representing the center are displayed; the corresponding values of the radius and center are shown in the information area.
It is possible to get a complete circle by pressing the <o> key. Pressing <o> a second time comes back to the circular arc mode.


FIGURE 4 Circular arc representation before its creation
Entering the mid point will complete the circular arc (or circle) creation.
To exit the tool without creating an arc, press <q> or the right mouse button.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Arc menu.
Create Points->Cartesian Point



This command is used to create Cartesian points, that is a point defined by its three Cartesian coordinates x, y and z. The following prompt appears:
Enter Point Coordinates (x y z) ? (q)
>>   0 1 0
Enter the desired coordinates and press <Enter>. The corresponding Cartesian point will be displayed in a filled-in circle in the graphics area.
To quit this command, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Point/Cartesian Point menu item.
Create Points->Curve-Curve Intersection
This command is used to create Cartesian points at the intersection of curves that must be selected before using this command. More than two curves can be selected and the Cartesian points will be displayed in filled-in circles. If a curve has an intersection with itself, it will not have a Cartesian point created at the corresponding location.
This tool can also be accessed through the Quick Access Pad/Geometry/Point/Curve-Curve Inters menu item.
Create Points->Curve-Plane Intersection
This command is used to create Cartesian points at the intersection between a plane and curves that must be selected before using this command. The Cartesian points will be displayed in filled-in circles. The following prompts allowing the selection of the plane will appear:
Enter plane origin
>> 0 0 0
Enter plane normal
>> 0 0 1
To quit this command before the end, enter 'q' in the keyboard input area and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Point/Curve-Plane Inters menu item.
Create Curve->Surf-Surf Intersection



Geometry/Create Curve/Surf-Surf Intersection is used to compute the intersection curve(s) between two selected surfaces.
The computation algorithm makes use of the absolute geometry tolerance defined in the system. 
The calculation time and the resolution of the intersection curve(s) directly depend on this geometry tolerance. It is strongly advised not to take too small values for this tolerance. A typical value for the tolerance is 1e-5 for surface sizes equal to 1. 
The tolerance can be modified using the File/Preferences... menu option.
It is to be noticed that an intersection between two surfaces may result in several curves, which may need to be concatenated with the Geometry/Create Curve/Group menu.
Limitations: the geometry library used in IGG™ cannot properly find intersection of surfaces which are not continuous in slope (C1 continuity). This is the case, for example, when creating lofted surfaces using polylines or curves of degree 1. In this case, it is advised to decompose the problem and search the intersection of each continuous part of the surface. 
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Surf-Surf Inters menu item.
Create Curve->Surf-Plane Intersection->Point-Normal



This command is used to compute the intersection curve(s) between NURBS surfaces and a plane. In this option, the plane is specified by an origin and a normal. These values can be entered through the keyboard or with the mouse. The following prompts will appear:
Enter plane origin
>> 0 0 0
Enter plane normal
>> 0 0 1
When using the mouse to define the normal, the normal is calculated by taking the vector going from the origin (first point entered) to the selected point.
IGG™ then computes the intersection between the plane and all the selected surfaces (Geometry/Select/Surfaces).
To quit this command before the end, enter 'q' in the keyboard input area and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Surf-Plane Inters menu.
The computation algorithm makes use of the absolute geometry tolerance defined in the system. 
The calculation time and the resolution of the intersection curve(s) directly depend on this geometry tolerance. It is strongly advised not to take too small values for this tolerance. A typical value for the tolerance is 1e-5 for surface sizes equal to 1. 
The tolerance can be modified using the File/Preferences... menu option.
Create Curve->Surf-Plane Intersection->Normal to Curve
This command is used to compute the intersection curve(s) between NURBS surfaces and a plane. It allows the user to specify the cutting plane by simple selection of a point on a curve. The plane will be defined with its origin at the selected point and its normal tangent to the curve, at the selected point.
This option is especially useful for internal flow geometries like volutes or pipes, where intersection of lateral surfaces with a radial plane can be performed easily by selecting a point on a longitudinal curve. See FIGURE 5. The resulting intersection curves can then be used to easily place radial internal faces.


FIGURE 5 Surface intersection with planes defined perpendicularly to a curve.
To perform an intersection:

Select the surfaces to intersect (Geometry/Select/Surfaces).
Select this command.
Move the mouse to a curve, at the location where the plane should intersect. When the mouse is close enough to the curve, the current point is highlighted.
Left-click to select the point and to perform the intersection.

This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Surf-Plane Inters menu.
Create Curve->Surf-Plane Intersection->Point-Point-Point
This command is used to compute the intersection curve(s) between NURBS surfaces and a plane. In this option, the plane must be defined by three points, specified from the keyboard or with the mouse. When activating the option, IGG™ prompts to enter the three points successively:
>> Select first point <1>, <3> to quit
To enter the point from the keyboard, simply type the three coordinates separated by a blank then press <Enter>. The coordinates are echoed in the string input area. 
When specifying a point with the mouse, the current point can be attracted to points, curves or surfaces. 
The second and third points must be specified in the same way.
After the third point has been specified, IGG™ performs the intersection with the selected surfaces.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Surf-Plane Inters menu.
Create Curve->Extend Curve
This option is used to extend an existing geometry curve at one or both ends in the direction tangent to the curve at the end points. It is especially useful when an input CAD file contains curves supposed to intersect but which practically do not. In this case, using the option will allow to extend one curve and make it intersect the other.
The dialog box shown in FIGURE 6 is provided to extend a selected curve by specifying the extension factor at one or both ends of the curve:


FIGURE 6 Curve extend dialog box
The specified values must be null or positive and correspond to a percentage of the curve length. A null value means that no extension will be performed for the specified end. For example, specifying a factor of 0.1 at one end of curve whose length is 5, will extend the curve by an amount of 0.5.
This option creates a new curve. The reference curve remains unchanged to avoid side effects like for example position modification of vertices lying on the curve.
Create Curve->Offset Curve (Cst)	
Geometry/Create Curve/Offset Curve (Cst) is used to create curves by offsetting the selected curves in the view plane with an offset distance. The offset distance can be negative. The following prompt is given to enter the offset distance:
Offset Distance (q)
>> -0.3
The offset curves are automatically drawn in blue indicating that they are not activated.
To quit this command, enter 'q' and press <Enter>.
Create Curve->Offset Curve (Linear)	
Geometry/Create Curve/Offset Curve (Linear) is used to create curves by offsetting the selected curves in the view plane by entering two offset distances. These distances correspond respectively to the offset at the beginning and at the end of the curve. The offset distance can be negative. The following prompt is given to enter the offset distance
Offset Distance (start, end) (q)
>> 1 1
The offset curves are automatically drawn in blue indicating that they are not activated. 
To quit this command, enter 'q' and press <Enter>.
Create Curve->Group
Geometry/Create Curve/Group is used to create a curve by joining together the curves currently selected. The joining starts from the first selected curve and uses the orientation of this curve as reference.
Curves created with this option may be discontinuous (i.e. joining an arc with a line). Discontinuous curves and surfaces are not always properly treated by intersection algorithms.
The following prompt is given to enter a tolerance:
Enter tolerance for curves grouping : (q)
>> 1E-6
Two curves can be joined if this tolerance is higher than the distance separating points (start or end point) of each curve. If the tolerance is higher than the absolute geometry tolerance defined in the system, each gap (between two curves) greater than this geometry tolerance is filled, meaning that the curves are joined with a straight line. See FIGURE 7.


FIGURE 7 Grouping of two curves presenting a gap
The tolerance can be modified using the File/Preferences... menu option.
The composite curve created (if one) is automatically drawn in blue indicating that it is not activated and the curves used to create this resulting curve are deleted. These curves can be recovered by using the Geometry/Create Curve/UnGroup command (so, the composite curve will be deleted).
To quit this command, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Group menu item.
Create Curve->UnGroup
Geometry/Create Curve/UnGroup is used to create curves by splitting a composite curve previously created by the command Geometry/Create Curve/Group. In fact, it recovers the curves used to create the composite curve, which is deleted. The straight lines filling the gaps are also deleted.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/UnGroup menu item.
Create Curve->Trim
This tool is used to trim curves (selected or not). It operates by removing the curve part (delimited by the other visible curves) lying under the cursor. A filled-in circle will appear on the part that will be deleted if the cursor is close enough. To delete this part, simply press the left mouse button. 
In fact, the parts of a curve are defined by all its intersections with the other visible curves. So, an extremity piece of a curve can be removed or a middle piece, dividing the initial curve into two other curves. For example, in FIGURE 8, either part 1, 2 or 3 of curve 1 can be trimmed.


FIGURE 8 Parts of a curve that can be trimmed
If a curve has only one part (before or after trimming), a warning message will appear when trying to trim it because this operation will result in the total deletion of the curve. To manage this, use the appropriate command (Geometry/Delete/Curves).
A curve intersecting itself has not two parts but only one. So, the trimming of such a curve may seem sometimes strange but it is normal. For example, in FIGURE 9, left-clicking on part 1 will delete it, that is all the left part of curve 1 (bold part).


FIGURE 9 Trimming on a curve intersecting itself
Create Surface->Lofted



Geometry/Create Surface/Lofted is used to create a NURBS surface interpolating a set of selected curves. The orientation and the order of the selected curves are taken into account to define the surface.
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Lofted menu item.
Create Surface->Revolution
Geometry/Create Surface/Revolution allows to create a NURBS surface by rotating a curve around a user-defined line. Each selected curve, used as generating line, leads to the creation of a surface. The following prompts are given to specify the rotation line:
Rotation axis vector (q)
>> 0 0 1
Rotation axis origin  (q)
>> 0 0 0
Rotation angle  (q)
>> 90
After the surface creation, the option automatically creates several additional curves, corresponding to the boundaries of the revolution surface. Moreover, intermediate curves are created for a better surface representation. All these curves are deleted when the surface is deleted.


FIGURE 10 Cylinder created by rotation of the generating line (250 degrees).
To quit this option, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Revolution menu item.
Create Surface->Coons Patch
Geometry/Create Surface/Coons Patch allows to create a NURBS surface from four selected curves, using a bilinear interpolation. The four curves should define a closed region and should have the following orientation (see Geometry/View/Curve Orientation menu item):



FIGURE 11 Curve order when creating a Coons surface
The four curves must also be selected as indicated in FIGURE 11 (curve 1 first, ...).
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Coons menu item.
Create Surface->Linear Sweep
Geometry/Create Surface/Linear Sweep allows to create a NURBS surface from two selected curves by making the tensor product of the two curves. The two curves should be "perpendicular" in the parametric space of the surface and must have a point in common (i.e. curves 1 and 4 in FIGURE 11).
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Linear Sweep menu item.
Create Surface->Offset
Geometry/Create Surface/Offset is used to create surfaces by offsetting the selected surfaces according to an offset distance which can be negative. The following prompt is given to enter the offset distance:
Enter offset distance (q)
>> -0.3
The boundary curves of the offset surfaces are automatically drawn in blue indicating that they are not activated.
To quit this command, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Offset menu item.
Create Surface->Bilinear From Face Grid
Geometry/Create Surface/Bilinear From Face Grid allows to create a NURBS surface (wireframe surface of order 2) from a face grid. To create a NURBS from a face:

Activate the face by selecting it interactively or by entering its indices in the keyboard input area,
Apply the menu option.

The surface will be created at the same location as the active face and can be manipulated with the Geometry/Edit or Geometry/Modify Surface menus.
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Bilinear From Face Grid menu item.
Create Surface->Bicubic From Face Grid
Geometry/Create Surface/Bicubic From Face Grid allows to create a wireframe surface of order 3 from a face grid. To create a wireframe surface of order 3 from a face:

Activate the face by selecting it interactively or by entering its indices in the keyboard input area,
Apply the menu option.

The surface will be created at the same location as the active face and can be manipulated with the Geometry/Edit or Geometry/Modify Surface menus.
Create Surface->Plane Split->Point-Normal
This command is used to create new surfaces by splitting a selected surface (Geometry/Select/Surfaces) by a plane. In this option, the plane is specified by an origin and a normal. These values can be entered through the keyboard or with the mouse. The following prompts will appear:



Enter plane origin
>> 0 0 0
Enter plane normal
>> 0 0 1
When using the mouse to define the normal, it is calculated by taking the vector going from the origin (first point entered) to the selected point.
To quit this command before the end, enter 'q' in the keyboard input area and press <Enter>.
When performing the split, the old surface is kept and resulting split surfaces are added. 
Create Surface->Plane Split->Normal to Curve
This command is used to create new surfaces by splitting a selected surface (Geometry/Select/Surfaces) by a plane. In this option, the plane is specified by a simple selection of a point on a curve. The plane will be defined with its origin at the selected point and its normal tangent to the curve, at the selected point.
To perform the split:

Select the surface to intersect (Geometry/Select/Surfaces).
Select this command.
Move the mouse to a curve, at the location where the plane should split. When the mouse is close enough to the curve, the current point is highlighted.
Left-click to select the point and to perform the split. The old surface is kept and resulting split surfaces are added. 

Create Surface->Plane Split->Point-Point-Point
This command is used to create new surfaces by splitting a selected surface (Geometry/Select/Surfaces) by a plane. In this option, the plane must be defined by three points, specified from the keyboard or with the mouse. When activating the option, IGG™ prompts to enter the three points successively:
>> Select first point <1>, <3> to quit
To enter the point from the keyboard, simply type the three coordinates separated by a blank then press <Enter>. The coordinates are echoed in the string input area. 
When specifying a point with the mouse, the current point can be attracted to points, curves or surfaces. The second and third points must be specified in the same way.
After the third point has been specified, IGG™ performs the split. The old surface is kept and resulting split surfaces are added. 
Create Surface->Surface Split
Geometry/Create Surface/Surface Split allows to split a surface by another reference surface. Before performing the command, the surfaces should be selected (Geometry/Select/Surfaces): the first selected surface is the surface to divide, the second one the reference surface for division.
The reference surface used for the splitting should cover completely the surface to split otherwise the splitting is not well defined.
When performing the split, the old surface is kept and resulting split surfaces are added.
Create Surface->Extract Underlying Surf
Geometry/Create Surface/Extract Underlying Surf allows to create a surface that is used to support an existing trimmed surface coming from Parasolid™ and CATIA V5 import.


Edit->Copy



Geometry/Edit /Copy is used to create new curves and surfaces by cloning the selected geometry curves and surfaces.
After the cloning, new entities can be transformed directly through this tool:
Translation(t), Rotation(r), Scale(s), Mirror(m), None(q)
To perform a simple copy, enter 'q' and press <Enter>. Other operations are strictly equivalent to the corresponding ones of the Edit menu.
After the cloning, all currently selected geometry entities are unselected and the new created entities are selected. This allows to perform other editing operations on these entities without having to manually select them.
This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Copy menu item.
Edit->Translate
Geometry/Edit /Translate is used to translate all the selected geometry entities (curves and surfaces) along a user-defined vector. The following prompt is given to specify the translation vector:
Translation vector  (q)
>> 1 1 1
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely translated, since it would implicitly change the definition of the surface. To translate such a curve a copy must first be made (see Edit->Copy). The copy can then be freely translated. 
To quit this option, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Translate menu item.
Edit->Rotate
Geometry/Edit /Rotate is used to rotate all the selected geometry entities (curves and surfaces) around a user-defined line. The following prompts are given to specify the rotation line:
Rotation axis vector (q)
>> 0 0 1
Rotation axis origin  (q)
>> 0 0 0
Rotation angle (degree)  (q)
>> 90
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely rotated, since it would implicitly change the definition of the surface. To rotate such a curve a copy must first be made (see Edit->Copy). The copy can then be freely rotated. 
To quit this option, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Rotate menu item.
Edit->Scale
Geometry/Edit /Scale is used to scale all the selected geometry entities (curves and surfaces) with a user-defined scale factor. The following prompt is given to specify the scaling factor in the three directions:
Scale factor (x y z)  (q)
>> 1 1 1
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely scaled, since it would implicitly change the definition of the surface. To scale such a curve a copy must first be made (see Edit->Copy). The copy can then be freely scaled. 
To quit this option, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Scale menu item.
Edit->Mirror
Geometry/Edit /Mirror is used to mirror all the selected geometry entities (curves and surfaces) according to a mirror plane. The following prompts are given to specify the mirror plane:
Mirror Plane Normal (q) ?
>> 0 0 1
Mirror Plane Origin (q) ?
>> 0 0 0
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely mirrored, since it would implicitly change the definition of the surface. To mirror such a curve a copy must first be made (see Edit->Copy). The copy can then be freely mirrored. 
To quit this option, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Mirror menu item.
Edit->Convert to CSpline
Geometry/Edit/Convert to CSpline is used to convert the selected curves into csplines with a specified number of control points. A number of control points (set by the user or automatically) are calculated on each curve. Then a cspline is interpolated through these control points.
The following prompt appears to select the number of control points:
Number of control points (automatic = 0) (q)
Enter '0' for an automatic setting. The next prompt allows to select the type of control points distribution:
Control points Fct. of curvature(1) or uniform(0) (q)
Enter '0' for a uniform distribution or '1' for a distribution calculated according to the curve curvature.
For a distribution calculated according to the curve curvature, two additional prompts appear:
Maximum curvature ratio (1 -> 1e5)(q)
Curvature weight (1e-5 -> 1e5)(q)
When the ratio of curvature extreme is higher than the maximum curvature ratio, the points density is limited and is set to uniform. A value of 50 is advised. The curvature weight is used to decrease or increase the influence of the curve curvature on the points density.
To quit this option, enter 'q' and press <Enter>.
Modify Curve->Add Control Point



Geometry/Modify Curve/Add Control Point is used to add control points to the selected curves. The following prompt is given:
Select a point (a = attraction, q = quit) a:Off
The control points are displayed as markers (cross surrounded by a circle). New point is also visualized as marker under the cursor and is simply specified by left-clicking. 
The attraction to edges grid points can be activated by simply pressing <a> repeatedly, while the cursor is in the graphics area.
Control points cannot be added to circles or circular arcs.
To quit the option, press <q> or the right mouse button. 
Modify Curve->Remove Control Point
Geometry/Modify Curve/Remove Control Point is used to remove one or more control points of the selected curves. The following prompt is given:
Select a point (q)
The control points are displayed as markers (cross surrounded by a circle). To remove a control point, move the cursor on it and press the left mouse button. If a curve has more than two control points, the removal of the start or end control point will also remove the curve part between this extremity control point and the next control point. 
Obviously, if a curve has only two control points, these ones cannot be removed. 
To quit the option, press <q> or the right mouse button.
Modify Curve->Project
Geometry/Modify Curve/Project is used to project the selected curves onto a selected surface. When more surfaces are selected, the first selected surface is used for the projection. The user is requested to specify a projection vector:
Enter Projection Vector (d = view plane normal)
Typing 'd' instead of the three vector coordinates will take the view plane normal as the projection vector.
Enter 'q' and press <Enter> to quit this command.
Modify Curve->Modify Point
Geometry/Modify Curve/Modify Point is used to modify the shape of a curve by modifying one or more control points and/or tangents of the curve. Modification is only possible on the curves selected by the user.
After selecting this option, the control points and tangents of all selected curves are displayed and a prompt appears to select a point for modification:
Select a point (a = attraction, q = quit) a:Off
The operations needed to modify a point are as follows:

Select the point to be modified with the left mouse button.
Move the selected point to a new location. The new position of the point can be entered from the keyboard by typing the new coordinates 'x y z' in the graphics area and pressing <Enter>.
Repeat the operation with other points.
Quit the option with the right mouse button or by pressing <q>.

During the modification, it is possible to attract the current point to other existing points by enabling the attraction mode. Attraction to points is activated or deactivated by pressing <a> within the graphics area (toggle). The message in the message area is updated accordingly. 
The attraction works on all control points of the curves and on the grid points of the grid edges, when they are visible.
Modification of tangents is only possible for cspline curves. In this case, select the tangent to be modified with the left mouse button and move the cursor to indicate the new tangent direction. The new direction of the tangent can be entered from the keyboard by typing the new coordinates 'x y z' in the graphics area and pressing <Enter>. Attraction is also available by still pressing <a>.
Modify Curve->Modify Point On surface
Geometry/Modify Curve/Modify Point On surface is used to modify the control points and the tangents of the selected curves and project them onto the selected surfaces. The modification is done in the same way as for the Modify Curve/Modify Point menu. At the end of the modification of a control point, the point is projected on the selected surfaces. 
The curve modified in this way does not in general completely lie in the surfaces. Only the control points are guaranteed to be on the surfaces.
Modify Curve->Discretization
Geometry/Modify Curve/Discretization allows the user to change the number of points used to discretize the curve. These points are used to draw the curve on the screen. This command applies to all the selected curves.
The following prompt is given to enter the number of intermediate points between two consecutive control points of the curve:
Number of discretization points between control points (q) ?
>> 10
Enter 'q' and press <Enter> to quit this command.
Modify Curve->Divide
Geometry/Modify Curve/Divide allows the user to divide a selected curve. After the division the old curve is removed from the geometry repository and two new curves (bsplines) are created. The following prompt is given when activating the option:
Select the division point (a = attraction, q = quit) a:On
The division point is displayed as marker (cross surrounded by a circle) and can be specified by selecting a point with the mouse within the limits of the curve or it can be entered with the keyboard.
It is possible to attract the division point to edges grid points by enabling the attraction mode. Attraction to points is activated or deactivated by pressing <a> within the graphics area. 
To quit this command, press <q> or the right mouse button.
Modify Curve->Reverse
Geometry/Modify Curve/Reverse is used to reverse the orientation of the selected curves. Recall that the orientation of curves is important when creating surfaces using these curves (i.e. Coons patch or lofted surface).
Modify Curve ->Set Name
Geometry/Modify Curve/Set Name... is used to change the name assigned to a curve. It opens a dialog box allowing to enter a new name for a curve. The name specified must be a unique name, not already used by another curve. When pressing on the Apply button, IGG™ assigns the specified name to the first selected curve.
The current name of a curve can be at any time known by activating the curve selection option (
) and by moving the mouse on top of the curve. The curve name will appear in the information area.
Assigning proper name to curves is especially important when working with templates.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Set Name menu item.
Modify Surface->Discretization



Geometry/Modify Surface/Discretization allows the user to choose the number of points used to discretize the selected surfaces in the u and v directions. This discretization is used during surface grid generation by approximate mapping. The following prompt is given:
Number of points in the u and v directions  (q) ?
>>50 100
To quit this command, enter 'q' and press <Enter>.
Modify Surface->Representation
Geometry/Modify Surface/Representation allows the user to create curves in the two parametric directions of the selected surfaces. The most common use of the option is to have a better visual representation of the surfaces and to create curves which are usable in other geometry modeling operations. These curves are represented as cspline curves and can be freely manipulated. The following prompt is given to enter the number of curves in each parametric direction:
Number of Curves in the u and v directions  (q) ?
>>20 25

The minimum number of curves in one parametric direction is 2, which corresponds to the boundary curves.
The curves created in this way belong to the surface and are deleted when the surface is deleted, if not used by other entities.

To quit this command, enter 'q' and press <Enter>.
Modify Surface->Add uv Curves
Geometry/Modify Surface/Add uv Curves is used to interactively create two orthogonal curves in the parametric space of a surface, running through a user-defined point. The surface must first be selected before being able to add uv curves.
After activating the option, the user is requested to select a point on the selected surface(s) through which the curves will run. 
Select a point (a = attraction, q = quit) a = Off
This point can be entered with the mouse or with the keyboard. When using the mouse, the attraction to an existing point (control point of a curve or grid point of an edge) can be activated by pressing <a> within the graphics area.
The curves created in this way belong to the surface and are deleted when the surface is deleted, if not used by other entities.
To quit this option, press <q> or the right mouse button.
Modify Surface->Divide
Geometry/Modify Surface/Divide allows the user to divide a selected surface by selecting an existing parametric curve on the surface. The surface is split into two new surfaces along the given curve. The old surface is deleted from the geometry repository. 
The curve used for dividing the surface must be a parametric curve (along u or v), created with Geometry/Modify Surface/Add uv Curves or Geometry/Modify Surface/Representation menus.
After activation of the option, the user is requested to select a curve of the surface
Select a curve belonging to the surface (q = quit)
The curve selection is operated with the left mouse button (the curve is highlighted when the cursor is close enough). After the selection, the division is automatically performed.
To quit this option, press <q> or the right mouse button.
Modify Surface->Set Name
Geometry/Modify Surface/Set Name... is used to change the name assigned to a surface. It opens a dialog box allowing to enter a new name for the selected surface. The name specified must be a unique name, not already used by another surface. When pressing on the Apply button, IGG™ assigns the specified name to the first selected surface. The boundary curves, as well as the othercurves created from the surface (i.e. using the Geometry/Modify Surface/Representation option) will be automatically renamed according to the name assigned to the surface.
The current name of a surface can be at any time known by activating the surface selection option (<Ctrl-s>) and by moving the mouse on top of the surface. The surface name will appear in the information area.
Assigning proper names to surfaces is especially important when working with templates.
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Set Name menu item.
Select->Cartesian Points



Geometry/Select/Cartesian Points allows the user to select or unselect one or more visible Cartesian points with the mouse. When selected, the Cartesian points appear highlighted in blue (default) else they appear in white. The following prompt appears when selecting this option:
Select Cartesian Point(s) (a = all, q = quit)
Subsequent operations are done with the mouse in the graphics area:

moving the mouse over a non-selected point highlights it,
pressing the left mouse button selects it,
pressing one more time unselects it,
pressing the right button or <q> terminates the selection process.

It is possible to select or unselect all points at once by pressing <a> in the graphics area. The first time <a> is pressed all the points are unselected. The next time, <a> acts as a toggle.
Select->Control Points
Geometry/Select/Control Points allows the user to display the coordinates of a control point of a selected curve. When activated, the option shows the control points of all selected curves. Then the user is requested to select one of these control points:
Select control points with the mouse (q)
Subsequent operations are as follows:

moving the mouse over a control point highlights it,
pressing the left mouse prints its coordinates in the information area,
pressing the right button or <q> terminates the selection process.

Select->Curves
Geometry/Select/Curves allows the user to select or unselect one or more visible curves with the mouse for subsequent operations in geometry modeling or grid generation. When selected, the curves appear highlighted in yellow (default) else they appear in blue. The following prompt appears when selecting this option:
<1> Select curve(s), <1 Drag> Rectangle selection, <3> quit, (a = all)
Subsequent operations are done with the mouse in the graphics area:

moving the mouse over a non-selected curve highlights it,
pressing the left mouse button selects it,
pressing one more time unselects it,
pressing the left mouse button without releasing it and dragging the mouse draw a rectangle. Releasing the left button selects all the curves having a part in this rectangle,
pressing the right button or <q> terminates the selection process.

It is possible to select or unselect all curves at once by pressing <a> in the graphics area. The first time <a> is pressed all the curves are unselected. The next time, <a> acts as a toggle.
During the selection, the information area is used to display information about the current curve. Typical information is: curve name, arc length of the discretization curve,...
Select->Surfaces
Geometry/Select/Surfaces allows the user to select or unselect one or more visible surfaces with the mouse for subsequent operations in geometry modeling (i.e.surf-surf intersection) or grid generation (i.e. face grid generation). When selected, the boundary curves of the selected surfaces appear highlighted in red (default) else they appear in blue. 
Surface selection is possible by simple positioning of the mouse over the surface. When several surfaces are stacked on top of each other, IGG™ provides a way to sweep through the surfaces before selecting the desired one.
The following prompt appears when selecting this option:
<1> Select surface(s), <1 Drag> Rectangle selection, <3> quit, (a = all)
Subsequent operations are done with the mouse in the graphics area:

Move the mouse to a surface to select (unselect). The surface is ready for selection (unselection) when it becomes highlighted, either in blue or red. Red highlight means that the surface is already selected and is ready to be unselected. Blue highlight means that the surface is currently not selected and is ready to be selected.
Left-click to select (or unselect) the surface. The surface changes its highlight to reflect its new selection status.
It is possible to select several surfaces at once by defining a selection rectangle. This rectangle can be specified by pressing the left mouse button without releasing it and dragging the mouse. Releasing the left button will select all the surfaces having a part in this rectangle.
When several surfaces are stacked on top of each other, in the direction of the user's eyes, IGG™ takes by default the closest surface to the user. The user can sweep through the surfaces by middle-clicking the mouse, until the desired surface is highlighted. Left-click then allows to select the highlighted surface.

It is possible to select or unselect all surfaces at once by pressing <a> in the graphics area. The first time <a> is pressed all the surfaces are unselected. The next time, <a> acts as a toggle.
During the selection, the information area is used to display information about the current surface, such as its name.
View->Curves


Geometry/View/Curves... allows the user to choose which curves are displayed. A curve chooser, showing all the curves in the geometry repository is opened to select the curves. See FIGURE 12.The visible curves are highlighted. To make one or more curves visible, select them with the left mouse button in the chooser, then press Apply. The curves are automatically displayed in the graphics area. 
The <Ctrl> key is used in combination with the left mouse button to select several curves in the chooser.
The <Shift> key is used in combination with the left mouse button to select a range of curves in the chooser. A range of curves can also be selected by pressing the left button, dragging the mouse and releasing the left button.
A filter, using regular expression search, is provided to select or unselect curves by their name.


FIGURE 12 Curve chooser
View->Surfaces
Geometry/View/Surfaces... allows the user to choose which surfaces are displayed. A surface chooser showing all the surfaces in the geometry repository, is opened to select the surfaces. See FIGURE 13. The visible surfaces are highlighted. To make one or more surfaces visible, select them with the left mouse button in the chooser, then press Apply. The boundary curves of the surfaces are automatically displayed in the graphics area. 


FIGURE 13 Surface chooser
The <Ctrl> key is used in combination with the mouse to select several surfaces in the chooser.
The <Shift> key is used in combination with the mouse to select a range of surfaces in the chooser. A range of surfaces can also be selected by pressing the left button, dragging the mouse and releasing the left button.
A filter, using regular expression search, is provided to select or unselect surfaces by their name.
View->Hide Selected Cartesian Points
Geometry/View/Hide Selected Cartesian Points is used to hide all the selected cartesian points.
View->Hide Selected Curves
Geometry/View/Hide Selected Curves is used to hide all the selected curves.
View->Hide Selected Surfaces
Geometry/View/Hide Selected Surfaces is used to hide all the selected surfaces.
View->Control Points 
Geometry/View/Control Points acts as a toggle to show or hide the control points of all selected curves. 
View->Curve Orientation
Geometry/View/Curve Orientation acts as a toggle to show or hide the orientation of the selected curves. An arrow is displayed indicating the orientation of the curve.
View->Lofting curves
Geometry/View/Lofting curves is only available for lofted surfaces and is used to toggle the display of the curves defining a lofted surface, except the boundary curves. The option applies to the selected lofted surfaces and has no effect on the other surfaces.
View->Prepare View
Geometry/View/Prepare View... allows to define the parameters for the faceting of the selected surfaces.
The dialog box shown in FIGURE 14 is provided to control the creation of the triangulated representation of the selected surfaces:
SPcurves tolerance: the Tolerance value is the maximum deviation allowed between a trimming curve given in model space and its equivalent in the parametric space of the surface to be trimmed. A default value, by default not applied and calculated from the overall dimension of the selected surfaces, can be set by pressing the Default button.
Size: the minimum and maximum length of the facets in the triangulated representation of surfaces can be specified through the two items Minimum length and Maximum length. For both parameters a default value, by default not applied and calculated from the overall dimension of the selected surfaces, can be set by pressing the Default button.
Tolerance: The chordal tolerance between a curve and its facet edges in model units, i.e. the upper bound on the distance from the chord to the curve it approximates, can be specified through the Curve chordal tolerance item. Similarly, the distance tolerance in model units between a surface and its faceted representation, i.e. the upper bound on the distance from a position on a facet to the surface, can be specified through the Surface plane tolerance item. For both parameters, a default value, calculated from the overall dimension of the selected surfaces, can be set by pressing the Default button.
Resolution: The maximum angle between a curve and the chord used to approximate it, i.e. the upper bound on the sum of the angles between the chord and curve tangents measured at the chord ends, can be specified in degrees through the Curve resolution item. Similarly, the angular tolerance between a surface and its faceted representation can be specified in degrees through the Surface resolution item. For both parameters, a default value, calculated from the overall dimension of the selected surfaces, can be set by pressing the Default button.
View Mode: the user can define the view mode (solid and/or wireframe) for the triangulated representation of the selected surfaces created when pressing the Apply button in the bottom of the dialog box.
Key bindings: <Alt-s> toggles the display of the solid view for the triangulated representation of the selected surfaces, while <Alt-w> toggles the display of the wireframe view.


FIGURE 14 Faceting settings
View->Clear View
Geometry/View/Clear View is used to clear the triangulated representation for the selected surfaces.
View->View Wireframe
Geometry/View/View Wireframe is used to toggle the display of the wireframe triangulated representation for the selected surfaces. If a surface does not have any triangulated representation yet, one will be created with default settings.
View->View Solid
Geometry/View/View Solid is used to toggle the display of the solid triangulated representation for the selected surfaces. If a surface does not have any triangulated representation yet, one will be created with default settings.
Delete->Cartesian Points



Geometry/Delete/Cartesian Points is used to delete selected Cartesian points from the geometry repository. 
There is no undo associated with the delete operation.
Delete->Curves 
Geometry/Delete/Curves is used to delete selected curves from the geometry repository. A curve cannot be deleted while it is used in the definition of the surface. To delete it, the surface itself must first be deleted.
There is no undo associated with the delete operation.
Delete->Surfaces 
Geometry/Delete/Surfaces is used to delete selected surfaces from the geometry repository, if not used by other entities. When deleting a surface all the curves which belong to it are automatically deleted. Typical curves belonging to a surface are uv curves, created with the Geometry/Modify Surface/Representation menu. 
There is no undo associated with the delete operation.

GUI Description


FIGURE 1 
IGG™ Graphical User Interface.
Menu Bar
The menu bar contains a part of available options of IGG™. Menu items can be activated using click and drag or click and release modes.
The pull-down menu Modules is a dedicated menu which allows to switch between the different modules of IGG™: IGG or AutoGrid5.
All menus are described in detail in the dedicated chapters.
IGG™ provides a way to keep pull-down menus permanently on the screen using the "tear off" feature. When tear off menus are enabled, a dotted line appears as the very first item of each pull-down menu. Selecting this line will isolate the menu in a permanent window on the screen.
Tear off menus can be enabled by editing the file '~/.numeca/igg.resources' and modifying the line "set app(tearoff)   0" to "set app(tearoff)  1" or adding the line "set app(tearoff)  1".
Toolbar
The toolbar contains five icons providing fast input/output options and three icons for often used operations. These are also available through the menu bar (See in the related chapters the complete description of the icon functions).
TABLE 1 Toolbar icons






Icon


Description









Opens an existing project previously created by IGG™.
See the File/Open menu item description in section Open.







Saves the current work in the files of the current project.
See the File/Save/Save menu item description in Save --> Save.







Closes the current project and opens a new empty one.
See the File/New menu item description in section New.







Used to import CAD data stored in the standard IGES format.
See the File/Import/IGES Data menu item description in Import -> IGES.







Used to import external curves and surfaces stored in an ASCII IGG™ format.
See the File/Import/IGG Data menu item description in Import -> IGG Data.







Used to check the grid quality.
See the Grid/Grid Quality menu item description in Grid Quality section.







Used to check the negative cells.
See the Grid/Negative cells menu item description in Negative cells section.







Used to measure distance between geometry or grid entities.
See the Tools/Distance menu




Moreover, it contains a set of buttons allowing vertex attraction control.


FIGURE 2 Toolbar vertex attraction control
This set of four buttons provides an easy visualization and control of the vertex attraction. This vertex attraction is controlled by vertex. Each button can be toggled individually and it enables or disables the corresponding attraction mode. The entities on which a vertex can be attracted, corresponding to the four attraction modes (respectively from left to right), are the following:

Cartesian and curve end points
Curves
Curves intersection
Surfaces

To control the attraction mode of a vertex, buttons are used as follows:

Move the mouse over a vertex.
Select it by a left-click. The current attraction mode of the vertex is instantly shown through the buttons.
Move the mouse to the attraction control zone and select the appropriate mode(s).

When pressing the <Ctrl> key and the right mouse button over a vertex, it gives access to a pop-up menu specifying the vertex attraction features.



Quick Access Pad
The Quick Access Pad is located in the left part of the GUI. It contains icons and more evolved options providing a fast access to the more used functions of IGG™. Some of these functions are only accessible through the Quick Access Pad whereas others are also accessible through the menu bar, so that their description will be referenced to these menus.
The pad is divided into three subpads, each of which can be toggled by a simple mouse left-click:

Geometry subpad
Grid subpad
View subpad

All the commands and options accessible with these subpads are described in detail in the Quick Access Pad chapter.
The three subpads are composed of pages containing icons or more evolved options. The icons perform specific function related to the subpad and the page. Each page can also be toggled by a simple mouse left-click.
The Geometry subpad commands and tools allow the creation and the modification of geometry entities like points, curves and surfaces. It consists of four pages: three for geometry entities creation (respectively point, curve and surface creation) and one for curves and surfaces editing.


FIGURE 3 Geometry subpad
The Grid subpad commands and tools allow the creation and the manipulation of blocks and related entities like vertices, fixed points, internal faces, internal grid lines,...
The View subpad allows viewing operations on the geometry and the grid. In particular, the two first pages provide options permitting the creation and the visualization of geometry and block groups.


FIGURE 4 Grid & View subpads
Control Area
The control area is composed of six major areas:

Message area
Keyboard input area
Mouse coordinates
Information area
Grid parameters area
Viewing buttons

Message Area
This area has several display functions:

Display of warning messages notifying the user
Display of request messages asking the user for inputs from keyboard input area or graphics area
Display of general information messages (current function options,...)

Keyboard Input Area
Most of the options in IGG™ require numerical inputs from the user. For example, rotating a curve around a given line requires to specify the direction of the line, its origin and the rotation angle.
The keyboard input area is provided to allow such inputs. When an option requires numerical inputs, a message is indicated in the message area. Without leaving the graphics area, the user can then type the required data. The keystrokes are automatically echoed in the keyboard input area and the user has the possibility to modify the inputs. The input is acknowledged after pressing <Enter>.
Entering scalar values: a scalar value is specified by a floating number followed by <Enter>. Valid values are 5    1.32323    -0.1234    1.4E-5.
Entering vectors: a vector is specified by typing its three components separated by a blank and followed by <Enter>.
The keyboard input area can also be used to select the active block, face, edge or segment. When nothing is specified in the message area, simply enter the related indices separated by blanks and press <Enter> to make the corresponding entity active. This obviously causes the update of the grid parameters area.
Mouse Coordinates
This area displays the mouse cursor coordinates in the graphics area. If the cursor is out of it, it indicates the last cursor position in it.
Information Area
This area gives general information (about edges, curves,...). For example, when moving a vertex and attracting it to a curve, the name of that curve is displayed in this area.
Grid Parameters Area


This area shows very useful information about the grid:

Active block, face, edge and segment indices
Number of grid blocks, active block faces, active face edges, active edge segments
Block:

Number of active block points
Number of grid points
Name of the block
Number of points in each block direction

Face: constant direction and the corresponding index
Edge: constant direction according to the active face and the corresponding index
Segment: number of points on the segment
The maximum multigrid level available in the I, J and K direction

If the name of the active block is "invalid", it means that any block has been created yet or all the blocks have been deleted.
Viewing Buttons
The viewing buttons are used to perform viewing manipulations on the active view, such as scrolling, zooming and rotating. The manipulations use the left, middle and right buttons of the mouse in different ways. The sub-sections below describe the function associated with each mouse button for each viewing button.
For systems that only accept a mouse with two buttons, the middle mouse button can be emulated for viewing options by holding the <Ctrl> key with the left mouse button.
During viewing operations, IGG™ automatically removes from the active view all 'heavy' graphics representations such as solid model or color shading. This is done to keep a reasonable speed during rotation, translation or zoom operations. The complete picture is restored after a viewing operation is finished. A 'full visibility' can be explicitly requested during viewing operations by calling the File/Preferences... dialog box and setting the visibility flag to Full in the Graphics page. 
Viewing manipulations can be done while another action is already undertaken (for example, a vertex displacement). That action is temporarily stopped until the viewing operation is finished; then, the action can be performed just like before the viewing. This is useful when operations have to be executed in very distant areas of the model. Moreover, to avoid the displacement of the mouse cursor over the correct viewing button, several viewing commands and tools are accessible with Keyboard Shortcuts.
X, Y, and Z projection buttons



These buttons allow to view the graphics objects on X, Y or Z projection plane.

Left : press this mouse button to project the view on an X, Y or Z constant plane. If the same button is pressed more than one time, the horizontal axis sense changes at each press.

Coordinate axis



The coordinate axis button acts as a toggle to display different types of coordinate axis on the active view using the following mouse buttons:

Left : press to turn on/off the display of symbolic coordinate axis at the lower right corner of the view.
Middle : press to turn on/off the display of scaled coordinate axis for the active view. The axis surrounds all objects in the view and may not be visible when the view is zoomed in.
 Right : press to turn on/off the display of IJK axis at the origin of the active block (in Block viewing scope) or of all the blocks (in Grid viewing scope). For more information about the viewing scope, see the View/Grid page of the Quick Access Pad (FIGURE 31).

Scrolling				



This button is used to translate the contents of active view within the plane of graphics window in the direction specified by the user. Following functions can be performed with the mouse buttons:

Left: press and drag the left mouse button to indicate the translation direction. The translation is proportional to the mouse displacement. Release the button when finished. 

The translation magnitude is automatically calculated by measuring the distance between the initial clicked point and the current position of the cursor.

Middle : press and drag the middle mouse button to indicate the translation direction. The translation is continuous in the indicated direction. Release the button when finished. 

The translation speed is automatically calculated by measuring the distance between the initial clicked point and the current position of the cursor.
3D viewing button



This button allows to perform viewing operations directly in the graphics area. Allowed operations are 3D rotation, scrolling and zooming.
After having selected the option, move the mouse to the active view, then:

Press and drag the left mouse button to perform a 3D rotation
Press and drag the middle mouse button to perform a translation
Press and drag the middle mouse button, while holding the <Shift> key, to perform a zoom
To select the centre of rotation, hold the <Shift> key and press the left mouse button on a geometry curve, a vertex or a surface (even if this one is visualized with a wireframe model). The centre of rotation is always located in the center of the screen. So, when changing it, the model is moved according to its new value.

This 3D viewing tool is also accessible with the <F1> key.
Rotate about x, y or z axis



The rotation buttons are used to rotate graphical objects on the active view around the X, Y or Z axis. The rotations are always performed around the centre of the active view. Following functions can be performed with the mouse buttons:

Left : press and drag the left mouse button to the left or to the right. A clockwise or counterclockwise rotation will be performed, proportional to the mouse displacement. Release the button when finished.
Middle : press and drag the middle mouse button to the left or to the right. A continuous rotation will be performed, clockwise or counterclockwise. Release the button when finished.

Zoom in/out



This button is used for zooming operations on the active view. Zooming is always performed around the centre of the view. Following functions can be performed with the mouse buttons:

Left : press and drag the left mouse button to the left or to the right. A zoom in - zoom out will be performed, proportional to the mouse displacement. Release the button when finished.
Middle : press and drag the middle mouse button to the left or to the right. A continuous zoom in - zoom out will be performed. Release the button when finished.

Region zoom



This button allows to specify a rectangular area of the active view that will be fitted to the view dimensions. After having selected the button,

Move the mouse to the active view
Press and drag the left mouse button to select the rectangular region
Release the button to perform the zoom operation

These operations can be repeated several times to perform more zooming.
Press <q> or the right mouse button to quit the option.
This tool is also accessible with the <F2> key.
Fit button



The fit button is used to fit the content of the view to the view limits without changing the current orientation of the camera (which can be interpreted as the user's eyes).
Original button



The original button is used to fit the content of the view and to give a default orientation to the camera.
Cutting Plane



This option displays a movable plane that cuts the geometry and the blocks of the mesh. The plane is symbolically represented by four boundaries and its normal, and is by default semi-transparent. After having selected the button,

Press and drag the left mouse button to rotate the plane
Press and drag the middle mouse button to translate the plane
Press <x>, <y> or <z> to align the plane normal along the X, Y or Z axis
Press <n> to revert the plane normal
Press <t> to toggle the transparency of the plane (to make it semi-transparent or fully transparent). It is highly advised to deactivate the plane transparency when using X11 driver to increase the execution speed.

Graphics Area
The graphics area is the region of the screen dedicated to the display of all graphical objects created by the system.

Grid Density->Copy
Grid/Grid Density/Copy... is used to copy the grid points distribution from a segment, an edge or a face onto another one. If the target entity is connected, the copy is automatically repeated for the connected segments. When selecting this option, the dialog box shown in FIGURE 55 is opened.


FIGURE 55 Copy Distribution dialog box.
It allows to specify the reference (From) and target (To) entities by entering their block, face, edge and segment indices.
By omitting the segment number in the From and To boxes, one can copy the distributions of a complete edge onto another edge, even if they have different number of segments. By omitting the segment and edge numbers in the From and To boxes, one can copy the distributions of a complete face.
Examples: 

Specifying From:	 1 3 2 2  and  To:	 2 1 2 1 will copy the distribution from segment (1 3 2 2) to the segment (2 1 2 1).
Specifying From: 1 3 2  and  To:  2 1 2 will copy the distribution from the edge (1 3 2) to the edge (2 1 2). 

Copying distributions from an entity to an other is performed by copying the distribution function, not the basic clustering type (as shown in the Clustering dialog box). This implies that the target segments will automatically be assigned an Undefined type.
When copying a distribution onto a segment that is in a clustering group, the segment is automatically removed from the group.
When specifying segments as reference and target entities, grid point distributions can be copied in the same or reverse directions. 


FIGURE 56 Copying with Reverse or Same orientation
It is also possible to specify the reference and target segments by selecting them interactively with the mouse. Indeed, when opening the dialog box the following prompt appears:
<1> Select reference segment, <2> Acknowledge
Then, to specify the reference and target segments:

Select the desired reference segment with the left mouse button. When the proper segment is selected, middle-click to take it as reference segment. Its indices will appear in the From box. Then, the following prompt appears to select the target (To) segment:
<1> Select target segment, <2> Acknowledge
Repeat step 1 to select the target segment. When the middle button is pressed, the segment indices will appear in the To box and the following prompt will appear:
<1> Press Apply or Select reference segment, <2> Acknowledge
Press the Apply button in the dialog box to perform the copy
or
 proceed to a new segment selection by repeating the steps 1-2.

Grid Subpad Description
The Grid subpad provides commands and tools allowing the creation and the manipulation of blocks and related entities like vertices, fixed points, internal faces, internal grid lines,... It contains four pages that are described in the following sections.

Scripts

IGG™ provides a new powerful scripting tool that enables the user to automate a wide variety of tasks and to better integrate the grid generation in an engineering process. More details on the python commands are available in the files "Geom.py" and "PYTHON.py" provided in the NUMECA distribution after installation (i.e. under Windows, both files are available in "~/_python/_igg/").
Geometry creation: the user can write scripts to automate the creation of geometries. By parametrizing numerical values used in the definition of entities, the user can change very fast the geometry and regenerate the grid.
Grid generation: all the grid generation options available in IGG™ are available in scripts. 
Process automation: Scripts allow to automate a number of tasks like project management, file management, batch execution of modules, like AutoGrid5™.
Custom exportation: By accessing block coordinates within scripts, the user can write simple scripts to export the grid to its own solver. An example of the script file exporting in PLOT3D format is provided in the section Export PLOT3D Format. 
Automatic recording of operations can be performed in IGG™. The menu item File/Scripts/Save  All... can be used to save the current record of the commands performed interactively by the user.
Visualization of the recorded operations can be performed in IGG™. The menu item File/Scripts/Edit... can be used to edit the current record of the commands performed interactively by the user.

Grid Settings
Grid/Grid Settings... menu is used to examine or modify all important grid parameters of the segments, edges, faces and blocks of the current project, using the dialog box shown in FIGURE 5. 


FIGURE 5 Grid Settings dialog box.
There is no Apply button which implies that the changes in the different input fields take effect IMMEDIATELY after pressing <Enter> or selecting another field, without any possibility of automatic undo.
The dialog box is divided into four different parts:

Block data: The active block index can be specified from the Block box. The total number of grid points in J, K directions and I can be checked in the related box and modified at any time on the active block. The values can be changed by simply left-clicking on the box arrows or with the keyboard. In this latter case, press <Enter> to validate the change.
The Propagate option is used to propagate the changes in number of points to the connected blocks.
See below for a complete description on the change of block limits Imax, Jmax, Kmax and propagation.
The name and the CGNS family name of the block can also be specified respectively in the Name and Family Name fields.
The Family Name field is available when Save CGNS patch info / family name control option is active in the IGG Preferences dialog box (see Preferences). 
The specified family names are limited to 32 characters.
The specified family names are only saved in ".cgns" file for external solver and are not read when reading a project. Therefore, if a project is read and directly saved, the specified family names will disappear in the ".cgns" file.
The family names imposed to butterfly parent block are not transferred to butterfly children.
A domain type can be stamped as a fluid or solid domain using the Type drop down menu. Fluid or Solid domain type can be specified for the active block. It helps to enhance the grouping capability as obtained from Grid Configuration page in the View subpad. The settings imposed here, will also be transferred automatically to the FINE™ GUI.
Face data: The active face index can be specified from the Face box. When changing the active face index, the edge and segment informations are automatically updated.
Edge data: The active edge index can be specified from the Edge box. The total number of segments of the active edge is displayed (it cannot be changed here, it is only for information purpose). 
Segment data: The active segment index can be specified from the Segment box. The number of grid points on that segment is displayed next to this area. The low and high limits of the active segment can be changed with the keyboard from the min and max boxes. Once a new value is entered, press <Enter> to activate the change. The following constraints must be respected:	new lower limit > lower index of the previous segment	new upper limit < upper index of the next segment

When changing the limits of a segment, the index of the fixed points delimiting it will be obviously changed. If the new values imply the change of an internal grid line index, it is done automatically without asking any confirmation. However, if the new values imply the change of an internal face index, the message shown in FIGURE 6 appears:


FIGURE 6 New block limits imply the change of internal face index
If the no button is pressed, the index will not be changed and the limit will be reset to the previous one.
The dialog box also contains at its bottom two buttons: MG Levels and Close buttons. The first one opens a box containing the table of the MultiGrid levels shown at FIGURE 1. It allows to choose a number of grid points in order to have multigrid meshes. The second one is obviously used to close the dialog box.
Changing block limits Imax, Jmax or Kmax
The following considerations have to be taken into account when changing block limits:

The minimum number of grid points in one direction is 2, which corresponds to one cell.
When changing the number of grid points in the I, J or K direction, the faces and block grids affected by the modification are deleted. For example, when modifying the number of points in the K direction, the grids of the faces 3, 4, 5 and 6 are deleted.
Connections with patches of the touched faces are also deleted. Moreover, patch boundaries are resized automatically in order to cover the whole face.
Connected segments remain connected, even if there is an inconsistency with the number of points. It allows to change after the number of points on the connected segment and to keep the connection. Despite this, if the number of points remains different for the two connected segments, the connection will be deleted at the next loading of the project.
When increasing the number of points in one direction, these points are added to the last segment of edges aligned on this direction.
If a block contains an internal face whose constant direction is the same as the one in which the number of points has to be decreased, the message shown in FIGURE 7 appears when the new number of points is lower than or equal to the internal face index:


FIGURE 7 New block limits imply the change of internal face index
It gives the possibility to change the internal face index without leaving the TopologySettings dialog box. If the no button is pressed, the index will not be changed and the limit will be reset to the previous one.
When there are several segments in one direction, the number of grid points in that direction cannot be freely decreased and the following constraint must be satisfied for each edge in the modified direction: the lower limit of the last segment must be lower than the new number of grid points in that direction. In FIGURE 8, the edges along the I direction are divided into several segments:



FIGURE 8 Example of segment division
It will not be possible to reduce Imax below 41, since segment s2 on the figure has its lower bound equal to 40. To reduce Imax to 30, for instance, the lower limit of segments s1, s2 and s3 must be manually changed below 30 (the last segment must have at least 2 points). The segments before the last ones may also need to be changed (recall that a segment must have at least two grid points). 
If a bad limit is entered, an error message shown in FIGURE 9 will appear:


FIGURE 9 Error message appearing with wrong new block limits
It indicates the segment(s) that have to be modified to impose the new block limits. Once the Close button is pressed, the limits are reset to the previous ones.
Grid resizing and propagation
The increasing or decreasing of the number of points on a segment can be automatically propagated along connected blocks. This option drastically reduces the number of operations required to modify the number of grid points in meshes consisting of a large number of connected blocks. 
Propagation is insured through segment connections. This means that if two blocks are connected along some of their segments, changing the number of points of a segment of one block will automatically change the number of points in the other block, along the connection. When several blocks are connected together as a chain (along segment connections), the grid point modification will be performed on all these blocks.
If propagation is disabled, the modification of the number of points will only be applied to the active block and the segment connections (parallel to the reference segment) with other blocks will be deleted to keep consistency.
Resizing of one block
Changing the number of points of an isolated block segment affects all the edges of the block "parallel" to the segment, as shown in FIGURE 10.


FIGURE 10 Example of resized block
The distribution of the grid points among the segments of an edge will be proportional to the overlapping between the segments and the initial resized segment. In the previous example, the segment s3 does not overlap with the resized segment and consequently its number of points remains unchanged. Only segments s1 and s2 are affected. The index of the internal edges and internal faces will be adapted consistently.
Limitations
Multigrid
Due to possible division of an edge into several segments and the existence of internal edges or internal faces in the blocks, it is not possible to insure that a block resizing (as a consequence of segment resizing), will conserve multigrid levels for each segment touched by the operation. It is the user responsibility to adapt the index of the segment fixed points.
Patches

The limits of the patches of each face modified during a segment resizing are not changed automatically. The user must explicitly adapt these limits.
 Patch connections are deleted for each face modified during a segment resizing.

Decreasing the number of points of a segment
Decreasing the number of points of a segment can only be performed to a certain limit. When decreasing the size of a segment below a certain limit, it may happen that parallel segments overlapping the reference segment would be assigned a negative value, which is obviously impossible. In this case, the operation will not be performed and a message will be given to the user. The user will have to reduce the number of segments along the parallel edges before attempting to change the size again.

Full Automatic Regeneration
This example shows the usage of the standard templates capabilities followed by the regeneration of block faces and block grids. The following features are used:


importation of an IGG™ project,
importation of IGG™ data files with automatic replacement,
regeneration of faces,
regeneration of blocks.

 
# Close the currently opened project in IGG™. This allows to rerun the script within a same session.
# Commenting this line would keep adding entities to the opened project.
close_project()
import_igg_project("/mirror/user/initial_cyl_navier_stokes.igg")
original_view()
import_data_file("/mirror/user/modified_big_cyl.dat","REPLACE")
import_data_file("/mirror/user/modified_small_cyl.dat","REPLACE")
 
regenerate_all_block_faces()
 
block(1).linear_6_bnd()
block(2).linear_6_bnd()

Create Edge->Copy Edge
Grid/Create Edge/Copy Edge is used to copy the active edge from another existing edge. The following prompt appears to specify the reference edge from which to copy:
 <1> to select a reference edge, <2> to perform the copy <3> to quit.
The reference edge is selected by left-clicking near that edge. When several edges lie at the same position, the left-click operation must be repeated until the proper edge is selected.
The copy operation takes effect after middle-clicking the mouse. After the operation, the active edge has the same shape, same orientation and same segment division as the reference edge. The other edges connected to the active edge are automatically following the new position.

Blocks Grouping
Block groups are powerful means of classifying blocks by grouping them under a same logical name. Using groups, selective visualization of parts of interest and focus on the current region being meshed can easily be performed. This tool becomes handy when a project contains lots of blocks. For the sake of convenience, block groups appear permanently in a browser in the Quick Access Pad/View where they can be accessed to control the visualization.


FIGURE 40 Block groups browser
Block groups usage
Block groups can be used for:

visualization control
global operations on a set of blocks

Group visualization control is performed with the browser shown in FIGURE 40. It operates in collaboration with the icons of the Quick Access Pad/View/Grid page. By pressing on the check button in front of a group, the block boundaries visualization can be toggled. By pressing on the check button in front of a block, the visualization of that block can be controlled.
To show only one group

Go to the group browser.
Select the Hide All button. This operation will remove all the blocks from the screen.
Select the check button in front of the desired group. The edges of all the blocks in the group will be displayed on the screen.

It may be needed to fit the view to see all the blocks properly.
Managing groups
Groups can be created, modified or deleted. Blocks can currently appear several times in different groups.
To create a new group

Select the Create Group button below the browser.
A dialog box is opened to enter the name of the group.


Enter the name and press Create.



Move the mouse in the graphics area, near an edge of a block to add to the group.
Left-click to highlight the block.
Middle-click to add it in the group.
Repeat above steps to add other blocks.
Right-click to complete the creation.

To modify an existing group

Right-click on a group in the browser.
Select Modify.



Move the mouse in the graphics area, near an edge of a block to add to the group.
Left-click to highlight the block.
Middle-click to add it in the group.
Repeat above steps to add other blocks.
Right-click to complete the creation.

or

Left-click to highlight a block in graphics area.
Right-click on a group in the browser.
Select Add Selection/Remove Selection.

or

Left-click in the browser to visualize content of a group.
Right-click on an entity of the group in the browser.
Select Remove.

To delete an existing group

Right-click on a group in the browser.
Select Delete.

or

Select the Delete Group button below the browser.
Left-click on a group in the list in Select a group dialog box.
Click on Delete.

Input Data Files

The most common way of importing geometries from CAD systems is to use the File/Import/IGES - CATIA V5 - Parasolid menu option which provides a powerful browser to inspect and import respectively IGES - CATIA V5 - Parasolid™ files. However, it is also possible to import simple curves, surfaces and blocks defined by arrays of points by using the simple IGG™ data file format. This section describes the format for curves, surfaces and blocks importation in IGG™. By convention, IGG™ data files must have the ".dat" extension (or ".dst" extension for combined curve and surface data files).
Curve data files
Curve data files are used to import geometry curves defined as a set of points. IGG™ uses these points to create either a polyline or a C-spline curve. The curves always pass through the points. The coordinate system in which the points are described can be Cartesian or cylindrical. The general format is as follows:
curve name
coordinate_system [options]
number_of_data_points
data_point_coordinates
where: 

The first line is the curve name.
The second line defines the coordinate system in which the points are described. Options may follow on the same line. See description below.
The third line contains the number of points.
The following lines contain the points coordinates.

Coordinate System description
Possible keywords for the coordinate system are:
XYZ, RZ, ZR, THRZ, THZR, RTHZ, RZTH, ZRTH, ZTHR, R*THZ or ZR*TH
where: 

XYZ is used to define the points in cartesian coordinates,
RZ or ZR are used to define 2D points by specifying their radius and z coordinate or vice-versa,
THRZ, THZR, RTHZ, RZTH, ZRTH or ZTHR are used to define points in cylindrical coordinates. Each keyword indicates the order in which the r, theta and z values are defined. For example ZRTH indicates that Z then R then TH are stored for each point,
R*THZ or ZR*TH is used to define 3D points at a constant radius. For these keywords, the radius value must be specified. For example:
 R*THZ  R= 3.2

Options
The options must be written after the coordinate system keyword and are used to modify the characteristics of the curve. The keywords can be one of the following:

polyline: used to define a polyline curve (default is C-spline interpolation).
When the keyword polyline is not present, IGG™ creates a C-spline. However, when importing the file using the File/Import/IGG Data, IGG™ uses no intermediate discretization points, which will make the curve look like a polyline. The discretization can be changed using the menu Geometry/Modify Curve/Discretization.
degree: meaning that the angles are defined in degree (default is radian).
In all these systems, the rotation axis must be the Z direction of the coordinate system.
The coordinates of one point must be given on a single line.

A few examples of curve data file are shown below:
Example 1:
Simple_curve

XYZ

21
3.345   4.1234   .51234
3.435   4.1322   .54623
3. 01  4.813 1.21234
...
Example 2:
Simple_curve

ZR  polyline

21
1.6    6.234  
2.05  6.478 
3. 01  7.01234
...
Example 3:
Simple_curve

RTHZ  degree

6
4.5 290      4.1234   
4.8 295.5     4.1322  
5.1 299.234  4.813
...
Surface data files
Wireframe surfaces
Surface data files contain information about the coordinates of structured surfaces in Cartesian coordinates and are used to export face grids from IGG™ (File/Export/Face Coor... and File/Export/Patch Coor... menu items) or to import them to create block faces (File/Import/External Grid... and File/Import/Face Grid... menu items). In the latter case, the number of points defined in the surface data file must match the number of points of the face. An example of such a file is shown below:
Simple_surface

3  0  0

21  31 

3.345   4.1234   .51234
3.435   4.1322   .54623
3. 01  4.813 1.21234
...
where: 

The first line is the surface name.
The second line contains the three numbers 3 0 0 or 2 0 0 (for 2D surfaces where z is omitted).The two zeros should be written as such and are reserved for future use.    
The third line contains the number of points in the I and J directions (21 and 31 in the example).
The following lines contain the grid point coordinates (x y (z)) written by using two nested loops over J then I:
for J = 1 to Jmax
for I = 1 to Imax
write x y (z)
end I
end J

The z coordinate must be omitted when the second line is 2 0 0.
Multiple wireframe surfaces
Such files contain information about the coordinates of several structured surfaces in Cartesian coordinates and are used to create block faces (File/Import/External Grid...). An example of such a file is shown below:
# Airfoil mesh with 2 faces

3

	      2
21  31 

	      15  17
3.345   4.1234   .51234
3.435   4.1322   .54623
3. 01  4.813 1.21234
...
where: 

The first line contains a comment, not interpreted by IGG™.
The second line contains the number 3 or 2, describing the surface dimension (for 2D surfaces, z coordinate is omitted).
The third line contains the number of surfaces. This line must be omitted from the file if there is only one surface.
Then for each surface a line contains the number of points in the I and J directions (21 and 31 in the example for the first surface, 15 and 17 for the second one).
The following lines contain the grid point coordinates (x y (z)) for each surface, written by using two nested loops over J then I:
for J = 1 to Jmax
for I = 1 to Imax
write x y (z)
end I
end J
The z coordinate must be omitted when the second line is 2.

Lofted surfaces
This type of file format allows to import lofted surfaces defined as a set of "parallel" curves. An example of such file is shown below:
Simple_lofted_surface

3  0  3 6 6 0

31 

	       1 21
3.345   4.1234   .51234
3.435   4.1322   .54623
3. 01 4.813 1.21234
       ...
       2 21
4.8 295.5     4.1322  
5.1 299.234  4.813
      ...
      3 11
      ...
where: 

The first line is the surface name.
The second line always contains the six numbers 3  0  3 6 6 0 (cannot be changed, reserved for future use).
The third line contains the number of curves defining the lofted surface.
For each curve the following information must be given:

The curve number ID and the number of points defining the curve.
The x, y, z coordinate of each point.


Combined curve and surface data files
This file format allows to import several geometry curves or surfaces at once. It must have the ".dst" extension. It contains in fact a list of files (identified by their name) which will be imported into IGG™. Therefore their format must be compatible and can be one of the following: curve data file, wireframe or lofted surface data file, and ".geom" files created by IGG™. An example of such ".dst" file is shown below:
Tutorial geometry file
3
dif1.dat
test.dat
test.geom
where:

The first line contains a comment, not interpreted by IGG™.
The second line contains the number of files that will be imported.
The following lines contain the file names. The corresponding files must be located in the same directory as the ".dst" file.

Block data files
Block data files contain information about the coordinates of structured blocks in Cartesian coordinates and are used to export blocks grid from IGG™ (File/Export/Block Coor... menu) or to import external blocks generated by other grid generators (File/Import/External Grid... menu). An example of such a file is shown below:
Simple 3D Block Coords

3  0  0

21    31   9

3.345   4.1234   .51234
3.435   4.1322   54623
3.945   3.0623   1.5423
...
where: 

The first line contains a comment, not interpreted by IGG™.
The second line always contains the three numbers 3  0  0 (cannot be changed).
The third line contains the number of points in the I, J and K directions (21, 31 and 9 in the example).
The following lines contain the grid point coordinates (x y z) written by using three nested loops over K then J then I:
for K = 1 to Kmax
for J = 1 to Jmax
for I = 1 to Imax
write x y z
end I
end J
end J

Connections

IGG™ is a multiblock structured grid generator. To be able to use such multiblock meshes with a solver, one must know how blocks are located and how they are interacting together. Thus "connections" must be established between block interfaces in order to transfer information from one block to another. Such connections are mandatory to obtain a usable mesh and they are established in IGG™ between patches, which are sub-ranges of a block face. For information about patches definition, see Defining Patches & Boundary Conditions.
On the other hand, beside these patches connections, other connection levels are provided into IGG™ to facilitate the grid generation process. These additional levels are optional though it considerably reduces the number of operations required to insure face grid consistency at the interface between blocks.
Following connection levels are accessible in addition to patches connections:

Vertex
Orphan vertex
Topological edge
Segment

As all these entities are linked together, an order must be followed to perform the connections. Indeed, vertices are used by topological edges and segments are lying on topological edges. Therefore vertices must be connected before topological edges, which ones must be connected before segments. Moreover, any failure or forgotten step in the connection process prevents following other connections. For example, if vertices connections are not performed, the connection between the corresponding topological edges cannot be executed.
The same rule applies to disconnections, but in the reverse order. Indeed, a vertex disconnection implies automatically a topological edge disconnection and thus also the corresponding segment disconnection. On the other hand, a segment disconnection leaves the vertices and edges connected.
Topological connections (vertex, edge, segment) section is specially dedicated to these types of connections.
Finally, a section lists all the several means that can be used in IGG™ to perform connections at different levels: vertex, topological edge, segment and patch (see Connection tools).

Create Face->Project onto Surfaces (T) 
Grid/Create Face/Project onto Surfaces (T) can be used to project a patch of the active face onto the selected surfaces. Each point of the active face is projected using a specified projection vector. 
The following prompt is given to choose the face or a patch of the face that must be projected:
Surface (=0)  or Patch (=1)? (q)
>>   1 
The following prompt is given to choose the patch number:
Patch number? (q)
>>   1 
If the active face contains only one patch, the two previous prompts will not appear.
The following prompt is given to allow the creation of the edges of the active face:
Edge Creation (y/n)? (q)
>>   y
Then, the projection vector must be entered:
Projection vector (q) ?
>> 1 0 0
Validation Level 1, 2 or 3 (q) ?
>>  1 : projection with validation 1 implies that no check is done to validate the projected points.
>>  2 : projection with validation 2 implies that one check is done to choose the nearest projected points (ex: to project a patch on a sphere).
>>  3 : projection with validation 3 implies that checks are done to fill the possible gap in the surface data. It involves also the check of validation 2. A project ratio must be defined. It corresponds to the highest distortion ratio admitted by the projection. A value of 10 is advised.
To exit this command, enter 'q' in the keyboard input area and press <Enter>.

Connect page
This page contains named bars providing options to connect blocks together and to visualize these connections. The following sections describe each bar and are referenced with the bars name.


FIGURE 14 Connect page
For general information about connections, see the dedicated section Connections.
Connection operations can be applied on different entities (see the related bars of the Connect page):

between two grid edges,
between two faces,
for the whole grid at once.

For each one of these tools, the following topological connection levels are accessible:

vertex,
orphan vertex,
topological edge,
segment.

As all these entities are linked together, an order must be followed to perform the connections. Indeed, vertices are used by topological edges and segments are lying on topological edges. Therefore vertices must be connected before topological edges, which ones must be connected before segments. Moreover, any failure or forgotten step in the connection process prevents following other connection types. For example, if vertices connections are not performed, the connection between the corresponding topological edges cannot be executed.
All these tools are using a tolerance determining if the connection is possible or not for the selected level.
Edge - Edge

The connection of two edges requires the selection of a reference edge and a second edge (target). During the different connection operations, IGG™ may need to remap edges affected by the operation. By convention IGG™ keeps the reference edge unchanged and applies the modifications on the second edge only. This is important when an existing edge cannot be modified at all.
Firstly select the two edges to connect together. The following prompt will appear:
Select First Edge (reference) (<1> to select - <2> to acknowledge - <3> to quit)
Left-click on the desired edge and middle-click to confirm the selection. Then, the second edge must be selected in the same way. After that, the dialog box shown in FIGURE 15 will be opened to enable connections at different levels, each level being identified by a button in the dialog box. The All button performs all the connections of the previous buttons, if possible.



FIGURE 15 Edge-Edge connection dialog box
For the first four "topological" levels, an order must be respected as explained in the beginning of this section.
For vertex or orphan vertex connections, the topological edges using the replaced vertex are remapped on the geometry (see Topological connections (vertex, edge, segment)).
For each level, the successfully connected entities are highlighted in green in the graphics area. Entities that were already connected in a previous operation are highlighted in red.
Once a connection is performed, two other edges can be selected to make another connection without leaving the tool.
To quit this tool, press <q> or the right mouse button.
Face - Face
The connection of two faces requires the selection of a reference face and a second face (target). During the different connection operations, IGG™ may need to remap edges affected by the operation. By convention IGG™ keeps the reference face unchanged and applies the modifications on the second face only. This is important when an existing face cannot be modified at all.
Firstly select the two faces to connect together. The prompt shown in FIGURE 16 will appear:
Select First Face (reference) (<1> to select - <2> to acknowledge - <3> to quit)
Left-click on the desired face and middle-click to confirm the selection. Then, the second face must be selected in the same way. After, the following dialog box will be opened to enable connections at different levels, each level being identified by a button in the dialog box. The All button performs all the connections of the previous buttons, if possible.



FIGURE 16 Face-Face connection dialog box
For the first four "topological" levels, an order must be respected as explained in the beginning of this section. On the other hand the Patches level can be applied independently.
For vertex or orphan vertex connections, the topological edges using the replaced vertex are remapped on the geometry (see Topological connections (vertex, edge, segment)).
For patch connections, only matching non periodic connections (CON type) can be found.
For each level, the successfully connected entities are highlighted in green in the graphics area. Entities that were already connected in a previous operation are highlighted in red.
Once a connection is performed, two other faces can be selected to make another connection without leaving the tool.
To quit this tool, press <q> or the right mouse button.
Whole grid
This tool performs the connection for the whole grid at once. The dialog box of the previous section will appear (see FIGURE 16). The All button performs all the connections of the previous buttons, if possible. For each connection level selected by a button, a search is made on the whole grid to find matching entities at the specified tolerance and the connection is performed. As the whole grid is examined, and that a connected entity can be modified, this tool should not be used if any of the block cannot be modified at all.
For the first four "topological" levels, an order must be respected as explained in the beginning of this section. On the other hand the Patches level can be applied independently.
For vertex or orphan vertex connections, the topological edges using the replaced vertex are remapped on the geometry (see Topological connections (vertex, edge, segment)).
For patch connections, only matching non periodic connections (CON type) can be found.
For each level, the successfully connected entities are highlighted in green in the graphics area. Entities that were already connected in a previous operation are highlighted in red.
To quit this tool, press <q> or the right mouse button.
Show Vertex Connections
This bar is used to show the vertex connections. The following prompt will appear:
Select a Vertex <1>, Sweep Connected Blocks <2>, quit <3>
Firstly, a vertex must be selected by left-clicking on it. It is then surrounded by a circle and all the blocks sharing this vertex (all the blocks among which this vertex is connected) are highlighted. Then middle-click to perform a sweeping of these blocks sharing the vertex.
To quit this tool, press <q> or the right mouse button.
Show Edge Connections
This bar is used to show the topological edge connections. The following prompt will appear:
Select a Topo Edge <1>, Sweep Connected Blocks <2>, quit <3>
Firstly, a topological edge must be selected by left-clicking on it. All the blocks sharing this topological edge (all the blocks among which this topological edge is connected) are highlighted. Then middle-click to perform a sweeping of these blocks sharing the topological edge.
To quit this tool, press <q> or the right mouse button.
Show Segment Connections
This bar is used to show the segment connections. The following prompt will appear:
Select a Segment <1>, Sweep Connected Blocks <2>, quit <3>
Firstly, a segment must be selected by left-clicking on it. All the blocks sharing this segment (all the blocks that are connected to this segment) have their boundary grid points displayed. Then middle-click to perform a sweeping of these blocks sharing the segment.
To quit this tool, press <q> or the right mouse button.
Show Face Connections
This bar is used to show the connection status of a face in a global manner. The following prompt will appear:
Select a Face, quit <3>
Firstly, a face must be selected by left-clicking on one of its edges. Following entities are displayed:

all connected vertices, shown as red hollow circles,
all connected segments, shown as red crosses,
all connected patches, shown as red grid lines.

The connections of topological edges are not shown to avoid confusion.
To quit this tool, press <q> or the right mouse button.

Installation & Settings
Basic Installation

When using IGG™ for the first time it is important to verify that IGG™ is properly installed according to the installation note. The installation note provided with the software should be read carefully and the following points are specifically important:

Hardware and operating system requirements should be verified to see whether the chosen machine is supported.
Installation of IGG™ according to the described procedure in a directory chosen by the user and referenced in the installation note as 'NUMECA_INSTALLATION_DIRECTORY'.
A license should be requested which allows for the use of IGG™. 
The license should be installed according to the described procedure in the installation note.
Each user willing to use IGG™ or any other NUMECA software must perform a user configuration as described in the installation note.

When these points are checked the software can be started as described in the installation note or section How to Start IGG™ Interface of this users guide.
Platform Compatibility 
IGG™ projects are 100% compatible across heterogeneous platforms. For example, an IGG™ project can be started on an Windows XP platform, continued on a IBM machine and reloaded on a Linux, without any modification.
Expert Display Options
Graphics Driver
The graphics area of IGG™ interface uses by default an OPENGL driver that takes advantage of the available graphics card. When the activation of OPENGL is source of issues, IGG™ uses an X11 or OPENGL2 driver (on Linux) or MSW driver (for Windows) instead.
It is possible to explicitly change the driver used by IGG™ through a registry key or through preferences:

when launching IGG™ from FINE™ (through Modules menu), the graphic driver will be read from the registry key. Changing the preference will have no effect on it,
when launching IGG™ alone, the graphic driver will be read from the preferences. The registry key will have no effect on it.

Define driver through a registry key
On Linux

in csh, tcsh or bash shell:
setenv NI_DRIVER X11 (or OPENGL2)
in korn shell:
NI_DRIVER=X11 (or OPENGL2)
export NI_DRIVER
The selection will take effect at the next session.


On Windows (when FINE™/Turbo installed):


Log in as Administrator.
Launch regedit from the Start/Run menu.
Go to the HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International/Fine# register.
Modify the DRIVER entry to either OPENGL or MSW.

The selection will take effect at the next session.


Define driver through preferences

The driver used in IGG™ when launched alone can be controlled in the File/Preferences menu in the Graphics page.
The selection will take effect at the next session.


Background & Foreground Colors
The background and foreground colors of the graphics area can be adapted through File/Preferences menu available within IGG™ in the Colors page.

Edge Grid Control
The meshing of a block starts by controlling the grid parameters along the boundaries of the block such as number of points in the I, J and K directions or the clustering along each edge.
Grid points density along edges is controlled by segments. Segments are entities controlling a range of grid points and are delimited by two fixed points. They are mainly used for two purposes:

to locally control the distribution and clustering of grid points along an edge,
to control the number of grid points along edges.

By default an edge has only one segment extending over the whole edge. Adding more segments to an edge is done by inserting fixed points into existing segments. This insertion divides a segment into two new ones.


FIGURE 10 Edge division in segments by using fixed points.
Inserting fixed points into an edge is useful to:

divide grid edges into segments,
capture corners in a geometry. A grid point is then required to be exactly at the corner position,
insure grid consistency.

This last case occurs when internal grid lines are inserted in a face as shown in FIGURE 11.


FIGURE 11 Fixed point insertion through internal grid line creation

During the creation of internal grid lines (IGL), IGG™ automatically inserts a fixed point and a vertex into all crossing edges (boundary edges or existing internal grid lines). Any subsequent modification of that vertex/fixed point will modify the internal line and the boundary edges consistently.
Fixed point control
A fixed point is defined by an index (grid point index) on the edge to which it belongs. When a fixed point is at the intersection of two or more internal grid lines it has several indices, one for each edge. The index of a fixed point directly affects the number of points of its surrounding segments.
By default, a fixed point is constrained to move along its edge. More flexibility can be given to the position of the point by attaching it to a vertex. This is very useful when a fixed point needs to be placed at a geometric corner. In this case, attaching the fixed point to a vertex and placing the vertex to the corner position will achieve the desired effect.
This section describes how to:

create and delete fixed points,
attach a fixed point to a vertex,
change a fixed point index.

To insert a fixed point
Visualize the grid points for the desired edges (See Grid page)

Click on the Insert Fixed Point icon in the Quick Access Pad/Grid Insert/Edit page.



Move the mouse to the desired edge near a grid point to fix. A small marker is displayed when the insertion can be performed.
Left-click to insert a new fixed point. The index of the fixed point will be the one of the closest grid point.
Move the point and left-click again to fix its position.
This fixed point can subsequently be moved as described here below.

To move a fixed point
Move the mouse to the desired fixed point. The index of the fixed point will appear when it can be selected.
Left-click to start moving the point. The fixed point is constrained to move along the edge to which it belongs.
As the fixed point is moved, the two segments surrounding the point are automatically updated and their grid points distribution automatically recalculated.
The face grids touched by this operation are automatically regenerated using an algebraic 4 boundary interpolation. If these faces were generated using other options, like smoothing or projections on surfaces, they will need to be explicitly regenerated with the Regenerate Faces option (see Face Generation).


Left-click to stop the modification.
To delete a fixed point
Move the mouse to the desired fixed point. The index of the fixed point will appear when it can be selected.
Right-click to pop-up a menu for the fixed point. Notice that this menu is context sensitive and only displays menu items when applicable to the fixed point.



Select the Delete menu item to delete the fixed point.
Fixed points at the intersection of two internal edges cannot be deleted.
To change the index of a fixed point
Move the mouse to the desired fixed point. The index (indices) of the fixed point will appear when it can be selected.
When fixed points are at the intersection of two internal grid lines or when they are connected to others (as a consequence of connected segments), several indices will appear. 
Right-click to pop-up a menu for the fixed point.



Select the menu item corresponding to the desired index that will be changed.
A prompt will appear to enter the new index in the keyboard input area. Enter the new value and press <Enter>.
Changing the index of the fixed point automatically changes the number of points controlled by its surrounding segments, as shown in FIGURE 12.


FIGURE 12 Changing the index of a fixed point
When a fixed point is belonging to an internal edge or to an internal face, IGG™ keeps grid consistency by automatically changing the index for the internal edge or face.
To attach a fixed point to a vertex

To attach a fixed point to a vertex, the vertex must first exist. If this is not the case, create one vertex as indicated in the Adding/deleting vertices section and place it near the fixed point.
Right-click on the vertex to pop-up the menu.



Select the Attach Fixed Point menu item. The vertex and fixed point markers are merged as a diamond, indicating that the vertex is attached to the fixed point.
The fixed point can now be moved by moving its vertex.

Segment control


To increase or decrease the number of grid points on a segment

Right-click on the desired segment to pop-up the menu in the margin. The segment gets activated. Further, go to the Segment sub-menu.
Select the Set Number of Points menu item. The dialog box shown in FIGURE 13 will appear:



FIGURE 13 Set number of points dialog box
Enter the new number of points for the segment. The fixed point indices will be automatically updated according to the new number of points.
The Propagate button indicates whether segment resizing should also be applied to the blocks connected to the active block. If propagation is disabled, the modification of the number of points will only be applied to the active block and the segment connections (parallel to the reference segment) with other blocks will be deleted to keep consistency.
The Preview button evaluates the effect of a segment resizing on the active block and all the blocks connected through a segment connection. The segments affected by the evaluation will be highlighted in yellow. When a resizing cannot be propagated along a specific connection, the connection responsible for the failure will be highlighted in red with a message in the graphics area. 
Press the Apply button. It evaluates and applies the segment resizing on the active block and all the connected blocks. This operation will reflect the operations explained for the Preview button. Each segment affected by the operation will have its grid points visualized, until the closing of the dialog box. When a resizing cannot be propagated along a specific connection, the connection will be deleted to avoid inconsistencies after propagation. A message will appear at the deleted connection(s).
The total number of points for the edge, as well as all other edges along the same direction, are automatically adapted and the faces touched by this operation are regenerated using an algebraic 4 boundary interpolation.
See the Grid Settings for more information on changing the number of points.
To control the clustering along segments

Left-click to select the desired segment.
Click on the Cluster Points icon in the Quick Access Pad/Grid/Edit page. This option can also be accessed via the pop-up menu obtained by right-clicking on the segment (Segment/Distribution).



The Clustering dialog box shown in FIGURE 14 is opened.
Select the desired clustering type (for example At Start).
Enter the required values in the fields ("Initial Spacing" entry for the previous example).
Press the Apply to seg button to apply the clustering on the active segment.

When several segments need having the same clustering, they can be put in a clustering group on which a same clustering will be applied.


FIGURE 14 Clustering dialog box
To define a clustering group

Press the Define/Edit group button of the Clustering dialog box. The Clustering groups dialog box shown in FIGURE 15 is opened:


FIGURE 15 Clustering group dialog box
Press the Create button. An additional field is opened to enter the group name.
Enter a group name and press <Enter> to create the group.
A tool is launched into IGG™ to add segments in the group. Select the desired segments with left-click (<1>), add the selected segment in the group by middle-click (<2>), then right-click (<3>) to quit the tool.



The group and its segments appear in the list of the Clustering groups dialog box. They can be visualized in the graphics area by left-clicking repeatedly on their name.

To control the clustering on a group

In the Clustering dialog box, select a group in the Group area.
Select the desired clustering type and enter the required values in the fields, just as for a single segment.
Press the Apply to group button to apply the clustering on the selected group.

Geometry Commands
Geometry commands are provided as global functions or through classes. The main classes are: Point, Curve and Surface.
When performing intersections, the resulting curves number or orientation is not deterministic. We recommend to introduce a check in the script to take into account this aspect and to make the script more robust.
Global Functions

reset_geometry_counters() 
Reset the geometry repository counters for all created and imported curves and surfaces. After executing this command, newly created or imported geometry will be numbered starting from 1.
import_data_file(filename,mode)
Imports a geometry file in the current project.
filename specifies the name of the file and must have the extension ".dat", ".dst" or ".geom".
mode is used to specify the importation mode in the case where curves or surfaces with the same name are already exists in the geometry repository. Possible values are "REPLACE", "IGNORE", "RENAME".
Example: import_data_file("modified_volute.dat","REPLACE")
Note: the quotes around filename and the keyword REPLACE are needed.
import_iges_file(filename)
Imports an IGES file in the current project.
save_geometry_entities(filename,list_entities)
Saves the geometry entities in the specified file.
list_entities is the list of curves and/or surfaces (specified with their name or as an object).
save_curve_ctr_points(filename,curve)
Saves the coordinates of the curve control points in the specified file.
set_geometry_abs_tol(tol)
Sets the absolute tolerance of the system. This tolerance is for example used when performing geometry or topology operations.
get_all_curves(view)
Returns a list of all objects of Curve class in the active view.
view is an optional argument to specify the active view if different from the working view.
 get_all_curves_name(view)
Returns a list of the names of all curves in the active view.
view is an optional argument to specify the active view if different from the working view.
get_all_surfaces(view)
Returns a list of all objects of Surface class in the active view.
view is an optional argument to specify the active view if different from the working view.
get_all_surfaces_name(view)
Returns a list of the names of all surfaces in the active view.
view is an optional argument to specify the active view if different from the working view.
geom_duplicate(curve_list,surface_list,prefix)
Copies a list of curves and/or surfaces
prefix is an optional string that can be specified to easily recognize the copied geometrical entities. When specified, the prefix is appended to the curve and surface names.
geometry_rotate(origin,direction,angle,mode,prefix,list_curves, list_surfaces)
Rotates a list of curves and/or surfaces around a given axis.
origin and direction specify the rotation axis.
angle is the angle of rotation in degrees.
mode is the transformation mode: 

1 if the transformed curves/surfaces are not body edges/faces. In case of body edges/faces, no transformation will be performed.
2 if the transformed curves/surfaces are body edges/faces and the concerned bodies will also be transformed.
3 if the transformed curves/surfaces are body edges/faces and the concerned bodies will not be transformed. In this case the concerned curves/surfaces will be duplicated (with a prefix in front of their name) before transformation.

prefix is the prefix added in front of the transformed entity (curves/surfaces) name when mode is set to 3.
list_curves and list_surfaces are the lists of curves and surfaces (specified with their name or as an object).
geometry_translate(direction,mode,prefix,list_curves,list_surfaces)
Translates a list of curves and/or surfaces along a given direction.
direction is the translation direction, in direction and magnitude.
mode is the transformation mode:

1 if the transformed curves/surfaces are not body edges/faces. In case of body edges/faces, no transformation will be performed.
2 if the transformed curves/surfaces are body edges/faces and the concerned bodies will also be transformed.
 3 if the transformed curves/surfaces are body edges/faces and the concerned bodies will not be transformed. In this case the concerned curves/surfaces will be duplicated (with a prefix in front of their name) before transformation.

prefix is the prefix added in front of the transformed entity (curves/surfaces) name when mode is set to 3.
list_curves and list_surfaces are the lists of curves and surfaces (specified with their name or as an object).
mirror(origin,direction,mode,prefix,list_curves,list_surfaces)
Mirrors a list of curves and/or surfaces with respect to a given plane.
origin and direction specify the mirror plane.
mode is the transformation mode:

1 if the transformed curves/surfaces are not body edges/faces. In case of body edges/faces, no transformation will be performed.
2 if the transformed curves/surfaces are body edges/faces and the concerned bodies will also be transformed.
3 if the transformed curves/surfaces are body edges/faces and the concerned bodies will not be transformed. In this case the concerned curves/surfaces will be duplicated (with a prefix in front of their name) before transformation.

prefix is the prefix added in front of the mirrored entity (curves/surfaces) name when mode is set to 3.
list_curves and list_surfaces are the lists of curves and surfaces (specified with their name or as an object).
geometry_scale(scale_vector,mode,prefix,list_curves,list_surfaces)
Scales a list of curves and/or surfaces around a given axis.
scale_vector specifies the scale factors along x, y and z in the form of an object of class Vector. These values should be different from zero.
mode is the transformation mode:

1 if the transformed curves/surfaces are not body edges/faces. In case of body edges/faces, no transformation will be performed.
2 if the transformed curves/surfaces are body edges/faces and the concerned bodies will also be transformed.
3 if the transformed curves/surfaces are body edges/faces and the concerned bodies will not be transformed. In this case the concerned curves/surfaces will be duplicated (with a prefix in front of their name) before transformation.

prefix is the prefix added in front of the scaled entity (curves/surfaces) name when mode is set to 3.
list_curves and list_surfaces are the lists of curves and surfaces (specified with their name or as an object).
Example: 
	# scale the entities that are not body edges or surfaces by a factor 2 along the z axis, and a factor 1 along x, y. 
 geometry_scale(Vector(1,1,2),1,"",[Curve("curve_1"),Curve("curve_2")],[Surface("surface_1")])
group_curves(tolerance,curve_list)
Groups a list of curves if under a given tolerance.
tolerance specifies the value over which the curves will be joined.
ungroup_curves(curve_list)
Ungroups a list of curves.
convert_to_cspline(nb_points,distrib_type,ratio,weight,curve_list)
Converts the selected curves into C-splines with a specified number of control points nb_points specifies the number of control points.
distrib_type specifies the control points distribution.
ratio specifies the maximum curvature ratio if distrib_type set to 1.
weight specifies the curvature weight if distrib_type set to 1.
export_to_iges(filename,unit_flag)
Exports the geometrical entities in a IGES format.
unit_flag specifies the geometry length unit (for example 2 for [Millimeter]).
export_to_parasolid(filename,list_entities)
Exports the selected entities in a Parasolid format.
list_entities is the list of curves and/or surfaces (specified with their name or as an object).

Point & Vector Classes
Two types of points can be constructed or manipulated within scripts:

Points that are local to scripts and deleted when the script finishes. These points are used very frequently as argument to functions to specify a 1D position such as a vertex position, for example.

Points that are created and stored in the geometry repository of IGG™. Such points typically result from operations performed on curves or surfaces, such as curve-plane intersections. These points are saved permanently when saving the IGG™ project, in the ".geom" file.

IGG™ currently supports four classes for the creation of points of the first type within scripts: Point, Vector, CurvePointNorm, SurfPointNorm.

Point(x,y,z)
Vector(x,y,z)
Defines a point with coordinates x, y, z. This point is NOT created as a Cartesian Point in the IGG™ repository. It is only local to the script. Vector class is just derived from Point class and is used frequently as argument to functions to specify a direction. All operations on Points are also available on Vectors.
Example: 
p1 = Point(1,1.2,1+2) 	# create a point (class Point) with coords (1,1.2,3)
CurvePointNorm(curve_name,normalized_position)
Defines a point on a curve given by its name at a normalized parameter position. This kind of point is local to the script.
SurfPointNorm (surf_name,normalized_u_pos,normalized_v_pos)
Defines a point on a surface given by its name and located at the normalized (u,v) parameters. This kind of point is local to the script.
get_perpendicular_dir()
Returns a new Vector object perpendicular to an existing Vector.
rotate(line,angle)
Returns a new Point object by rotating an existing Point around a line by a specified angle (in degree)
		Points and Vectors coordinates can be accessed by calling directly their data members: x, y, and z. Global operations on points are: +,-,/,*
Basic operations like adding or subtracting points are allowed.
Example:
p1 = Point(0,0,1)

print p1.x, p1.,y, p1.z
p2 = p1 + Point(0,0,1)

p3 = p2 - p1

p3 = p3/4.0		 # divide all x, y, z coords by 4.0
p5=p3*2.0		 # multiply x, y, z coords by 2.0

IGG™ currently supports one class for the creation of points of the second type within scripts: CartesianPoint.

CartesianPoint(p)
delete()
Deletes the Cartesian Point.
distance(p1,p2)
Computes the distance between two points.
Example: dist = distance(p1,p2)

radial_distance(point,origin,axis)

Returns the distance between a point and a line defined by its origin (by default set to (0,0,0)) and its direction (by default set to (0,0,1)). The distance is measured perpendicularly to the line.
scalarProduct(p1,p2)
crossProduct(p1,p2)
	Computes the cross product or scalar product of two vectors.
Example:
v3 = crossProduct(p1,p3)	 # returns a Vector
a  = scalarProduct(p1,p3)	 # returns a real stored in 'a'
curve_curve_intersection(curve_list,tol)
Creates a Cartesian point at each intersection between all curves of the list. Returns the list of points.
curve_plane_intersection(point,vector,curve_list)
Creates a Cartesian point at each intersection between all curves of the list and the plane specified by a point and its normal. Returns the list of points.
curve_surface_intersection(surf,curve_list)
Creates a Cartesian point at each intersection between all curves of the list and the surface. Returns the list of points.
surf is the surface specified with its name or through a Surface object.
intersect_line_plane(line,plane)
Creates a Point object which is the intersection between the line and the plane.

Line Class
The Line class is used to define an infinite line by a Point (p) and a normalized Vector (v) or by the intersection of two planes.

Line(p,v)
Line(plane1,plane2)
get_point_at_param(t)
Returns a Point object which is defined on the line at a specified arc length parameter t.

Plane Class
The Plane class is used to define a plane by a point and a vector (normal to the plane).

Plane(p,v)

PlanePPP Class
The PlanePPP class is derived from Plane class and defines a plane by three points

PlanePPP(p1,p2,p3)

Range Class
The Range class is mostly used to specify a range of a face during an operation on this face.

Range(imin,imax,jmin,jmax)
Constructs a range by specifying the limits along the I and J directions. These directions are relative to the face for which the range will be used.
The indices start from 1.
imin, imax, jmin, jmax:
These are data members allowing to access the limits of the range. They can be accessed directly, without the need of a function call.
Example:
r = Range(3,5,1,10)		 # range [3,5],[1,10]
print "Imax is ",r.imax	 # print the imax value of the range

IJKRange Class
The IJKrange class is mostly used to specify a range of a block during an operation on this block.

IJKRange(imin,imax,jmin,jmax,kmin,kmax)
Constructs a range by specifying the limits along the I, J and K directions. These directions are relative to the block for which the range will be used.
The indices start from 1.
imin, imax, jmin, jmax, kmin, kmax:
These are data members allowing to access the limits of the range. They can be accessed directly, without the need of a function call.
Example:
r = IJKRange(3,5,1,10,1,7) # range [3,5],[1,10],[1,7]
print "Imax is ",r.imax # print the imax value of the range

Box Class
The Box class is mostly used to define the bounding box of a geometrical entity.

Box([xmin,xmax,ymin,ymax,zmin,zmax])
Constructs a bounding box by specifying the limits along the x, y and z directions.
xmin, xmax, ymin, ymax, zmin, zmax:
These are data members allowing to access the limits of the bounding box. They can be accessed directly, without the need of a function call.
Example:
r = Box([3,5,1,10,1,7]) # bounding box defined with x=[3,5],y=[1,10],z=[1,7]
print "Xmax is "r.xmax # print the xmax value of the bounding box
h.1) Member functions
get_min_size()
	Returns the minimum length of the box.
get_max_size()
Returns the maximum length of the box.
get_min()/origin()
	Returns the minimum point (origin) of the box as an object of class Point.
get_max()
	Returns the maximum point of the box as an object of class Point.
get_center()
	Returns the center of the box as an object of class Point.
dx()/dy()/dz()
	Returns the length of the box along x, y and z.
contains(item)
	Returns 1 or 0 if the item (object of class Point or class Box) is included or not in the box.
inflate(alpha)
	Allows to inflate the box by a factor alpha.
printo()
	Returns the minimum and maximum points of the box.

BoxRTZ Class
The BoxRTZ class is mostly used to define the bounding box of a geometrical entity in RTZ coordinates.

BoxRTZ([rmin,rmax,thetamin,thetamax,zmin,zmax])
Constructs a bounding box by specifying the limits along the r, theta and z directions.
rmin, rmax, thetamin, thetamax, zmin, zmax:
These are data members allowing to access the limits of the bounding box. They can be accessed directly, without the need of a function call.

Curve Class
The Curve class is used to manipulate curves defined within IGG™. They are mostly used to create higher level entities like surfaces or as a mean to place vertices of a block. Curves can be created from the script file or accessed from the geometry repository. They can be accessed with their name and can be stored as local object of type Curve.

Curve(name)
Constructor for Curve class allowing to access an existing curve already defined in IGG™.
Example: c1 = Curve("polyline_1")	 # polyline_1 is the name of a curve in IGG™

Member functions

num_ctr_pnt()
	Returns the number of control points of the curve.
get_control_point(i) (New in IGG™ v13.1)
Returns the ith control point of the curve as an object of class Point. Index starts from 1.
first_ctr_pnt()
last_ctr_pnt()
	Returns the first and last control point of the curve.
start_point()
end_point()
	.Returns the first and last point (CurvePointNorm object) of the curve.
set_discretisation(n)
	Set the curve discretization to n.
n is the number of points to discretize the curve.
get_length()
	Returns the length of the curve.
get_p_min()
get_p_max() 
delta_p()
	Return respectively the min, max and difference (max-min) parameter value of the curve.
calc_point(param)
Returns the point at the parameter value param. The returned point is an object of class Point.
param is an absolute parameter value between get_p_min() and get_p_max().
calc_absolute(param_rel)
Returns the absolute position of the parameter value param_rel.
param_rel is a relative parameter value between 0 and 1.
calc_normalize(param)
Returns the relative position of the parameter value param.
param is an absolute parameter value between get_p_min() and get_p_max().
get_tangent(param)
Returns the tangent at the parameter value param. The returned value is an object of class Vector.
param is an absolute parameter value between get_p_min() and get_p_max().
get_box()
Returns the bounding box limits of the curve. The returned value is an object of class Box.
project_point(point)
Projects a point onto the curve and returns the corresponding absolute parameter value.
point is the point to project and is of class Point. If the specified point is not on the curve, the closest point on the curve is used instead.
Example:
p1 = Point(1,1,1)
abs_param = curve1.project_point(p1)	 # curve1 is an existing curve
p2 = curve1.calc_point(abs_param)		 # calc the point on the curve
(p1==p2 if p1 was on the curve)
select()
unselect()
Selects and deselects the curve.
set_name(name)
Assigns a new name to the curve. The name must be unique and not already used by another curve in the repository. If this condition is not met, an exception is raised.
get_name()
Returns the name of the curve.
show()
hide()
Shows and hides the curve.
reverse()
Reverses curve orientation. To reverse also the curve parametrization the argument is set to 1. In that way, the vertex position is changed when reversing the curve.
add_point(p)
Adds a control point on the curve. The type of <p> can be one of the Point classes
insert_point(i,p)
Inserts a control point on the curve at ith location.
remove_point(i)
Removes the ith control point on the curve.
move_point(i,p)
Moves the ith control point on the curve at <p> location.
split(p)
Splits the curve at its absolute parameter position <p>.
distribute_points(distribution)
Returns a list of points (Point class objects) on the selected curve distributed according to an imposed distribution (Distribution class). The list will always contain the first and the last point of the curve.

Curve constructions (global functions)

Several functions are provided to create polylines, splines, arcs,…. These functions create a curve entity in the IGG™ repository (saved with the project), which is returned within the script as an object of type Curve.
new_polyline()
new_polyline(p1,..,pi)
new_polyline(name,p1,...pi)
Constructs a polyline in the IGG™ geometry repository. The first function defines an empty polyline. The other functions allow to specify points of the polyline. These points are objects of class Point.
name is a unique name assigned to the curve. This argument is optional but it is however strongly recommended to specify a name. It must be surrounded by quotes.
Example: p3 = new_polyline("poly1",Point(1,0,0),Point(1,1,0),Point(1,1,1))
new_cspline()
new_cspline (p1,..,pi)
new_cspline (name,p1,...pi)
Constructs a cspline in the IGG™ geometry repository. See polyline for details about arguments.
new_bspline()
new_bspline (p1,..,pi)
new_bspline (name,p1,...pi)
Constructs a B-spline in the IGG™ geometry repository. See polyline for details about arguments.
create_circle_ppp(startpoint,endpoint,midpoint,name)
Creates an circle through three points. 
name specifies the name assigned to the circle. The name may not already be used by another curve in the repository.
create_arc_ppp(startpoint,endpoint,midpoint,name)
Creates an arc through three points. 
name specifies the name assigned to the arc. The name may not already be used by another curve in the repository.
create_arc_cnpp(orig,normal,startpoint,endpoint,name)
Creates an arc through two points and perpendicular to an anchored vector.
origin specifies the anchor point.
normal specifies the anchor vector direction.
name specifies the name assigned to the arc. The name may not already be used by another curve in the repository.
create_arc_nppr(normal,startpoint,endpoint,radius,sense,name)
Creates an arc through two points with a given radius and perpendicular to a normal.
normal specifies the normal vector.
radius specifies the arc radius.
sense specifies the arc position.
name specifies the name assigned to the arc. The name may not already be used by another curve in the repository.
create_circle_ncr(normal,orig,radius,name)
Creates a circle with a given radius, origin and in a plane defined by a normal and its origin. 
normal specifies the normal vector.
origin specifies the circle origin.
radius specifies the circle radius.
name specifies the name assigned to the circle. The name may not already be used by another curve in the repository.
surf_surf_intersection(surf1,surf2,root_name)
Intersects two surfaces and returns a list of curves. 
surf1 and surf2 are the two surfaces specified with their name or through a Surface object.
root_name specifies the root of the names assigned to the resulting intersection curves. It must be surrounded by quotes.
Example:
 curve_list = surf_surf_intersection(s1,"surface_2","first_inters")
 for each curve in curve_list: print 'Result length',curve.length()
surface_intersect_plane(surf,plane,root_name)
Intersects a surface with a plane.
surf is the surface being intersected. It is of class Surface.
plane defines the intersection plane and may be specified in three ways:
Plane(origin,normal):
Defines the plane by an origin (class Point) and a normal (class Vector)
PlanePPP(p1,p2,p3):
Defines the plane by three points (class Point)
CurveNormPoint(curve,normalized_param):
Defines the plane by a point on a curve at the specified normalized parameter and normal to the curve at the point.
root_name specifies the root of the names assigned to the resulting intersection curves. It must be surrounded by quotes.
Examples:
surface_intersect_plane("surf2",Plane(Point(0.5,0,0),Vector(1,0,0)),"resu1")
surface_intersect_plane("surf2",CurveNormPoint("curve1",0.5),"resu1")
surfaces_intersect_plane(surf_list,plane,root_name)
Intersects a surface with a plane.
surf_list is the list of surfaces being intersected.
plane defines the intersection plane and may be specified in three ways:
Plane(origin,normal):
Defines the plane by an origin (class Point) and a normal (class Vector)
PlanePPP(p1,p2,p3):
Defines the plane by three points (class Point)
CurveNormPoint(curve,normalized_param):
Defines the plane by a point on a curve at the specified normalized parameter and normal to the curve at the point.
root_name specifies the root of the names assigned to the resulting intersection curves. It must be surrounded by quotes.
project_on_surface(surface,normal) 
Projects the curve on the surface according to the specified normal. Intersection curves are returned in a list.
extend_curves(start_extend,end_extend,curve_list)
            
Extends a set of curves at one or both ends in the direction tangent to the curve at the end points. Returns a list of curves.
curve_list is the list of curves to be extended (i.e. c1,c2,c3). The curves are specified with their name or as an object of class Curve.
offset_curves(normal,start_offset,curve_list)
Creates curves by offsetting a set of curve with a constant offset distance. Returns a list of curves.
offset_curves_linear(normal,start_offset,end_offset,curve_list)
Creates curves by offsetting a set of curve with two offset distances. These distances correspond respectively to the offset at the beginning and at the end of the curve. Returns a list of curves.
trim_curve(curve,param)
Creates curve by removing part of it from a location defined by the parameter value param.
param is an absolute parameter value between get_p_min() and get_p_max().
set_curve_discretization(n,curve_list)
	Set the curve discretization to n.
n is the number of points to discretize the curve.
delete_curves(curve_list)
Deletes a set of curves.

Surface Class
Surfaces can be created from the script file or accessed from the geometry repository. They can be accessed with their name and can be stored as local object of type Surface.

Surface(name)

Constructor for Surface class allowing to access an existing surface already defined in IGG™.
Example: s1 = Surface("lofted_1")	 # lofted_1 is the name of a surface in IGG™
Member functions

get_boundary_curves()
Returns the list of the curves defining the surface boundaries.
get_boundary_curve(i)
Returns the ith curve of the list of the curves defining the surface boundaries.
get_lofting_curves()
Returns the list of the curves defining the lofted surface.
split(dir,param)
Splits the surface along a u, v curve defined by the parameter value param.
dir is the u or v direction.
param is an absolute parameter value.
get_box()
Returns the bounding box limits of the surface. The returned value is an object of class Box.
get_uv_box()
Returns the u and v limits of the surface. The returned value is an object of class Range.
calc_point(u,v)
Returns the point at the parameter values u,v. The returned point is an object of class Point.
u and v are the absolute parameter values on the surface.
calc_absolute(u,v)
Returns a 2-tupel with the absolute parameter values corresponding to the given relative ones.
u and v are the relative parameter values on the surface.
add_uv_curve(param,dir)
Adds u and v curves in the surface.
param is an absolute parameter value.
dir is the u or v direction.
project_point(point)
Projects a point onto the surface and returns the corresponding (u,v) absolute parameter values.
point is the point to project and is of class Point. If the specified point is not on the surface, the closest point on the surface is used instead.
u,v are returned as a list [u,v].
Example:
p1 = Point(1,1,1)
[u,v] = surf1.project_point(p1)	 # surf1 is an existing surface
p2 = surf1.calc_point(u,v)		 # calc the point using u and v
(p1==p2 if p1 was on the surface)
set_name(name)
Assigns a new name to the surface. The name must be unique and not already used by another surface in the repository. If this condition is not met, an exception is raised.
get_name()
Returns the name of the surface.
select()
unselect()
Selects and deselects the surface.
show()

hide()
Shows and hides the surface.
delete()
Deletes the surface.

Surface constructions (global functions)

lofted_surface(curve_list,name,rename_bnd_curve)
Constructs a lofted surface from a list of existing curves. A curve may be specified by its name of by an object referencing the curve in the script (class Curve). 
curve_list is the list of curves used to define the surface. It is a tuple and must be surrounded by brackets (i.e. [c1,c2,c3]). The curves are specified with their name or as an object of class Curve.
name is an optional name assigned to the surface.
rename_bnd_curve is an optional renaming of the bounding curves of the surface based on the surface name (active when set to 1).
Example: 
s1 = lofted_surface(["curve_1","curve_2"],"first_loft",1)
surface_revolution(curve,Point(0,1,0),Vector(1,0,0),-90,"Surfacesisl_2")
Constructs a surface of revolution by rotating a curve around an axis.
curve is the curve to rotate and can be specified by its name or can be an existing object of class Curve in the script.
create_surface_from_face(face,name,rename_bnd_curve,surface_order)
Constructs a wireframe surface from a given face of a block.
face is the face from which to create a geometry surface and must be of class Face.
The function returns an object of class Surface.
name is an optional name assigned to the surface.
rename_bnd_curve is an optional renaming of the bounding curves of the surface based on the surface name (active when set to 1).
surface_order is an optional order of the created wireframe. By default order 2 is applied but order 3 can be imposed.
coons_surface(curve1,curve2,curve3,curve4,name,rename_bnd_curve)
Constructs a surface from four curves.
curve is a curve defining the one of the four surface boundaries and must be of class Curve.
name is an optional name assigned to the surface.
rename_bnd_curve is an optional renaming of the bounding curves of the surface based on the surface name (active when set to 1).
linear_sweep_surface(curve1,curve2,name,rename_bnd_curve)
Constructs a surface from two curves.
curve is a curve defining the surface and must be of class Curve.
name is an optional name assigned to the surface.
rename_bnd_curve is an optional renaming of the bounding curves of the surface based on the surface name (active when set to 1).
offset_surface(surface,offset_dist,name,rename_bnd_curve)
Constructs a surface by offsetting a surface according to an constant offset distance.
name is an optional name assigned to the surface.
rename_bnd_curve is an optional renaming of the bounding curves of the surface based on the surface name (active when set to 1).
surfaces_set_representation(surf_list,n1,n2)
Defines additional curves in the two parametric directions of the surface.
create_surface_from_faces(faces)
Constructs a set of surfaces from a list of block faces.
extract_underlying_surfaces(surf_list)
Extracts underlying surfaces from a list of surfaces.
split_by_surface(surf,root_name)
Constructs surfaces by splitting the surface with the surface surf.
surf defines the surface used to split (class Surface). 
root_name specifies the root of the names assigned to the resulting surfaces. It must be surrounded by quotes.
split_by_plane(plane,root_name)
Constructs surfaces by splitting the surface by a plane plane.
plane defines the plane used for the splitting and may be specified in three ways:

Plane(origin,normal):
Defines the plane by an origin (class Point) and a normal (class Vector)
PlanePPP(p1,p2,p3):
Defines the plane by three points (class Point)
CurveNormPoint(curve,normalized_param):
Defines the plane by a point on a curve at the specified normalized parameter and normal to the curve at the point.

root_name specifies the root of the names assigned to the resulting surfaces. It must be surrounded by quotes.
surfaces_plane_split(surf_list,plane,root_name)
Constructs surfaces by splitting the surfaces in the list by a plane plane.
surf_list is the list of surfaces being split.
plane defines the plane used for the splitting and may be specified in three ways:

Plane(origin,normal):
Defines the plane by an origin (class Point) and a normal (class Vector)
PlanePPP(p1,p2,p3):
Defines the plane by three points (class Point)
CurveNormPoint(curve,normalized_param):
Defines the plane by a point on a curve at the specified normalized parameter and normal to the curve at the point.

root_name specifies the root of the names assigned to the resulting surfaces. It must be surrounded by quotes.
delete_surfaces(surface_list)
Deletes a set of surfaces.

GeomGroup Class
The GeometryGroup class allows to classify geometrical entities by grouping them under the same name.

GeomGroup(name)

Constructor for GeomGroup class allowing to access an existing geometry group already defined in IGG™.
Member functions

add_items(entity)
Adds geometrical entities in the geometry group.
entity is a curve, surface, list of curves or list of surfaces
remove_items(entity)
Removes geometrical entities from the geometry group.
entity is a curve, surface, list of curves or list of surfaces
get_curves()

Returns a list of all curves in the geometry group.
get_curve_names()

Returns a list of all curve names in the geometry group.
get_surfaces()

Returns a list of all surfaces in the geometry group.
get_surface_names()
Returns a list of all surface names in the geometry group.
delete()
Deletes the geometry group.

Global functions

geometry_group(group_name)
Returns a geometry group (GeomGroup class) by giving its name.
create_geometry_group(name,entity)
Creates a new geometry group by giving its name.
entity is a curve, surface, list of curves or list of surfaces

Periodicity
Grid/Periodicity... menu is used to define the periodicity for each block of the grid to generate. It can be done in the dialog box shown in FIGURE 2:


FIGURE 2 Periodicity dialog box
The first thing to choose is the Block(s). Four possibilities are available (simply left-click on the desired one in the box):

Active Block. Select only the active block.
Selected Block(s). Select the desired blocks by entering with the keyboard their number in the dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be selected by entering two numbers separated by a '-'. For example, enter '4 6 10-15' to select the blocks 4, 6 and the range 10->15. The numbers do not have to be ordered. If a syntax error is made, a warning message will appear.
Block Group. Select all the blocks of the group. To see all the group names and select the desired one, left-click on the dedicated arrow.
All Blocks. Select all blocks of the project.

Next, the type of periodicty which will be applied to the block(s) must be selected. There are four types available: none, rotation, translation and mirror. Simply left-click on it to select one type.

None: When no periodicity are specified on block(s).
Rotation: A rotation periodicity rotates a block around a given axis by a specified angle. The rotation axis is specified by a rotation axis direction (axis) and an anchor point (origin). The angle is indirectly specified by indicating the number of periodicities for the block (e.g. a compressor with 4 blades should have a number of periodicities of 4) and the number of meshed passages is directly specified. Default values set for origin and axis are (0,0,0) and (0,0,1) respectively.
Translation: A translation periodicity, e.g. a cascade in turbomachinery, is obtained by specifying a translation vector, in direction and magnitude. For example, a translation vector of (0,0,2) will repeat a block along the Z axis by 2 absolute units. Default axis is set to (0,0,0). I.e. no translation.
Mirror: A mirror periodicity mirrors a block with respect to a symmetry plane and is specified by the origin and normal of the mirror plane. Default values set for origin and axis are (0,0,0) and (0,0,1) respectively.

When selecting Rotation, Translation or Mirror repetition type, if the first block in the selection block list has a different repetition type the default values are set for the origin and axis. 
If the first block in the selected block list has the same repetition type then the values of the parameters in the dialog box are set to the values stored in the block repetition. 
The dialog box contains also three buttons at the bottom:

View/Hide Selection: it highlights the selected block(s) in the graphics area.
Apply: it applies the current settings to the specified block(s).
Close: it closes the dialog box.

For 2D projects, the global distance of extrusion of all the mesh along the Z axis can also be controlled by the dialog box shown in FIGURE 3 through an additional item: Global 2D translation.


FIGURE 3 Control of the global distance of extrusion for 2D projects
If the 2D project is a new one, the default value is 1. Otherwise the value of the 2D project, which is loaded is displayed. This value has an influence on the solver convergence and should be set according to the mesh size. In particular for the flow solver, the value should not be lower than the smaller cell of the mesh, otherwise it can slow down the convergence.
For axisymmetric projects, the periodicity is automatically set in agreement with the settings of the axisymmetric configuration defined with the menu File/Project Configuration....


FIGURE 4 Control of the periodicity for axisymmetric projects

Create Block->Rotation
Grid/Create Block/Rotation menu item is used to create a block grid by rotating the active face grid around a coordinate axis by a user-specified angle. Only the vertices of the block will be mapped but the edges will not. This means also that the faces of the block on the generated underlying geometry will not lie on the surfaces of revolution created when answering yes to the question Create Geometry?.
Before using this option, the number of points in the theta direction can be increased in the dialog box Topology Settings (Grid/Grid Settings). It is also possible afterwards to increase and to change points distribution on segments and then reapply the creation by rotation which will take the number of points and perpendicular distributions into account.
The required inputs are entered from the keyboard input area.
During the rotation, the boundary edges can be created using the boundary grid nodes of the generated block:
Edge creation (y/n)?  (q)

>>  y	
The following prompts are given to specify the rotation parameters:
Rotation axis : (x=0, y=1, z=2) (q)

>>   1	
Angle  (-360...360 deg) (q)

>>   60

Next, IGG™ will ask to create the geometry. 
Create Geometry ? (y/n) (q)

>>   y
This geometry consists of NURBS surfaces representing the lateral faces of the block. It is strongly advised to create these surfaces so that any later modification of a vertex of the block will automatically map the touched edges onto these surfaces. Without these surfaces, the touched edges (or any new internal grid lines) would be drawn as straight lines. 
After the creation of the block grid, it is possible to intersect a selected geometry surface and adapt the new block according to the intersection. The following prompt is given to ask for intersection: 
Intersect selected surface ? (y/n) (q)

>>   y
The geometry surface must have been previously selected using the Geometry/Select/Surfaces menu item to use this option.
To quit this command, enter 'q' in the keyboard input area and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Grid/Create page.
When selecting a face from a 3D block, the original block is removed when creating a new block using Rotation.

Merge Patches
Grid/Merge Patches is used after imposing the boundary conditions and splitting block faces (Patch definition and editing), to perform an automatic process to merge the patches belonging to the same face and presenting the same boundary conditions. 


FIGURE 33 Patch merging operation with geometry representation
FIGURE 33 shows a face (white) having 16 patches connected to the green face with a full non-matching connection. After the selection of the Merge Patches option from the Grid menu it reduces the number of patches of the white face from 16 to 6 automatically. This functionality also helps in reducing the engineering time for defining the boundary conditions within FINE™ GUI by decreasing the number of patches.

Topological connections (vertex, edge, segment)
Vertex connection
A vertex belongs to a topological edge. The connection consists of searching matching vertices at a specified tolerance and to merge them by replacing one by the other (the second vertex is replaced by the first one in the definition of its topological edge). So after the connection, the two topological edges are sharing a same common vertex. Therefore when modifying one edge by moving this vertex, the second edge is also modified.
In order to keep consistency, topological edges using the replaced vertex are remapped on the geometry, if possible, otherwise their shape is updated according to the new vertex position. It is illustrated in FIGURE 33.


FIGURE 33 Edge remapping after connection
Limitation: two vertices belonging to an edge closed on it should not be connected if a fixed point is attached to one of the two vertices, as illustrated in FIGURE 34.


FIGURE 34 Edge closed on itself
Orphan vertex connection
An orphan vertex is a vertex that appears on one edge and not on the other, although the edges appear at the same position and should be connected.


FIGURE 35 Two edges connecting together. An orphan vertex exists in one edge.
Connecting orphan vertices consists of adding a new vertex to the edge missing a vertex (edge 1), at the same position as the orphan vertex, and connects the two vertices together (orphan and new vertex). The insertion of a new vertex in the edge automatically divides it into two topological edges.
An orphan vertex connection is possible if the distance between the orphan vertex and the edge is less than a specified tolerance.
In order to keep consistency, topological edges in which a vertex is inserted are remapped on the geometry, if possible, otherwise their shape is updated according to the new vertex position. It is illustrated in FIGURE 36.


FIGURE 36 Edge remapping after connection
Topological edge connection
A topological edge belongs to a grid edge (a grid edge is composed of several topological edges). The connection consists of searching matching topological edges at a specified tolerance and to merge them by replacing one by the other (the second topological edge is replaced by the first one in the definition of its grid edge). So after the connection, the two grid edges are sharing a same common topological edge.


FIGURE 37 Topological edge connection
Shared topological edges are required to insure that grid edges lie at the same physical position and that any operation, like inserting a vertex, is performed consistently on all entities.
Topological edge connection requires that the edge vertices are already connected.
Segment connection
Segment connection consists of finding segments that are at the same position at a specified tolerance, with the same number of points and to establish a link between the two entities. The points of the segments to connect do not have to be at the same position, but only the extremities. This type of connection insures that grid points at the interfaces between two grid edges have exactly the same position. 
Connecting segments provides following other benefits:

Modifying the distribution of the grid points along one segment automatically modifies the grid point distribution on the connected segment.
The insertion or removal of fixed points in a segment (segment division) is automatically done on the connected segment to keep the grid connection.

Segment connection requires that their underlying topological edge(s) are already connected.
Two segments belonging to an edge closed on it will not be connected.

Visualizing connections
Visualization of connections can be done for vertex, topological edges, segments (grid points) or patch grids. The visualization of vertex, topological edges or segments operates in the same way whereas the visualization of patches is mostly done with a dialog box.
To visualize connected vertices

Visualize the vertex with the Toggle Vertices icon ().
Select the Show Vertex Connections option in the Quick Access Pad/Grid/Connect page.





Left-click to select a vertex.
All the blocks using that vertex will be highlighted in yellow. To see one block at a time, do the following operations:
Middle-click to visualize only the first highlighted block.
Repeat the middle-click to visualize the other blocks using the vertex, one by one.
Left-click to select another vertex to visualize and repeat the above operations. 
Right-click to stop the visualization.

To visualize connected patches

Select the Grid/Boundary Conditions... menu item.
Go to the Type combo box and select the CON type.
The list of all connected patches will appear.
Select in the list the patch to visualize. The patch will be highlighted and its grid shown in the graphics area.
Open the Edit Patch area. The bottom right area indicates the indices of the connected patch.



FIGURE 39 Visualization of connected patches

Create Block->Linear 6Bnd
Create Block/Linear 6Bnd menu item is used to create an algebraic block grid using the six boundary faces of the active block. The grid matches the point distributions defined on six boundaries.This option can also be accessed through the Quick Access Pad/Grid/Generate page.

Graphical User Interface


This section describes the appearance and use of the IGG™ Graphical User Interface (GUI).
The IGG™ GUI is divided into several main components as shown in the figure of the following page and which are listed here below:

Menu bar
Toolbar
Quick Access Pad
Control area
Graphics area

The following sections describe these components as well as two important features of the GUI: keyboard shortcuts and default mouse bindings.

Butterfly mesh

The butterfly technique is a multi-block method used to mesh curved geometrical configurations that aims at greatly improving the mesh quality. Generally, a butterfly topology consists of seven blocks. A simple case illustrating this general topology is the meshing of a sphere. A single small block is inserted at the center and is surrounded by six more blocks, each extruding from one of the six faces of the center cube. The 2D analogue of the sphere is the circle shown in FIGURE 1. Meshed with a single H block, it leads to high distorted cells near the four block corners with cell angles approaching 180 degrees just at the corners. Meshed with a 5 blocks butterfly topology, it leads to cell angles of 120 degrees near the four corners of the inner block, hence a high improvement of the mesh quality.


FIGURE 1 Butterfly topology on a circle
The inner block will always be present in a butterfly topology. The other surrounding blocks, called here "buffer blocks" are chosen according to the shape that has to be meshed. The butterfly topology can contain up to six buffer blocks. Configurations with six or five blocks are used to mesh pipes with a circular section, for example. Configurations with four or three blocks are useful to mesh special cases where there are less than four straight angles, like a semi cylinder. FIGURE 2 shows configurations with respectively five, four and three blocks (there are no buffer blocks along the direction of the cylinder axis).


FIGURE 2 Examples of different butterfly topologies

Create Block->Sweeping
Grid/Create Block/Sweeping menu item is used to create a block grid by sweeping a base grid (arbitrary face) along an arbitrary edge (sweep edge). The base face that will be swept must be a boundary face (so an internal face cannot be swept) and must be active. When clicking on this menu item, a sweep edge will appear in a default position for the active face (except for internal faces, in which case a warning message will appear). The following prompt is given in the message area:
Move sweep edge vertices ( <2> = sweep, q = quit)
The sweep edge is just like another one except that it exists and is visible only for the active face used to create a block by sweeping. So, all operations commonly available can be performed on this edge (vertices positioning, vertex insertion, control of the grid points distribution, pop-up menus accessible,...).
The number of points and their distribution in the sweeping direction will be those of this sweep edge. When this one is correctly positioned, press the middle mouse button. The following prompt will appear, allowing to combine the sweeping with rotation or scaling:
T(1), TR(2), TS(3) or TRS(4) : (q)
>> 4
Simple sweeping is indicated as a translation (1). Combinations with rotation (2), scaling (3) or both (4) require the following data:
Angle (-360...360 deg) : (q) (for 2 and 4)
>>   60
Scale factor (q) (for 3 and 4)
>>   0.5
The values of angle and scale factor are global values between the first and the last grid points of the sweep edge, so that smaller rotations or scaling will be performed for each grid point of the sweep edge. The rotation axis is the sweep edge tangent at each grid point and the origin for the scaling is each sweep edge grid point.
During the sweeping, the boundary edges are created using the boundary grid nodes of the generated block. The sweep edge can be placed in any position and must not necessarily be perpendicular to the active face. On the other hand, some care must be taken when placing the sweep edge and when entering the rotation and scaling values because some special configurations can create distorted meshes.
Once a block has been created by sweeping, another use of this tool will display the active face sweep edge as positioned during the previous creation of the block.
It is strongly recommended to be careful when using this tool because a lot of operations available outside this tool can be done so that it can easily be forgotten that a sweeping is made. Look at the message area to see the related prompt.
To quit this tool: if the middle mouse button has not been pressed yet, press <q>, else enter 'q' in the keyboard input area and press <Enter>. The sweep edge will disappear.
This tool can also be accessed through the Quick Access Pad/Grid/Create page.
When selecting a face from a 3D block, the original block is removed when creating a new block using Sweeping.

User Guide

Welcome to the IGG™ User's Guide, a presentation of NUMECA's  grid generator for multi-block structured grids:

Examples
A couple of examples are provided as an introduction to the script capabilities:

PLOT3D file format

IGG™ provides options for file input/output in PLOT3D format (File/Import/PLOT3D... and File/Export/PLOT3D... menuitems). The PLOT3D file will have a ".g" extension. 
The formats that can be read are the following: 

	ASCII, Unformatted or Binary file.
Little or big endian (for binary file).
Single or multi-block.
3 dim (x, y and z coordinates are stored).
Single or double precision.
	No blanking information.
Data layout of type "whole". This means that for all the grid points of a block, all the x coordinates are read firstly, then the y coordinates and finally the z coordinates.

ASCII files are simple text files that can be read using either Fortran or C. Unformatted type stands for Fortran binary files and can normally be read using Fortran only whereas Binary type stands for C binary files and can normally be read using C only. Little and big endian is describing the bytes ordering for binary files.
The output PLOT3D file generated by IGG™ has the same available formats, except for ASCII type which is always written in double precision.
This PLOT3D format only stores the blocks coordinates and should be used with the ".bcs" file containing the boundary conditions.
Following is a simple FORTRAN routine used to extract grid data from a PLOT3D Unformatted file with the format specified above. For ASCII files, change (UNIT) to (UNIT,*).
Single-block file
        READ (UNIT) IDIM,JDIM,KDIM
        READ (UNIT) (((X(I,J,K),I=1,IDIM),J=1,JDIM),K=1,KDIM),
      C                        (((Y(I,J,K),I=1,IDIM),J=1,JDIM),K=1,KDIM),
      C                        (((Z(I,J,K),I=1,IDIM),J=1,JDIM),K=1,KDIM)
Multi-block file
       READ (UNIT) NGRID
       READ (UNIT) (IDIM(IGRID),JDIM(IGRID),KDIM(IGRID),IGRID=1,NGRID)
       DO 10 IGRID=1,NGRID
       READ (UNIT) 
    C    (((X(I,J,K),I=1,IDIM(IGRID)),J=1,JDIM(IGRID)),K=1,KDIM(IGRID)),
    C    (((Y(I,J,K),I=1,IDIM(IGRID)),J=1,JDIM(IGRID)),K=1,KDIM(IGRID)),
    C    (((Z(I,J,K),I=1,IDIM(IGRID)),J=1,JDIM(IGRID)),K=1,KDIM(IGRID))
10   CONTINUE

CGNS file

The .cgns file is used to store block coordinates in binary format. The faces division into patches and some related boundary conditions are also saved in this file but are not used by IGG™ except when importing directly a ".cgns" file. All the boundary condition types can be saved in the ".cgns" file.
The .cgns file is a direct implementation of the standard CGNS format for aerodynamic data. CGNS (CFD General Notation System) is becoming the de-facto standard for the exchange of CFD data among heterogeneous CFD systems. More and more CFD systems directly support the CGNS.
The CGNS provides an API to read and store CFD data onto disk. Reading and writing CGNS compliant files becomes very easy since the user needs no care about the internals of reading and writing to disk or about platform compatibility. The library supporting the implementation of the API is freely accessible in source or compiled form. More information can be found on the website http://cgns.sourceforge.net.
In the CGNS standard, zones, families, etc. are identified by a 32-characters label (name).  Where IGG™/AutoGrid5™ identifiers (names) exceed this length, alternative labels are used to fit within the CGNS labeling standard, and then separate CGNS data items are used to store the original IGG™/AutoGrid5™ name.
	Bases
A CGNS base contains the information on the mesh blocks, their connectivity and boundary conditions. IGG™/AutoGrid5™ can write several bases, they are described hereafter according to their name. The first one is mandatory for a computation, the other ones are optional and not always present.

Base#1

This base is the main one and contains the useful information about the mesh to be run by the solver.
NumecaButterflyBase

This base contains mesh information for the parent block of a butterfly topology. Internal use only.
NumecaMeridionalMesh 
For a turbomachinery mesh, contains a meridional mesh that will be used by FINE™/Turbo for the computation initial solution. Internal use only.
NumecaTools

This base contains information for post processing and some other information for AutoGrid5™. Internal use only.

	Zones
A mesh block is called a "zone" in CGNS. Zones are defined in a base.
Zone numbering-ordering
There is no zone numbering in CGNS. The zone ordering (zone list) you can see for example in CGNS interactive edition tool is probably done alphabetically according to the zone name.
Zone name
The zone name is a string and therefore is subject to the 32 characters limitation. If the block name is lower than 32 characters it is used as the zone name, otherwise the zone name is defined as "domainx", x being the block index in the grid generator.
In order to keep track of the original block name, a UserDefinedData_t node called "blockName" is added in the zone node. It contains an array of characters called also "blockName" that describes the original block name. The original block name is also saved in a Descriptor_t node called "NumecaBlockName".
Family
Family is a mean of grouping in CGNS. They can be applied to blocks and boundary conditions (CGNS nodes Zone_t and BC_t).
Zone
In order to introduce some block grouping, family names that will be assigned to blocks are imposed manually or automatically within AutoGrid5™:

	A family name is created for each row.
A family name is created for an inlet and/or outlet bulb.
A family name is created for each ZR technological effect.

The Family names is assigned to each block of the corresponding entity (row, bulb or ZR effect).
In addition a UserDefinedData_t node called "Periodicity" is added to these Family_t nodes to provide a second means to access the periodicity information in an easier way. Inside this family node the number of blades of the block row is saved in one array DataArray_t called "BladeNumber".
Moreover a UserDefinedData_t node called "DynamicData" is also added to these Family_t nodes. Inside this family node the rotation speed of the block is saved in one array DataArray_t called "RotationSpeed".
If the family blocks are considered as "rotating", the Family_t node will contain a RotatingCoordinates_t node describing the rotation center and rotation axis (rotation speed is derived from rotation axis magnitude).
Boundary condition (Patch)
In order to introduce some patch grouping, AutoGrid5™ creates several families that will be assigned to patches. More details in the Family names section.
If the family patches are considered as "rotating", the Family_t node will contain a RotatingCoordinates_t node describing the rotation center and rotation axis (rotation speed is derived from rotation axis magnitude).
	Connectivity
Matching connections (CON or PER)
Matching connections are fully defined and saved under the node GridConnectivity1to1_t.
Non-matching connections (NMB or PERNM)
Non-matching connections are saved under the node GridConnectivity_t with Abutting as GridConnectivityType value.
Such connections in IGG™/AutoGrid5™ are defined as two face sub-ranges connected together, both sub-ranges having possibly a different number of points, points being not coincident.
Under CGNS, according to the standard, one must specify: the sub-range of the reference patch, a cell list and an interpolants list for the connected patch, identifying the location of each point of the reference patch.
Under IGG™/AutoGrid5™, no cell list exists nor the interpolation factors. Only two integers are used to determine how both patches connect (orientation), the interpolation being computed in the flow solver.
Therefore the standard will be partially respected. A cell list is created but partially filled with dummy values. The correspondence (the list filled) will be established for the two opposite corners of the sub-range, plus one point, the first one along the first principal axis of the reference sub-range. All other indices of the cell list will be dummy. As the interpolants list is additional it will not be saved. This information is sufficient to retrieve the connected sub-range and its orientation towards the reference sub-range. It offers the advantage of providing enough information correctly for a solver which does not need the interpolation.
In addition, and to look like the "1to1" procedure, some user defined data is saved to provide a second means to read the connection information in an easier way (node UserDefinedData_t called "DonorPatch"). Inside this node the donor point range and the transformation matrix are saved in two arrays DataArray_t called "DonorPointRange" and "TransformMatrix".
Moreover in order to provide a second easy means to read such connection, a node Descriptor_t called "ConnectionId" is also added. Two descriptor values will be defined, "NMB_id_left" and "NMB_id_right", one respectively for each side of the connection (NMB for non matching boundary and id being an integer incremented for each connection).
Periodic connections (PER or PERNM)
As described before, matching periodic connections are saved under the node GridConnectivity1to1_t whereas non matching ones are saved under the node GridConnectivity_t.
Within the corresponding entity, the periodicity information is added and saved under the node GridConnectivityProperty_t.
Full non matching connections (FNMB)
Such connections in IGG™/AutoGrid5™ are defined as two abutting face sub-range (patch) lists connected together, the only restriction on sub-ranges being that they should be abutting along the connecting part.
These connections are saved under the node GridConnectivity_t, such a node being created for each sub-range of the connection lists.
The format is the same as for non-matching connections (see before), except that the user defined node "TransformMatrix" will not be saved because it is nonsense for such kind of connection.
A node Descriptor_t "ConnectionId" is also added in the GridConnectivity_t node to describe each patch involved in the connection. Two descriptor values will be defined, "FNMB_name_left" and "FNMB_name_right", one respectively for each side of the connection, FNMB_name being the name of the connection. Each patch on one side of the connection will therefore have a ConnectionId node "FNMB_name_left" on its GridConnectivity_t node and each patch on the other side "FNMB_name_right".
Patch averaging (rotor/stator connection)
This connection is saved under the node GridConnectivity_t. Within this entity, the averaging information is saved under the node GridConnectivityProperty_t.
The format is the same as for non-matching connections (see before), except that the user defined nodes "TransformMatrix" and "ConnectionId" will not be saved.
Additionally a node BC_t of type FamilyName is created to describe each patch involved in the connection. Two family names will be defined, one respectively for each side of the connection, named "Rotor_stator_name_left" and "Rotor_stator_name_right", Rotor_stator_name being the name of the connection. Two nodes Descriptor_t will also be added to the node. The first one called "InterfaceType" which is set to "MixingPlane" and the second one "DonorFamily" identifying the family name of the other side of the condition.
Note that simple rotor/stator defined in IGG™ by assigning type "ROT" to a patch, describing that the patch data should be averaged, will not be saved in such structure because both sides of the connection are not defined. Indeed the complete condition (left and right patches list defining the interface) is in this case defined externally in the flow solver interface.
	Boundary conditions
Boundary conditions are defined on patches and saved under the node BC_t called "bc_x", x being an incremented index. If a family name is not defined for the patch, the BCType_t used according to the IGG™/AutoGrid5™ patch type is the following one:

UND: BCTypeUserDefined
EXT:  BCExtrapolate
INL:   BCInflow
MIR:  BCSymmetryPlane
OUT:  BCOutflow
SNG:  BCDegenerateLine
SOL:  BCWall

If a family name has been defined for the patch then BCType_t will be FamilySpecified and the family name is written. See the next section for family name definition.
Such node is always added for patches involved in a rotor/ stator connections, see the dedicated chapter.
Family names
Family names are a means to group boundary conditions in CGNS. They can be applied to blocks and boundary conditions (CGNS nodes Zone_t and BC_t).
Patch name - family name distinction
Each IGG™/AutoGrid5™ patch has 2 different attributes, a name and a family name:
name: used in the FINE™/Turbo chain, not defined as such in CGNS file, therefore not saved in CGNS. Unlimited string length.
family name: not used in FINE™/Turbo chain, only defined for grouping boundary conditions in CGNS file and only saved in CGNS file. Limited to 32 characters (CGNS limitation).
Manual family name definition
The user can define manually a family name on patches in IGG™/AutoGrid5™ through a dedicated dialog box (starting from version 8.9-3).
This manual definition has priority over a possible automatic family name definition, except for rotor/stator connections for which automatic definition is always applied.
Automatic family name definition
AutoGrid5™ defines automatically, when saving a mesh, some family names for several entities: rows, bulbs and ZR technological effects. This automatic family name definition depends on two preferences Keep Row(s) Name and Export short family names.
The first one controls if the AutoGrid5™ row name or a generic name is used to build row family names. The second one can be activated to create very short family names (lower than 14 characters). Automatic family name creation is detailed hereafter.
Family names when shorter name preference deactivated
If he shorter name preference is not activated, the family name will be defined as:
1. Row family names

row_name = 'ROW(<i>)' where i is the row number (if Keep Row(s) Name set to off)
                   = 'row name' (if Keep Row(s) Name set to on)
Row name cannot contain zr effect name or another row name.
blade_I_name = 'BLADE(<i>)' where i is the blade number (if Keep Row(s) Name set to off)
                         = 'blade name' (if Keep Row(s) Name set to on)
Block family name: row_name
Patches family name:

Row Inlet: <row_name>+"_INFLOW"
Row Outlet: <row_name>+"_OUTFLOW"
Row Outlet 2 (bi-flux): <row_name>+"_OUTFLOW_BYPASS"
Row Shroud End wall: divided into section defined by the Zcst lines:
Blading area: <row_name>+"_SHROUD" 
Upstream area: <row_name>+"_SHROUD_UPSTREAM_"+<zcst-line-id>
Downstream area: <row_name>+"_SHROUD_DOWNSTREAM_"+<zcst-line-id>
Row Hub End wall: divided into section defined by the Zcst lines:
Blading area: <row_name>+"_HUB" 
Upstream area: <row_name>+"_HUB_UPSTREAM_"+<zcst-line-id>
Downstream area: <row_name>+"_HUB_DOWNSTREAM_"+<zcst-line-id>
Row Blade: <row_name>+"_"+<blade_I_name>
Row Periodic: <row_name>+"_PER1" & <row_name>+"_PER2", PER1 used for Numeca patch periodic sign > 0
Row RS:  "Rotor_stator_"+<rs-id>+"_left" & "Rotor_stator_"+<rs-id>+"_right"

2. Bulb family names
bulb_name = "inlet_bulb" or "outlet_bulb"
Block family name: bulb_name
Patches family name:

Bulb Inlet: <bulb_name>+"_INFLOW"
Bulb Outlet: <bulb_name>+"_OUTFLOW"
Bulb Hub End wall: <bulb_name>+"_HUB"
Bulb Shroud End wall: <bulb_name>+"_SHROUD"
Bulb Periodic: <bulb_name>+"_PER1" & <bulb_name>+"_PER2", PER1 used for Numeca patch periodic sign > 0

3. ZR effect family names
effect_name = ZR effect name
Block family name: effect_name
Patches family name:

Effect Inlet: <effect_name>+"_Inlet_"+<inlet-id>
Effect Outlet: <effect _name>+"_Outlet_"+<outlet-id>
Effect Solid wall: <effect name>+"_Solid_"+<solid-id>
Effect Inlet rotating: <effect_name>+"_Inlet_"+<inlet-id>+"_rot"
Effect Outlet rotating: <effect _name>+"_Outlet_"+<outlet-id>+"_rot"
Effect Solid wall rotating: <effect name>+"_Solid_"+<solid-id>+"_rot"
Effect Periodic: <effect_name>+"_PER1" & <effect_name>+"_PER2", PER1 used for Numeca patch periodic sign > 0
Effect RS:  "Rotor_stator_"+<rs-id>+"_left" & "Rotor_stator_"+<rs-id>+"_right"

If RS becomes periodic condition :

Effect Periodic 2: <effect_name>+"_PER3" & <effect_name>+"_PER4", PER3 used for Numeca patch periodic sign > 0
Effect Connection With Row matching: <effect_name>+"_CON_" +<row_name>
Effect Connection With Row fnmb: <effect_name>+"_FNMB_" +<row_name>

4. Global family names:
For counter rotating fan or wind turbine, inlet and outlet conditions are replaced by external conditions and a new family name "FAR_FIELD" is introduced to group the external boundary of the domain.
Family names when shorter name preference activated
If shorter name preference is activated, family name will be defined as:
1. Row family names

row_name_block = 'ROW(<i>)' where i is the row number
row_name = 'R<i>' where i is the row number
blade_I_name =  'B<i>' where i is the blade number
Block family name: row_name_block
Patches family name:

Row Inlet: <row_name>+"_INFLOW"
Row Outlet: <row_name>+"_OUTFLOW"
Row Outlet 2 (bi-flux): <row_name>+"_OUTFLOW_2"
Row Shroud End wall: divided into section defined by the Zcst lines:
Blading area: <row_name>+"_SHROUD" 
Upstream area: <row_name>+"_SHROUD_UP_"+<zcst-line-id>
Downstream area: <row_name>+"_SHROUD_DO_"+<zcst-line-id>
Row Hub End wall: divided into section defined by the Zcst lines:
Blading area: <row_name>+"_HUB" 
Upstream area: <row_name>+"_HUB_UP_"+<zcst-line-id>
Downstream area: <row_name>+"_HUB_DO_"+<zcst-line-id>
Row Blade: <row_name>+"_"+<blade_I_name>
Row Periodic: <row_name>+"_PER1" & <row_name>+"_PER2", PER1 used for Numeca patch periodic sign > 0
Row RS:  "RS_"+<rs-id>+"_left" & "RS_"+<rs-id>+"_right"

2. Bulb family names
bulb_name_block = "inlet_bulb" or "outlet_bulb"
bulb_name = "i_bulb" or "o_bulb"
Block family name: bulb_name_block
Patches family name:

Bulb Inlet: <bulb_name>+"_INFLOW"
Bulb Outlet: <bulb_name>+"_OUTFLOW"
Bulb Hub End wall: <bulb_name>+"_HUB"
Bulb Shroud End wall: <bulb_name>+"_SHROUD"
Bulb Periodic: <bulb_name>+"_PER1" & <bulb_name>+"_PER2", PER1 used for Numeca patch periodic sign > 0

3. ZR effect family names
effect_name_block =  ZR effect name
effect_name =  'ZR<i>' where i is the ZR effect number
Block family name: effect_name_block
Patches family name:

Effect Inlet: <effect_name>+"_Inlet_"+<inlet-id>
Effect Outlet: <effect _name>+"_Outlet_"+<outlet-id>
Effect Solid wall: <effect name>+"_Solid_"+<solid-id>
Effect Inlet rotating: <effect_name>+"_Inlet_"+<inlet-id>+"_r"
Effect Outlet rotating: <effect _name>+"_Outlet_"+<outlet-id>+"_r"
Effect Solid wall rotating: <effect name>+"_Solid_"+<solid-id>+"_r"
Effect Periodic: <effect_name>+"_PER1" & <effect_name>+"_PER2", PER1 used for Numeca patch periodic sign > 0
Effect RS:  "RS_"+<rs-id>+"_left" & "RS_"+<rs-id>+"_right"

If RS becomes periodic condition :

Effect Periodic 2: <effect_name>+"_PER3" & <effect_name>+"_PER4", PER3 used for Numeca patch periodic sign > 0
Effect Connection With Row matching: <effect_name>+"_CON_" +<row_name>
Effect Connection With Row fnmb: <effect_name>+"_FNMB_" +<row_name>

4. Global family names
For counter rotating fan or wind turbine, inlet and outlet conditions are replaced by external conditions and a new family name "FAR_FIELD" is introduced to group the external boundary of the domain.

Topology & Grid Classes Commands
Topology and grid entities consist of vertices, topological edges, fixed points, segments, edges (grid), faces, patches and blocks.
These entities can be accessed in different ways: direct access or indirect access.
Direct access
Direct access consists of accessing an entity by its indices. For example the statement segment(2,1,3,2) accesses the block 2, face 1, edge 3 and segment 2.
The main disadvantage of this method is that it makes it difficult to reuse a script in a different context. Indeed, suppose the block 2 has just been created before accessing the segment. Replaying this script in a context where other blocks exist will fail.
Indirect access
Indirect access allow entities to be accessed by referring to a name instead of by indices. Currently names are only assigned to blocks. Other entities can be accessed relatively to the block name.
 Global Functions

copy_distrib(from,to,dir=SAME)
Copies the distribution from a topological entity to another one (entity can be either a segment, edge, face or block).
merge_patches()
Merges the patches that dot not belong to a given group or do not share common boundary conditions in order to reduce engineering time for the definition of boundary conditions, by decreasing the number of patches.
get_clustering_info(length,computevariable,distributiontype,arguments).
Computes the clustering parameters given the length of a line or segment. the number of arguments varies according to the distribution type and the variable to be computed.
length is the length of the line or segment. The commands to get respectively the length of an existing line or segment are explained in the Curve class and Segment class sections.
computevariable can be set to STRETCHING_RATIO, START_SPACING, END_SPACING or NUMBER_OF_POINTS.
distributiontype can be set to START, END, START_END, START_END2 or TANH.
arguments are the arguments as number of points (nPoints), stretching, multigrid level (mgLevel), spacing at start, spacing at end or number of constant cells (#cst cells) to be specified depending of the computed variable and the distribution type according to the following table.









 
START
END
START_END
START_END2
TANH


STRETCHING_RATIO
nPoints, spacing at start
nPoints, spacing at end
nPoints, spacing at start/end
nPoints, spacing at start, spacing at end, #cst cells
nPoints, spacing at start, spacing at end


NUMBER_OF_POINTS
stretching, mgLevel, spacing at start
stretching, mgLevel, spacing at end
stretching, mgLevel, spacing
stretching, mgLevel, spacing at start, spacing at end, #cst cells
stretching, mgLevel, spacing at start, spacing at end


START_SPACING
nPoints, stretching
n.a.
nPoints, stretching
n.a.
nPoints, stretching, spacing at end


END_SPACING
n.a.
nPoints, stretching
nPoints, stretching
n.a.
nPoints, stretching, spacing at start



Examples
get_clustering_info(1000,"STRETCHING_RATIO","START",81,1e-4)		 # returns the expansion ratio when distribution type is set to start with an imposed cell size (1e-4) and a number of points (81) on a line or segment of an imposed length (1000).
get_clustering_info(1000,"NUMBER_OF_POINTS","END",1.2,4,1e-4) # returns the number of points on a segment of a given length (1000) when a clustering at end is imposed with a given expansion ratio (1.2), multigrid level (4) and cell size at end (1e-4).
get_clustering_info(1000,"STRETCHING_RATIO","START_END2",81,1e-4,2e-4,10) # returns  the expansion ratio on a segment of a given length (1000) when a clustering at both ends 2 is imposed with a given number of points (81), cell size at start (1e-4) and end (2e-4), and the number of constant cells (10).

Block Class

The Block class is used to access and manipulate blocks created within IGG™. Blocks can be accessed with their index or their name, by using the global function block:

block(B)
B is either the index of the block, starting from 1, or its name.

Examples
b1 = block(1)			 # access block 1 by its index, store it as a variable
b2 = block("gap_block") 	# access a block by its name
Operations can then be performed on the block by calling one of its member functions listed below. 
Examples
b2.set_size(21,21,21)		 # change the number of points of block 2
block(2).set_size(21,21,21) 	# another way to do the same operation
Member functions

select()
	Selects the block.
delete()
	Deletes the block.
set_size(nI,nJ,nK,propagate)
	Changes the size of the block. This function follows the same rule as the Grid/Grid Settings menu. 
propagate specifies whether the change should be propagated along segment connections (in case of connected blocks). It can have the values 0 (no) or 1 (yes) and has a default value of 0 (for backward compatibility with older scripts).
get_size()
	Returns the size of the block.
get_range()
	Returns the range of the block. The returned range is of class RangeIJK.
set_type(value)
Sets the type (fluid or solid) of the block.
get_type()
	Returns the type of the block.
get_index()
	Returns the block number.
set_name(new_name)
Changes the name of the block.
Example: block(1).set_name("trailing")
get_name()
Returns the name of the block.
set_family_name(name)
Gives a family name to the block.
name is a string, surrounded by quotes, and must be maximum 30 characters.
get_family_name()
Returns the family name given to the block.
set_repetition("NONE"                ,num_period)
set_repetition("TRANSLATION",num_period,vector)
set_repetition("ROTATION"       ,num_period,orig,vector,num_passages)
set_repetition("MIRROR"            ,num_period,orig,vector)
Sets the periodicity information for the block. Four types can be specified: NONE, TRANSLATION, ROTATION, MIRROR.
num_period specifies the number of periodicities and is a real. It is only meaningful for ROTATION and TRANSLATION. For a rotation, the periodicity angle is specified as: angle = 360/num_period.
vector defines the direction and magnitude for TRANSLATION periodicity or the axis for ROTATION/MIRROR periodicity. It is of class Vector (i.e. Vector(0,0,1)).
origin defines the origin of the axis for ROTATION/MIRROR periodicity. It is of class Vector.
num_passages is an integer defining the number of meshed passages.
get_repetition()
	Returns the repetition parameters (type, num_repet, origin, axis) of the block.
get_all_faces()
Returns a list of all the faces of the block, including the internal faces. Each element of the list is of class Face.
get_boundary_faces()
Returns a list of the boundary faces of the block. Each element of the list is of class Face.
num_faces()
Returns the number of faces of the block, including internal faces.
face(i)
Returns the ith face of the block. The index starts from 1.
create_internal_face(dir,index)
Creates and returns an internal face for the block.
dir is the constant direction of the face and can be "I", "J" or "K". The edges of the face are calculated from the existing block grid.
index is the position of the new face in the block (integer value).
delete_internal_face(face)
Deletes the specified internal face from the block.
num_internal_faces()
Returns the number of internal faces in the block.
internal_face(index)
Returns an object of Face class corresponding to the internal face with the selected index.
change_axis(I, J, K)
Changes the axis system of the block.
I, J and K are strings defining the transformation of the axis system. I specifies on which axis the block I axis will be transformed and with which orientation. Following strings can be chosen for either I, J or K : "Ihigh", "Ilow", "Jhigh", "Jlow", "Khigh", "Klow". "high" in a string means that the new axis will have the same orientation whereas "low" means that the orientation will be reversed. Obviously the three strings I, J and K cannot be equal and should contain "I", "J" and "K" values. For example, arguments (Ihigh, Jhigh, Klow) will reverse the block K axis.
extend(face)
Extends the block from the selected face.
split_block(dir,index)
Splits the block into two new blocks and returns them.
dir is the block direction along which it will be split and can be "I", "J" or "K".
index is the position of the splitting face mesh in the block (integer value).
split_block_at_internal_faces()
Splits the block at each internal face and returns all the new created blocks.
linear_2_bnd()
linear_4_bnd()
linear_6_bnd()
Generates the block using transfinite interpolation (2, 4 or 6 boundaries). 
smooth_3d(iteration)
Smooths the block with selected number of iteration.
save_coords(filename,coarseI,coarseJ,coarseK)
Saves the coordinates of the block in the specified file name.
coarseI,coarseJ,coarseK are the coarse levels in the three directions. A value of 0 corresponds to the finest level.
num_of_I()
num_of_J()
num_of_K()
Returns the number of grid points along the I, J or K direction.
grid_point(i,j,k)
Returns the grid point at index (i,j,k). The indices start from 1. The returned point is of class Point.
get_volume()
Returns the volume of the block mesh.
vertex_corner(i)
Returns the ith vertex of the block corners.
check_generation()
Checks if the block is generated in 3D.
update_butterfly(butterfly_param)
Creates a butterfly topology in the block according to the specified parameters. All the parameters of the Butterfly dialog box are available. Main use is to recreate a butterfly topology after a first manual creation.
butterfly_param is a string containing all the parameters needed to the butterfly creation and should look like the following example. It must start and end with triple quotes.
Example
#Butterfly_settings 
butterfly_param = """ # Triple quotes
buffer_blocks: 1 1 1 1 1 1
direction: K
number_of_radial_points: 9
preferential_direction_buffer_depth1: 10
preferential_direction_buffer_depth2: 90
clustering_type: 4
clustering_start_spacing: 0.001
clustering_end_spacing: 0.02130209
clustering_constant_cells: 0
clustering_reciprocity: 0
creation_from_uniform_clustering: 0
smoothing_steps: 1
smoothing_expansion_ratio: 1.5
number_of_control_section: 2
control_section:0 section_id: 0 radial_depth: 20 number_of_additional_control_on_curve: 0
 0.2 0.2
 0.8 0.2
 0.8 0.8
 0.2 0.8
control_section:1 section_id: 8 radial_depth: 20 number_of_additional_control_on_curve: 0
 0.2 0.2
 0.8 0.2
 0.8 0.8
 0.2 0.8
""" # Triple quotes
block(1).update_butterfly(butterfly_param)
create_butterfly_from_scratch(butterfly_param)
Creates a butterfly topology in the block according to the specified parameters. This function optimizes the shape of the butterfly topology with a restricted list of parameters as input. Obviously all the settings are not available as with the function update_butterfly. Used to create a butterfly topology in simplified geometries.
butterfly_param is a list of parameters needed for the butterfly creation and should look like the following example.
Example
# Butterfly settings    
buffers = [0,0,1,1,1,1] # No buffer at faces 1 and 2.
direction = "K"
radial_depth_value = 30
nk = 9
clust_type = 4 # Hyperbolic tangent clustering type
clust_start = 1e-3 # Start spacing
clust_cst_cells = 0 # Unused for this clustering type
clust_reciprocity = 0
from_uniform_clustering = 0
param_list = buffers + [direction, radial_depth_value, nk, clust_type,
                                     clust_start, clust_cst_cells, clust_reciprocity,
                                     from_uniform_clustering]
block(1).create_butterfly_from_scratch(param_list)
smooth_butterfly(smoothing_steps, multigrid, expansion_ratio)
Specified elliptical smoothing to the butterfly topology after creating the butterfly.
delete_butterfly()
Deletes the butterfly topology of the block.
split_butterfly()
Splits the butterfly topology of the block.
split_and_merge_butterfly()
Splits the butterfly topology of the block and merges into one block all the buffer blocks "normal" to the preferential direction of the butterfly topology.
get_butterfly_parameters()
Returns the butterfly topology parameters of the block.
refine_block(refine_I,refine_J,refine_K)
Refines the block in the I, J and K directions.
on_point(vertex,p)
Moves the vertex of the block at the new location p. p is an object of class Point.
on_curve_normalized(vertex,curve,npar)
Moves the vertex of the block at the relative location defined on the curve by the parameter value npar.
on_surf(vertex,surf,u,v)
Moves the vertex of the block at the location defined on the surface by the parameter values u, v.
on_surf_normalized(vertex,surf,nu,nv)
Moves the vertex of the block at the relative location defined on the surface by the parameter values nu, nv.
on_cci(vertex,c1,c2)
Moves the vertex of the block at the intersection point between curves c1 and c2.
show_face_grid()
hide_face_grid()
Shows or hides the grid on the block faces.
show_edges()
hide_edges()
Shows or hides the edges of the block.
show_face_shade()
hide_face_shade()
Shows or hides the shading on faces of the block.

Global functions

new_block()
	Creates a unit cube block at the origin.
new_block(p1,p2,p3,p4,p5,p6,p7,p8)
	Creates a new block by specifying its eight vertices. The type of <pi> can be
	one the Point classes.
new_block_face()
new_block_face(p1,p2,p3,p4)
	Creates a new block by initializing only one face (face 1).
extrude_new_block(ref_face,range,magnitude,normal_mode,dir,connect_topology)
Creates a new block by extruding from an existing block face.
ref_face is the face used a the basis for extrusion.
range is the range of the reference face to extrude and is of class Range.
magnitude is the magnitude of the extrusion (default set to 0)
normal_mode specifies the mode for the normal extrusion (0 for average normal, 1 for normal to face and 2 for user direction).
dir specifies the direction when the normal_mode is set to 2 (user direction). Its type is Vector.
connect_topology is set 0 if deactivated or 1 if activated
Example: extrude_new_block(face(1,2),Range(27,39,9,27),0,2,Vector(1,0,0),1)
block_by_face_extrusion(face,vector,edge_create,geom_create,surf)
Generates a 3D block by translating an existing face.
block_by_face_extrusion_comb(face,vector,type,orig,angle,scale,edge_create,geom_create,surf)
Generates a 3D block by translation combined with a rotation and/or scaling of an existing face.
block_by_face_extrusion_normal(face,magn,edge_create,geom_create,surf)
Generates a 3D block by expanding an existing face.
block_by_face_extrusion_radial(face,orig,vec,magn,edge_create,geom_create,surf)
Generates a 3D block by expanding radially an existing face according to the specified axis.
block_by_face_rotation(face,axis,angle,edge_create,geom_create,surf)
Generates a 3D block by rotating an existing face.
blocks_merge(face,topology_merging=1)
Merges two blocks with a common face. 
num_of_blocks()
Returns the number of blocks in the current project.
transform_blocks_translate(blocks,vec,duplic_geom_create = 0)
Translates a set of blocks along a vector.
blocks is a list of blocks, between brackets (i.e. ["block_1","block_2",…]. Specifying a block group is currently not permitted.
vec specifies the translation vector, in direction and magnitude.
geom_create specifies whether to duplicate the geometry or not (0 or 1).
transform_blocks_rotate(blocks,orig,vec,angle,geom_create = 0)
Rotates a set of blocks around a given axis.
blocks is a list of blocks, specified between brackets (i.e. ["block_1", "block_2",…]. Specifying a block group is currently not permitted.
orig is the origin of the rotation axis.
vec is the direction of the rotation axis.
angle is the rotation angle specified as a real N (angle in degree = 360/N).
geom_create specifies whether to duplicate the geometry or not (0 or 1).
transform_blocks_scale(blocks,scale_vec,geom_create = 0)
Scales a set of blocks around a given axis.
blocks is a list of blocks, specified between brackets (i.e. ["block_1", "block_2",…]. Specifying a block group is currently not permitted.
scale_vec is a vector (type Vector) given the scale factor in the three directions.
geom_create specifies whether to duplicate the geometry or not (0 or 1).
duplicate_blocks(blocks,transform,number,orig,vector,angle,topo_create,snap_vertex)
Duplicates a set of blocks.
duplicate_blocks_translate(blocks,number,vector,topo_create,snap_vertex)
Duplicates a set of blocks by translating.
duplicate_blocks_rotate(blocks,number,orig,vector,angle,topo_create,snap_vertex)
Duplicates a set of blocks by rotating.
duplicate_blocks_scale(blocks,number,scale_vector,topo_create,snap_vertex)
Duplicates a set of blocks by scaling.
set_repetition_all_blocks(…)
This function sets a periodicity information for all the blocks in the project at once. The arguments are the same as the function set_repetition of the class Block. See class Block for more information.

Face Class
The Face class allows to manipulate and perform operations on existing faces of a block. Faces can be accessed using the global function face:

face(B,F)
B is either the index of the block, starting from 1, or its name.
F is the index of the face to access, starting from 1. This function returns an object of class Face that can be stored locally.

Example
f1 = face(2,1) 		# get face 1 of block 2
f1 = face("block_2",1)	 # accessing the face using the block name
f1.new_patch(...) # use f1 to apply a member function.
Member functions

select()
Selects the face.
get_n1()
get_n2()
Returns the number of grid points along directions 1 and 2.
calc_point(i,j)
Returns the grid point corresponding to the index i and j. The indices start from 0.
set_node_coord(i,j,point)
Moves the face grid point i,j at the specified point location.
get_center()
Returns the grid coordinates of the face center (i/2,j/2)
get_center_normal()
Returns the vector normal at the face center (i/2,j/2)
get_number()
Returns the number of the face.
get_range()
Returns the range of the face. This function returns an object of class Range.
num_edges()
Returns the number of edges of the face, including the internal edges.
edge(i)
Returns the ith edge of the face. The index starts from 1.
num_patches()
Returns the number of patches of the face.
patch(i)
Returns the ith patch of the face. The index starts from 1.
delete_patch(patch_index)
	Deletes the patch.
new_patch(range)
Creates a new patch by specifying its range.
range is of class Range.
create_internal_edge(dir,index)
	Creates an internal edge along dir at specified index.
dir specifies the variable direction of the edge and can have the values 1 or 2. For example: for an IJ face dir = 1 means the edge will vary along I and will be constant for J.
create_internal_edge_on_curve(dir,index,iglRatio1,iglRatio11,iglRatio2,iglRatio22)
	Creates an internal edge along dir at specified index. The internal edge will be orthogonal to the boundary edges according to the specified ratio.
create_grid_point(i,j)
	Creates two internal edges at both specified direction index i and j.
cubic_2Bnd(type,start1,end1,start2,end2,ratio1,rato2,edge_map=1)
Generates the face with boundary orthogonality control.
linear_2Bnd(type,range,edge_map=1)
Generates the face using an algebraic 2 boundaries interpolation.
range specifies the range of the face on which to apply the interpolation. This parameter is optional, if omitted the full range of the face is taken.
type corresponds to BND_12 or BND_34.
linear_4Bnd(range):
Generates the face using an algebraic 4 boundaries interpolation.
range specifies the range of the face on which to apply the interpolation. This parameter is optional, if omitted the full range of the face is taken.
Example: face(1,2).linear_4Bnd(Range(1,6,1,9))
mapping_linear(surf,range,edge_map=1)
Generates the face using a mapping on the selected surface.
mapping_cubic(surf,type,start1,end1,start2,end2,ratio1,rato2,edge_map=1)
Generates the face using a mapping on the selected surface with boundary orthogonality control.
project_on_surfs([surf_list],bound_projection,validation,proj_ratio,Range(1,4,1,9))
smooth(smooth_ratio=1,range=0,edge_map=1)
Generates the face using an elliptical smoothing. 
smooth_on_surface(surf,smooth_ratio=1,range=0,edge_map=1)
Generates the face on a specified surface using an elliptical smoothing. 
delete_operation(i)
Removes the ith generation operation of the face.
on_point(vertex,p)
Moves the vertex of the face at the new location p. p is an object of class Point.
on_curve(vertex,curve,param)
Moves the vertex of the face at the location defined on the curve by the parameter value param.
param is an absolute parameter value between get_p_min() and get_p_max() of the curve.
on_curve_normalized(vertex,curve,npar)
Moves the vertex of the face at the relative location defined on the curve by the parameter value npar.
on_surf(vertex,surf,u,v)
Moves the vertex of the face at the location defined on the surface by the parameter values u, v.
on_surf_normalized(vertex,surf,nu,nv)
Moves the vertex of the face at the relative location defined on the surface by the parameter values nu, nv.
on_cci(vertex,c1,c2)
Moves the vertex of the face at the intersection point between curves c1 and c2.
save_coords(filename)
Saves in the filename the coordinates of the face.
save_patch_coords(filename)
Saves in the filename the coordinates of all the face patches.
save_boundary_coords(filename)
Saves in the filename the coordinates of the face boundaries.
delete(delete_edges = 0)
Deletes the face. Only valid for internal faces.
change_index(new_index)
Changes the index of the face. Only valid for internal faces.
show_face_grid()
hide_face_grid()
Shows or hides the grid on the face.
show_edges()
hide_edges()
Shows or hides the edges of the face.

Global functions

copy_face_range(orig_face,orig_range,target_face,target_range,dir1,dir2)
Copies a part of a face to another face, possibly with a different orientation dir1 and dir2.
dir1 and dir2 corresponds to either ILOW, IHIGH, JLOW or JHIGH.
regenerate_faces(face)
Regenerates the specified face. The argument must be of class Face.
regenerate_faces(block)
Regenerates all the faces of a block. The argument must be of class Block.
regenerate_faces(face_list)
Regenerates a list of faces.
face_list is a list of faces specified as [face1,face2,...,facei], where facei is an object of class Face, or the name of the face. The [] must be present in the list definition.
regenerate_all_block_faces()
Regenerates all the faces of all the blocks in the project.
Examples
regenerate_faces(face(1,1))	 # regenerates the face 1 of block 1
f1 = face(2,4)			 # getting face 4 of block 2
f2 = face(2,5)			 # getting face 5 of block 2
regenerate_faces([f1,f2])	 # regenerates both faces
regenerate_faces(block(1))	 # regenerates all faces of block 1
 smooth_plane_face_list(smoothing_steps,multigrid)
Smooths the list of planar faces with the specified smoothing steps.
multigrid is an optional argument to apply multigrid smoothing. By default set to 0.

Patch Class
The Patch class allows to manipulate and perform operations on existing patches of a face. Patches can be accessed using the global function patch:

patch(B,F,P)
B is either the index of the block, starting from 1, or its name.
F, P are the indices of the face and patch to access, starting from 1. This function returns an object of class Patch that can be stored locally.

Examples
p1 = patch(2,1,2)			 # access block 2, face 1, patch 2
p2 = patch("inlet_block",1,2)	 # access the patch by specifying the block name
Member functions

set_name(name)
Gives a name to the patch.
name is a string, surrounded by quotes, and must be maximum 30 characters.
get_name()
Returns the name given to the patch.
set_family_name(name)
Gives a family name to the patch.
name is a string, surrounded by quotes, and must be maximum 30 characters.
get_family_name()
Returns the family name given to the patch.
set_type(type)
Assigns a boundary condition type to the patch.
type is the BC type and can have the following values: UND, EXT, INL, OUT, MIR, SNG, SOL, ROT.
get_type()
Returns the boundary condition type currently assigned to the patch.
get_range()
Returns the range of the patch. This function returns an object of class Range.
num_of_1()
Returns the number of points in direction 1.
num_of_2()
Returns the number of points in direction 2.
grid_point(i,j)
Returns the grid point corresponding to the index i and j.
divide(range)
Divides the patch in two. During the division one new patch is created. The limits of the current patch are adapted to reflect the division. 
set_limits(range)
Assigns new limits to the patch.
range specifies the limits (starting from 1) and must be of class Range.
Example
patch(2,1,2).set_limits(Range(1,1,9,5)
divide_by_range(range)
Divides the patch in two. During the division one new patch is created. The limits of the current patch are adapted to reflect the division.
Example
patch("Block_1",3,1).divide_by_range(Range(1,9,1,13))
resize(range)
Assigns new limits to the patch. 
range specifies the limits (starting from 1) and must be of class Range.
Example
patch("Block_1",3,1).resize(Range(1,9,1,21))
patch("Block_1",3,2).resize(Range(1,9,21,29))
get_periodic_sign()
Returns the sign of the connection orientation if the patch is involved in a periodic connection.
get_block_face_patch_indices()
Returns the block, face and patch indices of the patch.
get_connected_patch()
Returns an object of the Patch class corresponding to the connected patch if existing.
get_connected_corner()
Returns the corner indice (0, 1, 2 or 3) that determines how the connected patch connects to the patch currently described (more details on FIGURE 4).
get_connected_orient()
Returns the orientation indice (0 or 1) that determines how the connected patch connects to the patch currently described (more details on FIGURE 4).
delete()
Deletes the patch.
show_solid(r,g,b)/hide_solid()
Shows or hides solid shading on the patch. r, g and b are integers from 0 to 255 defining amount of respectively red, green and blue.
show_grid(r,g,b)/hide_grid()
Shows or hides grid on the patch. r, g and b are integers from 0 to 255 defining amount of respectively red, green and blue.

Edge Class
The Edge class is used to manipulate and perform operations on existing edges of a block. An Edge can be accessed with the edge command:

edge(B,F,E)
B is the index of the block, starting from 1, or its name.
F, E are the indices of the face and edge starting from 1. This function returns an object of class Edge that can be stored locally.

Examples
e = edge (1,2,1)		 # access edge 1 of Block 1, face 2
e = edge("ablock",2,1) 	# access the same edge using the name of the block
Member functions

num_vertex()
Returns the number of vertices on the edge.
vertex(i)
Returns an object of the Vertex class corresponding to the ith edge vertex.
get_number_of_points()
Returns the number of points on the edge.
grid_point(i)
Returns an object of the Point class corresponding to the ith grid point of the edge. The indice starts from 1.
get_face_1()
Returns an object of Face class corresponding to the edge 1st parent face.
get_face_2()
Returns an object of Face class corresponding to the edge 2nd parent face.
get_other_face()
Returns an object of Face class corresponding to the 1st parent face or 2nd parent face if respectively face corresponds to the 2nd parent face or 1st parent face.
num_segments()
Returns the number of segments of the edge.
segment(i)
Returns the ith segment of the edge. The index starts from 1.
change_index(new_index)
Changes the index of the edge. Only valid for internal edges.
delete()
Deletes the edge. Only valid for internal edges.
insert_vertex(norm_param)
Inserts a new vertex at the specified normalized parameter value. A value of 0 corresponds to the beginning of the edge while a value of 1 corresponds to its end.
insert_fixed_point_at_norm_param(norm_param)
Inserts a new fixed point at the specified normalized parameter value. A value of 0 corresponds to the beginning of the edge while a value of 1 corresponds to its end.
move_fixed_point(index,norm_param)
Moves an existing fixed point specified by its index at the specified normalized parameter value. A value of 0 corresponds to the beginning of the edge while a value of 1 corresponds to its end.
create_curve(name)
Creates underlying curve with a userdefined name.
on_point(vertex,p)
Moves the vertex of the edge at the new location p. p is an object of class Point.
on_curve(vertex,curve,param)
Moves the vertex of the edge at the location defined on the curve by the parameter value param.
param is an absolute parameter value between get_p_min() and get_p_max() of the curve.
on_curve_normalized(vertex,curve,npar)
Moves the vertex of the edge at the relative location defined on the curve by the parameter value npar.
on_surf(vertex,surf,u,v)
Moves the vertex of the edge at the location defined on the surface by the parameter values u, v.
on_surf_normalized(vertex,surf,nu,nv)
Moves the vertex of the edge at the relative location defined on the surface by the parameter values nu, nv.
show_edge()
hide_edge()
Shows or hides the specified edge.

TEdge Class
The TEdge class is used to perform mapping operations on existing edges of a block. A topological edge can be accessed with the tedge command:

tedge(B,F,E,index)
B is the index of the block, starting from 1, or its name.
F, E are the indices of the face and edge starting from 1. 
index is the index of the edge
This function returns an object of class TEdge that can be stored locally.

Member functions

set_curve_map(curve)
Maps the edge on the specified curve.
set_surf_map(surface)
Maps the edge on the specified surface.
set_surf_map_type(type)
Defines the type (param or plane) of surface map.

Segment Class
The Segment class is used to manipulate and perform operations on existing segments of an edge. A segment can be accessed with the segment command:

segment(B,F,E,S)
B is the index of the block, starting from 1, or its name.
F, E and S are the indices of the face, edge and segment, starting from 1. This function returns an object of class Segment that can be stored locally.

Examples
s = segment (1,2,1,2) # access segment 2 of Block 1, face 2, edge 1
s = segment("ablock",2,1,2) # access the same segment using the name of the block
Alternatively, the segment can also be accessed using an Edge object:
edge = edge(1,2,1)		 # get edge of block 1, face 2, edge 1
s      = edge.segment(2) 	# get segment 2 of the previous edge
Member functions

increase_size(new_number_of_point)
	Increases the size of a segment.
set_number_of_points(new_number_of_point,propagate)
Changes the number of points on a segment.
propagate is set to 0 or 1 to propagate the changement to the blocks connected to the active block.
setUpLimit(upLimit)
Changes the maximum index of the segment without changing the edge total number of points.
get_number_of_points()
Returns the number of grid points of the segment.
get_length()
Returns the length of the underlying curve of the segment.
get_discrete_length()
Returns the length of the polyline connecting the grid points of the segment.
grid_point(i)
Returns an object of class Point corresponding to ith grid point of the segment. Indices starts from 1.
cluster_start(distance)
cluster_end(distance)
cluster_both_ends(distance)
Clusters at start, end or both ends with a given absolute value representing the size of the first (last) cell.
cluster_both_ends2(start_dist,end_dist,num_cst_cell)
Clusters at both ends by specifying the start and end distances as well as a number of constant cells. If the algorithm does not converge, it resets a uniform clustering.
cluster_tanh(start_dist,end_dist)
Specifies a hyperbolic tangent stretching by specifying the start and end distances. Distances are given as absolute values.
Example: segment(1,1,1,1).cluster_tanh(0.01,0.01)
cluster_uniform()
	Resets the clustering of the segment to uniform.
cluster_bound_layer(start_dist,end_dist,start_thick,end_thick,num_cell_start,num_cell_end)
Specifies a boundary layer by its 	number of cells, thickness and first cell size at both ends of the segment.
cluster_curvature(ratio,weight)
	Computes a clustering distribution based on the segment curvature.
cluster_user_defined(distribution)
Applies the specified distribution (Distribution class) directly on a segment. The distribution type of this segment is set to UNDEFINED.
get_distribution_info()
	Returns the distribution of points on a segment depending of the type of distribution.
smoother_bc(type,cell_width,exp,ncell)
	Specifies the boundary type for the bounding segments of the set of faces to smooth: 0 for solid wall, 1 for moving, 3 for fixed and 5 for undefined.

Vertex Class
The Vertex class is used to manipulate vertices of a block. A vertex can be accessed with the vertex command:

vertex(B,F,E,V)
B is the index of the block, starting from 1, or its name.
F, E and V are the indices of the face, edge and vertex, starting from 1. This function returns an object of class Vertex that can be stored locally.

Examples
v = vertex (1,2,1,2)		 # access vertex 2 of Block 1, face 2, edge 1
v = vertex("ablock",2,1,2)	 # access the same vertex using the name of the block
Member functions

get_coords()
Returns the position of the vertex as an object of class Point.
Example
p = vertex(1,2,1,1).get_coords()
print "Coords are",p
attach_fix_points()
Enables to attach a fixed point to the vertex.
disconnect()
Disconnects the vertex.
set_tolerance(tol)
Specifies the relative vertex tolerance.
set_curve_map(curve_map)
Enables the vertex to map on curves.
set_curve_int_map(map_flag)
Enables the vertex to map on curves intersections.
set_curve_end_pt_map(map_flag)
Enables the vertex to map on the curves ends.
set_surf_map(surf_map)
Enables the vertex to map on the surfaces.
move(p)
Moves the vertex at the new location p.
on_point(p)
Moves the vertex at the new location p. p is an object of class Point.
on_curve(curve,param)
Moves the vertex at the location defined on the curve by the parameter value param.
param is an absolute parameter value between get_p_min() and get_p_max() of the curve.
on_curve_normalized(curve,npar)
Moves the vertex at the relative location defined on the curve by the parameter value npar.
on_surf(surf,u,v)
Moves the vertex at the location defined on the surface by the parameter values u, v.
on_surf_normalized(surf,nu,nv)
Moves the vertex at the relative location defined on the surface by the parameter values nu, nv.
on_cci(c1,c2)
Moves the vertex at the intersection point between curves c1 and c2.
delete()
Deletes the vertex.

FixedPoint Class
The FixedPoint class is used to manipulate fixed points of a block. A fixed point can be accessed with the fixed_point command:

fixed_point(B,F,E,V)
B is the index of the block, starting from 1, or its name.
F, E and V are the indices of the face, edge and vertex, starting from 1. This function returns an object of class FixedPoint that can be stored locally.

Member functions

change_index(index,edge=0)
Enables to change the index of the fixed point.
delete()
Deletes the fixed point.

Topology Placement
Several global functions are provided to place the topology of a block onto a geometry. The most common method is to place the vertices by using the move_vertex command.
It is also possible to move a complete edge, face or block at once by using the move_edge, move_face or move_block functions.
In all the cases the new position is defined by a point object which can be specified in three ways (see Point classes definition).
When moving an edge, face or block, a reference vertex must be specified together with its new position.

move_vertex(vertex,position)
Moves the specified vertex at the new position.
vertex is the vertex to move and is of class Vertex.
position is the new location of the vertex.
Example: move_vertex(vertex(1,1,1,1),CurvePointNorm("cspline_1",0.5))
move_edge(edge_object,ref_vertex,new_vertex_position)
Moves the whole given edge (class Edge) to a new position. The new position of the edge is calculated by moving ref_vertex (class Vertex) to new_vertex_position (class Point).
move_face(face_object,ref_vertex,new_vertex_position)
Moves the whole given face (class Face) to a new position. The new position of the face is calculated by moving ref_vertex (class Vertex) to new_vertex_position (class Point).
move_block(block_object,ref_vertex,new_vertex_position)
Moves the whole given block (class Block) to a new position. The new position of the block is calculated by moving ref_vertex (class Vertex) to new_vertex_position (class Point).

ClusteringGroup Class
The ClusteringGroup class is used to create and manipulate group of clustering.
Member functions

add_segment(segment,orientation)
Adds a segment in the clustering group with the specified orientation.
orientation is the way the clustering of the group will be applied on the added segment respecting (when set to 1) or not (when set to 0) its orientation.
remove_segment(segment)
Removes a segment from the clustering group.
reverse_segment_orient(segment)
Reverses the segment orientation of the clustering group.
get_segment_list()
Returns a list of objects of the Segment class.
delete()
Deletes the clustering group.
cluster_start(distance)
cluster_end(distance)
cluster_both_ends(distance)
Clusters at start, end or both ends with a given absolute value representing the size of the first (last) cell.
cluster_both_ends2(start_dist,end_dist,num_cst_cell)
Clusters at both ends by specifying the start and end distances as well as a number of constant cells. If the algorithm does not converge, it resets a uniform clustering.
cluster_tanh(start_dist,end_dist)
Specifies a hyperbolic tangent stretching by specifying the start and end distances. Distances are given as absolute values.
Example: segment(1,1,1,1).cluster_tanh(0.01,0.01)
cluster_uniform()
	Resets the clustering of the segment to uniform.
cluster_bound_layer(start_dist,end_dist,start_thick,end_thick,num_cell_start,num_cell_end)
Specifies a boundary layer by its 	number of cells, thickness and first cell size at both ends of the segment.
cluster_curvature(ratio,weight)
	Computes a clustering distribution based on the segment curvature.

Global functions

create_clustering_group(name)
Creates a new clustering group with the given name.
clustering_group(name)
Returns an object of ClusteringGroup class.

SegmentGroup Class
The SegmentGroup class is used to create and manipulate group of segments.
Member functions

add_segment(segment)
Adds a segment in the segment group.
remove_segment(segment)
Removes a segment from the segment group.
get_segment_list()
Returns a list of objects of the Segment class.
delete()
Deletes the segment group.
smoother_bc(type,cell_width,exp,ncell)
Specifies the boundary type for the bounding segment group of the set of faces to smooth: 0 for solid wall, 1 for moving, 3 for fixed and 5 for undefined.
apply_continuous_distrib(start_spacing,end_spacing)
Imposes a continuous distribution between all segments of the group.

Global functions

create_segment_group(name)
Creates a new segment group with the given name.
segment_group(name)
Returns an object of SegmentGroup class.

FaceGroup Class
Face grouping functionalities are available through the FaceGroup class. The users can apply multiblock smoothing on face group.
Member functions

add_face(face)
Adds a face to the group.
face specifies the face and is a name or a Face object.
remove_face(face)
Removes a face from the group.
face specifies the face and is a name or a Face object.
get_face_list()
Returns a list of objects of the Face class.
planar_smoothing(smoothing_steps)
Specifies multiblock elliptical smoothing on the specified group of faces.
delete()
Deletes the group. 

Global functions

create_face_group(group_name)
Creates a new group with the given name. The name must be a unique name not already used by another group. In case a group already exists with that name, an exception is raised.
face_group(name)
Gets the face group by its name. Returns an object of class FaceGroup.

BlockGroup Class
Block grouping functionalities are available through the BlockGroup class. The users can create or delete block groups as well as add or remove blocks from a group. Groups can be used with several grid functionalities like block generation.
Member functions

add_block(block)
Adds a block to the group.
block specifies the block and is a name or a Block object.
remove_block(block)
Removes a block from the group.
block specifies the block and is a name or a Block object.
delete()
Deletes the group. Using the object after deleting it is forbidden.

Global functions

create_block_group(group_name)
Creates a new group with the given name. The name must be a unique name not already used by another group. In case a group already exists with that name, an exception is raised.
block_group(name)
Gets the block group by its name. Returns an object of class BlockGroup.

Distribution Class
The Distribution class allows to define a distribution on a segment of given length and given number of points. A Distribution object is initialized with (a copy of) an arc length distribution or just a number of points (then, the distribution is set to be uniform with length 1).
Example
distribution2 = Distribution(33) # initialized a unit length with 33 points
distribution2.set_length(10) # sets length to 10
distribution2.cluster_both_ends(1) # sets clustering at end with cell size at end to 1
segment(1,1,2,1).cluster_user_defined(distribution2) # imposes user-defined distribution on segment
Member functions

cluster_start(distance)
cluster_end(distance)
cluster_both_ends(distance)
Clusters at start, end or both ends with a given absolute value representing the size of the first (last) cell.
cluster_both_ends2(start_dist,end_dist,num_cst_cell)
Clusters at both ends by specifying the start and end distances as well as a number of constant cells. If the algorithm does not converge, it resets a uniform clustering.
cluster_tanh(start_dist,end_dist)
Specifies a hyperbolic tangent stretching by specifying the start and end distances. Distances are given as absolute values.


cluster_uniform()
	Resets the clustering of the segment to uniform.
normalize()
Sets the length of the distribution to 1 without changing the number of points.
set_length(length)
	Sets the length to an arbitrary value.

Create Block->Smoothing
Grid/Create Block/Smoothing menu item is used to smooth the active block using an elliptic solver when clicking on Smooth button. The level of smoothing can be controlled through the new popup window, shown in FIGURE 43, by entering the Number of iterations. The smoothing is applied on all grid points except the ones located on the faces of the block. Furthermore, the smoother is keeping the cell size at the wall imposed by the clustering defined by the user.



FIGURE 43 3D Smoother Control

Grid File Format

The grid file structure consists of five files and is used to save and reload an IGG™ project:

a .geom file, containing the definition of geometry points, curves and surfaces.
a .X_T (Windows) or .xmt_txt (Linux) file, containing the definition of Parasolid™ entities referred in ".geom" file.
a .igg file, containing the topology and grid information, such as number of blocks, number of grid points, clustering, smoothing, projections...
a .cgns file, containing the blocks coordinates.
a .bcs file, containing the boundary conditions information required for the solver.
a .config file containing the patches grouping.

The .geom, .X_T (.xmt_txt) and .igg files are required by IGG™. Without one of these, IGG™ will not be able to reload a mesh.
The .cgns file should normally always be present since it contains the blocks coordinates. However if IGG™ cannot find it, it will still be able to read the project (geometry + topology). The face and block grid will have to be manually regenerated.
The .bcs file is not read by IGG™. It is only used by external solvers.
The .config file is used to enhance the default grouping used in FINE™ GUI and for subprojects. 
The .geom, .X_T (.xmt_txt) and .igg files are internal files to IGG™ and are not intended to be read by the user. They are consequently not explained here. The two next sections describe the .cgns and .bcs files.

Insert/Edit page
This page contains icons used to add entities (vertices, fixed points, ...) to the blocks, to control the grid points clustering along the segments and to modify blocks. When the cursor is moved above one of these icons, a balloon containing a message appears, indicating the function of the corresponding icon. Each icon is referenced here below with this message.
Insert Vertex
This icon is used to insert a new vertex in an edge. 



Use the short-cut <i> to activate this command in a faster way.
Move the mouse to the desired edge. A small marker is displayed when the candidate edge has been identified. Left-click to insert a new vertex in this edge. Then, this vertex can be moved as for a corner vertex. Left-click again to fix its position.
The insertion of a vertex splits the existing topological edge into two new topological edges. The mapping of these edges can be controlled separately.
The insertion of a vertex is firstly attempted on the active edge. In this way it is possible to control in which edge the vertex is inserted in the case several edges lie at the same position.
Insert Fixed Point
This icon is used to insert a new fixed point in an edge. 



Move the mouse to the desired edge near a grid point to fix. A small marker is displayed when the insertion can be performed. Left-click to insert a new fixed point in this edge; its index will then be displayed. This fixed point can be moved as for a corner vertex. Left-click again to fix its position.
The insertion of a fixed point splits the existing segment into two new segments.
The insertion of a fixed point is first attempted on the active edge. In this way it is possible to control in which edge the fixed point is inserted in the case several edges lie at the same position.
Insert Internal Grid Line
See the Grid/Internal Grid Line/Create from grid menu item description in section Internal Grid Line->Create from grid.



Internal Point



This icon is used to insert an internal point in the active face. In fact, an internal point is composed of two crossing internal grid lines. The face grid must be already generated. The following prompt appears to select two crossing grid lines:
Insert Internal Point on Active Face (q = quit)
Move the cursor to the two desired crossing grid lines of the active face. When the cursor is close enough, the grid lines are highlighted and their indices are displayed. Simply press the left mouse button to create the internal point.
The shape of the internal grid lines will initially follow the shape of the face grid. After the creation of the grid lines, a dialog box is opened to ask whether geometrical curves should be created at the position of the internal grid lines. 
Geometrical curves allow to modify the shape of the internal grid lines and possibly come back to their original position. If no geometrical curve is created, the grid lines will lose their initial shape as soon as a vertex is moved, without any possibility to come back to their first position. 
If curves are not created, it is always possible to later create a curve at the position of the internal grid line by right-clicking on one edge and selecting the Edge/Create Curve pop-up menu item.
To quit this command, press <q> or the right mouse button.
Internal Face



See the Grid/Internal Face/Create... menu item description in section Internal Face->Create.
Cluster Points
See the Grid/Grid Density/Clustering... menu item description in section Grid Density->Clustering.
Transform Blocks
This option allows to apply a transformation (rotation, translation, scaling) to a block or to a group of blocks. The dialog box shown in FIGURE 12 will appear:





FIGURE 12 Transform Blocks dialog box
The first thing to choose is the Block(s) to Transform. Three possibilities are available (simply left-click on the desired one in the box):

Active Block. Select only the active block.
Selected Block(s). Select the desired blocks by entering with the keyboard their number in the dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be selected by entering two numbers separated by a '-'. For example, enter '4 6 10-15' to select the blocks 4, 6 and the range 10->15. The numbers do not have to be ordered. If a syntax error is made, a warning message will appear.
Block Group. Select all the blocks of the group. To see all the group names and select the desired one, left-click on the dedicated arrow.

Next, the transformation which will be applied to the block(s) must be selected. There are three transformations available: translation, rotation and scaling. Simply left-click on the corresponding page to select one or the other transformation.

For the rotation, its axis, origin and angle must be specified. For the axis and origin, simply enter the x, y and z coordinates. A number must be specified for the angle, which will be computed as follows: angle = 360/number.
For the translation, simply specify a vector by entering its coordinates.
For the scaling, simply specify the scaling factor in the x, y and z directions. Null values are not allowed.

Finally, the mode for the block topology (edges) transformation must be chosen. Two possibilities are available (simply left-click on the desired one in the box):

Topology From Grid. Using this option, the edges of the blocks are re-created using the grid nodes of the transformed blocks. Consequently a slightly different shape might be obtained for the edges after the transformation.
Duplicate Geometry. Using this option, all the curves and surfaces currently used by the blocks are duplicated and transformed using the same transformation as the blocks. The transformed block will then refer to these new geometry entities which will insure that the blocks will have exactly the same shape as before the transformation (see FIGURE 7).

After transformation (e.g. rotation), the block periodicity and connections should be redefined and recomputed accordingly.
Extend Block



This option allows to extend an existing block, starting from one of its faces. It does not create a new block but rather extends a block along the I, J or K direction, allowing to construct blocks incrementally in an efficient way.


FIGURE 13 Block extension along the J direction

During an extension operation, IGG™ automatically inserts a new internal face at the position of the reference face and increments the number of points of the block along the extension direction. This allows to keep the current shape of the block unchanged while being able to extend it. Internal edges are inserted in the new internal face at the same position and with the same shape as internal edges of the reference face.
The connections of the reference face (vertices, edge, segments and patches) are deleted during the extension operation. A warning appears when a disconnection is performed.
The following steps have to be followed to extend a block:

Click on the icon. The following prompt appears:
<1> to select a face, <2> to perform extension, <3> to quit
Select the reference face with the left mouse button. Middle-click to acknowledge the face selection.
One vertex of the reference face is selected and can be moved with the mouse. The whole reference face is translated at once, according to the vertex movement. This vertex can be placed in the same way as when moved alone, and in particular its coordinates can be entered in the keyboard input area.
Left-click to end the block extension.

Split Block



See the Grid/Create Block/Split... menu item description in section Create Block->Split.
Split Block at internal faces



See the Grid/Create Block/Split at internal faces menu item description in section Create Block->Split at internal faces.
Merge Blocks



See the Grid/Create Block/Merge menu item description in section Create Block->Merge.

Create Face->Planar Faces Smoothing
Grid/Create Face/Planar Faces Smoothing... can be used to smooth a group of faces defined in the same plane using an elliptic solver. Boundary conditions are defined on the bounding segments of the set of faces. The dialog box is divided into two pages:

Smoothing: the page gives access to the creation of faces groups and the smoothing steps.
Boundary control: this page gives access to the creation of segments groups and the type of boundary.

To define smoothing on a set of faces:

Define a type of boundary on all segments bounding the set of faces. The type can be applied on an active segment or a pre-defined group.
Define the group of faces on which the smoothing will be applied.
Define the number of optimization steps.
Click on Smooth to apply the smoothing.



Boundary Control
The Boundary Control page allows to impose the type of boundary on all the bounding segments of the set of faces to smooth.


The boundary type can be applied on the active segment or on a pre-defined group of segments. The segment groups are managed (created, modified and deleted) through a dedicated dialog box, accessed by left-clicking on the Create Group... button.
This dialog box contains a list of the segment groups defined in the current project. Each group name is preceded by two buttons. Left-clicking on the first one toggles the segment list of the corresponding group. Left-clicking on the second one toggles the segments of the group in the graphics area. Each segment of a group is also preceded by a check button allowing to individually show or hide the segment. Segment names are based on their Block, Face, Edge and Segment indices.
Groups are managed through the buttons at the bottom of the dialog box or through pop-up menus accessed by right-clicking on an item in the list.
The Create button allows to create a new group. An additional entry will be opened to enter the group name. Then the group will be added to the list and its filling will proceed just as with the Modify button, described below.
The Delete button allows to delete the selected group. A group is selected by left-clicking on its name in the list. Several groups can be selected at once in the following ways:

 While holding the <Ctrl> key down, select the desired group in the list.
 While holding the <Shift> key down, select two groups delimitating a range of groups.
 While pressing the left mouse button, drag the mouse and release the left button to select a range of groups.

The Modify button allows to modify the segment list of a group (addition or removal of segments). After the selection of this option, all the segments of the selected group are highlighted and the following prompt appears:
<1> Select segment, <2> Add, <d> Remove, <3> Quit
Then select a segment by left-clicking on it in the graphics area. It is highlighted as well as its parent block (to be able to distinguish segments lying in the same place).

To add the selected segment in the group, middle-click.
To remove it from the group (if already contained), press <d>.
To quit this tool, right-click.

Editing options can also be accessed by right-clicking on a group or on a segment in the dialog box.
Boundary Type
The types of boundary available in the Boundary Control page to impose on all the bounding segments of the set of faces to smooth are:
Undefined
This type indicates that no boundary has been imposed on the segment. This type is not accepted for the bounding segments but can be accepted for internal segments of the set of faces.
Fixed
This type indicates that the segment and its points distribution stay fixed during the smoothing process.
Moving
This type indicates that the segment will move during the smoothing process. The points on the segment will move on a curve constructed from original segment geometry.
Solid Wall
This type indicates that the segment and its points distribution stay fixed during the smoothing process but with an imposed perpendicular distribution controlled by the cell width, control layers and expansion ratio parameters. 	
Face Group
The Smoothing page allows to impose the group of faces on which the optimization steps will be applied. The face groups are managed (created, modified and deleted) through a dedicated dialog box shown below, accessed by left-clicking on the Create Group... button.


This dialog box contains a list of the face groups defined in the current project. Each group name is preceded by two buttons. Left-clicking on the first one toggles the face list of the corresponding group. Left-clicking on the second one toggles the faces of the group in the graphics area. Each face of a group is also preceded by a check button allowing to individually show or hide the face. Face names are based on their Block, Face indices.
Groups are managed through the buttons at the bottom of the dialog box or through pop-up menus accessed by right-clicking on an item in the list.
The Create button allows to create a new group. An additional entry will be opened to enter the group name. Then the group will be added to the list and its filling will proceed just as with the Modify button, described below.
The Delete button allows to delete the selected group. A group is selected by left-clicking on its name in the list. Several groups can be selected at once in the following ways:

 While holding the <Ctrl> key down, select the desired group in the list.
 While holding the <Shift> key down, select two groups delimitating a range of groups.
 While pressing the left mouse button, drag the mouse and release the left button to select a range of groups.

The Modify button allows to modify the face list of a group (addition or removal of faces). After the selection of this option, all the faces of the selected group are highlighted and the following prompt appears:
<1> Select a Face, <2> Addto Group, <3> Quit, <Keyboard Area>:Face Indices
Then select a face by left-clicking on one of its edges in the graphics area.

To add a face in the group, select it in the graphics area and middle-click, or type the face indices in the keyboard area.
To quit this tool, right-click.

Editing options as remove can be accessed by right-clicking on a group or on a face in the dialog box.
Face smoothing
Before performing the smoothing on the face group, the button Check Bcs allows to control that all the segments bounding the selected face group have a defined (solid wall, moving or fixed) boundary type. If undefined segments are detected a window will pop-up and the concerned segments will be highlighted in green in the graphics area. 
When all the bounding segments have a boundary type defined, the number of smoothing steps (Optimization steps) is specified and the smoothing is applied by left-clicking on the button Smooth. If undefined segments are still present, a warning message appear at the bottom of the dialog box and the smoothing is not performed.
        
The faces included in a same group should be defined in a same plane otherwise a warning will be prompted. When selecting yes, the smoothing is performed and the final smoothed mesh will become planar, except if fixed segments leading to possible discontinuities.

Export PLOT3D Format
#------------------------------------------------------------------------------------------
#  Define a generic function for outputing in PLOT3D ASCII format
#  Saves all the blocks in the current project
#------------------------------------------------------------------------------------------
 
def save_plot3d_ascii(filename):
 
    # Open the file for writting and test for validity
    fp = open(filename,"w")
    if fp==0: raise "save_plot3d_ascii cannot open output file"
    # If several blocks, print the number of blocks as first line
    if num_of_blocks()  > 1: fp.write("%d \n" % (num_of_blocks()))
 
    # Loop over the blocks and write them one by one    
    for bi in range(num_of_blocks()):
    	b = block(bi+1)
        nI = b.num_of_I()
        nJ = b.num_of_J()
        nK = b.num_of_K()
        fp.write("%d %d %d\n" % (nI,nJ,nK))
 
    for bi in range(num_of_blocks()):
    	b = block(bi+1)
        nI = b.num_of_I()
        nJ = b.num_of_J()
        nK = b.num_of_K()
        count = 0
 
        # Loop over each coordinates in turn and write to file
        for coord in range(0,3):
            # Loop over each grid point (triple loop over k,j,i)
            # grid_point mf uses indices from 1 !!!
            for k in range(1,nK+1):
                for j in range(1,nJ+1):
                    for i in range(1,nI+1):
                        if   coord==0: v = b.grid_point(i,j,k).x
                        elif coord==1: v = b.grid_point(i,j,k).y
                        elif coord==2: v = b.grid_point(i,j,k).z
                        fp.write("%f " % v)
 
                        count = count + 1
                        if count == 5:
                            count = 0
                            fp.write("\n")
 
        fp.write("\n")
    fp.close()
    ft.close()
#-------------------------------------------------------------------------------
#                       Example of using the function
#-------------------------------------------------------------------------------
close_project()
# Create a new block and set its size
b = new_block()
b.set_size(10,10,10)

# Generate the block. Always do this before accessing the coordinates !! IGG makes no check for this.
b.linear_6_bnd()
# Save as PLOT3D
save_plot3d_ascii("plot3d_save.g")

Structure of the Manual
The structure of the IGG™ manual consists of several dedicated chapters which can be summarized as follows:

Getting Started describes the basic terms needed to understand IGG™ functionalities. 
Graphical User Interface describes the GUI and the different interaction modes with the system.
Meshing Fundamentals describes the fundamentals of meshing and the most commonly used options.
From Butterfly mesh to Tools Menu chapters, a detailed description of each functionality available in the different modules is described. Each chapter is a description of a menu contained in the IGG™ interface.
Input & Output Files describes IGG™ file formats for importing and exporting data.

The first three chapters provide a complete overview of IGG™ and are recommended for first time use. Following chapters provide more detail to serve as reference during the use of IGG™.

Terms & Concepts
This section describes the terms and concepts used in this manual. For more details on a specific topic consult the index to see where it is described in the manual.
IGG™ is a structured multi-block grid generator. The grid generation process can be decomposed into two major steps: the blocking step, also called topological decomposition, and the meshing step. 
Blocks are used to decompose complex 3D domains into simpler meshable sub-regions. To create a mesh, blocks are created, initially simple cubes, and adapted to the geometry by deforming their boundaries (edges) so that they lie onto geometry curves or surfaces. Blocks can be created as needed and they are connected together to insure non overlapping filling of the domain. The creation, geometry capturing and connection operations all together define the topology of the mesh.
Due to the structured approach, blocks are constrained to be bound by exactly six faces, each face having four edges. Furthermore each edge is shared by exactly two faces. There are consequently 12 edges for a block.
Blocks can be thought of as cubes whose edges are deformed to lie onto the CAD geometry. FIGURE 1 shows two blocks deformed to lie on the geometry.


FIGURE 1 Edges deformed and positioned on a geometry
Block Shape Control
The shape of a block is directly defined by the shape of its grid edges (edge belonging to a block face). These grid edges are supported and handled by topological edge(s). These topological edges are used to capture the geometry and must not be confused with a grid edge (more commonly called edge). A topological edge is defined and controlled by two vertices, defining its geometrical limits. By default each grid edge contains one topological edge, thus two vertices. Furthermore, vertices are shared at block corners, yielding a strong topological consistency between the edges of a block. There are consequently by default eight vertices for each block, as shown in FIGURE 2


FIGURE 2 Edge vertices and edge mapping onto a curve
The shape of an edge is directly controlled by the position of its vertices and of its topological edges onto the geometry entities (points, curves or surfaces). 

The positioning of a vertex on a geometry entity is called "vertex snapping".
The positioning of a topological edge on a geometry entity is called "edge mapping". It means that the topological edge is deformed to lie on the geometry entity.

IGG™ automatically detects when the two vertices of a topological edge lie on a same geometry entity and performs automatic mapping of the topological edge onto that geometry entity. IGG™ performs an automatic mapping when:

two vertices lie on a same curve,
two vertices lie on different curves but can be considered as lying on the same curve at the vertex tolerance,
two vertices lie on a same surface,
two vertices lie on a surface and a curve belonging to that surface (i.e. trimming curve).

When one of the vertices of a topological edge does not lie on any geometry entity, IGG™ draws a straight line for the topological edge.
Very often the input geometry is defined by a set of curves that all together define a closed region. These curves are however most of the time not connected in the sense that no topological information exists to go from one curve to another. 
To cope with this frequent case, IGG™ provides a method to easily insert additional vertices () in the definition of an edge. FIGURE 3 shows an example of two curves lying next to each other. Using only one topological edge with two vertices, the edge would be a straight line. The insertion of an additional vertex allows to capture the junction of the curves and therefore the mapping of the edge onto the two curves.


FIGURE 3 Internal vertex insertion in an edge
When inserting the internal vertex into the edge, the initial topological edge is replaced by two new topological edges (a topological edge is delimited by two consecutive vertices). Therefore, the first topological edge can be mapped on curve 1 and the second one on curve 2. In fact, at each internal vertex insertion, the number of topological edges of the grid edge is increased by one. Therefore an edge defined by N vertices has exactly N-1 topological edges.
FIGURE 4 shows an example of an edge being defined by several topological edges. 


FIGURE 4 Grid edge defined by 4 vertices (3 topological edges)
IGG™ provides a tolerance mechanism to deal with input geometries presenting small gaps. A tolerance is attached to each vertex participating in the definition of an edge. When a vertex is placed at the junction of two curves, as in FIGURE 5, IGG™ attempts to fill the possible gap (if existing).


FIGURE 5 Use of the vertex tolerance for edge mapping
As shown, there is a gap between curve 1 and curve 2. To map an edge on these two curves, the "start" and "end" vertices have to be positioned firstly, then an intermediate vertex must be inserted on the edge and moved to the curve 1 end point. If the tolerance of this intermediate vertex is too small, the edge cannot map the curve 2. If it is sufficient, the edge also maps the curve 2, filling in the gap with a straight line.
When gaps are big, the tolerance can be controlled for each vertex separately.
Grid Control
Once block edges are well positioned to capture the geometry, grid points can be positioned on edges.
Due to the structured approach, the edges varying along a same direction (I, J or K) are constrained to have the same number of points. The number of grid points can be controlled independently for the I, J or K directions.
However the grid point distribution along an edge can be controlled independently for each edge. This distribution is controlled by segments. A segment is an entity controlling a range of grid points on an edge. Using these segments, the clustering (distribution) can be locally controlled along the edge. By default, each edge has one segment. Moreover, for each new created segment, grid points are distributed at equal intervals (uniform spacing).
The creation of segments in an edge is done by insertion of fixed points (), as shown in FIGURE 6:


FIGURE 6 Edge division in segments using fixed points
Fixed points define the limits of the segments. They also control the range of grid points controlled by the segments. Changing the index of a fixed point changes the number of points in the surrounding segments.
Fixed points are by default constrained to move along their edge. When more flexibility is needed, fixed points can be attached to vertices. Such fixed point is no more constrained to move along its edge.
Internal Grid Lines


FIGURE 7 Two internal edges added to the face
Internal edges () are used to obtain a better control of the grid quality during face grid generation. They enable to decompose a face grid into smaller, more manageable areas and can be manipulated in the same way as boundary edges. These edges can be mapped onto geometry curves, divided into one or more segments, on which the distribution can be specified. FIGURE 7 shows a face with two internal grid lines, which decompose the face into 4 sub-regions.
During the creation of internal grid lines, IGG™ automatically intersects the boundary edges as well as the other existing internal edges. At each intersection IGG™ creates a fixed point attached to a vertex. This vertex-fixed point is shared by the edges and insures topology and grid consistency at any time (indeed internal grid lines cannot be separated at their intersection with other edges).
Internal Faces
Internal faces () are used to obtain a better control of the grid quality during block grid generation by inserting controllable faces within the blocks. They decompose a block into smaller regions which can be independently generated and manipulated.
Internal faces are bound by four edges. These edges have the same general orientation as the boundary edges of the block and are manipulated in the same way.
When creating new internal faces, IGG™ identifies all crossing faces and creates a new internal edge at each intersection. These edges are shared by the crossing faces to insure a consistency during block generation.
Internal faces can be manipulated much in the same way as boundary faces: 

Their boundary edges can be mapped onto the geometry,
Internal grid lines can be added,
They can be projected on geometry surfaces,...

The internal faces are taken into account during block generation when using a six boundary interpolation.
Block, Face, Edge, Segment Numbering & Active Entities
Each entity defining the grid topology (block, face, edge, segment) is identified by an index in IGG™.
Each block is defined by a local IJK coordinate system giving a natural naming convention for the faces. Faces, edges and segments are further numbered and identified by indices as indicated in  FIGURE 8.


FIGURE 8 Standard notation for the block, faces and orientation of edges
According to these conventions, entities are referenced as follows:

A block is identified by one index, describing its position in the grid. For example, block "1" identifies the first block of the grid.
A face is identified by its block and face indices. For example, face "2 4" refers to the face 4 of block 2.
An edge is identified by its block, face and edge indices. For example, edge "1 5 2" refers to the edge 2 of the face 5 of block 1.
A segment is identified by its block, face, edge and segment indices. The segment index is simply the segment position in the edge, according to the edge orientation. For example, segment "1 5 2 3" refers to the third segment of the edge "1 5 2".

Since an edge is shared by two faces it can be accessed by two identifiers. For example, the edge    "1 2 4" (block 1, face 2, edge 4) is the same as the edge "1 6 2" (block 1, face 6, edge 2). Furthermore each edge has a natural orientation given by the positive direction of the I, J and K axis, as shown in the previous figure. On the other hand, segments have the same orientation as their underlying edge.
Active block, face, edge and segment
Some operations like face grid generation, visualization... must be operated on specific entities. In IGG™, these operations are performed on the active entities. There is always one active segment, edge, face and block in a session. They are highlighted in the graphics area and can easily be recognized from non active entities.
Activation of an edge, face or block is done by simple left mouse click on the desired entity in the graphics area. When several entities lie at the same position, the left-click operation may need to be repeated until the proper entity is highlighted. Alternatively, an entity can be activated by entering its identifier through the keyboard. For example, to activate the block 2, face 4, edge 1, type '2 4 1' in the keyboard input area and press <Enter>. The entity will be activated.
This activation mode can be used at any time in IGG™, as long as another menu option is not used (i.e. curve creation).
Grid Generation
After the grid points along the block boundaries (edges) have been correctly positioned, the faces grid must be generated. Then the block grid generation can be performed by using these faces grid previously generated. The grid boundaries can have slope and/or line continuity or be totally discontinuous at the block interfaces. 
Faces can be generated by using the following options:

Algebraic grid generation: two- or four-boundary interpolation (linear or cubic) from the face edges ().
Mapping a face on a geometry surface. Mapping is performed by linear interpolation from the face edges in the geometry surface space ().
Projecting a face grid onto a set of geometry surfaces ().
Overall or local smoothing (in a user-specified region of a face or block grid) by the elliptic method ().

Blocks can be generated by using the following options:

Algebraic grid generation by two-, four- or six-boundary interpolation (linear or cubic) from the block edges ().
Translation of a face grid, combined with rotation and scaling ().
Expansion of a face grid along face normal according to a user-specified distance ().
Rotation of a face grid around a coordinate axis ().
Sweeping of a face grid along an arbitrary curve, combined with rotation and scaling ().

Algebraic methods based on transfinite interpolation are the most attractive options, due to fast real time generation for face and block grids. The smoothness of such algebraic grids can be improved by using the elliptic smoother.
The algebraic grid generation is based on the transfinite interpolation methods with linear (Lagrange) interpolants. The grid generation options can be explained as follows:

Linear six-boundary transfinite interpolation ()
This type of algebraic generation is based on the determination of internal grid points of a block by linear (Lagrange) interpolation from the surface grids generated on six boundary faces (not applicable to face grids). Thus the grid conforms to the point distributions defined over the six boundary faces. The surface grid normal lengths have no effect on the grid, since the orthogonality is not considered for linear interpolation. 
Linear four-boundary transfinite interpolation ()
With this option, the internal grid points in a face or block are generated by linear (Lagrange) interpolation from four boundaries. In the case of face grids, the user-specified grid point distributions on four boundary edges are used for interpolation. Such a grid can also be considered as a bilaterally blended Coons patch. 
The block grids are obtained from the grid created on four boundary faces, on which a variable coordinate index is common (faces 1, 2, 3 and 4 for common I index, faces 1, 2, 5 and 6 for common J index and faces 3, 4, 5 and 6 for common K index). The grid normal length distributions defined on the boundary curves or the surface normal lengths specified for the boundary faces have no effect on the grid, since the orthogonality is not considered for this case. 
Linear two-boundary interpolation + user-specified stretching ()
This technique has been introduced as a two step generation process using the opposite boundaries of each block. The face grids are generated by linear interpolation from the two opposite boundary edges (e.g. edges 1 and 2). The grid points along constant index lines between these two edges are then redistributed according to the user-defined grid point distributions on the other opposite boundaries (e.g. edges 3 and 4). Thus the grid conforms to distributions defined on all four boundaries, as in the four-boundary case. 
The block grids are created by interpolation from the grid on two opposite block faces (e.g. faces 1 and 2). Then, the interior grid points are redistributed according to the user-defined point distributions on one of the other two opposite faces (e.g. edges 3 and 4 of face 3 or 4). Again, there is no consideration of boundary orthogonality.
If grid overlapping occurs when using one of the algebraic grid generation methods, please do not panic. Due to very tight grid point spacing or high degree of orthogonality constraints, the grid points may overlap initially. Simply try to smooth () the grid locally or as a whole in several iterations, until overlapping disappears.
Overall or local smoothing ()
The smoothness of algebraic grids can be improved by a few iterations with the elliptic solver. A local region of smoothing can be specified within the face or block grid by mouse or keyboard. The default smoothing area covers the overall grid. 
Sweeping a face grid ()
This method is similar to the translation of a block face for the generation of a block grid. However, the base grid (e.g. face 1) is swept along a specified sweep edge. The grid points along the sweeping edge are created according to the user-specified point distribution. Sweeping can also be combined with rotation and scaling.
Rotating a face grid ()
This option is especially suitable for the generation of grids around turbomachinery components. A face grid can be rotated around any coordinate axis at a user-specified angle to form the block grid. For blade passages, the pressure side can be rotated around the axis of rotation at an angle of blade pitch and the resulting block grid can be intersected by a geometry surface representing the suction side stored in the geometry repository.

Boundary Conditions
Each block face can be divided in a certain number of patches on which will be applied the boundary conditions. It allows, for a same face, to have several different boundary conditions.
Boundary conditions setting consists of imposing to each patch of the grid a type describing the physics of the flow. The boundary conditions setup is normally performed when the grid has been generated.
The following standard notation is used to identify the type of the boundary condition applied on a patch:

UND: undefined type.
INL: inlet.
OUT: outlet.
EXT: external. Used to impose far field conditions.
SOL: solid. Used for walls.
SNG: singular. Used for patch degenerated into a line.
MIR: mirror. Used to impose a symmetry plane.
ROT: rotating. Used for rotor-stator interaction.
CON: matching connection.
NMB: non matching connection.
PER: periodic matching connection.
PERNM: periodic non matching connection.

Visualization
Geometry
Understanding the input geometry model is essential to perform fast and efficient meshing. Geometry models tend to be more and more complex and composed of lot of curves and surfaces. To facilitate the manipulation and visualization of these entities a grouping option is provided. Grouping allows to:

create and delete new groups,
add curves and surfaces to a group,
selectively visualize or hide one or more groups.

This organization in groups allows to display very fast only few geometry entities, and can greatly help during the interactive placement of blocks on the geometry. Interactive snapping of vertices can then be performed on a restrained number of entities avoiding the risk of interference with other unnecessary entities.
Grid
The visualization of the grid is possible for different types of entities involved in the grid generation process. Selective visualization () can be applied to:

vertices,
fixed points,
boundary grid points,
edges
face grids (wireframe or shaded representation).

The visualization of each type of entities can be easily controlled using the scope of visualization. The visualization scope can be used to visualize an entity for the active segment, edge, face, block or grid ().

Disconnecting entities

Disconnection can be performed by Segment, Edge, Face or Block. When performing a disconnect operation, IGG™ disconnect all the entities at once. For example, disconnecting an edge disconnects the vertices, topological edges and segments of that edge.
To disconnect a face




Left-click on the face to select the desired face.
Right-click on the face to pop-up the menu and go to the Face sub-menu.
Select the Disconnect All menu item.

All the vertices, topological edges, segments and patches making up the face will be disconnected.

Butterfly command buttons
The Create Butterfly dialog box provides three buttons used to transform the butterfly topology.
The Create/update button is used to create a butterfly topology, i.e. to pass from a butterfly geometrical representation to a real creation of the butterfly blocks. It is also used to update the butterfly blocks when parameters of the Clustering frame are changed.

The Delete button is used to delete the butterfly blocks. The parent block remains in the grid. All the parameters of the butterfly topology deleted are kept and the corresponding geometric representation is displayed in the graphics area. So it allows to modify a generation parameter (e.g. a section shape) without losing all the information of the butterfly topology previously created. Even when the dialog box is closed, the butterfly parameters are not lost. They are recovered at the reopening of the dialog box. It is valid until the IGG™ session is closed (without creating the butterfly topology).
The Split button is used to split the butterfly group, which implies that the butterfly blocks are added into the grid and that the parent block is deleted. This is an irreversible operation, meaning that the Create Butterfly dialog box cannot be used any more on the complete split topology; the blocks of the split topology must be considered as normal blocks. If two butterfly groups are connected, the corresponding patches type is reset to "UND" when one of the groups is split. The correct type is restored when the second group is split. On the other hand, if a parent block is topologically connected (vertices, edges, segments) to a neighboring block, these connections disappear after splitting, because the parent block is deleted.

Create Block->Split at internal faces
Grid/Create Block/Split at internal faces menu item is used to split the active block along all its internal faces. The splitting operation is performed until there is no remaining internal face in the split blocks. Therefore more than two new blocks can be created at once.
The features and the limitations of this option are identical to the ones of the Grid/Create Block/Split menu item and are described in the previous section.
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.

File Menu




This Chapter describes the File menu options, which are used to manage the IGG™ system input and output, to import and export geometry and grid data, to control the system preferences and to end the interactive session.

Open
File/Open... is used to select an existing project previously created by IGG™. The file chooser shown in FIGURE 1 is opened to select an IGG™ project file with a ".igg" extension.


FIGURE 1  IGG™ file chooser
Upon selection of a valid IGG™ project, IGG™ closes the current project and installs the new project.
The old project is NOT automatically saved before being closed. Therefore, please make sure that the current work is saved before this option is used.
It is strongly recommended to open a ".igg" extension. If a wrong file format is encountered, a warning message appears or IGG™ may be closed.
New
File/New starts a new mesh generation and closes the current project from the system and opens a new empty project. The old project is NOT automatically saved before being closed. Therefore, please make sure that the current work is saved before using this option. All system parameters are reset to their default values and a new 3D project is initialized. The curves and surfaces are removed from the geometry repository.
Scripts --> Edit



File/Scripts/Edit... opens a dialog box displaying all the commands performed by the user since the beginning of its session. The user can easily edit this script (add, remove and modify commands).


The dialog box contains two pull-down menus. File menu allows to open a script in a separate dialog box and to save the script in a file. Run menu allows to run the script shown in the window under the current session ("Rerun on top").
Scripts --> Save All
File/Scripts/Save All... is used to save the dynamic recording of all commands performed by the user since the beginning of its session. Scripts section details the limitation and usage of the recording.
Scripts --> Execute
File/Script/Execute... is used to run a python script file containing IGG™ commands.
A file chooser is opened to select a file with a ".py" extension. Upon selection of a valid file, the script is executed in the current session and the result is visualized in the graphical window. Depending on the content of the script, operations will be added to the current project or a new project will be automatically opened before operations are performed (The previous project is closed).
If the script being run contains a syntactical error it will be aborted and a message will appear in the shell.
Scripts --> Re-execute Last
File/Script/Re-execute Last can be used to rerun the last script that was run using the Scripts/Execute... command. This option is most useful when writing own scripts manually to rapidly test it on the fly.
Save --> Save
File/Save/Save saves the current work. When the project is saved for the first time, a new file name must be specified with the extension’.igg’ through a file chooser. During the saving, the information about the project is distributed in five files: 




the "name.igg" file, which contains all relevant information about the topology and grid settings, except for faces and blocks coordinates.
the "name.geom" file which contains all the curves, surfaces and Cartesian points of the geometry repository (combined with "name.xmt_txt" (Linux) or "name.X_T" (Windows) Parasolid™ file depending of the OS when geometrical entities are coming from Parasolid™ and/or CATIA V5 files).
the "name.cgns" files containing information about faces and block coordinates.
the "name.bcs" files containing information about boundary conditions.
the "name.config" files containing information about patches grouping used within FINE™ GUI and subprojects.



The IGG™ file formats are explained in the Input & Output Files chapter.
White spaces should be avoided in the file name.
Save --> Save As
File/Save/Save As... is used to save an existing IGG™ project under a different name. Thus, different grids created by using the same boundary data can be saved separately for comparison. See File/Save/Save option for more details about saving.
White spaces should be avoided in the file name.
Save --> Save As Fine 7.4
File/Save/Save AsFine 7.4... allows to save the grids generated in the current version of IGG™ in a format compatible with IGG™ 5.7. See File/Save/Save for details about file naming conventions.
White spaces should be avoided in the file name.
Save --> Save As Fine 8.6
File/Save/Save AsFine 8.6... allows to save the grids generated in the current version of IGG™ in a format compatible with IGG™ 8.6. See File/Save/Save for details about file naming conventions.
White spaces should be avoided in the file name.
Import -> IGG Project
File/Import/IGG Project... is used to merge an existing IGG™ project stored on disk with the currently opened project. It allows several people working on large projects to perform the meshing in separate sessions and to merge their work at a later stage.



When combining an AutoGrid5™ project with an IGG™ project, the AutoGrid5™ project should be loaded first in order to keep the hub and shroud curves data for latter post-processing of the computation in CFView™.
Prefix
To easily recognize blocks and groups of an imported project from those in the current project, a prefix can be specified during importation. For this purpose, a dialog box is provided:


Upon proper prefix specification, all the names of patches, blocks, geometry groups and block groups will be automatically prepended with the prefix. For example, if a block being imported is named "Inlet"and a prefix "stage1" is specified, the name of the block within the current session will be "stage1#Inlet". Due to limitations in the CGNS format, the length of the prefix should be limited to 5 characters. Moreover it cannot begin with a number.
If no prefix is specified blocks and groups names will not be modified. Exception to this rule holds however when an imported block has the same name as a block in the current project. In that case an underscore will be automatically appended to the name.
Pressing on the Cancel button will cancel the importation of the selected project in IGG™.
Importation operations
During project importation the following operations are performed:

All the curves and surfaces from the imported project are added to the current project. When a name clashing occurs with existing curves or surfaces, IGG™ automatically renames the imported entities. The prefix currently does not apply to curves and surfaces.
All the blocks of the imported project are appended to the existing blocks. The index of the imported blocks is adapted automatically to follow the last block of the current project. The name of the patches and blocks follow the rule described here above.
The geometry and block groups are imported in the current project. The names of the groups follow the rule described here above.

Import -> IGG Data
File/Import/IGG Data... is used to read external curves and surfaces stored in an ASCII IGG™ format. The file formats are specific to IGG™ (Curve & Surface data files) and are described in the Input & Output Files chapter.
When using the option, a file chooser is opened to select files with ".dat" or ".dst" extensions. Upon acceptance, the entities are automatically stored in the geometry repository and displayed in the graphical area. 
A fitting of the view may be needed to see all the entities properly.
Since IGG™ uses the name of curves and surfaces to access them, no duplicate is allowed. During importation of a geometry file, IGG™ checks for name duplication. When an entity being loaded has the same name as an existing entity in the current session, the dialog box shown in FIGURE 2 is opened with different possibilities:


FIGURE 2 Importation options dialog box.
Replace:
When using this mode, IGG™ replaces the existing curve or surface by the one being imported. At the end of importation, IGG™ remaps all the vertices and edges lying on the replaced entities so that the topology of the grid fits onto the new geometry.
This mode should be used when using the current project as a template. See the chapter related to templates for additional information.
Don’t Load:
When using this mode, the entity having the same name will NOT be imported in the session.
Auto Rename: 
When using this mode, IGG™ imports the entity and automatically modifies its name so that it becomes unique in the current session. If no replacement is desired (as described above), this option should be used.
Import -> External Grid
File/Import/External Grid... is used to import inside the current IGG™ project a block grid generated either by IGG™ (using File/Export/Block Coor... menu item) or by another grid generator. A file chooser is opened to select a file with a ".dat" extension. Several file formats are available:

Block data file
Surface data file (2D or 3D wireframe)
Multiple surface data file (2D or 3D wireframe)

See the Input & Output Files chapter for a detailed description of the formats. Upon selection of a valid file, a new block (or several for multiple data files) is created and put at the end of the list of blocks. For "Surface data file", which represent surfacic meshes, only face 1 of the block is created. For 2D meshes, the z coordinate is set automatically to 0 for all the points. IGG™ automatically creates the block topology (edges) by using the boundary grid points of the block.
Import -> Face Grid
File/Import/Face Grid... is used to import and copy a 2D or 3D grid surface to the active face or to a BC patch on this face. A file chooser is opened to select a file, which must have a ".dat" extension and have the Surface data file format (see the Input & Output Files chapter for more information about this format). The type of surface and the edge creation mode are indicated from the keyboard input area. If the edges of selected surface are on the boundaries and the edge creation flag is on, the segments of that edge are created as polylines. 
When the active face contains several patches, the imported grid can be copied on the entire face or on one of its patches. In this case, the following prompt(s) appear:
Surface (=0) or Patch (=1) ? (q)
>>   1
Patch number (1...3) ? (q)	   (if previous answer is 1)
>>   2
Then the following prompt will appear to specify if edges must be reconstructed by using the face boundary grid points:
Create boundary segments (y/n) ?
>>   y
Import -> Topology
The option File/Import/Topology... allows to re-use an existing IGG™ project on a similar geometry by importing all the topology and grid information from the related ".igg" file. The complete current project is deleted before importing. During the import operation, the following happens:

all the geometry entities are discarded from the imported project.
the geometry groups are loaded, emptied from any curve or surface.
the grid information like number of blocks, connection between blocks, clustering,... is kept.
the blocks topology (vertices and edges) is kept, as well as their position and shape.
the face generation recording, including the projection on geometry groups is kept (see Project Face for projection on geometry groups).

Then, to use the imported topology on a similar geometry, do the following:

Import the new geometry with the File/Import/IGG Data... or IGES... options.
Redefine the geometry groups by selecting the proper surfaces and by adding them to the existing groups (right button press on a geometry group pops up a menu for adding or removing the current geometry selection).
Remap all the vertices manually onto the new geometry. New vertices may be added if the topology of the new geometry has changed.

Regenerate the faces with the Regenerate Face option. It is to be noted that face projected onto a geometry group will be successfully re-projected if the groups have been redefined as described in the previous operation.
Import -> CATIA V5
The option File/Import/CATIA V5... reads external geometry files in CATIA format up to R26. Several CATIA files can be opened when defining the geometry.
Whatever the units of the CATIA V5 geometry, it will be automatically converted in meters. For example a curve of 100 [millimeter] length will present a length of 0.1 into IGG™.
CATIA V5 file is read by the DATAKIT cross-CAD library and converted into a Parasolid™ file. The DATAKIT feature added in the NUMECA license will replace TTF-based libraries, also maintained to ensure backward compatibility. The TTF library is upgraded to v7.9.0.9 to allow importation of CATIA V5 files up to R19.
DATAKIT cross-CAD library is exclusively available on Windows and Linux 64 bits while TTF library is not available on Windows 64bits.
Running Windows 64-bits, an additional Windows security patch is required to enable CATIA V5 import with Datakit. For more details, link to http://www.microsoft.com/downloads/details.aspx?dispalylang=en&FamilyID=766a6af7-ec73-40ff-b072-9112bab119c2. 
Import -> Parasolid
The option File/Import/Parasolid... reads external geometry files in Parasolid™ format ".x_t". Several Parasolid™ files (Parasolid™ and CATIA V5) can be opened when defining the geometry.
The supported Parasolid™ version is 28.1.228.
A geometry can be correctly represented only if it is fully included in a cube between the points (-500,-500,-500) and (500,500,500) due to the Parasolid™ library limitation.
Import -> IGES
File/Import/IGES... menu is used to import CAD data stored in the standard IGES format. When names are defined for entities the IGES file, IGG™ uses them for the new entities created in the repository. When these names are already used by existing entities, a dialog box is opened to resolve the conflict. See the menu option File/Import/IGG Data... for details about the dialog box.


FIGURE 3  IGES file browser
This option provides a powerful browser to scan the content of an IGES file and selectively import IGES entities recognized by IGG™. In the case of composite curves and surfaces, the browser allows to view each component defining the entity and to select them individually.
Filters, reserved to expert users, allows to filter the data viewed by the browser. Each filter corresponds to a criterion defining if entities with the corresponding attribute set accordingly will be displayed in the browser/ imported. 
It might be useful to uncheck the Blank Filter/Blanked item in order to import only the entities meant to be visible and get a clear view of the intended geometry. The same holds for the Entity Use Filter with only the geometry item checked.
For the Subordinate Filter items, it might be useful to also have the both item checked if top-level entities cannot be translated, preventing the importation of their depending entities.
The Filters default settings have the following items checked: all Blank Filter items, all Entity Use Filter items but the definition item, the Subordinate Filterindependent and logical items, all Hierarchy Filter items.
See the IGES reference manual for a complete understanding of all filter values. The list of available IGES entities that can be imported in IGG™ are presented in the next table.





Entity Type Nr
Entity Type





100


Circular Arc




102


Composite Curve




104


Conic Arc




106


Copious Data (only curves and not points in IGG™




110


Line




112


Parametric Spline Curve




114


Parametric Spline Surface




116


Point




120


Surface of Revolution




122


Tabulated Cylinder




126


Rational B-spline Curve




128


Rational B-Spline Surface




130


Offset Curve (only uniform offset in IGG™)




140


Offset Surface




142


Curve On Parametric Surface




144


Trimmed Parametric Surface




158


Sphere




196


Spherical surface




When units are imposed in the IGES file, these are purely informative and will not be used by IGG™.
Import -> geomTurbo
The option File/Import/geomTurbo... reads "geomTurbo" files coming from AutoGrid5™. More details on the ".geomTurbo" format are available in AutoGrid5™ User Manual.
Import -> PLOT3D
File/Import/PLOT3D... is used to import inside the current IGG™ project, block(s) generated either by IGG™ (using File/Export/PLOT3D... menu item) or by another grid generator. The imported file must have a ".g" extension and have the PLOT3D file format, as described in the Input & Output Files chapter. 
The dialog box shown in FIGURE 4 is opened to select a file with a ".g" extension and the corresponding file format.


FIGURE 4 Input file and file format selection
The following file types can be selected in the File type entry:

ASCII
Binary single
Binary double
Unformatted single
Unformatted double

Binary stands for C binary files whereas Unformatted stands for Fortran binary files. Single and double describe the precision of reals.
Then three buttons are provided to select the remaining file specifications. These ones must be specified only for binary files (the buttons are deactivated when ASCII type is selected). The two first radio buttons allow to select the binary order in the file: little or big endian. The last button specifies if the file is single or multi-block.
The desired file can be selected by entering its full path name into the Plot3D File entry or through a file chooser opened by pressing the icon () next to the file entry.
Upon selection of a valid file, the blocks of the imported file are created and put at the end of the current list of blocks. IGG™ automatically creates the block topology by using the block coordinates.
Import -> CGNS
File/Import/CGNS... is used to import CGNS grid files inside the current IGG™ project. CGNS is a widely used standard for the exchange of CFD data. In particular it is very well suited to exchange meshes and boundary conditions between heterogeneous systems. Block coordinates and boundary conditions are read from the ".cgns" file. Only connections of type CON can be read and performed automatically by IGG™.
It is to be noticed that a CGNS file is automatically created during the saving of a project, using the File/Save options. This file can be reread by IGG™ using this option or exchanged with other CGNS compliant systems.
The imported file must have a ".cgns" extension and must be a valid CGNS format, as described in the Input & Output Files chapter.
A file chooser is opened to select a file with a ".cgns" extension. Upon selection of a valid file, the blocks of the imported file are created and put at the end of the current list of blocks. IGG™ automatically creates the block topology by using the block coordinates.
Import -> GridPro
File/Import/GridPro... is used to import inside the current IGG™ project, block(s) created by the GridPro grid generator. 
A file chooser is opened to select a GridPro file. Upon selection of a valid file, the blocks of the imported file are created and put at the end of the current list of blocks. A message indicating what block is read appears in the IGG™ message area. IGG™ automatically creates the block topology by using the block coordinates. Blocks connection information is read by IGG™ and patch decomposition is automatically performed. Periodicity information is not read from the file and must be specified manually within IGG™, when required, using the Grid/Periodicity... and Grid/Boundary Conditions... menu items.
Export -> IGES
File/Export/IGES... menu is used to export geometry entities in the standard IGES format.


The entire geometry repository can be saved or only the selected curves and surfaces. The length unit must also be specified through the dialog box shown in FIGURE 5:


FIGURE 5 IGES export options dialog box
The file created in this way can be read back by using the File/Import/IGES Data... menu item.
IGES export is not implemented for Parasolid™ surfaces.
Export -> Parasolid
File/Export/Parasolid... is used to save the selected geometry curves and surfaces into a Parasolid™ format. It was already automatically done when saving an IGG™ project for Parasolid™ entities (e.g. from Parasolid™ or CATIA import) but not for SISL entities (e.g. entities manually created in  IGG™, IGES import). In IGG™, only wireframe and sheet bodies are created from a collection of curves and surfaces and no volume model.
Export -> Geometry Selection
File/Export/Geometry Selection... is used to save the selected geometry curves and surfaces into an ASCII file. The files created in this way can be read back using the File/Import/IGG Data... menu item.
Only the curves and surfaces selected respectively by the Geometry/Select/Curves and by the Geometry/Select/Surfaces options are saved.
When selected geometry is containing Parasolid™ and/or CATIA V5 entities, a Parasolid™ file will also be saved in addition of ".dat" file.
Export -> Geometry Control Points 
File/Export/Geometry Control Points... is used to save the control points of the selected geometry curves into an ASCII file. It does not save the complete information about the curve (type, parametrization,...). The files created in this way are not intended to be directly read by IGG™. Their main use is to print out the coordinates of the control points of the curves.
This option is only available for curves, not for surfaces.
Export -> Block Coor
File/Export/Block Coor... is used to save the coordinates of an active block range in ASCII format, according to the level of coarseness selected for the grid (set by using View/Coarse Grid menu item). A warning is given if the grid has not been created yet. The standard block grid file format is used and is detailed in the Input & Output Files chapter.
The block range to save must be determined by two points, specified by their IJK coordinates in the keyboard input area (indices start at 1):
Enter imin jmin kmin (q)
Enter imax jmax kmax (q)
By default, values for the full block range are displayed.
The file created in this way can be read back by using the File/Import/External Grid... menu item.
Export -> Face Coor
File/Export/Face Coor... is used to save the coordinates of the active face in ASCII format, according to the level of coarseness selected for the grid (set by using the View/Coarse Grid menu item). The standard surface grid file format is used and is detailed in the Input & Output Files chapter.
The file created in this way can be read back by using the File/Import/External Grid... menu item.
Export -> Patch Coor
File/Export/Patch Coor... is used to save the coordinates of the active face patches in ASCII format, according to the level of coarseness selected for the grid (set by using the View/Coarse Grid menu item).
The standard face grid file format is used and is detailed in the Input & Output Files chapter. One file is created for each patch of the active face and is named automatically by appending the patch number to the specified file name. The files are written with a ".dat" extension.
The files created in this way can be read back by using the File/Import/External Grid... menu item.
Export -> Face Boundary Coor
File/Export/Face Boundary Coor... is used to save the active face boundary grid point coordinates in ASCII format.
Export -> Segment Discretization
File/Export/Segment Discretization... is used to save a discretization of the curves used by the segments, in an ASCII file. The scope of saving depends on the Viewing Scope (see the View/Grid page of the Quick Access Pad). These files are named automatically by appending their block, face, edge, segment and curve indices to the IGG™ file name. If the session has not been saved yet (i.e. an IGG™ file name does not exist), a warning is given and a data file name must be specified. Therefore it is always advisable to save the current work as an IGG™ file first, before attempting to save curve, surface or block coordinate data.
Export -> PLOT3D
File/Export/PLOT3D... is used to save the coordinates of all grid blocks in a PLOT3D format file. The saved file will have a ".g" extension and its format is described in the Input & Output Files chapter.
The dialog box shown in FIGURE 6 is opened to select a file with a ".g" extension and the corresponding file format.


FIGURE 6 Output file and file format selection
The following file types can be selected in the File type entry:

ASCII
Binary single
Binary double
Unformatted single
Unformatted double

Binary stands for C binary files whereas Unformatted stands for Fortran binary files. Single and double describe the precision of reals.
Then two radio buttons are provided to select the binary order desired in the output file: little or big endian. This information must be specified only for binary files (the buttons are deactivated when ASCII type is selected).
The desired file can be selected by entering its full path name into the Plot3D File entry or through a file chooser opened by pressing the icon () next to the file entry.
Export -> CEDRE
File/Export/CEDRE... is used to save the mesh in CEDRE native format. It opens a dialog box including several options to select the blocks to export (list of block IDs, group of blocks or all blocks), and an option specifying if these blocks have to be merged in one single domain.


In case of merge, the user is able to select the name of the merged block. If nothing is specified, name will be "DOMAIN_1". 
When clicking on Export button, a file-chooser is opened to select the exported file name and location.
A main file name with extension ".dat" will be created as well as additional files needed for multi-domain, periodic connections and boundary conditions:

main_file_name.dat
main_file_name_multi.dat
main_file_name_psl.dat
main_file_name_bcs.dat

The string length can be limited to 14 characters in some version of CEDRE, or to 50 characters in newer versions. The option Export short family names in the menu File/Preferences allows to use shorter strings.
Boundary conditions are defined through mark names in the exported files. For IGG™ mesh, a mark name is created according to the patch boundary condition type:

EXT	: EXTERNAL_i
INL	: INLET_i
OUTL	: OUTLET_i
MIR	: MIRROR_i
PER	: PER_LEFT_i & PER_RIGHT_i
SNG	: SINGULAR_i
SOL	: SOLID_WALL_i
ROT	: RS_i
CON	: CONNECTION

Where i is an index incremented each time such a condition is encountered and PER_LEFT_i is the patch with negative periodic sign, otherwise PER_RIGTH_i is used.
Non matching connection type is not allowed for export because CEDRE does not support such connection.
If the block selection contains CON or PER patches and the connected block is not contained in the list, the export cannot be performed.
Export -> Fluent
File/Export/Fluent... is used to save the mesh in Fluent native format. It will open a file chooser to select the exported file name and location. A file name with extension ".msh" will be created.
For each patch, a dedicated face section is written in exported file and a boundary condition ID is assigned. Following table gives the correspondence between IGG™ patch type and Fluent boundary condition type:






IGG™ type
Fluent type ID
Fluent boundary condition type





EXT


9


pressure-far-field




INL


10


velocity-inlet




OUT


36


outflow




MIR


7


symmetry




PER


12 or 8


periodic or periodic-shadow




PERNM


24


interface




NMB


24


interface




SOL


3


wall




ROT


4 or 5 (or 3)


pressure-inlet or pressure-outlet (or wall)




For patches defining rotor-stator, they will be exported as "pressure-inlet", "pressure-outlet" or "wall" if their name is respectively containing the keyword "inlet_rotor-stator", "outlet_rotor-stator" or none of the previous keywords.
Only one patch is allowed on each side of the rotor-stator interface in Fluent. When needed in IGG™ the patches should be merged prior to the export to Fluent.
Singular line (SNG) and FNMB will not be recognized in Fluent.
It it possible to define a boundary condition name in Fluent format through the use of a dedicated section. If this section is not defined, when loading the mesh, Fluent will automatically define a boundary condition name by adding an increment to the boundary condition description, e.g. "outflow_1" or "fluid_1".
Such section will be created for a patch only if the patch family name is defined. The boundary condition name will be "familyName_i", "i" being an index incremented each time this family name is encountered. The family names are defined as presented in previous section (File/Export/CEDRE...) and the option Export short family names in the menu File/Preferences allows to use shorter family names.
A similar section will also be created for each block, specifying if the block is fluid or solid. The boundary condition name will be "fluid(solid)_blockName".
This way of defining boundary condition names will allow an easy patch/block grouping or merging in Fluent.
Export -> CFD++
File/Export/CFD++... is used to save the mesh in Metacomp CFD++ solver native format.
Metacomp CFD++ uses unstructured meshes. Therefore, the structured meshes from IGG™ must be converted, similarly to the existing unstructured outputs to Fluent and CEDRE formats.
When exporting, the user is asked to give a base name for the output files of the CFD++ format filtered by the .bin file ending. The name <base name>_<file ending> is then assigned to the output files except in the following cases:

the given base name is "nodesin.bin", in which case the output names are simply the file endings,
there is no base name given (e.g. in Linux, only ".bin" chosen in the file selector), then the output names are only the file endings.

Most of the CFD++ output files are written in binary format. The boundary conditions type cannot be directly defined in the exported mesh. Instead, each patch is given a boundary condition ID which is linked to a boundary condition name.






File name
Content
Format




<base name>_nodesin.bin
Coordinates of the nodes in XYZ format
C style big endian binary


<base name>_cellsin.bin
List of computational cells defined by the indices of their nodes
C style big endian binary


<base name>_cgrpsin.bin.<nb of groups>
Group ID for each computational cell
C style big endian binary


<base name>_exbcsin.bin
Boundary conditions ID and nodes ID for each boundary cell face
C style big endian binary


<base name>_mcfd.bc
List of names for each boundary conditions ID
ASCII



There are several IDs used to identify nodes, boundary conditions, and cell groups.

The node ID uniquely identifies each node. It starts with 0 and is given by the position of the node in the file "nodesin.bin".
The cell group ID is written if at least one block of the structured grid has a family name. Then, all cells from blocks with the same family name are assigned the same ID. All cells from blocks without a family name get a common ID. If no family names are set, the cell group ID is not written. It starts with 0.
All patches with the same family name are assigned the same boundary conditions ID. It starts with 1.

If a patch has a family name, the boundary condition name will be identical otherwise the patch gets assigned a boundary condition name according to its type, as described in the following table:





IGG™ type
CFD++ boundary condition type




SOL
SOLID_i


PER
PER_LEFT_i and PER_RIGHT_i


INL
INLET_i


OUT
OUTLET_i


ROT
RS_i


MIR
MIRROR_i


EXT
EXTERNAL_i


SNG
SINGULAR_i


NMB
NMB_LEFT_i and NMB_RIGHT_i


PERNM
PERNM_LEFT_i and PERNM_RIGHT_i



"i" is an index incremented each time such a condition is encountered.
PER_LEFT_i and PERNM_LEFT_i will be used if IGG™ patch periodic sign is negative, otherwise respectively PER_RIGHT_i and PERNM_RIGHT_i will be used.
For NMB, the keywords LEFT and RIGHT are arbitrarily set, and their only purpose is to identify the connected faces.
Export -> CRUNCH CFD
File/Export/CRUNCH CFD... is used to save the mesh in CRUNCH CFD® solver native format.
CRUNCH CFD® uses unstructured meshes. Therefore, the structured meshes from IGG™ must be converted, similarly to the existing unstructured outputs to Fluent, CEDRE, Metacomp CFD++ or OpenFOAM formats.
When exporting, the user is asked to give a base name for the output file(s) of the CRUNCH CFD® format filtered by the .precrunch file ending. The name <base name>_<group name>.precrunch is then assigned to the output file (e.g. rotor37_row_3.precrunch), except if there is only one group of blocks in which case the group name is omitted. The group name is set to "_part_" followed by a counter.
The CRUNCH CFD® output file is an unformatted Fortran file in big endian format and has the following sections:

the header, containing information about the number of nodes, cells, and boundary faces;
the cells, defined by the IDs of their eight edges;
the nodes;
the boundary faces, defined by IDs of their four edges and the boundary tag.

The boundary conditions are defined on faces grouped by boundary tags. The tag is an integer between 1 and 999 and must be different from 10. All patches having the same family name receive the same boundary tag. For the boundary conditions only an ID identifying associated patches is given. The user has to specify which kind of boundary condition is assigned to these patches. The patch family names are not contained in the exported file neither. The family names are not automatically set. Instead, each patch receives a name according to its boundary type, and a unique number. A unique tag is assigned to each patch name. Family names and rotor-stator interfaces must be manually defined.
 If boundary tags should be merged in IGG™, patch family names must be manually created through the Family Name option in the boundary conditions dialog box (available when the preference Save CGNS patch info / family name control is active).
Rotor-stator interfaces in IGG™ must be manually defined through the Rotor Stator option in the boundary conditions dialog box (available when the preference Save CGNS patch info / family name control is active). 
The axis of rotation is the x axis in the CRUNCH CFD® solver. Therefore, the IGG™ coordinates are automatically rotated via the mapping (x,y,z) -> (z,x,y).
FNMB connections will not be recognized in CRUNCH CFD®.
Export -> OpenFOAM
File/Export/OpenFOAM... is used to save the mesh in OpenFOAM official (v2.4.0) or extend (v3.1) branch. The OpenFOAM extend branch is very commonly used in turbomachinery applications.
OpenFOAM uses unstructured meshes. Therefore, the structured meshes from IGG™ must be converted, similarly to the existing unstructured outputs to Fluent, CEDRE, Metacomp CFD++ or CRUNCH CFD® formats.
When exporting, the user is asked to give a folder name for the output file(s) of the OpenFOAM format. 
The OpenFOAM mesh consists of five formatted files with predefined names: "boundary", "faces", "neighbour", "owner" and "points". In addition a "cellZones" file is saved and contains one cell zone per block family name. The block family names are set manually within IGG™.
The output precision is set to 12 digits to avoid any accuracy problems.
If the grid is including unsplit butterfly blocks, both parent and butterfly blocks will be exported.
Each IGG™ patch will obtain a separate entry in the "boundary" file. Its name is the patch family name appended by an index. If the family name is not set, we use the naming convention from the CFD++ output. 
The "inGroups" keyword is used to group patches and use the patch family name as group name. This option allows easier specification of the boundary/initial conditions which otherwise must be prescribed patch by patch. It is not available in the extend branch.
If boundary tags should be merged in IGG™, patch family names must be manually created through the Family Name option in the boundary conditions dialog box (available when the preference Save CGNS patch info / family name control is active).
Each of the following boundary conditions requires a certain set of additional information to be written to the boundary file.







IGG™ type
OpenFOAM official branch type
OpenFOAM extend branch type
Fluent boundary condition type




INL
patch
patch
velocity-inlet


OUT
patch
patch
outflow


EXT
patch
patch
pressure-far-field


MIR
symmetry
symmetry
symmetry


SOL
wall
wall
wall


ROT
cyclicAMI
mixingPlane
pressure-inlet or pressure-outlet or wall


NMB
cyclicAMI
ggi
interface


PERNM
cyclicAMI
cyclicGgi
interface


PER
cyclic
cyclic
periodic or periodic-shadow


SNG
wall
wall
wall



FNMB connections will not be recognized in OpenFOAM. The original type (usually SOL) of the patches involved in the FNMB connection will be considered.
A rotor-stator interface must consist of only one patch. In case it consists of several patches, their type will be set to "patch". 
Rotor-stator interfaces in IGG™ must be manually defined through the Rotor Stator option in the boundary conditions dialog box (available when the preference Save CGNS patch info is active). 
When the "checkMesh" utility is run on cyclic patches, it depends on the grid quality whether the check is successful. If the test is not successful, then the mesh should be modified and in particular the aspect ratio should be decreased. If this does not help:
                    in OpenFOAM v2.4.0 (official branch), it is recommended to change the "matchTolerance" keyword in the "boundary" file to higher values, or change the type of the boundary condition to "cyclicAMI".in OpenFOAM v3.1 (extend branch), it is recommended to change the type of the boundary condition to "cyclicGgi" and to set the "bridgeOverlap" parameter to "true".When the "checkMesh" utility is run on non-matching connections or rotor-stator patches, the message "The mesh has multiple regions which are not connected by any face" will appear and can be ignored. Depending on the mesh, the checks for high aspect ratio and non-orthogonal faces from the "checkMesh" utility might fail. This utility uses a different way of calculating the grid quality criteria. Meshes which are of high quality according to NUMECA standards might still fail the "checkMesh" utility tests.
Export -> Abaqus
File/Export/Abaqus... is used to save all the solid blocks to a single Abaqus formatted file. 
Only solid blocks are considered. If other blocks should be exported, the block type has to be changed to solid.
When exporting, the user is asked to give a base name for the output file of the Abaqus format filtered by the .inp file ending. The name <base name>.inp is then assigned to the output file. 
The Abaqus output file consists of:

 the header;
the nodes definition;
the elements definition;
the definition of node sets and surfaces for the specification of the boundary conditions.

The header includes comments on the exported model.
The nodes are identified using a unique number and can be grouped using the NSET keyword into node sets. The node set ALL contains all nodes of a row.
The boundary conditions are not defined in the exported file, but must be defined later on the solver side. Separate node sets must be defined for periodic boundaries and fully non matching boundaries (FNMB) using the NSET keyword. Therefore, a node set is defined per patch family name. If a patch does not have a family name, it gets assigned a boundary condition name according to its type (e.g. NMB or SOL appended by an index per patch).
In Abaqus, surfaces are used to apply loads (e.g. pressure) to the mesh. Therefore, we create a surface per node set using the *SURFACE keyword. For each surface, we give a list of all elements which possess a face touching the corresponding surface, and the corresponding face index.
The elements can be assigned to element sets using the ELSET keyword. We create an element set per block family name. When the export is done through the graphical interface, the element type is always C3D8. Other element types than C3D8 are available in Abaqus. The corresponding python command includes an optional argument to change the element type.
C3D8 and C3D8I are the only supported element types in IGG™.
Export -> Export Cylinder Defs
File/Export/Export Cylinder Defs… is used for exporting the cylindrical and plane definitions from a Parasolid™ or CATIA V5 geometry file. The definitions are saved in a data file with a ". dat" extension. FIGURE 7 is an illustrative example of data files generated when exporting a cylindrical as well as a plane defined in a Parasolid™ or CATIA V5 geometry file.
The cylindrical and plane definitions are the input data used within AutoGrid5™ to define the geometry of the cooling holes (cylinder), pin fins (cylinder) and ribs (planes). More details are available in AutoGrid5™ User Manual.


FIGURE 7 Cylinder and plane face definitions with geometry representation
Replay Template -> Import IGG Data
File/Replay Template/Import IGG Data... is used when using the current project as a template and when it contains blocks with a butterfly topology (See the chapter related to templates for additional information). This tool is composed of two separated operations:

Importation of an IGG™ data file (geometry importation).
Regeneration of all the butterfly topologies contained in the grid of the current project.

The geometry importation proceeds in a same way as the File/Import/IGG Data... menu item described previously on the section, Import -> IGG Data. Then for all blocks containing a butterfly topology, this one will be deleted and recreated by using the same parameters. For additional information on butterfly regeneration, see Butterfly Management.
If the current project does not contain at least one butterfly topology, this tool has the same effect as the File/Import/IGG Data... menu item.
Convert Data	 


File/Convert Data is used to modify external data files created by IGG™. ASCII files only can be modified, and they must have a ".dat" extension. 
The keyboard input area is used to enter specific parameters for each menu item. If a wrong file format or a wrong user input is encountered, a warning message appears before ending the current interaction.
Convert Data -> Rotate Data
File/Convert Data/Rotate Data is used to rotate a surface described in a surface data file around a coordinate axis by a user specified angle. A new ".dat" file is created with the rotated data. A file chooser is first opened to select an input file. Then the following parameters are requested:
For 3D data files, the rotation axis must be specified. For 2D data files, the rotation axis is the Z axis. 
Rotation axis (x=0,y=1,z=2) ? (Q)
>>   0 
For 2D/3D data files, the rotation origin and the angle are specified as follows: 
Rotation vector origin ? (q)
>>   1.5  3.5  0.5 
Angle (-360...360 deg) ? (q)
>>   65 
The output file name is specified through a dialog box automatically opened by IGG™. 
Convert Data -> Scale Data
File/Convert Data/Scale Data is used to scale the coordinates of a surface described in a surface data file. A file chooser is first opened to select an input file. Then the following parameters are requested:
Scale factors can be specified for each coordinate direction separately. If a single value is entered, the coordinates are scaled in all directions by the same value.
Scale factors ? (q)
>>   2. 
The output file name is specified through a dialog box automatically opened by IGG™. 
Convert Data -> Translate Data
File/Convert Data/Translate Data is used to translate a surface described in a surface data file according to a translation vector. A file chooser is first opened to select an input file. Then the translation vector is requested:
Translation vector ? (q)
>>   10.  8.  0. 
For 2D data files, only the x and y coordinates of the vector must be entered.
The output file name is specified through a dialog box automatically opened by IGG™. 
Convert Data -> Mirror Data
File/Convert Data/Mirror Data is used to get the mirror image of a surface described in a surface data file. A file chooser is first opened to select an input file. Then the following parameters are requested:
For 2D data files, the mirror line start and end points are specified as:
Mirror line first point ? (q)
>>   1.  0. 
Mirror line second point ? (q)
>>   1.  2. 
For 3D data files, the mirror plane normal vector and its origin are specified as:
Mirror plane normal vector ? (q)
>>   0.  0.  1.
Mirror plane normal origin ? (q)
>>   1.  1.  2. 
The output file name is specified through a dialog box automatically opened by IGG™. 
Convert Data -> Swap Data
File/Convert Data/Swap Data can be used to swap the columns of a surface data file (containing the x, y and z surface coordinates). A file chooser is first opened to select an input file. Then the following parameters are requested:
For 2D data files, the x and y coordinates are swapped. For 3D data files, an arbitrary swap sequence can be specified (x=1, y=2, z=3) as:
New column order (1,2,3) ? (q)
>>   3  2  1 
 The output file name is specified through another file chooser opened by IGG™.
Convert Data -> Reverse Sequence
File/Convert Data/Reverse Sequence is used to change the origin of a surface described in a surface data file (shifting the origin of the surface to the diagonally opposite corner). A file chooser is first opened to select an input file. The output file name is specified through another file chooser opened by IGG™.
Convert Data -> Cartesian_Cylindrical
File/Convert Data/Cartesian_Cylindrical is used to convert from Cartesian to cylindrical the coordinates of a surface described in a surface data file, or vice versa. A file chooser is first opened to select an input file. Then the following parameters are requested:
xyz->rtz(=0) or rtz->xyz(=1) ? (q)
>>   0 
For 2D data files, the axis of rotation is the z axis. If the input data file is in cylindrical coordinates, the rotation axis is determined from the file. For 3D Cartesian coordinates, the rotation axis is entered as follows:  
Rotation axis (x=0,y=1,z=2) ? (q)
>>   1 
The output file name is specified through another file chooser opened by IGG™.
Convert Data -> Extract 2D from 3D
File/Convert Data/Extract 2D from 3D is used to extract any two columns of a 3D surface data file. A file chooser is first opened to select an input file. Then the extract sequence can be specified by the column number: 
Extract seq. (any two of 1,2 or 3) ? (q)
>>   1  3 
The output file name is specified through a dialog box automatically opened by IGG™. 
Convert Data -> Extract Curve
File/Convert Data/Extract Curve is used to extract an arbitrary constant grid line of a surface described in a surface data file and to save it in a curve data file. A file chooser is first opened to select an input file. Then the constant curve index and its value are requested: 
Const curve index(i=0,j=1) ? (q) 
>>   1 
Const j index value (1...33) ? (q)
>>   25 
The output file name is specified through a dialog box automatically opened by IGG™.
Convert Data -> Grid : IJK_KJI
File/Convert Data/Grid : IJK_KJI is used to reverse the coordinate axis of a surface described in a surface data file. A file chooser is first opened to select an input file. The output file name is specified through a dialog box automatically opened by IGG™.
Convert Data -> Grid : 2D_3D
File/Convert Data/Grid : 2D_3D is used to convert a 2D surface data file into a 3D surface data file by specifying a constant z coordinate value. A file chooser is first opened to select an input file. Then the constant z coordinate value is entered as follows: 
Constant z value ? (q)
>>   0.08590 
The output file name is specified through a dialog box automatically opened by IGG™. 
Convert Data -> Data : Expand Surface
File/Convert Data/Data : Expand Surface is used to expand a surface described in a surface data file by enlarging its edges by a parallel grid line. If the amount of enlargement is zero for an edge, no expansion is performed on that edge. A file chooser is first opened to select an input file. Then the amount of expansion is specified for the opposite edges according to the following sequence:
Edge 1 & 2 expansions (0...5) ? (q)
>>   0.   2.5 
Edge 3 & 4 expansions (0...5) ? (q)
>>   3.5   2. 
The output file name is specified through a dialog box automatically opened by IGG™.
Print -> As PostScript



File/Print/As PostScript is used to dump the graphics area in a true PostScript file. This option uses true Postscript statements to save the graphics content and can produce compact files when all graphics entities in IGG™ consist of lines (i.e. visualization of the grid in wireframe). When displaying surfaces in solid model, the quality of the saving reduces considerably while the size of the file can become very large. 
Print -> As Bitmap PostScript
File/Print/As Bitmap PostScript is used to dump the graphics area in a bitmap PostScript file. In this mode each pixel of the graphics area is saved in the file. The size of the file can be very large. Bitmap saving may be more advantageous than true postscript when solid surfaces in hidden line mode appear in the graphics area.
Print -> As PNG
File/Print/As PNG is used to dump the graphics area in a PNG file.
Preferences
File/Preferences... opens a dialog box to control the default settings of IGG™. See FIGURE 8. 


FIGURE 8 Preferences dialog box
This dialog box contains five pages. All the parameters are validated by pressing the Apply button, which applies the option and automatically saves them in the file ~/.numeca/igg.preferences. When starting IGG™, this file is read automatically and the preferences are restored directly. If this file cannot be found, the system is initialized with default settings.	
Tolerances page
This page consists of six entry boxes containing an alphanumeric number that can be modified. A value can be modified either by clicking on the box scrollers with the left mouse button or by entering a number with the keyboard. In this case, the value must be validated by pressing <Enter>.
Geom Tol (abs)
This geometry tolerance (absolute) controls the accuracy of some geometry modeling options, such as surface-surface intersection. This tolerance is specified in absolute units and should be adapted to the size of the current problem. For example, for a geometry with a global size of 1, a tolerance of 1e-6 is a good choice. For a global size of 1000, a better value is 1e-2 or 1e-3.
The tolerance may affect various parameters in IGG™:

the computation time, which increases as the tolerance reduces,
the accuracy of some algorithms (i.e. surface-surface intersection),
the size of the result, for example the number of control points of intersection curves.

Geom Tol (rel)
This geometry tolerance (relative) controls the accuracy of some geometry modeling options, such as attraction features (e.g. accuracy of the position of the curve closest point when using the curve attraction feature). This tolerance is a relative one and a value of 1e-5 is a good choice.
Topo Tol (rel)
This relative topological tolerance is used by the block vertices and controls the mapping of an edge on a curve, as explained in FIGURE 9: 


FIGURE 9 Edge mapping on two curves
As shown, there is a gap between the curves 1 and 2. To map an edge on these two curves, the start and end vertices have to be positioned firstly, then an intermediate vertex must be inserted on the edge and moved to the curve 1 end point. If the tolerance of this intermediate vertex is too small, the edge cannot map the curve 2. If it is sufficient, the edge also maps the curve 2, filling in the gap with a straight line.
When a new block is created, all its vertices are provided with this tolerance. It is also the case when inserting a new vertex on an edge. This tolerance can be changed for a vertex with the command Set Tolerance of the pop-up menu accessible by right-clicking on the vertex (thus the tolerance is not changed for the other vertices).
Pick Aperture
This value controls the distance below which some attraction features work. It is valid when positioning a vertex or a fixed point and with activated attraction features of some geometry modeling tools (insertion of a cspline, bspline, polyline, circular arc). FIGURE 10 illustrates the influence of the Pick Aperture on the attraction of a vertex to a Cartesian point. 


FIGURE 10 Attraction of a vertex to a Cartesian point
A low value of the PickAperture means that the cursor has to be moved closer to a point (or curve, surface, vertex, fixed point) to have attraction on it. The available range is 0-1 and the value is set to 0.1 by default.
Edge Discretization
This value controls the number of discretization points that will be placed between two successive vertices (vertex of the block and additional inserted vertex are considered). 
Saving page


Automatic Saving option activates or deactivates automatic project backup saving. When activated, it only saves the geometry and the topology of the current project (".geom" and ".igg" files). The grid points coordinates of the faces and of the blocks are not saved, for efficiency reasons. IGG™ saves the project using a ".autosave" extension (<projectname>.autosave.igg).
This option will have no effect if the user preferences were already saved one time in the past.
Backup when saving is used to make a backup of the geometry and topology files at saving. IGG™ backups the project using a ".bak" extension (<projectname>.igg.bak).
Ask quality check when saving option is used to make automatically some tests on the grid each time a project is saved. It includes:

A calculation of the number of multigrid levels available in the I, J and K directions for the whole grid.
A calculation of the negative cells in single and double precision.
A rough idea of the grid quality (extreme values) in terms of orthogonality, aspect ratio and expansion ratio.

The results are displayed in a dialog box appearing automatically just after the saving.
CGNS Format/ADF (Compatible with CGNS2) and CGNS Format/HDF5 options are used to select the format of the CGNS v3 file. The default format is ADF and is compatible with CGNS v2.
Save CGNS patch info / family name control option is used to save information about boundary conditions in many formats including CGNS. This option also allows:

to display and control manually the family name for the patches and the blocks under the Grid/Boundary Conditions... and the Grid/Grid Settings... menus. These family names are used in many formats including CGNS to define patch and block groups.
            
to display also the Rotor Stator control (Grid/Boundary Conditions... menu) which allows manual definition of a rotor-stator interface. This option is used to define rotor/stator interfaces for export from IGG™ to CGNS, but also to CRUNCH CFD.
            

Export short family names option allows to use shorter family names when saving CGNS patch info in ".cgns" file or when exporting CEDRE or Fluent native formats.
Graphics page


The Graphics Driver flag is used to select either the driver OPENGL or OPENGL2/X11 (on Linux) or MSW (on Windows).
When launching IGG™ from FINE™ (through Modules menu), the graphic driver will be read from the registry key but when launching IGG™ alone, the graphic driver will be read from the preferences.
The Visibility flag is used to control the rendering of graphic objects during dynamic viewing operations. With full visibility, all graphic objects are displayed during viewing operations, which may slow down the system response. When partial visibility is selected, only grid boundaries are displayed during viewing operations.
Edges width frame allows to control the width of the block edges displayed in the graphics area. The width of the active block edges can be controlled by Highlight width and the width of other block edges by Normal width. The new widths are automatically updated for new inserted blocks but not for the edges of already created blocks. Simply left-click on these blocks to update the display.	 	
Layout page
This page allows to control some aspects of the IGG™ graphical interface.
Quick Access Pad is used to toggle the Quick Access Pad.
Control Area toggles the visibility of the control area at the bottom of IGG™ main window. It allows to use a larger part of the screen for better graphics rendering, but cannot be used during the interactive generation of a mesh, since it hides the keyboard input area and the viewing buttons.
Balloon Help is used to activate or deactivate the on-line balloon help available in IGG™. When activated, help balloons are displayed when the cursor is located on some buttons or icons.


Colors page


The Colors tab is used to define the foreground and background colors of the graphics area.
In the Foreground frame, the predefined color buttons enable to modify the color of the foreground utilities such as block boundaries, grid, coordinate systems, etc. The user can also use the edition button Ed. to choose an independent color other than the proposed colors.
Similarly the Background frame enables to modify the background color using the predefined color buttons as well as the edition button Ed. to select the color independently of the predefined colors. The user can also select the radio button for the Uniform Color or the Shaded Color to get uniform or shaded background color respectively.
Project Configuration
File/Project Configuration...  opens the dialog box shown in FIGURE 11 to control the configuration of the current IGG™ project:


FIGURE 11 Project Data dialog box
This dialog box contains an area controlling the current project dimension and four headers giving information about the current project. This information will be saved with the IGG™ project in the ".igg" file and are not interpreted by IGG™.
The dimension is set to 3D by default when opening a new empty IGG™ project. Then, another dimension can be set, which will delete the current project and create a new one. The axisym button is used for axisymmetric projects. It opens an additional box, allowing to choose the rotation axis: X, Y or Z.



The EURANUS solver allows only Z as rotation axis for axisymmetric projects! When choosing the other X or Y axis, a warning box appears to ask confirmation:


For CFView™ post-processor and for 3D projects, it is also advisable to set Z as the rotation axis.
When choosing the 2D or axisym button, the view in the graphics area is automatically set to the correct projected view and cannot be changed. In these two modes, only faces can be inserted (see the Quick Access Pad/Grid/Create/Insert New Face () option) and not entire 3D blocks because blocks are automatically created by faces extrusion or rotation. Faces 1 and 2 of the blocks are not accessible in the Patch Selector dialog box (Grid/Boundary Conditions... menu) because their boundary condition type is set automatically.
For axisymmetric projects, the rotation angle, required to generate the 3D grid, must be specified using the Grid/Periodicity... menu item. The default value is 1 degree and the rotation is performed automatically when saving the grid. This rotation angle is only applied at saving and not when watching at the boundary conditions (Grid/Boundary Conditions... menu item). In fact, for better patch visualization, the rotation performed in this case is of 10 degrees and this value cannot be changed.
For axisymmetric projects the automatic rotation is done positively around the chosen axis according to a right-handed reference frame. Therefore if faces are put below the axis, the rotation will yield to negative cells. To avoid it all the faces should be inserted above the axisymmetric axis.
For 2D projects, the global distance of extrusion of all the mesh along the Z axis can also be controlled by using the Grid/Periodicity... menu item. In this case, the dialog box contains an additional item Global 2D translation as shown in FIGURE 12:


FIGURE 12 Modified Periodicity dialog box
The default value is 1 and the extrusion is performed automatically when saving the grid. As for axisymmetric projects, this extrusion distance is only applied at saving and not when watching at the boundary conditions. For better patch visualization, the extrusion distance is automatically calculated according to the mesh size and this value can neither be changed.
Quit
	File/Quit is used to end the interactive session. A dialog box is inserted to confirm the end of the session. Please notice that the current work is NOT automatically saved when exiting IGG™.
Press <Ctrl-q> to access this menu item in a faster way.

Block Mapping
The mapping of a block consists of deforming its edges so they partly or completely lie onto the geometry. The operation is essentially done by moving the vertices attached to the edges and by automatic mapping of the edges onto geometry curves or surfaces.
This section describes how to:

Move a vertex,
Insert and delete a vertex,
Snap a vertex to curves or surfaces,
Control edge mapping,
Control vertex tolerance.

Moving vertex
To move a vertex of a block

Make it visible with the Toggle Vertices icon (see Grid page section).


Move the mouse to the desired vertex and left-click.
Subsequent mouse movement will move the vertex. The edges attached to the vertex are automatically following the vertex.
When the vertex is close enough to another vertex, curve or surface, it is automatically snapped to this entity. See Vertex snapping for more detail.
The edges are automatically mapped onto the geometry when the vertices used by the edges are on a same curve or surface. Controlling the mapping is explained in a next section (Edge mapping). 
It is not recommended to map an edge to have it closed on itself. Otherwise a problem may appear in the resulting mesh as presented in FIGURE 6.


FIGURE 6 NACA Airfoil
Left-click again to fix the vertex position.

To move a whole edge, face or block



To accelerate the placement of vertices, it is possible to perform collective movements of vertices (all vertices of an edge, face or block) at once. The following lines explain the movement of a whole face:

Left-click to select the desired face to move.
Move the mouse to a vertex of the face and right-click. A pop-up menu appears, showing three menu items dedicated to collective movements.
Select the Move Face option.
Move the selected vertex to its new location. All the vertices of the active face are moved together with the selected vertex.
Left-click to fix the vertex and face positions.

The <e>, <f> or <b> shortcuts can be used to perform a collective movement of an edge, face or block respectively. In this case, the reference vertex must be selected first, then press the proper key binding.



Adding/deleting vertices
By default edges are controlled by two vertices which appear as filled black squares. Additional vertices can be inserted or deleted to allow finer control over the block shape. These vertices are drawn using hollow squares.
Vertex insertion is required when an edge of a block needs to be placed on several geometry curves. In this case, one vertex is required at the junction of each curve. The same principle holds when edges need lying on several surfaces.


FIGURE 7 Mapping an edge on several curves
When a grid edge is defined by more than two vertices, the edge is said to have several topological edges. Topological edges are entities defined by two consecutive vertices. They can be controlled independently.
To insert a new vertex in an edge




Click on the Insert Vertex icon in the Quick Access Pad/Grid/Insert/Edit page.
Use the shortcut <i> to activate the Insert Vertex in a faster way.
Move the mouse to the desired edge. A small marker is displayed when the candidate edge has been identified.
Left-click to insert a new vertex.
Move the vertex and left-click again to fix its position.

This vertex can subsequently be moved as described above.
The insertion of a vertex splits the existing topological edge into two new topological edges. Edge mapping is explained below.
To delete an existing vertex

Move the mouse to the vertex. The vertex is highlighted when the mouse pointer is in the close vicinity.
Right-click to pop-up a menu for the vertex. Notice that this menu is context sensitive and only displays menu items when applicable to the vertex.



Select the Delete Vertex menu item to delete the vertex.
Vertices at the corner of a block or vertices at the intersection of internal edges cannot be deleted to keep block consistency.

Vertex snapping
Vertex snapping is the feature that automatically attracts the vertex to points, curves, curve end-points or surfaces, when it falls within a small aperture. When a vertex is snapped to a curve, it is attracted by the curve. When a vertex is snapped onto a surface, the surface is highlighted in a blue wireframe mode.
To snap a vertex to a curve

Select the vertex to move.
Move it close to a visible curve.
When several curves exist at a nearly same location, a zoom (<F2>) or 3D viewing operation (<F1>) can be performed on the desired curve, and then the placement of the vertex can be resumed.
When the vertex falls within the pick aperture, it is automatically attracted and the name of the curve appears in the status bar.
Left-click to fix the new position.

To snap a vertex to a surface

Select the vertex to move.
Move it close to the desired surface. The surface is highlighted in a blue wireframe mode when it snaps the vertex.

When several surfaces are stacked onto each other, IGG™ takes the one closer to the user. To change the current surface, middle-click repeatedly (surface sweeping) until the vertex lies on the proper surface. The new surface is highlighted in a blue wireframe mode and its name appears in the status bar.
The vertex can then be moved to its new position.
Left-click to finish the operation.

To control the vertex snapping



Vertex snapping can be selectively enabled or disabled for curves, curve end-points, curves intersection or surfaces. The control is done on a vertex basis and is done as follows:

Move the mouse to the vertex.
Right-click while holding the <Ctrl> key. The pop-up menu in the margin appears.
Enable or disable the snapping for the desired type of entity.

The curve or surface on which a vertex is snapped is indicated in the status bar, when the mouse is over the vertex.
The vertex snapping can also be controlled through the toolbar as follows:

Move the mouse to the vertex and select it by left-clicking on it.
Move the mouse over the toolbar (therefore the vertex follows the cursor) and enable or disable the snapping for the desired type of entity by pressing the corresponding button.



Place the vertex.

Vertex locking
By default a vertex is allowed to freely move in the 3D space and can be snapped to curves or surfaces that are far from the current vertex position. It is possible to constrain the movement of a vertex by locking it to a geometry entity. When a vertex is locked, IGG™ performs the snapping operation on the locked entity first. If the snapping fails (i.e. the vertex was moved away from the entity), the snapping is then performed on the other visible entities. 
Using the locking mechanism, the movement of the vertex is constrained to a small box surrounding the vertex and snapping to geometry entities will only occur if the entities intersect the box.
To lock a vertex

Select the vertex and snap it to the desired entity.
Press the <l> key to lock the vertex on that entity.



A small box surrounding the vertex appears, showing that it is locked. Subsequent movements will be done preferably on the entity.
To unlock the vertex, press the <l> key a second time.
<l> is a toggle key that successively activates or deactivates the locking.

Edge mapping
Edge mapping is the feature that automatically maps the edges of a block onto the geometry as soon as its vertices lie on geometry entities. As discussed previously, a grid edge is defined by two or more vertices. The mapping is performed for each piece between two consecutive vertices (topological edges).
A mapping is performed when:

Two successive vertices lie on a same curve,
Two successive vertices lie on different curves but can be considered as lying on the same curve at the vertex tolerance,
Two successive vertices lie on a same surface (or its boundaries),
Two successive vertices lie on a surface and a curve belonging to that surface (i.e. trimming curve).



FIGURE 8 Placing a face on a single curve.
It is sometimes necessary to disable the mapping of some topological edges for specific types of entities. This is for example the case when a face of a block needs to be placed on a single curve, as shown in FIGURE 8.
In this example the edges 1, 3 and 4 are mapped onto the curve. The edge 2 should close the gap of the open part of the curve. By default, this edge is also mapped onto the curve, since its vertices lie on this curve. To make the edge close the face it is consequently needed to disable the curve mapping for that edge.
By default the mapping on curves and surfaces is activated for all edges.
To control the edge mapping for a topological edge

Move the mouse to the edge. 
<Ctrl> + right-click on the edge. The pop-up in the margin appears.



Select one option to disable/enable the mapping on curves, surfaces or both.
Select the option again to reactivate curve or surface mapping. 

Edge mapping onto disjointed curves
It may happen that geometry curves imported in IGG™ present small gaps where they should normally join. IGG™ provides a tolerance mechanism allowing to automatically fill gaps without adding additional vertices. This tolerant mapping is accomplished by giving a tolerance to each vertex defined in the project. As seen previously in Adding/deleting vertices, a vertex is required at the junction of each curve on which an edge should be mapped.


FIGURE 9 Use of vertex tolerance for edge mapping
When the gap is relatively large, the mapping on one of the curve may not succeed at first. To solve this problem the tolerance of the vertex can be increased.
To control vertex tolerance




Move the mouse to the vertex. The vertex is highlighted when the mouse pointer is in the close vicinity.
Right-click to pop-up the menu for the vertex.
Select the Set Tolerance menu item.

An entry is popped up to enter the new vertex tolerance. This tolerance is relative. The absolute tolerance is calculated by taking into account the length of the curve.
The mapping of a topological edge is done by taking an average tolerance of the two surrounding vertices of the edge.



Edge mapping on surface



When two consecutive vertices of an edge lie on a same surface, IGG™ automatically maps the portion between the two vertices (topological edge) onto the surface. To map this topological edge, IGG™ works in the (u,v) parameter space of the surface. In the case of very bad surface parametrization (dependent on the way the surface was generated by a CAD system), the edge shape could be irregular and not correspond to a shortest path between its two vertices. In these cases, adding intermediate vertices to the edge would not help in a satisfactory way.
To circumvent this limitation another type of mapping has been introduced, giving much better solutions in these extreme cases. It consists of intersecting the surface by a plane passing through the two vertices and with a normal calculated by IGG™. 
To change the mapping mode for a given topological edge

Move the mouse to the desired topological edge.
<Ctrl> + right-click on the edge. The pop-up menu in margin appears.
Select the Surf Map 2 option. It automatically disables the Surf Map 1.

The edge will be automatically remapped onto the surface using the second mapping type. This mode may fail when the vertices of an edge lie far apart on folded surface. In that case, introducing one or more additional vertices will solve the problem.
Since the default edge mapping works in most cases, the second mapping type should only be used when the surface parametrization leads to poor results.
Faster vertex movement
When the number of curves or surfaces is large or when surfaces are over-defined (lots of control points), the interactive movement of a vertex may be significantly slowed down by the dynamic mapping of the edges which is performed automatically for each new vertex position. To accelerate the interactive movement the dynamic mapping can be temporarily disabled as follows:

Left-click to select the vertex.
Hold the <Ctrl> key and move the vertex.
The vertex will be snapped to curves or surfaces, as usual, but the mapping of the edge is temporarily disabled.
Release the <Ctrl> key to resume full edge mapping.
Left-click again to fix the vertex position. The edge mapping will then be performed at that time.

Create Block->Merge
Grid/Create Block/Merge menu item is used to merge two blocks having two faces fully connected to obtain a new block. It shows Merge Blocks dialog box containing two options: Topology Merging and Topology from Grid. 



When Topology Merging option is selected, the two fully connected faces will be transformed. Functions of both the options are almost same. The two fully connected faces will be transformed in an internal face in the new block. "Fully connected" means that an entire face must be completely connected to another face at all levels: vertices, edges, segments and patches must be connected. This means that a face cannot be connected to only a part of another face.
The merging operation proceeds in two main steps:

A re-orientation of the two blocks to be merged in order to obtain a same axis system for both blocks.
The merging of the two blocks having the same axis system.

The first mandatory procedure means that the axis system of the final merged block can be different than the one of the two original blocks.
The features and details about blocks merging, as well as the limitations, are described here after.
Upon successful merging of the two blocks, the new block will be such that:

All the topological connections with the adjacent blocks are recovered: vertices, edges and segments.
The division into patches, as well as their type, name and connection are recovered.
All the FNMB connections involving the two blocks to be merged are recovered.
The merging operation does not alter the block. This means that the final merged block does not have to be regenerated after merging.

Limitations:

The blocks to be merged cannot contain internal edges or faces aligned along the merging direction.
Information about faces generation (projection, smoothing,...) is lost.
A butterfly block (a parent block containing a butterfly topology) cannot be merged.
Block patches connected to a butterfly block are disconnected. The connection should be re-established after merging.
Block repetition is lost if the periodicity is different for the two blocks to be merged.
The option is only available in 3D.
Furthermore, when the Topology from Grid option is selected, it allows to merge two blocks, which are only connected at patches level (see Connect page). The edges of the new block are recreated from the two block meshes and all the vertices, fixed points,... are lost.

After selection in the Merge Blocks dialog box, the two fully connected faces (see Connect page) indicating the blocks to be merged must be selected. The following prompt will appear:
Select Face (<1> to select - <2> to acknowledge - <3> to quit)
Left-click on the desired face and middle-click to confirm the selection. Then the connected face is detected automatically and the merging will proceed. If the selected face is not fully connected to another one, the message shown in FIGURE 47 will appear: 


FIGURE 47 A fully connected face cannot be found for selected face
If one of the blocks to be merged is not generated or has been modified since the last generation (by moving a vertex, for example), the message shown in FIGURE 48 will appear:


FIGURE 48 Message indicating that the block may be regenerated
It asks for block regeneration. If the no button is pressed, the merging will not be performed.
After the merging has proceeded, the following prompt will appear, allowing the selection of a face to perform another merging operation:
Select a New Face to merge, <3> to quit
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.
The block merging can be replayed using a script only if the involved blocks are generated in 3D before the merging.

Templates vs. Scripts
Templates correspond to the saving of a final state of a mesh, with the position of vertices and edges saved parametrically according to the input geometry.
Scripts correspond to a succession of commands and in this respect correspond to a history-based approach.
Which one to use depends on the problem to model (initial data provided for the problem) and the limitations of each method with regard to the problem.

Alternatively, a combination of the two can be used. As a general rule, templates can be used as long as no geometry curves or surfaces (used to place the topology) are created in IGG™.
This is because the operations used to create such curves or surfaces are not stored in the template project. (and are consequently not parameterized).

Grid Menu

The Grid menu includes the connectivity and boundary conditions definitions, as well as the face and block grid generation options. Other features of the grid generation module include the interactive control of the grid generation parameters, the definition of grid point clustering along the boundaries and the definition of internal grid lines. Besides, algebraic and elliptic grid generation, mapping, translation, sweeping, rotation, extrusion options provide fast grid generation capabilities for a large number of 2D and 3D geometries.



Boundary Conditions setting

Each block face can be divided in a certain number of patches on which will be applied the boundary conditions. It allows, for a same face, to have several different boundary conditions.
Boundary conditions setting consists of imposing to each patch of the grid a type describing the physics of the flow. The boundary conditions setup is normally performed when the grid has been generated. 

                The different types of boundary conditions are the following. Each one is referenced in IGG™ by an abbreviation given between brackets:

Undefined (UND)
Inlet (INL)
Outlet (OUT)
External (EXT)
Solid (SOL)
Singular (SNG)
Mirror (MIR)
Rotating (ROT)
Matching connection (CON)
Non matching connection (NMB)
Periodic matching connection (PER)
Periodic non matching connection (PERNM)

Except for the mirror and the four connection types, all the boundary conditions have to be set manually. The Grid/Boundary Conditions... menu item is provided to divide face into patches and to set these conditions.
Connection types (CON, NMB, PER, PERNM) are established to describe how blocks are interacting together and how information is transferred from one block to another. Such connections are established between two patches having common boundaries and one needs to specify which patches are connected and with which relative orientation. A tool is provided to automate the setup of such connections (automatic finding of the connected patch and the relative orientation).
Besides these matching and non matching connections, full non matching connections are provided, allowing to connect several patches of several blocks with non matching boundaries. It is to be noticed that such full non matching connections are always defined on top of existing patches and that these ones must have a valid basic type (no undefined type (UND)), even if the patch is entirely contained in the connection region.
Finally, rotor/stator connections are provided, allowing to connect several patches of several blocks with rotor/stator boundaries. It is to be noticed that such connections are only required to have the information in ".cgns" file.
For more information and a detailed description of patch connections, see Connections section.
Generally, the following steps are needed to correctly specify all the boundary conditions:

Define the periodicity for each block (Grid/Periodicity... menu item).
For each face, define the patches making up the face. This step is partially done during face grid generation, since patches can be used to generate pieces of the face grid.
Manually impose the boundary conditions of type: INL, OUT, EXT, SOL, SNG, ROT.
Apply automatic connectivity search (Grid/Boundary Conditions... menu item, Connectivity/Search button) to find automatically matching and non matching connections (periodic or not).
Check that no non matching connection (NMB or PERNM) is defined where a matching connection was expected. If it is not the case, delete the corresponding connection and try to determine why the connection is non matching (see explanations with the connection tools).
Define the full non matching and rotor/stator connections.
Normally no undefined patches (UND) should remain. If it is not the case, check each UND patch: boundary condition type, periodicity, patch boundaries and number of points, connection tolerance,...



Coarse Grid Levels

When generating 2D or 3D grids with IGG™, it may be advantageous for the solver to generate the blocks using a multigrid scheme. Multigrid corresponds to the capability of extracting coarser grids several times by skipping over two points in each block direction:


Multigrid schemes are not automatically enforced in IGG™. Thus special care must be taken manually for proper grid settings to accomplish multigrid meshes. Following are some guidelines to generate such grids:

The number of multigrid levels is computed as follows: if n is the number of grid points of an edge, the number of levels m is such that n-1 can be recursively divided m-1 times by 2. For example a 9x9x9 grid has 4 grid levels in each direction ( (9-1)/2/2/2 ).
When dividing a face into patches (for specifying different boundary conditions), each patch has to follow a multigrid scheme. For example, if a face has 9 grid points in one direction, dividing the face in that direction into two patches with limits [1 4] and [4 9] does not yield to an efficient multigrid scheme. However, better limits for the patches are [1 5] and [5 9], resulting in 3 grid levels for the face in that direction.

The multigrid rule can be applied independently for each I, J, K direction. The multigrid level available for the flow solver EURANUS through the FINE™ interface will be the lower level of patches multigrid level for each I, J and K direction.
The table shown in FIGURE 1 summarizes the allowed number of grid points for each level of the grid.


FIGURE 1 Coarse grid levels
For example, if the number of grid points in one direction is 225, the number of levels in that direction will be 6 and the number of grid points for each level will be respectively 225 (for the finest level), 113, 57, 29, 15 and 8 (for the coarsest level).

Project Commands
Project commands are provided to control the project currently opened in IGG™ and to perform global operations on this project.

set_project_configuration(dim,axis)
Sets the project configuration. This command must be called at the very first stage of the project setting. It closes the current project without saving and opens a new one with the specified properties.
dim can be "2D" or "3D" or "AXISYM". By default the project dimension is 3.
axis is the axisymmetric axis and is only meaningful when dim is "AXISYM".
Its values can be 0, 1 or 2, corresponding to X, Y or Z axis respectively.
set_2D_project_translation(doubleValue)
Sets the value of the global 2D translation parameter when 2D project (More details in Periodicity).
get_2D_project_translation()
Returns the global 2D translation parameter value.
get_igg_version()
Returns the version info appearing in the shell when starting IGG™.
original_view()
Fits the graphics window to the size of the objects and gives a default orientation to the camera.
open_igg_project(filename)
Opens an existing IGG™ project from disk. This command closes the previous project without saving it.
Example:

open_igg_project("/usr/people/test/volute.igg")
import_igg_project(filename,prefix)
Imports an existing IGG™ project into the current project.
prefix is an optional string that can be specified to easily recognize the blocks and patches of the imported project from those in the current project. When specified, the prefix is appended to the block, patch and group names of the imported project. It is mostly useful when importing several projects into the current one, to distinguish them easily. The block indices of the imported projects are changed to follow those of existing blocks.
Example:

import_igg_project("/usr/people/test/volute.igg","p1")
import_data_file(filename,mode)
Imports curves and surfaces stored in an ASCII IGG™ format.
mode is an optional string (by default "REPLACE") that controlled what IGG™ will do when an entity being loaded has the same name as an existing entity in the current project. The new entity can replaced ("REPLACE") the existing one, can be ignored ("IGNORE") or renamed ("RENAME") to keep existing one.
import_grid(filename)
Imports a block grid generated either by IGG™ or by another grid generator.
import_catia_file(filename)
Imports geometry files in CATIA format up to R23.
import_parasolid_file(filename)
Imports geometry files in Parasolid™ format ".x_t" up to 27.0.150.
import_iges_file(filename)
Imports CAD data stored in the standard IGES format.
import_geomturbo_file(filename)
Imports "geomTurbo" files coming from AutoGrid5™.
import_plot3D(filename,dimension,multiblock,type,big_endian)
Imports block(s) generated either by IGG™ (using File/Export/PLOT3D... menu item) or by another grid generator.
dimension is the dimension of the block(s): 2D ("2") or 3D ("3").
multiblock specifies if the file is single ("0") or multi-block ("1").
type specifies the type of imported file:"ASCII", "Unformatted single", "Unformatted double", "Binary single", "Binary double".
big_endian specifies the binary order in the file: little ("0") or big endian ("1").
import_cgns(filename)
Imports CGNS grid files.
import_gridpro(filename)
Imports block(s) created by the GridPro grid generator.
close_project()
Closes the current project without saving and clears the screen from all previous drawings.
save_project(filename)
Saves the project into the specified file.
Example: save_project("/usr/people/test/volute.igg")
Notice:

During interactive saving from the GUI, IGG™ checks for blocks needing to be regenerated and asks whether to regenerate the blocks before saving. In the current implementation this confirmation will also appear when saving from a script. It is consequently advised to regenerate all touched blocks before calling the save_project command.

CGNS_format(value) 
Set the type of the CGNS format. Value should be between 0 for ADF and 1 for HDF5.

export_plot3D(filename,param_list,block_list)
Exports the project into the specified plot3D file.
export_CEDRE(filename)
Exports a mesh in CEDRE format with the specified filename.
export_CEDRE_all_blocks(filename,merging,merged_blockname)
Exports all the blocks of the mesh in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
export_CEDRE_block_group(filename,groupname,merging,merged_blockname)
Exports mesh of a group of blocks groupname in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
export_CEDRE_block_list(filename,blocklist,merging,merged_blockname)
Exports mesh of a list of blocks blocklist in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
export_FLUENT(filename)
Exports a mesh in Fluent format with the specified filename.
export_CFDpp(filename)
Exports a mesh in CFD++ format with the specified filename.
export_CRUNCH_CFD(filename)
Exports a mesh in CRUNCH CFD format with the specified filename.
export_OpenFOAM(foldername,branch)
Exports a mesh in OpenFOAM format in the specified folder (foldername). The OpenFOAM branch is optional and can take the value "official" (default) or "extend".
Example: export_OpenFOAM("C:/tmp/test","official")
export_Abaqus(filename,elementtype) 
Exports a mesh in Abaqus format with the specified filename and the type of element set to "C3D8" or "C3D8I".
exit_session()
Quits the IGG™ session. This command can be used to close IGG™ in the middle of a script. All required savings must be performed explicitly before calling this function.
text_message_box(message)
Opens a generic information dialog box and displays the message in it.
text_message_box_title(message)
Specifies the title of the generic information dialog box.
set_preference(preference_name,argument)
Sets the argument(s) of the preference. The available preference_names are listed below with their corresponding argument(s).
Tolerances preferences

system_tolerance for Geom Tol (abs) with a real value.
geometry_relative_tolerance for Geom Tol (rel) with a real value.
topology_relative_tolerance for Topo Tol (rel) with a real value.
pick_aperture for Pick Aperture with a real value.
edge_discretisation for Pick Aperture with an integer value.
Saving preferences

autosave for Automatic Saving with an integer (1/0)
autosave_time for automatic saving time in minutes with a real value.
save_bak_file for Backup when saving (.bak) with an integer (1/0).
quality_check_at_saving for Ask quality check when saving with an integer (1/0).
CGNS_patch_info_saving for Save CGNS patch info / family name control with an integer (1/0).
Export_short_family_names for Export short family names with an integer (1/0).
Graphics preferences

visibility for Visibility during viewing ops with an integer (1/0).
lights for Turn On Additional Lights with an integer (1/0).
edge_normal_width for Edges width/Normal width with a floating value.
edge_highlight_width for Edges width/Highlight width with a floating value.
Layout preferences

gui_quick_access_pad for GUI/Quick Access Pad with an integer (1/0).
search_list_by_pattern(name_list,pattern,type,ignore_case)
Selects all members of a list with a name matching a given pattern.
name_list is the list of names (i.e. output from commands get_all_surfaces_name).
pattern is the pattern which has to be matched (using regular expressions).
type is an optional flag to specify the type of regular expressions in Python. When set to 0 (default), the pattern is respecting regex pattern of the "re" module. When set to 1, the pattern is respecting Linux-style wildcard matching through the package "fnmatch". E.g., pressure is matched by p.*ure with "re" and by p*ure with "fnmatch".
ignore_case is an optional flag whether the case should be ignored. Case is ignored when set to 1 (default: 0).
gui_control_area for GUI/Control Area with an integer (1/0).
gui_balloon_help for GUI/Balloon Help with an integer (1/0).
Colors preferences

gui_foreground_values for Foreground color with integers (r,g,b) from 0 to 255 defining amount of respectively red, green and blue.
gui_background_values for Background color with integers (r,g,b) from 0 to 255 defining amount of respectively red, green and blue.
gui_background_type for Uniform/Shaded Color with an integer (1/0).
get_preference(preference_name)
Returns the value(s) of the preference.
save_preferences()
Saves the current preferences into the file "igg.preferences".

Create Block->Linear 4Bnd
Create Block/Linear 4Bnd menu item is used to create an algebraic block grid using the four boundaries of the active block. See FIGURE 42.The grid matches the point distributions defined on the four boundaries. The active face number determines the direction of interpolation as follows:
Active face	Direction 	Block faces for interpolation
	1  or  2	K	1 + 2 + 3 + 4
	3  or  4	J	3 + 4 + 5 + 6
	5  or  6	I	1 + 2 + 5 + 6


FIGURE 42 The four boundaries used for interpolation

Butterfly Implementation
Terminology
This section describes the terminology used throughout the manual for the butterfly topology.

Parent block: 					the initial H type block manually created.
Inner block: the block at the center of the butterfly topology.
Buffer block: a block surrounding the inner block.
Butterfly blocks: the inner block + all the buffer blocks.
Butterfly group: the parent block + butterfly blocks.

FIGURE 3 illustrates the position of the butterfly blocks for a butterfly topology with seven blocks.


FIGURE 3 Butterfly topology with seven blocks
Generation method

The generation of a butterfly topology in IGG™ starts from an initial H type block, called parent block. Then the butterfly blocks are automatically inserted in this parent block. Their shape (edge shape and vertices position) is based on the parent block mesh.


FIGURE 4 Default shape representation of the butterfly topology
At the creation of a butterfly topology, a default calculated shape of the butterfly blocks is automatically displayed in the graphics area as shown in FIGURE 4. In fact, butterfly blocks are not directly created but their edges are represented by geometric curves. Each change in the generation parameters will update this representation. 
Once the butterfly topology has been created, the parent block will remain in the grid (it is not deleted) and the butterfly blocks will not be added in the grid. This method gives the possibility to come back to the H-type configuration and does not imply the deletion of the butterfly blocks and a new creation of an H block if some parameters of the butterfly topology (number of buffer blocks, points distribution,...) need to be changed. Therefore the blocks numbering will remain unchanged, as the total number of blocks seen by the user (butterfly blocks are not counted). Consequently the butterfly blocks numbering and naming is hidden to the user (for more details, see Blocks naming and numbering). However, the total number of cells of the grid is updated by taking into account the butterfly blocks. The blocks treated by the flow solver are the butterfly blocks instead of the parent block.
The convention used for the orientation of the butterfly blocks is the following one:

The inner block has the same orientation as the parent block.
The face 1 of a buffer block will correspond to its associated parent block face.
The face 2 of a buffer block will correspond to the inner block face which has the same face number as the parent block face.

It results from this convention that the buffer block K axis will always be directed from its associated parent block face towards the corresponding inner block face.


FIGURE 5 Buffer blocks orientation
Butterfly shape control
Before the real creation of the butterfly blocks, these ones are represented by geometric curves symbolizing the edges (see FIGURE 4).
Firstly, to control the butterfly shape, the type of the butterfly topology must be chosen, i. e. the number of blocks and their position. Indeed, the inner block is always present in a butterfly topology and buffer blocks can be chosen to lead to several configurations, with six buffer blocks at maximum. In fact, a buffer block can be associated to each parent block face, as illustrated in FIGURE 6.


FIGURE 6 Buffer blocks association to parent block faces
Secondly, the curves symbolising the edges can be modified to give the desired shape to the future edges and therefore to control the shape of the butterfly blocks. The curves can be modified by moving control points. Each curve has by default two control points at its extremities and additional control points can be inserted. Control points are constrained to move on a geometric surface constructed from a face mesh, materializing a "section". These sections are all aligned in the same direction, hence the definition of a preferential direction in which the section control will proceed. This preferential direction can be one of the axis of the parent block: I, J or K. This control by sections can be seen as a control of the shape of the butterfly block faces aligned along a same direction. This control is illustrated in FIGURE 7.


FIGURE 7 Control points displacement
The minimum number of sections is two, corresponding to the two faces of the parent block perpendicular to the preferential direction chosen. Moreover an additional section is added for each internal face of the parent block perpendicular to the preferential direction. FIGURE 8 shows two geometric representations of a butterfly topology just before creation. On the left block, there is an internal face aligned with the preferential direction chosen, which gives three control sections. For the right block, the internal face is not aligned in the preferential direction, leading to only two control sections.


FIGURE 8 Butterfly topology representation and section control
The geometric surface defining a section is generally fixed except for the first and last control sections if there is a buffer associated to the corresponding face. In this case, a mesh is interpolated along the preferential direction to construct the surface, which position is controlled by a parameter, as illustrated in FIGURE 9.


FIGURE 9 Different geometric surface positions for first control section
The shape of the four edges linking the control sections (i.e. aligned along the preferential direction) cannot be modified and is obtained automatically by interpolation in the parent block mesh.
After each control point repositioning, the touched edges of a section are remapped on its geometric surface, assuming that a straight line links the two end control points of an edge in the parameter space of the surface. 


FIGURE 10 Edge mapping on section surface
To control further the shape of an edge, an unlimited number of additional points can be inserted in the curve representing the edge. In order to obtain "smooth" edges, a cspline is interpolated through the points of an edge in the parameter space of the surface, instead of a polyline which leads to discontinuous edges. As these additional points are only used to modify the shape of an edge, they will not result in the insertion of additional vertices in the edge after the butterfly creation.


FIGURE 11 Additional points insertion on edge
Additional points can always be inserted in the four inner block edges of the section. It is also possible in some cases to insert such points in the radial edges, i.e. the edges directed from the parent block towards the inner block. This is always possible for additional sections and only for first and last section if there is no buffer block associated to that section. 
When there is no buffer block associated to the first or last section, the corresponding radial edges are also mapped on the geometric surface and additional control points can be inserted. Otherwise, if there is a buffer block, radial edges are straight lines not lying on the geometric surface and thus not containing additional points.


FIGURE 12 Straight and mapped radial edges for first and last control section

Boundary Conditions


FIGURE 11 Boundary Conditions dialog box
Grid/Boundary Conditions... menu item serves three different purposes:

To divide the faces of the grid into patches, for grid generation purposes.
To specify the boundary conditions on these patches, as input to a flow solver.
To establish connection between the patches (see Connections section for a detailed description).

When invoking the menu item, a dialog box is opened. See FIGURE 11.
Patch browser
The patch browser shown in FIGURE 11 lists all the patches in the grid, according to the current "Block", "Face", "Patch", "Type", "Nb Levels" or "Name" filters. In this browser, a patch can be selected with the left mouse button. This patch is automatically visualized in the graphics area according to the visualization options in the dialog box:

Show Grid will display the grid of the patch.
Show Solid will display the patch as a solid face.

It is possible to select several patches at once in the following ways:

 While holding the <Ctrl> key down, select the desired patches in the browser.
 While holding the <Shift> key down, select two patches delimitating a range of patches.
 While pressing the left mouse button, drag the mouse and release the left button to select a range of patches.

The last patch selected is always the 'current patch' for manual connections and patch editing.
Filters
The different filters allow to display specific patches in the browser while hiding the others. The "Block", "Face" and "Patch" filters are cumulative and allow to display patches by indices. For example:
Block Filter: 	'*'  ('*' means ALL)
Face filter: 			'1 2'
Patch filter:	'*'
shows in the browser all the patches of faces 1 and 2 of all the blocks. The "Face" filter allows also to select a boundary face by choosing imin, imax, jmin, jmax, kmin or kmax. These items can be shown and selected by left-clicking on the "Face" filter arrow.
The "Type" filter is very useful to list all the patches of a given type (according to the other filters). In particular it allows to easily identify the connected patches (CON, NMB, PER, PERNM) and the patches that have not any type yet (UND).
The "Nb. Levels" filter can be used to see the list of patches for a given multigrid level.
The "Name" filter allows to display patches by name. Enter or choose an expression. All the patches of which the name contains this expression will be listed.
Patch type specification
An option menu allows the setting of the boundary condition type for the selected patch(es). The possible boundary condition types are the following:

UND : undefined type.
INL : inlet.
OUT : outlet.
EXT : external. Used to impose far field conditions.
SOL : solid. Used for walls.
SNG : singular. Used for patch degenerated into a line.
MIR : mirror. Used to impose a symmetry plane.
ROT : rotating. Used for rotor-stator interaction.
CON : matching connection.
NMB : non matching connection.
PER : periodic matching connection.
PERNM : periodic non matching connection.

The following types can be set manually: INL, OUT, EXT, SOL, SNG, ROT, MIR. To set such a type, left-press on the Set Patch Type button of the dialog box; a list with all the types that can be set manually appears. Move the cursor to the desired type and release the left button to set it to the selected patch(es).
If a patch is involved in a full non matching connection, a "*" will appear next to the patch type. 
Patch definition and editing
The patch definition mode is enabled by pressing the Edit Patch >> button. The dialog box is then enlarged to show a symbolic definition of the current face, as shown in FIGURE 12.


FIGURE 12 Patch editing
In this example the active face has three patches with a topology indicated in the figure. The current patch is represented in yellow.
The current patch can be changed by clicking with the left mouse button within the rectangle corresponding to the desired patch. The current patch is automatically updated in the browser and in the graphics area.
An information area is used to display information about the current patch (limits, indices and relative orientation of the connected patch if existing, and patch type). See Manual Connectivity Settings for information about the relative orientation.
Creation of a new patch
A new patch can be created by dividing an existing patch in one direction. When several patches must be created, the division must be successively applied on the existing patches.
To divide a patch, click on the patch with the right mouse button. A menu is opened allowing to divide either horizontally or vertically. Upon selection of a direction, a box shown in FIGURE 13 appears for users to define the index of division. It can be entered manually or modified by using the scrollers. At the same time a visualization of the division appears in the graphics area.



FIGURE 13 Index of division selection
Pressing <Enter> performs the division. Pressing <Escape> cancels the division.
Editing an existing patch
It is possible to change the limits of an existing patch by clicking on its borders. A box is then opened to enter the new limits (same as FIGURE 13 box). The new limits can be entered manually or modified using the scrollers. Pressing <Enter> applies the new limits to the selected patch. Pressing <Escape> cancels the limit modification.
Deleting an existing patch
To delete a patch, click on the patch with the right mouse button. In the pop-up menu that is opened, choose the Delete Patch item. The patch is deleted but the others are not resized automatically. There is no check about this (face entirely covered by its patches) and the resize must be done manually as explained above.
When a face number of points is modified, patch boundaries are resized automatically in order to cover the whole face.
The patch definition mode is disabled by pressing the << button (see FIGURE 12).
Automatic connectivity search
Automatic connectivity search allows to detect mirror boundary conditions (MIR) and to perform connections between patches (matching and non matching, periodic or not).
For MIR boundary conditions and periodic connections, the block periodicity must be set previously by using the Grid/Periodicity... menu item.
Mirror boundary conditions
A mirror connection exists when a patch matches itself after the application of the mirror periodicity of the block to this patch. In fact, patch points are transformed according to the mirror periodicity and a check is done to see if they match with the initial points of the patch. The setting of the mirror periodicity on the block in the Periodicity dialog box (Grid/Periodicity... menu) is optional (information not needed by the solver) but in this case, MIR boundary condition cannot be found automatically by this tool and must be set manually.
Connections
Matching connections are obtained between two patches with same number of grid points along the two directions, and when all their points are matching at a specified tolerance. Non matching connections are obtained when some patches points are not matching at the specified tolerance, or when the number of grid points is not the same in one or both directions.
A periodic connection between two patches (PER or PERNM) is equivalent to a simple connection, after application of the periodicity of the block to one of the patch.

The following checks are performed by IGG™ when trying to connect two patches:

Four patch corners must be matching at the given tolerance ("patch corner" means the patch grid point at the corner of the patch).
Four patch boundaries must be matching at the given tolerance ("patch boundaries" means curves passing through the patch grid points defining the patch limits).
Patch points must lie on a same common surface. For this, some points of the first patch are projected on the surfacic cells of the second patch. An intersection must be found and the distance between the point and its projection must be lower than an internally calculated value based on the given tolerance and the patch dimension.
All the patch points must be matching at the given tolerance. Obviously, when number of grid points is different in one or both directions, this test is never satisfied.

The three first tests are performed for both matching and non matching connections and determine if a connection is possible between the two considered patches. The last test determines if the connection is matching or non-matching. The relative orientation of the two patches is automatically found after the three first tests and is assigned to the connection.
Automatic search
Three interactors are provided with the automatic connectivity search: one field to input the absolute tolerance used to compare point coordinates, another one to delete all connections currently set (CON, NMB, PER, PERNM types) and one to start the search.


FIGURE 14 Automatic connectivity search interactors
To make a new automatic connectivity search on all the patches, left-click on the Delete All button to delete all connections currently set. To delete only some connections, select the corresponding patches and set the patch type to UND by using the related button (see Patch type specification).
Before starting the automatic search, the tolerance must be adjusted. It is specified in absolute units in the Tol input field. For example, if the mesh coordinates range from 0 to 1, a possible value is 1e-5, whereas if the mesh coordinates range from 0 to 10000, a value of 1e-3 is more appropriate. The default value that is set at the dialog box opening is 1e-5.
It is highly recommended to avoid setting a tolerance close to the patch size, otherwise connection can be wrongly found. For example, having two square patches of size 1 and distant of 2, a tolerance of 3 will connect them whereas they should remain disconnected.
The search can be started by clicking on the Search button. At the end of the operation, the number of simple connections found as well as the number of periodic connections are displayed in the information area. The "Type" filter is automatically set to CON and the corresponding patches are listed in the Patch browser.
It is advised to do this search operation after all the blocks have been properly defined and are ready to be used by the solver.
Tips and tricks

Connection cannot be found (CON, NMB, PER or PERNM), patches remain UND. This means that one of the three first tests checking the connection has failed. Check the periodicity for PER and PERNM types. Check patches division, patches coincidence or try to increase the tolerance and redo an automatic search.
Connection of type CON (or PER) cannot be found, patches are set to NMB (or PERNM). This means that the three first tests checking the connection are satisfied (therefore patch boundaries are matching) but the fourth one has failed. Firstly check that the number of points along the two patch directions are the same. If it is the case, the reason of the test failure is generally that some points on patch are really non matching at the specified tolerance, even if the grid of the two patches seems to be apparently coincident. In some very rare cases, the failure can be due to a wrong relative orientation found automatically. This can be verified by checking the relative orientation and eventually trying a manual connect with the correct orientation. If the problem still persists, patch points are non matching. Try to increase the tolerance or solve the non matching by manipulating the mesh. Then reset non desired NMB (or PERNM) patches to UND and redo an automatic search.
In some special configurations (for example a patch degenerated into a line) or when tolerance is too high compared to the patch size, the automatic search would not behave correctly and the message shown in FIGURE 15 will appear:



FIGURE 15 Automatic search error
It indicates that the automatic search procedure has failed for the patch whose indices (Block, Face, Patch) are displayed.
Two cases are possible:

The connection type has been set to the patch. So, check if the connected patch is at the same location (by taking into account the periodicity of the block) as this patch. Check also if the relative orientation of this patch and the connected one is correct. If one of these two checks is wrong, delete the connection type for these two patches.
The connection type has not been set. So, the type has remained UND.

To get rid of the problem, try to decrease the tolerance or try to use the manual connectivity settings.
Manual Connectivity Settings
When automatic connectivity search fails, the manual connectivity option can be activated by pressing the Manual... button. Within this option, the relative orientation of the two selected patches must be entered manually and checks are performed according to the connection type selected to detect if the connection is possible or not. 
This option opens a dialog box shown in FIGURE 16:


FIGURE 16 Manual Connectivity dialog box
Firstly, specify the indices of the patch that will be connected to the current patch and the connection type. Patch indices are defined as follows: Block, Face and Patch index. Enter them with the keyboard and validate them by pressing <Enter>.
Secondly, the correct relative orientation of the two patches must be chosen. To define this, a reference patch is needed, which is always in this case the current patch selected in the "Patch browser". In general, with a couple of patches, by taking either the first or the second one as reference, the relative orientation will be different.
In fact, for each patch, two axis can be defined, which are equal in direction and orientation to those of the block to which it belongs. So, there are three possibilities: I, J or K. To connect two patches, their relative orientation must be determined by specifying the correspondence between their axis. It is done by assigning an expression (such as "Ilow", "Khigh") for each axis. (expression = dir 1 for first axis and expression = dir 2 for second one). Dir 1 and dir 2 are determined as follows:

Take the first axis of the reference patch.
 Search the axis of the connected patch which has the same direction, that is to say X (where X is I, J or K).
If the two axis have the same orientation, dir 1 = "Xhigh", else dir 1 = "Xlow".
Do the same with the second axis of the reference patch to determine dir 2.

The first axis of the reference patch has to be chosen as follows:

axis (I, J) -> I
axis (J, K) -> J
axis (I, K) -> I

Example:



Reference patch: Patch 1
Patch 1 first axis: I
Dir 1: Klow
Dir 2: Ihigh

Indeed, it can be seen that Patch 1 axis I increasing corresponds to Patch 2 axis K decreasing, while Patch 1 axis J increasing corresponds to Patch 2 axis I increasing. The correct relative orientation specification should consequently be: "Klow", "Ihigh".
After pressing Apply, IGG™ checks whether the connection is possible or not. A warning appears if the connection cannot be set.
Full non matching connections
This type of connection allows to connect several patches of several blocks with non matching boundaries. The definition of such connection consists of the following:

A connection name.
A list of "left" patches defining one side of the connection.
A list of "right" patches defining the other side of the connection.

The patches in one list are not restricted to belong to the same face or same block.
It is to be noticed that full non matching connections are always defined on top of existing patches and that these ones must have a valid basic type (no undefined type (UND)), even if the patch is entirely contained in the connection region. In the case a patch has an undefined type (UND) and is used in the definition of the FNMB (full non matching boundary), IGG™ automatically sets its type to solid (SOL). This is required by the solver to run properly. However, the type is not reset to UND when deleting a FNMB connection, even if the SOL type has been set automatically by IGG™.
Following rules must be respected when performing FNMB connections:

A patch can be contained in only one list (either the left patches list or the right one) and one type of FNMB connection (fluid-fluid or fluid-solid).
Two patch points cannot be coincident. For example, O-type patch with a singular line or a triangular patch cannot be used in a FNMB connection.


FIGURE 17 Patches with coincident points
For periodic FNMB connections, all the patches defining the connection must have the same periodicity information. This information is set for the patch block (see Periodicity).

To define and edit full non matching connections
Press the Full Non Matching/Define... button of the Patch Selector dialog box (Grid/Boundary Conditions... menu). It opens the dialog box shown in FIGURE 18.
This dialog box contains two patch browsers to define the left and right patches lists. The use of the patch browsers and filters is the same as for the Patch Selector dialog box. A list containing the connections already defined is displayed on the right of the dialog box.


FIGURE 18 Full Non Matching Connections dialog box
To define a FNMB connection

Select the patches defining the "left" side. These patches are highlighted in yellow in the graphics area.
Select the patches defining the "right" side. These patches are highlighted in blue.
Enter a name for the connection.
Select the Periodic option to define a periodic FNMB connection.
Select the Repetition number to allow periodic FNMB connection that is not covering the same area (option compatible with EURANUS starting from FINE™/Turbo 7.1-1). The number of repetition has to be set in order to fully cover one side (yellow patch(es) - "left" side list of patch(es)) with the other side (blue patch(es) - "right" side list of patch(es)) and its repetition. 




Press on the Create/update button to define the FNMB connection.
This connection will appear in the connection list.

Once a connection is created, patches can be added and/or removed from it. Simply update patches lists by clicking on them and press the Create/update button.
To compute a FNMB connection
Once a connection is defined, it is possible to visualize the triangulation of the common region by pressing the Compute & Show button. This triangulation is not directly used in IGG™ but only serves to visualize the triangulation that will be used by the solver and to verify that the connection is correctly performed. Calling this item is optional in IGG™. This calculation can be performed on the desired grid level by selecting it freely in the Grid level computed entry (this parameter is global and not saved in connections). Moreover several parameters can be controlled by pressing the Options button. It opens an additional frame shown in FIGURE 19:


FIGURE 19 FNMB computing parameters
The process of the computation involves that one side of the connection is triangulated whereas the other side is projected on it. Default values should normally be used. If the computation fails, parameters can be tuned. These parameters are local to each connection and saved into it, therefore to be taken into account they must be set before creating the connection or the button Create/update must be pressed once a parameter is modified.
ADT algorithm: to use the new projection algorithm based on the use of the Alternating Digital Trees (ADT). The main advantage of this method is a decrease of the time required by the projection stage.
Reverse triangulated side: to reverse the triangulated side which is by default the one containing the greater number of points.
Maximum projection distance: when the projection distance of a point is greater than this value, it is rejected.
When computing an FNMB at the hub or shroud gap, the value of the maximum projection distance could be adapted. If not sufficient, the patches should be split before performing the FNMB and the mesh should be refined to avoid too coarse grid compare to the curvature of the blade profile.
Minimum projection distance: when all the points of a patch (contained in the projected side of the connection) have a projection distance greater than this value, the patch projection is rejected.
Normals smoothing steps: before projection, some smoothing steps are done on the projection normals.
Edge attraction: after the triangulation process, while projecting the vertices on both the sides of the FNMB, sometimes the projections end close to some boundary of the triangles, which impacts negatively on the robustness of the treatment. The edge attraction tolerance removes this impact and forces the projected point to belong to the triangle boundaries whenever necessary.
To view and/or delete an existing FNMB connection

Left-click on the desired connection in the connection list to select it.
The patches participating in the definition of the connection will be automatically highlighted in the dialog box as well as in the graphics area. A "*" is also displayed next to the patch type to indicate that the patch is involved in a FNMB connection. If the computation of the triangulation was performed for this connection, it will also be shown on the screen.
To list only the patches involved in the desired connection, middle-click on it in the connection list.
Press the Delete button to delete the selected FNMB connection (the type of the corresponding patches is unchanged).

Rotor/Stator connections
The tool is available when Save CGNS patch info / family name control option is active in the IGG Preferences dialog box. This type of connection allows to connect several patches of several blocks with rotor/stator boundaries. The definition of such connection consists of the following:

A connection name.
A list of "left" patches defining one side of the connection.
A list of "right" patches defining the other side of the connection.

The patches in one list are not restricted to belong to the same face or same block.


It is to be noticed that this tool is only required to have a grouping of patches in several output formats, including the ".cgns" format, and only when saving from IGG™ but not from AutoGrid5™.
Family names
The tool is available when Save CGNS patch info / family name control option is active in the IGG Preferences dialog box. The tool allows the users to impose user-defined family names on selected patches. To define user-defined family names:

Select patch(es) in the list,
Type user-defined family name under Set Family Name and <Enter>.



The specified family names are limited to 32 characters.
The specified family names are only saved to have a grouping of patches in several output formats, including the ".cgns" format, for external solver and are not read when reading a project. Therefore, if a project is read and directly saved, the specified family names will disappear.

Create Face->Copy Face
Grid/Create Face/Copy Face is used to copy the active face from another existing face. The following prompt appears to specify the reference face from which to copy:
 <1> to select a reference face, <2> to perform the copy <3> to quit.
The reference face is selected by left-clicking near an edge of the face. When several edges lie at the same position, the left-click operation must be repeated until the proper face is selected (highlighted in white).
The copy operation takes effect when middle-clicking the mouse and is performed in order to obtain a common axis system for both faces (active and reference one). After the operation, the active face has the same shape, same orientation and segment division as the reference face. All the edges connected to the active face are automatically following the new position.

Create Face->Project onto Surfaces (N)
Grid/Create Face/Project onto Surfaces (N) can be used to project a patch of the active face onto the selected surfaces. Each point of the patch is projected using the normal of the active face at the point. 
The following prompt is given to choose the face or a patch of the face that must be projected: 
Surface (=0)  or Patch (=1)? (q)
>>   1
The following prompt is given to choose the patch number:
Patch number (1...n)? (q)
>>   1 
If the active face contains only one patch, the two previous prompts will not appear.
The following prompt is given to allow the creation of the edges of the active face:
Edge Creation (y/n)? (q)
>>   y
Validation Level 1, 2 or 3 (q) ?
>>  1 : projection with validation 1 implies that no check is done to validate the projected points.
>>  2 : projection with validation 2 implies that one check is done to choose the nearest projected points (ex : to project a patch on a sphere).
>>  3 : projection with validation 3 implies that checks are done to fill the possible gaps in the surface data. It also involves the check of validation 2. A projection ratio must be defined. It corresponds to the highest distortion ratio admitted by the projection. A value of 10 is advised.
To exit this command, enter 'q' in the keyboard input area and press <Enter>.

Getting Started

IGG™ is a powerful structured grid generator software designed to facilitate the generation of multi-blocks structured grids around complex 2D and 3D geometries. It is a fully interactive system combining interactive 3D graphics capabilities with advanced GUI capabilities.
An optional module, AutoGrid5™, allows to perform fully automatic grid generation for turbomachinery problems. Complex grids can be generated by using AutoGrid5™, including splitters, seal leakage and more in a few minutes.
IGG™ provides a Geometry module dedicated to the importation and manipulation of external CAD geometries. Additionally it provides tools for the creation of simple and more advanced NURBS curves and surfaces. This module can be used to close an incomplete geometry model or to create a geometry model from scratch.
Starting from this geometry, IGG™ provides powerful tools to perform the meshing process. Initial blocks can be created very rapidly and interactively deformed onto the geometry. The mapping of the block boundaries is done instantaneously so that the real shape of the blocks is obtained at any time. When more control is needed over the boundary shape, control vertices can be easily added or removed and moved interactively. A powerful snapping feature automatically attracts the vertices to the closest point, curve or surface.
Through its concept of tolerant vertex, blocking can be performed on geometries presenting gaps without going through a CAD repair stage. IGG™ automatically closes the gaps to a given level of tolerance.
The Grid module provides tools to generate face and block grids in a flexible way. Algebraic and elliptic smoothers can be used to generate surface and volume meshes. Projection or mapping on CAD surfaces insure the generation of body fitted meshes. Additionally IGG™ provides unique features for controlling the quality of the grid through the concept of internal edge and internal faces.
To facilitate the grid generation process IGG™ provides connection tools which enable to perform connections at different levels of the grid generation process: topological connections, block boundaries connections and face grid connections.
Finally IGG™ provides full support to the CGNS standard. Using this file format, grids generated with IGG™ can be readily understood by more and more solvers.

Internal Face->Index
Grid/Internal Face/Index allows to change the index of the active internal face. The following prompt is given to enter the new index of the internal face:
Enter new face index:(q)
>>  17 
If a value greater than the corresponding block limit or greater than the nearest fixed point along the face direction is entered, the index will not be changed. Setting a new index to an internal face will not change its position but the block grid points will be moved.
To quit this command, enter 'q' and press <Enter>.

CHAPTER 1.
GETTING STARTED
IGG™ is a powerful structured grid generator software designed to facilitate the generation of multi-
blocks structured grids around complex 2D and 3D geometries. It
is a fully interactive system
combining interactive 3D graphics capabilities with advanced GUI capabilities.
to perform fully automatic grid generation for
An optional module, AutoGrid5™, allows
turbomachinery problems. Complex grids can be generated by using AutoGrid5™, including splitters,
seal leakage and more in a few minutes.
IGG™ provides a Geometry module dedicated to the importation and manipulation of external CAD
geometries. Additionally it provides tools for the creation of simple and more advanced NURBS curves
and surfaces. This module can be used to close an incomplete geometry model or to create a geometry
model from scratch.
Starting from this geometry, IGG™ provides powerful tools to perform the meshing process. Initial
blocks can be created very rapidly and interactively deformed onto the geometry. The mapping of the
block boundaries is done instantaneously so that the real shape of the blocks is obtained at any time.
When more control is needed over the boundary shape, control vertices can be easily added or removed
and moved interactively. A powerful snapping feature automatically attracts the vertices to the closest
point, curve or surface.
Through its concept of tolerant vertex, blocking can be performed on geometries presenting gaps
without going through a CAD repair stage. IGG™ automatically closes the gaps to a given level of
tolerance.
The Grid module provides tools to generate face and block grids in a flexible way. Algebraic and
elliptic smoothers can be used to generate surface and volume meshes. Projection or mapping on CAD
surfaces insure the generation of body fitted meshes. Additionally IGG™ provides unique features for
controlling the quality of the grid through the concept of internal edge and internal faces.
To facilitate the grid generation process IGG™ provides connection tools which enable to perform
connections at different levels of the grid generation process: topological connections, block boundaries
connections and face grid connections.
Finally IGG™ provides full support to the CGNS standard. Using this file format, grids generated with
IGG™ can be readily understood by more and more solvers.
In this section
1.1 Structure of the Manual
1.2 Installation & Settings
1.3 How to Start IGG™ Interface
1.4 Terms & Concepts
IGG™ 13.1 User Guide
10
10
1.5 Visualization
23
1.1
STRUCTURE OF THE MANUAL
The structure of the IGG™ manual consists of several dedicated chapters which can be
summarized as follows:
l Getting Started describes the basic terms needed to understand IGG™ functionalities.
l Graphical User Interface describes the GUI and the different interaction modes with the
system.
l Meshing Fundamentals describes the fundamentals of meshing and the most commonly used
options.
l From Butterfly mesh to Tools Menu chapters, a detailed description of each functionality
available in the different modules is described. Each chapter is a description of a menu
contained in the IGG™ interface.
l Input & Output Files describes IGG™ file formats for importing and exporting data.
The first three chapters provide a complete overview of IGG™ and are recommended for first
time use. Following chapters provide more detail to serve as reference during the use of IGG™.
1.2
INSTALLATION & SETTINGS
1.2.1
Basic Installation
When using IGG™ for the first time it is important to verify that IGG™ is properly installed
according to the installation note. The installation note provided with the software should be read
carefully and 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 IGG™ according to the described procedure in a directory chosen by the user
and referenced in the installation note as 'NUMECA_INSTALLATION_DIRECTORY'.
l A license should be requested which allows for the use of IGG™.
l The license should be installed according to the described procedure in the installation note.
l Each user willing to use IGG™ or any other NUMECA software must perform a user
configuration as described in the installation note.
When these points are checked the software can be started as described in the installation note or
section How to Start IGG™ Interface of this users guide.
1.2.2
Platform Compatibility
IGG™ projects are 100% compatible across heterogeneous platforms. For example, an IGG™
project can be started on an Windows XP platform, continued on a IBM machine and reloaded on
a Linux, without any modification.
1.2.3
Expert Display Options
A. Graphics Driver
The graphics area of IGG™ interface uses by default an OPENGL driver that takes advantage of
the available graphics card. When the activation of OPENGL is source of issues, IGG™ uses an
X11 or OPENGL2 driver (on Linux) or MSW driver (for Windows) instead.
It is possible to explicitly change the driver used by IGG™ through a registry key or through
preferences:
l when launching IGG™ from FINE™ (through Modules menu), the graphic driver will be
read from the registry key. Changing the preference will have no effect on it,
l when launching IGG™ alone, the graphic driver will be read from the preferences. The
registry key will have no effect on it.
Define driver through a registry key
On Linux
in csh, tcsh or bash shell:
setenv NI_DRIVER X11 (or OPENGL2)
in korn shell:
NI_DRIVER=X11 (or OPENGL2)
export NI_DRIVER
The selection will take effect at the next session.
On Windows (when FINE™/Turbo installed):
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.
Define driver through preferences
The driver used in IGG™ when launched alone can be controlled in the File/Preferences menu
in the Graphics page.
The selection will take effect at the next session.
B. Background & Foreground Colors
The background and foreground colors of
File/Preferences menu available within IGG™ in the Colors page.
the graphics area can be adapted through
1.3
HOW TO START IGG™ INTERFACE
On Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows
1. click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or
in
Start/Programs/NUMECA Software/AutoGrid#.
2. alternatively IGG™ can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or
<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic
Installation section and # is the version (e.g. 131 ).
1.4
TERMS & CONCEPTS
This section describes the terms and concepts used in this manual. For more details on a specific
topic consult the index to see where it is described in the manual.
IGG™ is a structured multi-block grid generator. The grid generation process can be decomposed
into two major steps: the blocking step, also called topological decomposition, and the meshing
step.
Blocks are used to decompose complex 3D domains into simpler meshable sub-regions. To create
a mesh, blocks are created, initially simple cubes, and adapted to the geometry by deforming their
boundaries (edges) so that they lie onto geometry curves or surfaces. Blocks can be created as
needed and they are connected together to insure non overlapping filling of the domain. The
creation, geometry capturing and connection operations all together define the topology of the
mesh.
Due to the structured approach, blocks are constrained to be bound by exactly six faces, each face
having four edges. Furthermore each edge is shared by exactly two faces. There are consequently
12 edges for a block.
Blocks can be thought of as cubes whose edges are deformed to lie onto the CAD geometry.
FIGURE 1.1 shows two blocks deformed to lie on the geometry.
FIGURE 1.1
Edges deformed and positioned on a geometry
Block Shape Control
The shape of a block is directly defined by the shape of its grid edges (edge belonging to a block
face). These grid edges are supported and handled by topological edge(s). These topological
edges are used to capture the geometry and must not be confused with a grid edge (more
commonly called edge). A topological edge is defined and controlled by two vertices, defining its
geometrical limits. By default each grid edge contains one topological edge, thus two vertices.
Furthermore, vertices are shared at block corners, yielding a strong topological consistency
between the edges of a block. There are consequently by default eight vertices for each block, as
shown in FIGURE 1.2
FIGURE 1.2
Edge vertices and edge mapping onto a curve
The shape of an edge is directly controlled by the position of its vertices and of its topological
edges onto the geometry entities (points, curves or surfaces).
l The positioning of a vertex on a geometry entity is called "vertex snapping".
l The positioning of a topological edge on a geometry entity is called "edge mapping". It means
that the topological edge is deformed to lie on the geometry entity.
IGG™ automatically detects when the two vertices of a topological edge lie on a same geometry
entity and performs automatic mapping of the topological edge onto that geometry entity. IGG™
performs an automatic mapping when:
l two vertices lie on a same curve,
l two vertices lie on different curves but can be considered as lying on the same curve at the
vertex tolerance,
l two vertices lie on a same surface,
l two vertices lie on a surface and a curve belonging to that surface (i.e. trimming curve).
When one of the vertices of a topological edge does not lie on any geometry entity, IGG™ draws
a straight line for the topological edge.
Very often the input geometry is defined by a set of curves that all together define a closed region.
These curves are however most of the time not connected in the sense that no topological
information exists to go from one curve to another.
To cope with this frequent case, IGG™ provides a method to easily insert additional vertices (
) in the definition of an edge. FIGURE 1.3 shows an example of two curves lying next to each
other. Using only one topological edge with two vertices, the edge would be a straight line. The
insertion of an additional vertex allows to capture the junction of the curves and therefore the
mapping of the edge onto the two curves.
FIGURE 1.3
Internal vertex insertion in an edge
When inserting the internal vertex into the edge, the initial topological edge is replaced by two
new topological edges (a topological edge is delimited by two consecutive vertices). Therefore,
the first topological edge can be mapped on curve 1 and the second one on curve 2. In fact, at
each internal vertex insertion, the number of topological edges of the grid edge is increased by
one. Therefore an edge defined by N vertices has exactly N-1 topological edges.
FIGURE 1.4 shows an example of an edge being defined by several topological edges.
FIGURE 1.4
Grid edge defined by 4 vertices (3 topological edges)
IGG™ provides a tolerance mechanism to deal with input geometries presenting small gaps. A
tolerance is attached to each vertex participating in the definition of an edge. When a vertex is
placed at the junction of two curves, as in FIGURE 1.5, IGG™ attempts to fill the possible gap (if
existing).
FIGURE 1.5
Use of the vertex tolerance for edge mapping
As shown, there is a gap between curve 1 and curve 2. To map an edge on these two curves, the
"start" and "end" vertices have to be positioned firstly, then an intermediate vertex must be
inserted on the edge and moved to the curve 1 end point. If the tolerance of this intermediate
vertex is too small, the edge cannot map the curve 2. If it is sufficient, the edge also maps the
curve 2, filling in the gap with a straight line.
When gaps are big, the tolerance can be controlled for each vertex separately.
Grid Control
Once block edges are well positioned to capture the geometry, grid points can be positioned on
edges.
Due to the structured approach, the edges varying along a same direction (I, J or K) are
constrained to have the same number of points. The number of grid points can be controlled
independently for the I, J or K directions.
However the grid point distribution along an edge can be controlled independently for each edge.
This distribution is controlled by segments. A segment is an entity controlling a range of grid
points on an edge. Using these segments, the clustering (distribution) can be locally controlled
along the edge. By default, each edge has one segment. Moreover, for each new created segment,
grid points are distributed at equal intervals (uniform spacing).
The creation of segments in an edge is done by insertion of fixed points (
FIGURE 1.6:
), as shown in
FIGURE 1.6
Edge division in segments using fixed points
Fixed points define the limits of the segments. They also control the range of grid points
controlled by the segments. Changing the index of a fixed point changes the number of points in
the surrounding segments.
Fixed points are by default constrained to move along their edge. When more flexibility is needed,
fixed points can be attached to vertices. Such fixed point is no more constrained to move along its
edge.
Internal Grid Lines
FIGURE 1.7
Two internal edges added to the face
Internal edges (
) are used to obtain a better control of the grid quality during face grid
generation. They enable to decompose a face grid into smaller, more manageable areas and can be
manipulated in the same way as boundary edges. These edges can be mapped onto geometry
curves, divided into one or more segments, on which the distribution can be specified. FIGURE
1.7 shows a face with two internal grid lines, which decompose the face into 4 sub-regions.
During the creation of internal grid lines, IGG™ automatically intersects the boundary edges as
well as the other existing internal edges. At each intersection IGG™ creates a fixed point attached
to a vertex. This vertex- fixed point is shared by the edges and insures topology and grid
consistency at any time (indeed internal grid lines cannot be separated at their intersection with
other edges).
Internal Faces
Internal faces (
) are used to obtain a better control of the grid quality during block grid
generation by inserting controllable faces within the blocks. They decompose a block into smaller
regions which can be independently generated and manipulated.
Internal faces are bound by four edges. These edges have the same general orientation as the
boundary edges of the block and are manipulated in the same way.
When creating new internal faces, IGG™ identifies all crossing faces and creates a new internal
edge at each intersection. These edges are shared by the crossing faces to insure a consistency
during block generation.
Internal faces can be manipulated much in the same way as boundary faces:
l Their boundary edges can be mapped onto the geometry,
l Internal grid lines can be added,
l They can be projected on geometry surfaces,...
The internal faces are taken into account during block generation when using a six boundary
interpolation.
Block, Face, Edge, Segment Numbering & Active Entities
Each entity defining the grid topology (block, face, edge, segment) is identified by an index in
IGG™.
Each block is defined by a local IJK coordinate system giving a natural naming convention for the
faces. Faces, edges and segments are further numbered and identified by indices as indicated in
FIGURE 1.8.
FIGURE 1.8
Standard notation for the block, faces and orientation of edges
According to these conventions, entities are referenced as follows:
l A block is identified by one index, describing its position in the grid. For example, block "1"
identifies the first block of the grid.
l A face is identified by its block and face indices. For example, face "2 4" refers to the face 4 of
block 2.
l An edge is identified by its block, face and edge indices. For example, edge "1 5 2" refers to
the edge 2 of the face 5 of block 1.
l A segment is identified by its block, face, edge and segment indices. The segment index is
simply the segment position in the edge, according to the edge orientation. For example,
segment "1 5 2 3" refers to the third segment of the edge "1 5 2".
Since an edge is shared by two faces it can be accessed by two identifiers. For example, the edge
"1 2 4" (block 1, face 2, edge 4) is the same as the edge "1 6 2" (block 1, face 6, edge 2).
Furthermore each edge has a natural orientation given by the positive direction of the I, J and K
axis, as shown in the previous figure. On the other hand, segments have the same orientation as
their underlying edge.
Active block, face, edge and segment
Some operations like face grid generation, visualization... must be operated on specific entities. In
IGG™, these operations are performed on the active entities. There is always one active segment,
edge, face and block in a session. They are highlighted in the graphics area and can easily be
recognized from non active entities.
Activation of an edge, face or block is done by simple left mouse click on the desired entity in the
graphics area. When several entities lie at the same position, the left-click operation may need to
be repeated until the proper entity is highlighted. Alternatively, an entity can be activated by
entering its identifier through the keyboard. For example, to activate the block 2, face 4, edge 1,
type '2 4 1' in the keyboard input area and press <Enter>. The entity will be activated.
This activation mode can be used at any time in IGG™, as long as another menu option is not
used (i.e. curve creation).
Grid Generation
After the grid points along the block boundaries (edges) have been correctly positioned, the faces
grid must be generated. Then the block grid generation can be performed by using these faces
grid previously generated. The grid boundaries can have slope and/or line continuity or be totally
discontinuous at the block interfaces.
Faces can be generated by using the following options:
l Algebraic grid generation: two- or four-boundary interpolation (linear or cubic) from the face
edges (
).
l Mapping a face on a geometry surface. Mapping is performed by linear interpolation from the
face edges in the geometry surface space (
).
l Projecting a face grid onto a set of geometry surfaces (
).
l Overall or local smoothing (in a user-specified region of a face or block grid) by the elliptic
method (
).
Blocks can be generated by using the following options:
l Algebraic grid generation by two-, four- or six-boundary interpolation (linear or cubic) from
the block edges (
).
l Translation of a face grid, combined with rotation and scaling (
).
l Expansion of a face grid along face normal according to a user-specified distance (
).
l Rotation of a face grid around a coordinate axis (
).
l Sweeping of a face grid along an arbitrary curve, combined with rotation and scaling (
).
Algebraic methods based on transfinite interpolation are the most attractive options, due to fast
real time generation for face and block grids. The smoothness of such algebraic grids can be
improved by using the elliptic smoother.
The algebraic grid generation is based on the transfinite interpolation methods with linear
(Lagrange) interpolants. The grid generation options can be explained as follows:
l Linear six-boundary transfinite interpolation (
)
This type of algebraic generation is based on the determination of internal grid points of a
block by linear (Lagrange) interpolation from the surface grids generated on six boundary
faces (not applicable to face grids). Thus the grid conforms to the point distributions defined
over the six boundary faces. The surface grid normal lengths have no effect on the grid, since
the orthogonality is not considered for linear interpolation.
l Linear four-boundary transfinite interpolation (
)
With this option, the internal grid points in a face or block are generated by linear (Lagrange)
interpolation from four boundaries. In the case of face grids, the user-specified grid point
distributions on four boundary edges are used for interpolation. Such a grid can also be
considered as a bilaterally blended Coons patch.
The block grids are obtained from the grid created on four boundary faces, on which a variable
coordinate index is common (faces 1, 2, 3 and 4 for common I index, faces 1, 2, 5 and 6 for
common J index and faces 3, 4, 5 and 6 for common K index). The grid normal length
distributions defined on the boundary curves or the surface normal lengths specified for the
boundary faces have no effect on the grid, since the orthogonality is not considered for this
case.
l Linear two-boundary interpolation + user-specified stretching (
)
This technique has been introduced as a two step generation process using the opposite
boundaries of each block. The face grids are generated by linear interpolation from the two
opposite boundary edges (e.g. edges 1 and 2). The grid points along constant index lines
between these two edges are then redistributed according to the user- defined grid point
distributions on the other opposite boundaries (e.g. edges 3 and 4). Thus the grid conforms to
distributions defined on all four boundaries, as in the four-boundary case.
The block grids are created by interpolation from the grid on two opposite block faces (e.g.
faces 1 and 2). Then, the interior grid points are redistributed according to the user-defined
point distributions on one of the other two opposite faces (e.g. edges 3 and 4 of face 3 or 4).
Again, there is no consideration of boundary orthogonality.
If grid overlapping occurs when using one of the algebraic grid generation methods, please do not
panic. Due to very tight grid point spacing or high degree of orthogonality constraints, the grid
points may overlap initially. Simply try to smooth (
several iterations, until overlapping disappears.
) the grid locally or as a whole in
l Overall or local smoothing (
)
The smoothness of algebraic grids can be improved by a few iterations with the elliptic solver.
A local region of smoothing can be specified within the face or block grid by mouse or
keyboard. The default smoothing area covers the overall grid.
l Sweeping a face grid (
)
This method is similar to the translation of a block face for the generation of a block grid.
However, the base grid (e.g. face 1) is swept along a specified sweep edge. The grid points
along the sweeping edge are created according to the user- specified point distribution.
Sweeping can also be combined with rotation and scaling.
l Rotating a face grid (
)
This option is especially suitable for the generation of grids around turbomachinery
components. A face grid can be rotated around any coordinate axis at a user-specified angle to
form the block grid. For blade passages, the pressure side can be rotated around the axis of
rotation at an angle of blade pitch and the resulting block grid can be intersected by a geometry
surface representing the suction side stored in the geometry repository.
Boundary Conditions
Each block face can be divided in a certain number of patches on which will be applied the
boundary conditions. It allows, for a same face, to have several different boundary conditions.
Boundary conditions setting consists of imposing to each patch of the grid a type describing the
physics of the flow. The boundary conditions setup is normally performed when the grid has been
generated.
The following standard notation is used to identify the type of the boundary condition applied on
a patch:
l UND: undefined type.
l INL: inlet.
l OUT: outlet.
l EXT: external. Used to impose far field conditions.
l SOL: solid. Used for walls.
l SNG: singular. Used for patch degenerated into a line.
l MIR: mirror. Used to impose a symmetry plane.
l ROT: rotating. Used for rotor-stator interaction.
l CON: matching connection.
l NMB: non matching connection.
l PER: periodic matching connection.
l PERNM: periodic non matching connection.
1.5
VISUALIZATION
Geometry
Understanding the input geometry model is essential to perform fast and efficient meshing.
Geometry models tend to be more and more complex and composed of lot of curves and surfaces.
To facilitate the manipulation and visualization of these entities a grouping option is provided.
Grouping allows to:
l create and delete new groups,
l add curves and surfaces to a group,
l selectively visualize or hide one or more groups.
This organization in groups allows to display very fast only few geometry entities, and can greatly
help during the interactive placement of blocks on the geometry. Interactive snapping of vertices
can then be performed on a restrained number of entities avoiding the risk of interference with
other unnecessary entities.
Grid
The visualization of the grid is possible for different types of entities involved in the grid
generation process. Selective visualization (
) can be applied to:
l vertices,
l fixed points,
l boundary grid points,
l edges
l face grids (wireframe or shaded representation).
The visualization of each type of entities can be easily controlled using the scope of visualization.
The visualization scope can be used to visualize an entity for the active segment, edge, face, block
or grid (
).
CHAPTER 2.
GRAPHICAL USER INTERFACE
This section describes the appearance and use of the IGG™ Graphical User Interface (GUI).
The IGG™ GUI is divided into several main components as shown in the figure of the following page
and which are listed here below:
l Menu bar
l Toolbar
l Quick Access Pad
l Control area
l Graphics area
The following sections describe these components as well as two important features of the GUI:
keyboard shortcuts and default mouse bindings.
In this section
2.1 GUI Description
2.2 GUI Interaction
26
36
2.1
GUI DESCRIPTION
FIGURE 2.1
IGG™ Graphical User Interface.
2.1.1 Menu Bar
The menu bar contains a part of available options of IGG™. Menu items can be activated using
click and drag or click and release modes.
The pull-down menu Modules is a dedicated menu which allows to switch between the different
modules of IGG™: IGG or AutoGrid5.
All menus are described in detail in the dedicated chapters.
IGG™ provides a way to keep pull-down menus permanently on the screen using the "tear off"
feature. When tear off menus are enabled, a dotted line appears as the very first item of each pull-
down menu. Selecting this line will isolate the menu in a permanent window on the screen.
Tear off menus can be enabled by editing the file '~/.numeca/igg.resources' and modifying the
line "set app(tearoff) 0" to "set app(tearoff) 1" or adding the line "set app(tearoff) 1".
2.1.2
Toolbar
The toolbar contains five icons providing fast input/output options and three icons for often used
operations. These are also available through the menu bar .
TABLE 2.1 Toolbar icons
Icon Description
Opens an existing project previously created by IGG™.
See the File/Open menu item description in section Open.
Saves the current work in the files of the current project.
See the File/Save/Save menu item description in Save --> Save.
Closes the current project and opens a new empty one.
See the File/New menu item description in section New.
Used to import CAD data stored in the standard IGES format.
See the File/Import/IGES Data menu item description in Import -> IGES.
Used to import external curves and surfaces stored in an ASCII IGG™ format.
See the File/Import/IGG Data menu item description in Import -> IGG Data.
Used to check the grid quality.
See the Grid/Grid Quality menu item description in Grid Quality section.
Used to check the negative cells.
See the Grid/Negative cells menu item description in Negative cells section.
Used to measure distance between geometry or grid entities.
See the Tools/Distance menu
Moreover, it contains a set of buttons allowing vertex attraction control.
FIGURE 2.2
Toolbar vertex attraction control
This set of four buttons provides an easy visualization and control of the vertex attraction. This
vertex attraction is controlled by vertex. Each button can be toggled individually and it enables or
disables the corresponding attraction mode. The entities on which a vertex can be attracted,
corresponding to the four attraction modes (respectively from left to right), are the following:
l Cartesian and curve end points
l Curves
l Curves intersection
l Surfaces
To control the attraction mode of a vertex, buttons are used as follows:
1. Move the mouse over a vertex.
2. Select it by a left-click. The current attraction mode of the vertex is instantly shown through
the buttons.
3. Move the mouse to the attraction control zone and select the appropriate mode(s).
When pressing the <Ctrl> key and the right mouse button over a vertex, it gives access to a pop-up
menu specifying the vertex attraction features.
2.1.3
Quick Access Pad
The Quick Access Pad is located in the left part of the GUI. It contains icons and more evolved
options providing a fast access to the more used functions of IGG™. Some of these functions are
only accessible through the Quick Access Pad whereas others are also accessible through the
menu bar, so that their description will be referenced to these menus.
The pad is divided into three subpads, each of which can be toggled by a simple mouse left-click:
l Geometry subpad
l Grid subpad
l View subpad
All the commands and options accessible with these subpads are described in detail in the Quick
Access Pad chapter.
The three subpads are composed of pages containing icons or more evolved options. The icons
perform specific function related to the subpad and the page. Each page can also be toggled by a
simple mouse left-click.
The Geometry subpad commands and tools allow the creation and the modification of geometry
entities like points, curves and surfaces. It consists of four pages: three for geometry entities
creation (respectively point, curve and surface creation) and one for curves and surfaces editing.
FIGURE 2.3
Geometry subpad
The Grid subpad commands and tools allow the creation and the manipulation of blocks and
related entities like vertices, fixed points, internal faces, internal grid lines,...
The View subpad allows viewing operations on the geometry and the grid. In particular, the two
first pages provide options permitting the creation and the visualization of geometry and block
groups.
FIGURE 2.4
Grid & View subpads
2.1.4
Control Area
The control area is composed of six major areas:
l Message area
l Keyboard input area
l Mouse coordinates
l Information area
l Grid parameters area
l Viewing buttons
Message Area
This area has several display functions:
l Display of warning messages notifying the user
l Display of request messages asking the user for inputs from keyboard input area or graphics
area
l Display of general information messages (current function options,...)
Keyboard Input Area
Most of the options in IGG™ require numerical inputs from the user. For example, rotating a
curve around a given line requires to specify the direction of the line, its origin and the rotation
angle.
The keyboard input area is provided to allow such inputs. When an option requires numerical
inputs, a message is indicated in the message area. Without leaving the graphics area, the user
can then type the required data. The keystrokes are automatically echoed in the keyboard input
area and the user has the possibility to modify the inputs. The input is acknowledged after
pressing <Enter>.
Entering scalar values: a scalar value is specified by a floating number followed by <Enter>.
Valid values are 5 1.32323 -0.1234 1.4E-5.
Entering vectors: a vector is specified by typing its three components separated by a blank and
followed by <Enter>.
The keyboard input area can also be used to select the active block, face, edge or segment.
When nothing is specified in the message area, simply enter the related indices separated by
blanks and press <Enter> to make the corresponding entity active. This obviously causes the
update of the grid parameters area.
Mouse Coordinates
This area displays the mouse cursor coordinates in the graphics area. If the cursor is out of it, it
indicates the last cursor position in it.
Information Area
This area gives general information (about edges, curves,...). For example, when moving a vertex
and attracting it to a curve, the name of that curve is displayed in this area.
Grid Parameters Area
This area shows very useful information about the grid:
l Active block, face, edge and segment indices
l Number of grid blocks, active block faces, active face edges, active edge segments
l Block:
l Number of active block points
l Number of grid points
l Name of the block
l Number of points in each block direction
l Face: constant direction and the corresponding index
l Edge: constant direction according to the active face and the corresponding index
l Segment: number of points on the segment
l The maximum multigrid level available in the I, J and K direction
If the name of the active block is "invalid", it means that any block has been created yet or all the
blocks have been deleted.
Viewing Buttons
The viewing buttons are used to perform viewing manipulations on the active view, such as
scrolling, zooming and rotating. The manipulations use the left, middle and right buttons of the
mouse in different ways. The sub-sections below describe the function associated with each
mouse button for each viewing button.
For systems that only accept a mouse with two buttons, the middle mouse button can be emulated for
viewing options by holding the <Ctrl> key with the left mouse button.
During viewing operations, IGG™ automatically removes from the active view all 'heavy' graphics
representations such as solid model or color shading. This is done to keep a reasonable speed during
rotation, translation or zoom operations. The complete picture is restored after a viewing operation is
finished. A 'full visibility' can be explicitly requested during viewing operations by calling the
File/Preferences... dialog box and setting the visibility flag to Full in the Graphics page.
Viewing manipulations can be done while another action is already undertaken (for example, a vertex
displacement). That action is temporarily stopped until the viewing operation is finished; then, the
action can be performed just like before the viewing. This is useful when operations have to be
executed in very distant areas of the model. Moreover, to avoid the displacement of the mouse cursor
over the correct viewing button, several viewing commands and tools are accessible with Keyboard
Shortcuts.
X, Y, and Z projection buttons
These buttons allow to view the graphics objects on X, Y or Z projection plane.
l Left : press this mouse button to project the view on an X, Y or Z constant plane. If the same
button is pressed more than one time, the horizontal axis sense changes at each press.
Coordinate axis
The coordinate axis button acts as a toggle to display different types of coordinate axis on the
active view using the following mouse buttons:
l Left : press to turn on/off the display of symbolic coordinate axis at the lower right corner of
the view.
l Middle : press to turn on/off the display of scaled coordinate axis for the active view. The axis
surrounds all objects in the view and may not be visible when the view is zoomed in.
l Right : press to turn on/off the display of IJK axis at the origin of the active block (in Block
viewing scope) or of all the blocks (in Grid viewing scope). For more information about the
viewing scope, see the View/Grid page of the Quick Access Pad (FIGURE 6.31).
Scrolling
This button is used to translate the contents of active view within the plane of graphics window in
the direction specified by the user. Following functions can be performed with the mouse buttons:
l Left: press and drag the left mouse button to indicate the translation direction. The translation
is proportional to the mouse displacement. Release the button when finished.
The translation magnitude is automatically calculated by measuring the distance between the
initial clicked point and the current position of the cursor.
l Middle : press and drag the middle mouse button to indicate the translation direction. The
translation is continuous in the indicated direction. Release the button when finished.
The translation speed is automatically calculated by measuring the distance between the initial
clicked point and the current position of the cursor.
3D viewing button
This button allows to perform viewing operations directly in the graphics area. Allowed
operations are 3D rotation, scrolling and zooming.
After having selected the option, move the mouse to the active view, then:
l Press and drag the left mouse button to perform a 3D rotation
l Press and drag the middle mouse button to perform a translation
l Press and drag the middle mouse button, while holding the <Shift> key, to perform a zoom
l To select the centre of rotation, hold the <Shift> key and press the left mouse button on a
geometry curve, a vertex or a surface (even if this one is visualized with a wireframe model).
The centre of rotation is always located in the center of the screen. So, when changing it, the
model is moved according to its new value.
This 3D viewing tool is also accessible with the <F1> key.
Rotate about x, y or z axis
The rotation buttons are used to rotate graphical objects on the active view around the X, Y or Z
axis. The rotations are always performed around the centre of the active view. Following
functions can be performed with the mouse buttons:
l Left : press and drag the left mouse button to the left or to the right. A clockwise or
counterclockwise rotation will be performed, proportional to the mouse displacement. Release
the button when finished.
l Middle : press and drag the middle mouse button to the left or to the right. A continuous
rotation will be performed, clockwise or counterclockwise. Release the button when finished.
Zoom in/out
This button is used for zooming operations on the active view. Zooming is always performed
around the centre of the view. Following functions can be performed with the mouse buttons:
l Left : press and drag the left mouse button to the left or to the right. A zoom in - zoom out will
be performed, proportional to the mouse displacement. Release the button when finished.
l Middle : press and drag the middle mouse button to the left or to the right. A continuous zoom
in - zoom out will be performed. Release the button when finished.
Region zoom
This button allows to specify a rectangular area of the active view that will be fitted to the view
dimensions. After having selected the button,
l Move the mouse to the active view
l Press and drag the left mouse button to select the rectangular region
l Release the button to perform the zoom operation
These operations can be repeated several times to perform more zooming.
Press <q> or the right mouse button to quit the option.
This tool is also accessible with the <F2> key.
Fit button
The fit button is used to fit the content of the view to the view limits without changing the current
orientation of the camera (which can be interpreted as the user's eyes).
Original button
The original button is used to fit the content of the view and to give a default orientation to the
camera.
Cutting Plane
This option displays a movable plane that cuts the geometry and the blocks of the mesh. The
plane is symbolically represented by four boundaries and its normal, and is by default semi-
transparent. After having selected the button,
l Press and drag the left mouse button to rotate the plane
l Press and drag the middle mouse button to translate the plane
l Press <x>, <y> or <z> to align the plane normal along the X, Y or Z axis
l Press <n> to revert the plane normal
l Press < t > to toggle the transparency of the plane (to make it semi- transparent or fully
transparent). It is highly advised to deactivate the plane transparency when using X11 driver to
increase the execution speed.
2.1.5
Graphics Area
The graphics area is the region of the screen dedicated to the display of all graphical objects
created by the system.
2.2 GUI INTERACTION
Keyboard Shortcuts
IGG™ provides shortcuts for the most commonly used options which allow to activate options
without accessing the menus. A shortcut consists of a single key or a two keys combination and is
indicated at the right of each menu item, when available. To use a shortcut:
l Move the mouse to the graphics area
l Press the key corresponding to the shortcut. The menu option is activated automatically.
For example, the selection of curves can be activated using the Geometry/Select/Curves menu or
simply by pressing 
 in the graphics area.
A list of the available shortcuts is given in the following table.
TABLE 2.2 Shortcuts
Shortcuts Function
Alt-e
Sets the viewing scope to Edge mode.
See the Quick Access Pad View/Grid page description in Grid page.
Alt-f
Sets the viewing scope to Face mode.
See the Quick Access Pad View/Grid page description in Grid page.
Alt-b
Sets the viewing scope to Block mode.
See the Quick Access Pad View/Grid page description in Grid page.
Alt-g
Sets the viewing scope to Grid mode.
See the Quick Access Pad View/Grid page description in Grid page.
Alt-s
Toggles solid representation of selected surfaces.
See the Geometry/View/View solid menu item description in View->View Solid.
Alt-w
Toggles wireframe representation of selected surfaces.
See the Geometry/View/View wireframe menu item description in View->View
Wireframe.
Alt-x
Used to insert an internal face.
See the Grid/Internal Face/Create menu item description in Internal Face->Create.
Ctrl-o
Toggles the visualization of curves orientation.
See the Geometry/View/Curve Orientation menu item description in View->Curve
Orientation.
Ctrl-e
Closes the current project and opens a new empty one.
See the File/New menu item description in section New.
Ctrl-y
Used to import external curves and surfaces stored in an ASCII IGG™ format.
See the File/Import/IGG Data menu item description in Import -> IGG Data.
Alt-p
Toggles the display of the Quick Access Pad.
See the File/Preferences menu item description in Preferences.
Ctrl-q
Used to end the current session.
See the File/Quit menu item description in Quit section.
Ctrl-z
Toggles the block faces grid.
See the Quick Access Pad View/Grid page description on Grid page.
Ctrl-l
Toggles grid points.
See the Quick Access Pad View/Grid page description on Grid page.
Shortcuts Function
Ctrl-j
Toggles edges.
See the Quick Access Pad View/Grid page description on Grid page.
Ctrl-m
Toggles blocks shading.
See the Quick Access Pad View/Grid page description on Grid page.
Ctrl-x
Used to set the active coarse grid levels.
See the View/Coarse Grid menu item description in section Coarse Grid.
Ctrl-c
Used to select curves to be displayed.
See the Geometry/View/Curves menu item description on View->Curves.
Ctrl-f
Used to select surfaces to be displayed.
See the Geometry/View/Surfaces menu item description on View->Surfaces.
Ctrl-t
Toggles the selected curves control points.
See the Geometry/View/Control Points menu item description on View->Control Points .
Ctrl-p
Used to display the control point coordinates.
See the Geometry/Select/Control Points menu item description on Select->Control
Points.
Ctrl-s
Used to select surfaces.
See the Geometry/Select/Surfaces menu item description on Select->Surfaces.
Ctrl-d
Deletes the selected curves.
See the Geometry/Delete/Curves menu item description on Delete->Curves.
Ctrl-r
Deletes the selected surfaces.
See the Geometry/Delete/Surfaces menu item description on Delete->Surfaces .
Escape
Stops the current tool.
Page-Up Used to zoom in on Linux.
Page-
Down
Used to zoom out on Linux.
Used to translate to the right the active view.
Used to translate to the left the active view.
Used to translate to the top the active view.
Used to translate to the bottom the active view.
Shortcuts Function
F1
F2
F3
F4
>
Used to perform a 3D viewing.
See Viewing Buttons
Used to perform a zoom in/out.
See Viewing Buttons
Used to fit the content of the view.
See Viewing Buttons.
Used to fit the content of the view and reset the camera orientation.
See Viewing Buttons.
Opens the segment clustering dialog box.
See the Grid/Grid Density/Clustering menu item description in Grid Density-
>Clustering.
Performs a four boundaries interpolation on the active face.
See the Grid/Create Face/Linear 4Bnd menu item description in Create Face->Linear
4Bnd.
Performs a six boundaries interpolation on the active block.
See the Grid/Create Block/Linear 6Bnd menu item description in Create Block->Linear
6Bnd.
Opens the project face dialog box.
See the Quick Access Pad Grid/Generate page description in Project Face.
Opens the grid settings dialog box.
See the Grid/Grid Settings menu item description in Grid Settings.
Opens the periodicity dialog box.
See the Grid/Periodicity menu item description in Periodicity.
Opens the boundary conditions dialog box.
See the Grid/Boundary Conditions menu item description in Boundary Conditions.
Draws an arc by specifying the center and two points.
See the Geometry/Circular Arc/Normal-Center-Point-Point menu item description in
section Circular Arc->Normal-Center-Point-Point.
Draws a bspline.
See the Geometry/Draw BSpline/Free menu item description in section Draw BSpline-
>Free.
Shortcuts Function
Draws a cspline.
See the Geometry/Draw CSpline/Free menu item description in Draw CSpline->Free.
Used to change in a cyclic way the mode of the viewing scope.
See the Quick Access Pad View/Grid page description in Grid page.
Opens the generation tool dialog box.
See the Grid/Create Face/Generation Tool menu item description in Create Face-
>Generation Tool.
Used to insert a new vertex in an edge.
See the Quick Access Pad Grid/Insert/Edit page description in Insert/Edit page.
Used to modify a curve control point.
See the Geometry/Modify Curve/Modify Point menu item description in Modify Curve-
>Modify Point.
Draws a polyline.
See the Geometry/Draw Polyline/Free menu item description in section Draw Polyline-
>Free.
Used to select curves.
See the Geometry/Select/Curves menu item description in Select->Curves.
Toggles vertices.
See the Quick Access Pad View/Grid page description in Grid page.
Opens the sweep surfaces dialog box.
See the View/Sweep Surfaces menu item description in Sweep Surfaces.
Opens the copy distribution dialog box.
See the Grid/Grid Density/Copy menu item description in Grid Density->Copy.
Default Mouse Bindings
l Left button bindings (<1>): when the cursor is in the graphics area, the left button is used for
entity selection and positioning. The entities that can be selected by a simple click and release
are listed here below:
l Segment: as soon as a segment is created and is visible within the limits of the views, it can
be interactively selected with the mouse to become active. The selected segment is
automatically displayed in yellow with an arrow showing its orientation and general
information about it is shown in the information area. When the parent edge (which is also
active) comprises several segments, the non active ones are displayed in pink.
l Face, Block: when a segment is selected, its parent face is displayed in white and its parent
block in red which means that both become active. As a segment can belong to several
faces or several segments can lie in the same place, multiple clicks on a segment will
change the active face and/or active block.
l Vertex , Fixed point: when the cursor is close enough, these entities are displayed in
yellow which means that they can be selected. When selected, an entity can be moved by
simply dragging the mouse and replaced with a second click and release. A Fixed point can
be moved only along its parent edge.
As said in the previous section, the left mouse button is also used to select the active view among
the views displayed in the graphics area.
l Right button bindings (<3>): when the cursor is in the graphics area, the right button gives
access to a wide variety of tools and commands from pop-up menus.
This gives an efficient way to do an operation without continually moving the cursor to the
pull-down menus of the menu bar or the Quick Access Pad.
The pop-up menus and the commands associated depend on the entity lying under the mouse
cursor. Some menus are directly accessible by the right mouse button whereas others are
accessible with the right mouse button in conjunction with a keyboard key. For example, press
the <Ctrl> key and the right mouse button over a vertex gives access to a pop-up menu
specifying the vertex attraction features.
The following figure shows three examples of pop-up menus and the way to access them:
FIGURE 2.5
Pop-up menus accessible with a right-click (<3>)
CHAPTER 3.
MESHING FUNDAMENTALS
Blocks are used to decompose the space into smaller regions that can easily be meshed using algebraic
or elliptic methods. They are constrained to have exactly six faces that may possibly be degenerated.
There is no theoretical limit to the number of blocks being used to completely cover a domain. Two
approaches can be used to mesh a problem: use the minimum number of blocks to avoid increased
complexity in block management or use more blocks as they are needed. In the first case, block shapes
might be significantly distorted to capture the geometry and the generation of meshes with good
quality might be more difficult. In the second approach the shape of the blocks may be simpler and
their placement on the geometry may be facilitated, at the expense of more blocks to control and
additional management of connections between blocks.
The complete procedure to generate a mesh on a given geometry can be decomposed into
several logical steps:
1. Create block topologies and map their shape to the geometry;
2. Control edge grid parameters on blocks such as the number of points or distribution;
3. Define patches;
4. Connect blocks together to ease later meshing process;
5. Generate the face grids for each block;
6. Generate the block grids.
The execution order needs not strictly follow the above enumeration. It is for example possible to add
new blocks to already existing blocks and connect them at a later stage or to define patches after face
grid generation. This chapter introduces all the concepts needed to generate a mesh with IGG™.
In this section
3.1 Basic Block Creation
3.2 Block Mapping
3.3 Edge Grid Control
3.4 Face Generation
3.5 Block Generation
3.6 Internal Edges & Faces
3.7 Defining Patches & Boundary Conditions
3.8 Connections
42
IGG™ 13.1 User Guide
43
50
60
68
75
76
3.9 Blocks Grouping
98
3.1
BASIC BLOCK CREATION
This section describes the various methods to create a block in a project using fast interactive
placement of the block vertices (corners).
Creating block defined by two opposite vertices
1. Click on the Insert New Block icon.
2. Move the mouse to the desired location and left-click the mouse to place the first vertex.
The current vertex can be attracted to a curve or a visible vertex by moving it close to the desired
entity. See Vertex snapping for more detail.
3. As the mouse is moved around, a box attached to the cursor appears. The box boundaries
represent the 12 edges of the new block.
4. Left-click to place the second (opposite) vertex.
The position of a vertex can also be defined by entering directly its absolute coordinates in the
keyboard input area.
The orientation of the block, defined by the IJK axes, appears at a default corner that can be
changed in the next steps. The IJK axes always appear right-handed.
FIGURE 3.1
IJK axis placement
5. To change the origin of the IJK axis repeatedly press the <o> key.
6. To change the orientation of the IJK axis press the 
 key.
7. Left-click to complete the block creation. When the block is created the vertices of the block
are drawn using solid square markers.
At any stage the right-click cancels the block creation.
Changing the position of the vertices is explained in Moving vertex.
Creating a block by its eight vertices
1. Click on the dedicated icon.
2. Move the mouse to the desired location and left-click to place the first vertex.
The position of the vertex can also be defined by entering its coordinates in the keyboard input
area. Attraction to existing vertices or curves is also possible.
Repeat the operation to place the other three next vertices defining the first face.
When the first four vertices are specified, a 3D block appears following to the cursor.
FIGURE 3.2
Block placement by vertices.
The movement of the cursor can be locked in one direction by pressing one of the following
key:
l <x>, <y> or <z> to lock the movement in the specified direction,
l <n> to lock the movement perpendicular to the first face,
l <v> to lock the movement in a user defined direction. The direction must be entered as a
vector direction through the keyboard input area,
l <u> to unlock.
Repeat the click operation to place the other vertices defining the block.
The placement of the block can be accelerated by middle-clicking the mouse one or two times
(depending of the current creation status). This will give a default position for the remaining
vertices.
When all the corners are defined, the IJK axis appears at a default corner that can be changed
in the following optional steps:
l To change the origin of the IJK axis repeatedly press the <o> key.
l To change the orientation of the IJK axis press the 
 key.
l Left-click to complete the block creation.
After all the vertices have been defined, IGG™ attempts to automatically perform a mapping of
the edges of the new block onto the geometry, as the latest stage of the creation process.
Creating a block by extrusion from an existing block
The creation of a block by extrusion from an existing face of another block is very convenient as
it can save a lot of intermediate steps, like internal grid line creation, manual connections,...
Using this option, blocks are automatically connected at each level: vertices, topological edges,
grid points (segments) and patches.
To create a block by extrusion
1. Click on the dedicated icon. The dialog box shown in FIGURE 3.3 is opened:
FIGURE 3.3
Extrude block dialog box
2. Select in the graphics area the face from which the block will be extruded. The face of
extrusion is highlighted in orange.
3. In the dialog box, select the range of the face to extrude . The range appears in orange in the graphics area.
4. Select the direction of extrusion:
Average Normal: computes the extrusion direction by averaging the normal to the face at
each grid point (unique direction).
Normal to Face: performs the extrusion for each grid point in the direction orthogonal to the
face at the grid point. This direction will most of the time vary from one grid point to another.
User Direction: performs an extrusion along a unique, user-defined direction.
5. Select the magnitude of the extrusion. This parameter determines the length, along the
extrusion direction, by which the new block will be extruded, in absolute units.The default
value is an average of the reference face size.
6. Press the Apply button to perform the final operation. A new block is created.
When the range of extrusion covers the reference face only partially, internal grid lines are
automatically created in the reference face. These internal grid lines are used to connect the new
block to the existing block.
During the extrusion, the vertices, topological edges, segments and patches are automatically
connected. See File Menu for more details on the limitations.
Creating blocks by duplication of existing block(s)
1. Click on the dedicated icon. The dialog box shown in FIGURE 3.4 is opened:
FIGURE 3.4
Duplicate block dialog box
2. In the dialog box, select the block(s) which will be duplicated: active block, blocks selected by
their indices or blocks contained in a group.
3. Select the number of duplication that will be performed for each selected block.
4. Select the transformation that will be applied to the duplicated block(s): rotation, translation or
scaling.
5. Select the topology creation mode:
No Topology: only the block mesh is duplicated.
Topology from Grid: Therefore a slight shape difference can appear between the duplicated
edge and the original one if this one is mapped on a geometry entity. Only the boundary edges
and the corner vertices are reproduced.
Duplicate Geometry: all block entities are reproduced and edges will have exactly the same
shape as those of the initial block.
Vertex snapping: same as previous option. Moreover, IGG™ tries to snap the duplicated
block vertices on the neighboring geometry.
6. Press the Apply button to perform the duplication.
Block extension
This option allows the extension of an existing block, starting from one of its faces. This option
does not create a new block, but rather prorogates a block along the I, J or K direction, allowing
to construct blocks incrementally in an efficient way.
FIGURE 3.5
Block extension along the J direction
During an extension operation, IGG™ automatically inserts a new internal face at the position of
the reference face and increments the number of points of the block along the extension direction.
This allows to keep the current shape of the block unchanged while being able to extend it.
Internal edges are inserted in the new internal face at the same position and with the same shape
as internal edges of the reference face.
The connections of the reference face (vertices, edge, segments and patches) are deleted during the
extension operation. A warning appears when a deletion of connections is performed.
To extend a block
1. Click on the Extend Block icon.
2. Select the reference face with the left mouse button (<1>). Middle click (<2>) to acknowledge
the face selection and to start the block extension.
3. One vertex of the reference face is selected and can be moved with the mouse. The whole
reference face is translated at once, according to the vertex movement. This vertex can be
placed in the same way as when moved alone, and in particular its coordinates can be entered
in the keyboard input area.
4. Left-click to place the vertex and to end the block extension.
3.2
BLOCK MAPPING
The mapping of a block consists of deforming its edges so they partly or completely lie onto the
geometry. The operation is essentially done by moving the vertices attached to the edges and by
automatic mapping of the edges onto geometry curves or surfaces.
This section describes how to:
l Move a vertex,
l Insert and delete a vertex,
l Snap a vertex to curves or surfaces,
l Control edge mapping,
l Control vertex tolerance.
Moving vertex
To move a vertex of a block
1. Make it visible with the Toggle Vertices icon .
2. Move the mouse to the desired vertex and left-click.
Subsequent mouse movement will move the vertex. The edges attached to the vertex are
automatically following the vertex.
When the vertex is close enough to another vertex, curve or surface, it is automatically snapped to
this entity. See Vertex snapping for more detail.
The edges are automatically mapped onto the geometry when the vertices used by the edges are on
a same curve or surface. Controlling the mapping is explained in a next section (Edge mapping).
It is not recommended to map an edge to have it closed on itself. Otherwise a problem may appear
in the resulting mesh as presented in FIGURE 3.6.
FIGURE 3.6
NACA Airfoil
Left-click again to fix the vertex position.
To move a whole edge, face or block
To accelerate the placement of vertices, it is possible to perform collective movements of vertices
(all vertices of an edge, face or block) at once. The following lines explain the movement of a
whole face:
1. Left-click to select the desired face to move.
2. Move the mouse to a vertex of the face and right-click. A pop-up menu appears, showing three
menu items dedicated to collective movements.
3. Select the Move Face option.
4. Move the selected vertex to its new location. All the vertices of the active face are moved
together with the selected vertex.
5. Left-click to fix the vertex and face positions.
The <e>, <f> or <b> shortcuts can be used to perform a collective movement of an edge, face
or block respectively. In this case, the reference vertex must be selected first, then press the
proper key binding.
Adding/deleting vertices
By default edges are controlled by two vertices which appear as filled black squares. Additional
vertices can be inserted or deleted to allow finer control over the block shape. These vertices are
drawn using hollow squares.
Vertex insertion is required when an edge of a block needs to be placed on several geometry curves.
In this case, one vertex is required at the junction of each curve. The same principle holds when edges
need lying on several surfaces.
FIGURE 3.7
Mapping an edge on several curves
When a grid edge is defined by more than two vertices, the edge is said to have several
topological edges. Topological edges are entities defined by two consecutive vertices. They can
be controlled independently.
To insert a new vertex in an edge
1. Click on the Insert Vertex icon in the Quick Access Pad/Grid/Insert/Edit page.
Use the shortcut <i> to activate the Insert Vertex in a faster way.
2. Move the mouse to the desired edge. A small marker is displayed when the candidate edge has
been identified.
3. Left-click to insert a new vertex.
4. Move the vertex and left-click again to fix its position.
This vertex can subsequently be moved as described above.
The insertion of a vertex splits the existing topological edge into two new topological edges. Edge
mapping is explained below.
To delete an existing vertex
1. Move the mouse to the vertex. The vertex is highlighted when the mouse pointer is in the close
vicinity.
2. Right-click to pop-up a menu for the vertex. Notice that this menu is context sensitive and only
displays menu items when applicable to the vertex.
3. Select the Delete Vertex menu item to delete the vertex.
Vertices at the corner of a block or vertices at the intersection of internal edges cannot be deleted
to keep block consistency.
Vertex snapping
Vertex snapping is the feature that automatically attracts the vertex to points, curves, curve end-
points or surfaces, when it falls within a small aperture. When a vertex is snapped to a curve, it is
attracted by the curve. When a vertex is snapped onto a surface, the surface is highlighted in a
blue wireframe mode.
To snap a vertex to a curve
1. Select the vertex to move.
2. Move it close to a visible curve.
When several curves exist at a nearly same location, a zoom (<F2>) or 3D viewing operation
(< F1>) can be performed on the desired curve, and then the placement of the vertex can be
resumed.
When the vertex falls within the pick aperture, it is automatically attracted and the name of the
curve appears in the status bar.
3. Left-click to fix the new position.
To snap a vertex to a surface
1. Select the vertex to move.
2. Move it close to the desired surface. The surface is highlighted in a blue wireframe mode when
it snaps the vertex.
When several surfaces are stacked onto each other, IGG™ takes the one closer to the user. To
change the current surface, middle-click repeatedly (surface sweeping) until the vertex lies on the
proper surface. The new surface is highlighted in a blue wireframe mode and its name appears in
the status bar.
The vertex can then be moved to its new position.
3. Left-click to finish the operation.
To control the vertex snapping
Vertex snapping can be selectively enabled or disabled for curves, curve end-points, curves
intersection or surfaces. The control is done on a vertex basis and is done as follows:
1. Move the mouse to the vertex.
2. Right-click while holding the <Ctrl> key. The pop-up menu in the margin appears.
3. Enable or disable the snapping for the desired type of entity.
The curve or surface on which a vertex is snapped is indicated in the status bar, when the mouse is
over the vertex.
The vertex snapping can also be controlled through the toolbar as follows:
1. Move the mouse to the vertex and select it by left-clicking on it.
2. Move the mouse over the toolbar (therefore the vertex follows the cursor) and enable or
disable the snapping for the desired type of entity by pressing the corresponding button.
3. Place the vertex.
Vertex locking
By default a vertex is allowed to freely move in the 3D space and can be snapped to curves or
surfaces that are far from the current vertex position. It is possible to constrain the movement of a
vertex by locking it to a geometry entity. When a vertex is locked, IGG™ performs the snapping
operation on the locked entity first. If the snapping fails (i.e. the vertex was moved away from the
entity), the snapping is then performed on the other visible entities.
Using the locking mechanism, the movement of the vertex is constrained to a small box surrounding
the vertex and snapping to geometry entities will only occur if the entities intersect the box.
To lock a vertex
1. Select the vertex and snap it to the desired entity.
2. Press the <l> key to lock the vertex on that entity.
A small box surrounding the vertex appears, showing that it is locked. Subsequent movements
will be done preferably on the entity.
3. To unlock the vertex, press the <l> key a second time.
<l> is a toggle key that successively activates or deactivates the locking.
Edge mapping
Edge mapping is the feature that automatically maps the edges of a block onto the geometry as
soon as its vertices lie on geometry entities. As discussed previously, a grid edge is defined by
two or more vertices. The mapping is performed for each piece between two consecutive vertices
(topological edges).
A mapping is performed when:
l Two successive vertices lie on a same curve,
l Two successive vertices lie on different curves but can be considered as lying on the same
curve at the vertex tolerance,
l Two successive vertices lie on a same surface (or its boundaries),
l Two successive vertices lie on a surface and a curve belonging to that surface (i.e. trimming
curve).
FIGURE 3.8
Placing a face on a single curve.
It is sometimes necessary to disable the mapping of some topological edges for specific types of
entities. This is for example the case when a face of a block needs to be placed on a single curve,
as shown in FIGURE 3.8.
In this example the edges 1, 3 and 4 are mapped onto the curve. The edge 2 should close the gap
of the open part of the curve. By default, this edge is also mapped onto the curve, since its vertices
lie on this curve. To make the edge close the face it is consequently needed to disable the curve
mapping for that edge.
By default the mapping on curves and surfaces is activated for all edges.
To control the edge mapping for a topological edge
1. Move the mouse to the edge.
2. <Ctrl> + right-click on the edge. The pop-up in the margin appears.
3. Select one option to disable/enable the mapping on curves, surfaces or both.
4. Select the option again to reactivate curve or surface mapping.
Edge mapping onto disjointed curves
It may happen that geometry curves imported in IGG™ present small gaps where they should
normally join. IGG™ provides a tolerance mechanism allowing to automatically fill gaps without
adding additional vertices. This tolerant mapping is accomplished by giving a tolerance to each
vertex defined in the project. As seen previously in Adding/deleting vertices, a vertex is required
at the junction of each curve on which an edge should be mapped.
FIGURE 3.9
Use of vertex tolerance for edge mapping
When the gap is relatively large, the mapping on one of the curve may not succeed at first. To
solve this problem the tolerance of the vertex can be increased.
To control vertex tolerance
1. Move the mouse to the vertex. The vertex is highlighted when the mouse pointer is in the close
vicinity.
2. Right-click to pop-up the menu for the vertex.
3. Select the Set Tolerance menu item.
An entry is popped up to enter the new vertex tolerance. This tolerance is relative. The absolute
tolerance is calculated by taking into account the length of the curve.
The mapping of a topological edge is done by taking an average tolerance of the two surrounding
vertices of the edge.
Edge mapping on surface
When two consecutive vertices of an edge lie on a same surface, IGG™ automatically maps the
portion between the two vertices (topological edge) onto the surface. To map this topological
edge, IGG™ works in the (u,v) parameter space of the surface. In the case of very bad surface
parametrization (dependent on the way the surface was generated by a CAD system), the edge
shape could be irregular and not correspond to a shortest path between its two vertices. In these
cases, adding intermediate vertices to the edge would not help in a satisfactory way.
To circumvent this limitation another type of mapping has been introduced, giving much better
solutions in these extreme cases. It consists of intersecting the surface by a plane passing through
the two vertices and with a normal calculated by IGG™.
To change the mapping mode for a given topological edge
1. Move the mouse to the desired topological edge.
2. <Ctrl> + right-click on the edge. The pop-up menu in margin appears.
3. Select the Surf Map 2 option. It automatically disables the Surf Map 1.
The edge will be automatically remapped onto the surface using the second mapping type. This
mode may fail when the vertices of an edge lie far apart on folded surface. In that case,
introducing one or more additional vertices will solve the problem.
Since the default edge mapping works in most cases, the second mapping type should only be used
when the surface parametrization leads to poor results.
Faster vertex movement
When the number of curves or surfaces is large or when surfaces are over-defined (lots of control
points), the interactive movement of a vertex may be significantly slowed down by the dynamic
mapping of the edges which is performed automatically for each new vertex position. To
accelerate the interactive movement the dynamic mapping can be temporarily disabled as follows:
1. Left-click to select the vertex.
2. Hold the <Ctrl> key and move the vertex.
The vertex will be snapped to curves or surfaces, as usual, but the mapping of the edge is
temporarily disabled.
3. Release the <Ctrl> key to resume full edge mapping.
4. Left-click again to fix the vertex position. The edge mapping will then be performed at that
time.
3.3
EDGE GRID CONTROL
The meshing of a block starts by controlling the grid parameters along the boundaries of the block
such as number of points in the I, J and K directions or the clustering along each edge.
Grid points density along edges is controlled by segments. Segments are entities controlling a
range of grid points and are delimited by two fixed points. They are mainly used for two
purposes:
l to locally control the distribution and clustering of grid points along an edge,
l to control the number of grid points along edges.
By default an edge has only one segment extending over the whole edge. Adding more segments
to an edge is done by inserting fixed points into existing segments. This insertion divides a
segment into two new ones.
FIGURE 3.10
Edge division in segments by using fixed points.
Inserting fixed points into an edge is useful to:
l divide grid edges into segments,
l capture corners in a geometry. A grid point is then required to be exactly at the corner position,
l insure grid consistency.
This last case occurs when internal grid lines are inserted in a face as shown in FIGURE 3.11.
FIGURE 3.11
Fixed point insertion through internal grid line creation
During the creation of internal grid lines (IGL), IGG™ automatically inserts a fixed point and a
vertex into all crossing edges (boundary edges or existing internal grid lines). Any subsequent
modification of that vertex/fixed point will modify the internal line and the boundary edges
consistently.
Fixed point control
A fixed point is defined by an index (grid point index) on the edge to which it belongs. When a
fixed point is at the intersection of two or more internal grid lines it has several indices, one for
each edge. The index of a fixed point directly affects the number of points of its surrounding
segments.
By default, a fixed point is constrained to move along its edge. More flexibility can be given to
the position of the point by attaching it to a vertex. This is very useful when a fixed point needs to
be placed at a geometric corner. In this case, attaching the fixed point to a vertex and placing the
vertex to the corner position will achieve the desired effect.
This section describes how to:
l create and delete fixed points,
l attach a fixed point to a vertex,
l change a fixed point index.
To insert a fixed point
Visualize the grid points for the desired edges 
1. Click on the Insert Fixed Point icon in the Quick Access Pad/Grid Insert/Edit page.
2. Move the mouse to the desired edge near a grid point to fix. A small marker is displayed when
the insertion can be performed.
3. Left-click to insert a new fixed point. The index of the fixed point will be the one of the closest
grid point.
4. Move the point and left-click again to fix its position.
5. This fixed point can subsequently be moved as described here below.
To move a fixed point
Move the mouse to the desired fixed point. The index of the fixed point will appear when it can
be selected.
Left-click to start moving the point. The fixed point is constrained to move along the edge to
which it belongs.
As the fixed point is moved, the two segments surrounding the point are automatically updated
and their grid points distribution automatically recalculated.
The face grids touched by this operation are automatically regenerated using an algebraic 4 boundary
interpolation. If these faces were generated using other options, like smoothing or projections on
surfaces, they will need to be explicitly regenerated with the Regenerate Faces option .
Left-click to stop the modification.
To delete a fixed point
Move the mouse to the desired fixed point. The index of the fixed point will appear when it can
be selected.
Right-click to pop-up a menu for the fixed point. Notice that this menu is context sensitive and
only displays menu items when applicable to the fixed point.
Select the Delete menu item to delete the fixed point.
Fixed points at the intersection of two internal edges cannot be deleted.
To change the index of a fixed point
Move the mouse to the desired fixed point. The index (indices) of the fixed point will appear
when it can be selected.
When fixed points are at the intersection of two internal grid lines or when they are connected to
others (as a consequence of connected segments), several indices will appear.
Right-click to pop-up a menu for the fixed point.
Select the menu item corresponding to the desired index that will be changed.
A prompt will appear to enter the new index in the keyboard input area. Enter the new value and
press <Enter>.
Changing the index of the fixed point automatically changes the number of points controlled by
its surrounding segments, as shown in FIGURE 3.12.
FIGURE 3.12
Changing the index of a fixed point
When a fixed point
consistency by automatically changing the index for the internal edge or face.
is belonging to an internal edge or to an internal face, IGG™ keeps grid
To attach a fixed point to a vertex
1. To attach a fixed point to a vertex, the vertex must first exist. If this is not the case, create one
vertex as indicated in the Adding/deleting vertices section and place it near the fixed point.
2. Right-click on the vertex to pop-up the menu.
3. Select the Attach Fixed Point menu item. The vertex and fixed point markers are merged as a
diamond, indicating that the vertex is attached to the fixed point.
4. The fixed point can now be moved by moving its vertex.
Segment control
To increase or decrease the number of grid points on a segment
1. Right-click on the desired segment to pop-up the menu in the margin. The segment gets
activated. Further, go to the Segment sub-menu.
2. Select the Set Number of Points menu item. The dialog box shown in FIGURE 3.13 will
appear:
FIGURE 3.13
Set number of points dialog box
Enter the new number of points for the segment. The fixed point indices will be automatically
updated according to the new number of points.
The Propagate button indicates whether segment resizing should also be applied to the blocks
connected to the active block. If propagation is disabled, the modification of the number of points
will only be applied to the active block and the segment connections (parallel to the reference
segment) with other blocks will be deleted to keep consistency.
The Preview button evaluates the effect of a segment resizing on the active block and all the
blocks connected through a segment connection. The segments affected by the evaluation will be
highlighted in yellow. When a resizing cannot be propagated along a specific connection, the
connection responsible for the failure will be highlighted in red with a message in the graphics
area.
Press the Apply button. It evaluates and applies the segment resizing on the active block and all
the connected blocks. This operation will reflect the operations explained for the Preview button.
Each segment affected by the operation will have its grid points visualized, until the closing of the
dialog box. When a resizing cannot be propagated along a specific connection, the connection
will be deleted to avoid inconsistencies after propagation. A message will appear at the deleted
connection(s).
The total number of points for the edge, as well as all other edges along the same direction, are
automatically adapted and the faces touched by this operation are regenerated using an algebraic 4
boundary interpolation.
See the Grid Settings for more information on changing the number of points.
To control the clustering along segments
1. Left-click to select the desired segment.
2. Click on the Cluster Points icon in the Quick Access Pad/Grid/Edit page. This option can
also be accessed via the pop- up menu obtained by right- clicking on the segment
(Segment/Distribution).
The Clustering dialog box shown in FIGURE 3.14 is opened.
3. Select the desired clustering type (for example At Start).
4. Enter the required values in the fields ("Initial Spacing" entry for the previous example).
5. Press the Apply to seg button to apply the clustering on the active segment.
When several segments need having the same clustering, they can be put in a clustering group on
which a same clustering will be applied.
FIGURE 3.14
Clustering dialog box
To define a clustering group
1. Press the Define/Edit group button of the Clustering dialog box. The Clustering groups dialog
box shown in FIGURE 3.15 is opened:
FIGURE 3.15
Clustering group dialog box
2. Press the Create button. An additional field is opened to enter the group name.
3. Enter a group name and press <Enter> to create the group.
4. A tool is launched into IGG™ to add segments in the group. Select the desired segments with
left-click (<1>), add the selected segment in the group by middle-click (<2>), then right-click
(<3>) to quit the tool.
5. The group and its segments appear in the list of the Clustering groups dialog box. They can be
visualized in the graphics area by left-clicking repeatedly on their name.
To control the clustering on a group
1. In the Clustering dialog box, select a group in the Group area.
2. Select the desired clustering type and enter the required values in the fields, just as for a single
segment.
3. Press the Apply to group button to apply the clustering on the selected group.
3.4
FACE GENERATION
Face grid generation is an essential step of the complete generation process. It must be performed
for the six faces of a block before the volume grid generation can proceed. In fact, the basic
volume generation methods interpolate grid points within the block from the grid points on the
boundary faces. It is thus essential to generate proper face grids before proceeding to volume grid
generation.
When internal faces exist, the same manipulations as for the boundary faces can also be applied.
See the block generation section, later in this chapter, for more information about internal faces.
This section describes:
l how to generate a basic face grid,
l how to project or map a face grid on one or more CAD surfaces,
l how to automatically regenerate a face after topology modification.
Face grid generation can be further controlled by inserting internal edges. The internal edges
concept is introduced in a following section .
Face generation by bilinear interpolation
Basic generation method of a face is based on bilinear interpolation from the boundary grid
points. This generation takes into account the clustering applied to each segment.
1. Select a face by left-clicking on one of its edges.
When several faces have an edge at the same location (i.e connected faces) repeat the left-click
procedure until the proper face is activated.
2. Click on the 4 Bnd Interpolation icon in the Quick Access Pad/Grid/Generate page.
This option opens dialog box shown in FIGURE 3.16 that allows to select the faces to
generate:
FIGURE 3.16
4 Bnd Interpolation dialog box
3. Select the scope of the generation.
4. Press Apply. The face grid of the selected scope will be displayed to show the result of the
generation.
FIGURE 3.17
Active face generated by bilinear interpolation.
Face projection
Algebraic face grid generation (bilinear interpolation) does not in general insure that grid points
will lie on CAD surfaces. To insure this, projection of the face grid on the surfaces must be
performed. Surface projection consists of projecting the grid points of a face onto one or more
CAD surfaces, along the normal to the face. To insure a correct projection, it is required that the
initial face grid is sufficiently close to the surfaces.
To project a face grid onto geometry surfaces:
1. Activate the Geometry/Select/Surfaces menu option (< Ctrl- s >) and select
the desired
surfaces. Right-click when the selection is finished.
2. Select the grid face to project.
3. Click on the Project Face icon in the Quick Access Pad/Grid/Generate page.
A dialog box shown in FIGURE 3.18 will be opened to select parameters and to perform the
projection:
FIGURE 3.18
Face projection dialog box.
4. Select the target surfaces on which to project: selected surfaces or surfaces contained in a
geometry group.
5. Select the level of checks which will be applied during projection (usually level 2).
6. Select if the boundary grid points of the projected range must be projected or not (the default is
not to project these grid points since they belong to block edges which are supposed to be
mapped on the surface before the projection).
the boundaries projection is only useful for patches which have no common boundaries with the
block's ones (e.g. patch "fully" inside a block face).
7. Select the projection scope: the whole face or a range.
8. In case only a face range is projected, select a patch or a range to project.
Projecting just a patch is useful when the projection of the whole face on several overlapped
surfaces fails. In this case, projecting patch by patch onto dedicated surfaces may help.
9. Press the Apply button to perform the projection.
Few problems that may happen during face projection are the following:
l Grid points are projected onto wrong surfaces. This may happen when the base NURBS of
trimmed surfaces overlap, leading to some ambiguities in the automatic choice of the closest
projection surface. In this case it may be necessary to remove one of the surfaces from the list of
surfaces or to project the face grid by patches.
l Negative cells may appear in the face grid. This can happen when the initial grid is significantly
away from the surfaces. Introducing internal grid lines placed onto the surfaces may improve the
initial mesh and remove the problem. It is also possible to get rid of the problem by smoothing
the face grid and re- applying the projection. Smoothing is available through the Face
Generation Tool icon (
) of the Quick Access Pad/Grid/Generate page.
l When the projection is not working,
it can be due to the edge discrimination. When this
discretization is too coarse to capture correctly the curve curvature, it can lead to poor grid quality
after projection.To refine the discretization on an edge, additional vertices (
on the edge.
) need to be added
Mapping onto a surface
When a face completely lies on one geometrical surface, it is possible to avoid the projection
option and to use a mapping instead. This method does not require an initial grid to be generated
and is consequently less sensitive to projection problems.
1. Select the face,
2. Select the geometry surface,
3. Click on the Face Generation tool icon in the Quick Access Pad/Grid/Generate page,
4. Press on the Mapping button to perform the mapping,
FIGURE 3.19
Generation control for mapping
5. Close the dialog box.
Finer control on the face generation
When the basic generation options are not giving satisfactory grids, more control can be
performed on the face grid generation by imposing orthogonality or smoothing the grid
distribution on the selected grid face.
Click on the Face Generation tool icon in the Quick Access Pad/Grid/Generate page.
The dialog box shown in FIGURE 3.20 appears:
FIGURE 3.20
Face generation control
This dialog box allows to control the face generation by range (either existing patches or a range
defined by its limits).
Face generation history & face regeneration
To keep at any time the face grids in conformity with the boundary information the face grids are
automatically generated by IGG™ using the default algebraic 4 boundaries interpolation. This
dynamic update is applied when performing actions such as modifying the clustering or moving
the topology. It removes the effects of other face generation options such as face smoothing,
projection or mapping.
When such face has been previously projected on surfaces or smoothed, it is normally necessary
to repeat the full regeneration procedure to get the correct final result using the non default face
grid.
the steps used during the
To help accelerating this task IGG™ automatically records all
generation of each face grid. This information can later be used to visualize the generation
operations applied on a face and to regenerate a face by replaying automatically each generation
operation.
History visualization
Face generation history can be monitored and to some extend edited by using the Quick Access
Pad/Grid/Generate/Show History item. It is most useful to keep track of complex operations
performed on a face grid like projection by patches or to delete obsolete operations.
It opens a dialog box showing the list of the operations performed on the active face grid as
shown in FIGURE 3.21.
FIGURE 3.21
Face generation history.
The list of operations is dynamically updated when selecting a new active face. It is to be
remembered that a bilinear interpolation is always performed implicitly by IGG™ as the very first
operation performed on a face. This operation is not shown in the list (except if it has been done
explicitly, as in the previous example).
Editing
One or more operations can be deleted from the list by selecting the desired operation and
pressing the Delete button. For speed reason, IGG™ does NOT automatically regenerate the face
after a deletion. This operation must be performed explicitly with the Regenerate Faces option.
Face regeneration
1. Select the Regenerate Faces item in the Quick Access Pad/Grid/Generate page.
2. A dialog box is opened to select the face(s) to regenerate.
3. Select the scope of regeneration and press Apply.
3.5
BLOCK GENERATION
After all the faces of a block have been generated, the generation of the block can proceed. This
section describes how to generate a basic block grid by interpolation:
1. Select the desired block by left-clicking on one of its edges.
When several blocks have an edge at the same location, repeat the left-click operation until the
proper block is activated.
2. Click on the Block 6 Bnd icon in the Quick Access Pad/Grid/Generate page.
3. The dialog box as in FIGURE 3.22 appears and enables to select the block(s) to generate.
FIGURE 3.22
Generate block(s) dialog box
4. Press Apply to generate the specified block(s).
After the generation the boundary faces of the generated block(s) are automatically visualized.
3.6
INTERNAL EDGES & FACES
Internal edges
Internal edges, also called internal grid lines, correspond to edges inserted inside a face. They are
used for two purposes:
1. To control the face grid generation (control of the grid points distribution on the internal edge,
mapping of the internal edge on geometric entities,....),
2. To allow the connection between blocks (i.e. when one block ends on an other).
FIGURE 3.23
Internal edges used to connect blocks together
To insert an internal grid line
1. Select a face by left-clicking on one of its edges.
2. Click on the Insert Internal Grid Line icon in the Quick Access Pad/Grid/Insert/Edit page.
3. Move the mouse to the active face. When moving the cursor over a grid line, the grid line is
highlighted and its index appears on the screen.
4. Press <i> or <j> to enable grid line selection in a preferred direction.
5. Press <u> to disable the preferred direction.
6. Left-click to create the internal grid line.
7. Click on yes or no to respectively create or not the underlying geometry of the initial location
of selected internal grid line.
The newly created internal grid line is visualized and automatically intersects the other already
existing edges as shown in FIGURE 3.24.
FIGURE 3.24
Fixed point insertion through internal grid line creation
The created internal grid line can be manipulated in the same way as boundary edges:
l Additional vertices can be inserted and moved,
l The edge can be mapped onto curves or surfaces,
l Fixed points can be inserted and moved,
l Distribution of grid points can be fully controlled.
To change the index of an internal grid line
1. Right-click on the internal edge and go to the Edge pop-up menu.
2. Select the Change Index menu item.
3. A prompt will appear to enter the new index for the internal edge.
4. Enter new Edge Index:
>> 5
The fixed points of the internal edges are automatically updated.
Internal faces
Internal faces are very convenient to add control to the block generation and to improve the
generation of blocks in case negative cells appear. They can be generated as boundary faces. It is
possible to insert internal faces in the I, J or K directions of the existing blocks.
To insert an internal face:
1. Select the desired block by left-clicking on one of its edges.
2. Click on the Insert Internal Face icon in the Quick Access Pad/Grid/Insert/Edit page. The
dialog box shown in FIGURE 3.25 appears.
FIGURE 3.25
Insert internal face dialog box
3. Sweep the I, J or K indices in order to select the desired internal face grid.
4. Click on the Save button to generate the internal face.
This action automatically creates new internal edges at the intersection between the new face
and the other existing faces. At the same time, fixed points are introduced into intersected
edges to insure grid consistency at any time. These fixed points are attached to the vertices of
the internal edges.
FIGURE 3.26
Creation of an internal face
To change the index of an internal face
1. Select the internal face by left-clicking on one of its edges.
2. Right-click on one of its edges and go to the Face pop-up menu, shown in the margin.
3. Select the Change Index menu item.
A prompt will appear to enter the new face index value:
4. Enter new face index (q):
>> 5
3.7
DEFINING PATCHES & BOUNDARY
CONDITIONS
Patches are dividing face grids into 2D regions. These regions should not overlap, although
IGG™ performs no check on this. Patches are mainly used for two purposes:
l to control the face grid generation process,
l to define boundary conditions of a face.
By default only one patch exists for each grid face extending over the whole face. Patch creation
is done by division of an existing patch in one of the two directions of the face. To create more
patches a recursive division must be done.
To define patches on a face
1. Select the desired face.
2. Open the Patch Selector dialog box shown in FIGURE 3.27 (Grid/BoundaryConditions...
menu). The list of all patches for the current project is displayed.
Use the filters to reduce the list and make the selection easier.
FIGURE 3.27
Patch Selector dialog box
3. In the list, select one patch belonging to the desired face. The patch is highlighted in the
graphics area.
4. Click on the Edit Patch >> button. The dialog box is extended and shows the current patch
decomposition for the face.
5. Move the mouse to the patch to divide in the Edit Patch area.
6. Right-click on the patch to pop-up a menu.
7. Select the menu item corresponding to the desired division direction.
8. An entry is popped up to enter the division index. At the same time, for visual control, the
range is displayed in the graphics area.
If the wrong division direction was selected, simply press <Esc> to cancel and repeat step 6.
To change the limits of a patch
1. Open the Patch Selector dialog box (Grid/Boundary Conditions... menu).
2. Select the patch in the Edit Patch area.
3. Left-click on one of the border to modify its value. An entry is opened to enter the new value.
4. Enter the value and press <Enter>.
To specify a boundary condition for a patch
1. Open the Patch Selector dialog box (Grid/Boundary Conditions... menu).
2. Select the patch in the list or in the Edit Patch area.
3. Go to the Set Patch Type pop-up menu and select the proper boundary condition.
Connection between adjacent patches (CON and NMB) or periodic connection between periodic
adjacent patches (PER and PERNM) cannot be specified explicitly with this menu item and there are
detected automatically by pressing the Search button. Checks must be done by IGG™ for these
connections to insure integrity of data for the solver (i.e. relative orientation of the connected patches)
To specify periodic boundaries
The automatic imposition of the periodic connections in the Patch Selector dialog box requires
that the periodicity is correctly specified for each block first before pressing the Search button.
1. Open the Periodicity dialog box (Grid/Periodicity... menu).
2. Set the Periodicity information for each block.
3.8
CONNECTIONS
IGG™ is a multiblock structured grid generator. To be able to use such multiblock meshes with a
solver, one must know how blocks are located and how they are interacting together. Thus
"connections" must be established between block interfaces in order to transfer information from
one block to another. Such connections are mandatory to obtain a usable mesh and they are
established in IGG™ between patches, which are sub-ranges of a block face. For information
about patches definition, see Defining Patches & Boundary Conditions.
On the other hand, beside these patches connections, other connection levels are provided into
IGG™ to facilitate the grid generation process. These additional levels are optional though it
considerably reduces the number of operations required to insure face grid consistency at the
interface between blocks.
Following connection levels are accessible in addition to patches connections:
l Vertex
l Orphan vertex
l Topological edge
l Segment
As all these entities are linked together, an order must be followed to perform the connections.
Indeed, vertices are used by topological edges and segments are lying on topological edges.
Therefore vertices must be connected before topological edges, which ones must be connected
before segments. Moreover, any failure or forgotten step in the connection process prevents
the
following other connections. For example,
connection between the corresponding topological edges cannot be executed.
if vertices connections are not performed,
The same rule applies to disconnections, but in the reverse order. Indeed, a vertex disconnection
implies automatically a topological edge disconnection and thus also the corresponding segment
disconnection. On the other hand, a segment disconnection leaves the vertices and edges
connected.
Topological connections (vertex, edge, segment) section is specially dedicated to these types of
connections.
Finally, a section lists all the several means that can be used in IGG™ to perform connections at
different levels: vertex, topological edge, segment and patch .
3.8.1
Patch connections
Three connection types can be defined in IGG™: matching, non matching and full non matching.
Matching and non matching connections are used to connect two patches having common
boundaries whereas full non matching connections allow to connect several patches of several
blocks with non matching boundaries.
Matching & non matching connections
Matching connections are obtained between two patches with same number of grid points along
the two directions, and when all their points are matching at a specified tolerance. Non matching
connections are obtained when some patches points are not matching at the specified tolerance, or
when the number of grid points is not the same in one or both directions.
The following checks are performed by IGG™ when trying to connect two patches using Search
button (more details in section Defining Patches & Boundary Conditions):
l Four patch corners must be matching at the given tolerance.
l Four patch boundaries must be matching at the given tolerance.
l Patch points must lie on a same common surface. For this, some points of the first patch are
projected on the surfacic cells of the second patch. An intersection must be found and the
distance between the point and its projection must be lower than an internally calculated value
based on the given tolerance and the patch dimension.
l All the patch points must be matching at the given tolerance. Obviously, when number of grid
points is different in one or both directions, this test is never satisfied.
The three first tests are performed for both matching and non matching connections and determine
if a connection is possible between the two considered patches. The last test determines if the
connection is matching or non-matching.
According to these tests, several conditions must be satisfied to ensure connection between
patches. First of all, make sure the division into patches is correctly done. It is illustrated in
FIGURE 3.28 where a principal block has to be connected to two adjacent blocks. In this
example, the face of the principal block that has to be connected must be divided into two patches
before performing connections.
FIGURE 3.28
Division into patches
Secondly, to connect two patches, their boundaries must be coincident. If it is not the case, it can
be achieved by inserting fixed points or internal grid lines into faces.
As shown in case a) of FIGURE 3.29, a principal block has to be connected with a smaller
adjacent block. The face of the principal block that has to be connected is divided into two
patches, but the boundaries of the first patch are not matching the boundaries of the single patch
of the adjacent block. The boundaries match after insertion of an internal grid line, as in the case
b) of FIGURE 3.29.
Finally, for matching connections, the grid points of the patches must be matching at the specified
tolerance. If it is not the case, it can be due to a difference in the method used for face generation.
For example, if a face is generated by a 4Bnd interpolation and that smoothing is applied on the
second face, their grid points would not be coincident, as shown in FIGURE 3.30.
FIGURE 3.29
Matching and non matching patch boundaries
Therefore faces mesh should be generated in the same way (by using the same method) in order
to obtain matching points, or the tolerance must be increased to force the connection. However,
this is only valid for small gaps between grid points (compared to the patch size) and it is highly
recommended to avoid setting a tolerance close to the patch size, otherwise connection can be
found incorrectly. For example, having two square patches of size 1 and distant of 2, a tolerance
of 3 will connect them whereas they should remain unconnected.
FIGURE 3.30
Different methods used for face generation
Full non matching connections
This type of connection is used to connect several patches with non matching boundaries.
Obviously, it can therefore be also used to connect two patches with matching boundaries
(matching and non matching connections) though it is useless and not recommended, except to
replace some non matching connections. Indeed, the treatment by the flow solver of a same
connection can be different if it is defined as a non matching or full non matching connection.
The possibility to use full non matching connections in IGG™ mostly depends on the capabilities
of the flow solver to support such type of connections. In the case of NUMECA solver, this
capability is fully supported.
FIGURE 3.31 shows an example of full non matching connection between two blocks.
FIGURE 3.31
Full non matching connection between two blocks
In this example, the connection region between the two blocks is polygonal and crosses over the
two patches of first block and over the unique solid patch of second block. As it can be seen, the
limits of this region do not, in general, correspond to the rectangular limits of the patches.
Moreover the grid points on one side do not correspond to grid points on the other side.
Establishing a full non matching connection consists of listing the patches defining one side of the
connection and patches defining the other side. Therefore such connection is defined by a list of
"left" patches and a list of "right" patches, defining both sides of the connection. This information
is basically sufficient for IGG™ and the solver to proceed further. The patches in one list are not
restricted to belong to the same face or same block.
It is to be noticed that full non matching connections are always defined on top of existing patches
and that these ones must have a valid basic type (no undefined type (UND)), even if the patch is
entirely contained in the connection region. In the previous example, the basic type of the patches
of block 1 face 2 are inlet and solid. However a region of these patches actually belongs to the full
non matching connection.
In the case a patch has an undefined type (UND) and is used in the definition of the FNMB (full non
matching boundary), IGG™ automatically sets its type to solid (SOL). This is required by the solver
to run properly.
Following rules must be respected when performing FNMB connections:
1. A patch can be contained in only one list (either the left patches list or the right one) and in
only one type of FNMB (solid-fluid or fluid-fluid).
2. Two patch points cannot be coincident. For example, an O-type patch with a singular line or a
triangular patch cannot be used in a FNMB connection.
FIGURE 3.32
Patches with coincident points
3. For periodic FNMB connections, all the patches defining the connection must have the same
periodicity information. This information is set for the patch block .
3.8.2
Topological connections (vertex, edge, segment)
Vertex connection
A vertex belongs to a topological edge. The connection consists of searching matching vertices at
a specified tolerance and to merge them by replacing one by the other (the second vertex is
replaced by the first one in the definition of its topological edge). So after the connection, the two
topological edges are sharing a same common vertex. Therefore when modifying one edge by
moving this vertex, the second edge is also modified.
In order to keep consistency, topological edges using the replaced vertex are remapped on the
geometry, if possible, otherwise their shape is updated according to the new vertex position. It is
illustrated in FIGURE 3.33.
FIGURE 3.33
Edge remapping after connection
Limitation: two vertices belonging to an edge closed on it should not be connected if a fixed point is
attached to one of the two vertices, as illustrated in FIGURE 3.34.
FIGURE 3.34
Edge closed on itself
Orphan vertex connection
An orphan vertex is a vertex that appears on one edge and not on the other, although the edges
appear at the same position and should be connected.
FIGURE 3.35
Two edges connecting together. An orphan vertex exists in one edge.
Connecting orphan vertices consists of adding a new vertex to the edge missing a vertex (edge 1),
at the same position as the orphan vertex, and connects the two vertices together (orphan and new
vertex). The insertion of a new vertex in the edge automatically divides it into two topological
edges.
An orphan vertex connection is possible if the distance between the orphan vertex and the edge is
less than a specified tolerance.
In order to keep consistency, topological edges in which a vertex is inserted are remapped on the
geometry, if possible, otherwise their shape is updated according to the new vertex position. It is
illustrated in FIGURE 3.36.
FIGURE 3.36
Edge remapping after connection
Topological edge connection
A topological edge belongs to a grid edge (a grid edge is composed of several topological edges).
The connection consists of searching matching topological edges at a specified tolerance and to
merge them by replacing one by the other (the second topological edge is replaced by the first one
in the definition of its grid edge). So after the connection, the two grid edges are sharing a same
common topological edge.
FIGURE 3.37
Topological edge connection
Shared topological edges are required to insure that grid edges lie at the same physical position
and that any operation, like inserting a vertex, is performed consistently on all entities.
Topological edge connection requires that the edge vertices are already connected.
Segment connection
Segment connection consists of finding segments that are at the same position at a specified
tolerance, with the same number of points and to establish a link between the two entities. The
points of the segments to connect do not have to be at the same position, but only the extremities.
This type of connection insures that grid points at the interfaces between two grid edges have
exactly the same position.
Connecting segments provides following other benefits:
l Modifying the distribution of the grid points along one segment automatically modifies the grid
point distribution on the connected segment.
l The insertion or removal of fixed points in a segment (segment division) is automatically done
on the connected segment to keep the grid connection.
Segment connection requires that their underlying topological edge(s) are already connected.
Two segments belonging to an edge closed on it will not be connected.
3.8.3
Connection tools
Connection tools can be accessed through the Quick Access Pad/Grid/Connect page and the
Grid/Boundary Conditions... menu .
Topological connections (vertex, topological edge, segment) are exclusively performed by using
these Quick Access Pad tools.
Patch connections can be performed by several means:
l The first one is the use of the Grid/Boundary Conditions... menu . It allows to find and define all connections: matching, non matching and full non
matching; periodic or not. The most interesting mode is the "automatic search" ( Search
button), which performs automatically the search and the effective connection for all undefined
patches of the grid. The second mode "manual connect" (Manual... button) is rarely used,
when other means cannot perform the connection correctly.
l Secondly, the Connect/Face - Face and Connect/Whole grid tools can be used. In this case,
only matching and non periodic connections (CON type) can be found. The "Face - Face"
item allows to find connections between patches of two selected faces, whereas the "Whole
grid" item performs connections for all the patches of the grid.
Connecting face grids
In this section connectivity control between two faces is described. Connecting two edges or the
whole grid follows the same principle.
The connection of two faces requires the selection of a reference face and a second face (target).
During the different connection operations, IGG™ may need to remap edges affected by the
operation. By convention IGG™ keeps the reference face unchanged and applies the
modifications on the second face only. This is important when an existing face cannot be
modified at all.
1. Click on the Face-Face menu option in the Grid/Connect page.
A prompt will appear to select the reference face.
2. Left-click (<1>) on face edges to start the face selection. Repeat the left-click procedure until
the proper face is activated.
3. Middle-click (<2>) to store the active face as reference face.
4. Left-click (<1>) on face edges again to start the second face selection. Repeat the left-click
procedure until the proper face is activated.
5. Middle-click (<2>) to store the active face as target face.
A pop-up dialog box will be opened to enable connections at different levels, each level being
identified by a button in the dialog box.
For the first four "topological" levels, an order must be respected. On the other hand the Patches
level can be applied independently. The All button performs all the connections of the previous
buttons, if possible.
For vertex or orphan vertex connections, the topological edges using the replaced vertex are
remapped on the geometry.
For each level, the connected entities found are highlighted in green in the graphics area.
Entities that were connected in a previous operation are highlighted in red.
Full non matching connections
Such patch connections are described previously in this chapter ).
It consists of the following:
l A connection name.
l A list of "left" patches defining one side of the connection.
l A list of "right" patches defining the other side of the connection.
To define full non matching connections
1. Open the Patch Selector dialog box (Grid/Boundary Conditions... menu). This dialog box
offers an additional field Full Non Matching that can be activated by pressing on the Define...
button. It opens the dialog box shown in FIGURE 3.38.
2. Select the patches defining the "left" side. These patches are highlighted in yellow in the
graphics area.
3. Select the patches defining the "right" side. These patches are highlighted in blue.
4. Enter a name for the connection.
5. Activate the Periodic option to define a periodic FNMB connection.
FIGURE 3.38
Full Non Matching Connections dialog box
6. Press on the Create/update button to define the FNMB connection.
7. This connection will appear in the list located on the right of the dialog box.
Once the connection is defined, it is possible to visualize the triangulation of the common region
(press the Compute & Show button). This triangulation is not directly used in IGG™ but only
serves to visualize the triangulation that will be used by the solver and to verify that the
connection is correctly performed. Calling this item is optional in IGG™.
To view and/or delete an existing FNMB connection
1. Left-click on the desired connection in the connection list to select it.
2. The patches participating in the definition of the full non matching connection will be
automatically highlighted in the dialog box as well as in the graphics area. A "*" is also
displayed next to the patch type to indicate that the patch is involved in a FNMB connection. If
the computation of the triangulation was performed for this connection, it will also be shown
on the screen.
3. To list only the patches involved in the desired connection, middle-click on it in the connection
list.
4. Press the Delete button to delete the selected FNMB connection (the type of the corresponding
patches is unchanged but the "*" symbol is removed).
3.8.4 Disconnecting entities
Disconnection can be performed by Segment, Edge, Face or Block. When performing a
disconnect operation, IGG™ disconnect all the entities at once. For example, disconnecting an
edge disconnects the vertices, topological edges and segments of that edge.
To disconnect a face
1. Left-click on the face to select the desired face.
2. Right-click on the face to pop-up the menu and go to the Face sub-menu.
3. Select the Disconnect All menu item.
the vertices,
All
disconnected.
topological edges, segments and patches making up the face will be
3.8.5
Visualizing connections
Visualization of connections can be done for vertex, topological edges, segments (grid points) or
patch grids. The visualization of vertex, topological edges or segments operates in the same way
whereas the visualization of patches is mostly done with a dialog box.
To visualize connected vertices
1. Visualize the vertex with the Toggle Vertices icon (
).
2. Select the Show Vertex Connections option in the Quick Access Pad/Grid/Connect page.
3. Left-click to select a vertex.
All the blocks using that vertex will be highlighted in yellow. To see one block at a time, do
the following operations:
4. Middle-click to visualize only the first highlighted block.
5. Repeat the middle-click to visualize the other blocks using the vertex, one by one.
6. Left-click to select another vertex to visualize and repeat the above operations.
7. Right-click to stop the visualization.
To visualize connected patches
1. Select the Grid/Boundary Conditions... menu item.
2. Go to the Type combo box and select the CON type.
The list of all connected patches will appear.
3. Select in the list the patch to visualize. The patch will be highlighted and its grid shown in the
graphics area.
4. Open the Edit Patch area. The bottom right area indicates the indices of the connected patch.
FIGURE 3.39
Visualization of connected patches
3.9
BLOCKS GROUPING
Block groups are powerful means of classifying blocks by grouping them under a same logical
name. Using groups, selective visualization of parts of interest and focus on the current region
being meshed can easily be performed. This tool becomes handy when a project contains lots of
blocks. For the sake of convenience, block groups appear permanently in a browser in the Quick
Access Pad/View where they can be accessed to control the visualization.
FIGURE 3.40
Block groups browser
Block groups usage
Block groups can be used for:
l visualization control
l global operations on a set of blocks
Group visualization control is performed with the browser shown in FIGURE 3.40. It operates in
collaboration with the icons of the Quick Access Pad/View/Grid page. By pressing on the check
button in front of a group, the block boundaries visualization can be toggled. By pressing on the
check button in front of a block, the visualization of that block can be controlled.
To show only one group
1. Go to the group browser.
2. Select the Hide All button. This operation will remove all the blocks from the screen.
3. Select the check button in front of the desired group. The edges of all the blocks in the group
will be displayed on the screen.
It may be needed to fit the view to see all the blocks properly.
Managing groups
Groups can be created, modified or deleted. Blocks can currently appear several times in different
groups.
To create a new group
1. Select the Create Group button below the browser.
A dialog box is opened to enter the name of the group.
2. Enter the name and press Create.
3. Move the mouse in the graphics area, near an edge of a block to add to the group.
4. Left-click to highlight the block.
5. Middle-click to add it in the group.
6. Repeat above steps to add other blocks.
7. Right-click to complete the creation.
To modify an existing group
1. Right-click on a group in the browser.
2. Select Modify.
3. Move the mouse in the graphics area, near an edge of a block to add to the group.
4. Left-click to highlight the block.
5. Middle-click to add it in the group.
6. Repeat above steps to add other blocks.
7. Right-click to complete the creation.
or
1. Left-click to highlight a block in graphics area.
2. Right-click on a group in the browser.
3. Select Add Selection/Remove Selection.
or
1. Left-click in the browser to visualize content of a group.
2. Right-click on an entity of the group in the browser.
3. Select Remove.
To delete an existing group
1. Right-click on a group in the browser.
2. Select Delete.
or
1. Select the Delete Group button below the browser.
2. Left-click on a group in the list in Select a group dialog box.
3. Click on Delete.
CHAPTER 4.
BUTTERFLY MESH
The butterfly technique is a multi-block method used to mesh curved geometrical configurations that
aims at greatly improving the mesh quality. Generally, a butterfly topology consists of seven blocks. A
simple case illustrating this general topology is the meshing of a sphere. A single small block is
inserted at the center and is surrounded by six more blocks, each extruding from one of the six faces of
the center cube. The 2D analogue of the sphere is the circle shown in FIGURE 4.1. Meshed with a
single H block, it leads to high distorted cells near the four block corners with cell angles approaching
180 degrees just at the corners. Meshed with a 5 blocks butterfly topology, it leads to cell angles of 120
degrees near the four corners of the inner block, hence a high improvement of the mesh quality.
FIGURE 4.1
Butterfly topology on a circle
The inner block will always be present in a butterfly topology. The other surrounding blocks, called
here "buffer blocks" are chosen according to the shape that has to be meshed. The butterfly topology
can contain up to six buffer blocks. Configurations with six or five blocks are used to mesh pipes with
a circular section, for example. Configurations with four or three blocks are useful to mesh special
like a semi cylinder. FIGURE 4.2 shows
cases where there are less than four straight angles,
configurations with respectively five, four and three blocks (there are no buffer blocks along the
direction of the cylinder axis).
FIGURE 4.2
Examples of different butterfly topologies
In this section
4.1 Butterfly Implementation
4.2 Butterfly Dialog Box
4.3 Butterfly Management
104
109
121
4.1
BUTTERFLY IMPLEMENTATION
Terminology
This section describes the terminology used throughout the manual for the butterfly topology.
l Parent block: the initial H type block manually created.
l Inner block: the block at the center of the butterfly topology.
l Buffer block: a block surrounding the inner block.
l Butterfly blocks: the inner block + all the buffer blocks.
l Butterfly group: the parent block + butterfly blocks.
FIGURE 4.3 illustrates the position of the butterfly blocks for a butterfly topology with seven
blocks.
FIGURE 4.3
Butterfly topology with seven blocks
Generation method
The generation of a butterfly topology in IGG™ starts from an initial H type block, called parent
block. Then the butterfly blocks are automatically inserted in this parent block. Their shape (edge
shape and vertices position) is based on the parent block mesh.
FIGURE 4.4
Default shape representation of the butterfly topology
At the creation of a butterfly topology, a default calculated shape of the butterfly blocks is
automatically displayed in the graphics area as shown in FIGURE 4.4. In fact, butterfly blocks are
not directly created but their edges are represented by geometric curves. Each change in the
generation parameters will update this representation.
Once the butterfly topology has been created, the parent block will remain in the grid (it is not
deleted) and the butterfly blocks will not be added in the grid. This method gives the possibility to
come back to the H-type configuration and does not imply the deletion of the butterfly blocks and
a new creation of an H block if some parameters of the butterfly topology (number of buffer
blocks, points distribution,...) need to be changed. Therefore the blocks numbering will remain
unchanged, as the total number of blocks seen by the user (butterfly blocks are not counted).
Consequently the butterfly blocks numbering and naming is hidden to the user (for more details,
see Blocks naming and numbering). However, the total number of cells of the grid is updated by
taking into account the butterfly blocks. The blocks treated by the flow solver are the butterfly
blocks instead of the parent block.
The convention used for the orientation of the butterfly blocks is the following one:
l The inner block has the same orientation as the parent block.
l The face 1 of a buffer block will correspond to its associated parent block face.
l The face 2 of a buffer block will correspond to the inner block face which has the same face
number as the parent block face.
It results from this convention that the buffer block K axis will always be directed from its
associated parent block face towards the corresponding inner block face.
FIGURE 4.5
Buffer blocks orientation
Butterfly shape control
Before the real creation of the butterfly blocks, these ones are represented by geometric curves
symbolizing the edges .
Firstly, to control the butterfly shape, the type of the butterfly topology must be chosen, i. e. the
number of blocks and their position. Indeed, the inner block is always present in a butterfly
topology and buffer blocks can be chosen to lead to several configurations, with six buffer blocks
at maximum. In fact, a buffer block can be associated to each parent block face, as illustrated in
FIGURE 4.6.
FIGURE 4.6
Buffer blocks association to parent block faces
Secondly, the curves symbolising the edges can be modified to give the desired shape to the
future edges and therefore to control the shape of the butterfly blocks. The curves can be modified
by moving control points. Each curve has by default two control points at its extremities and
additional control points can be inserted. Control points are constrained to move on a geometric
surface constructed from a face mesh, materializing a "section". These sections are all aligned in
the same direction, hence the definition of a preferential direction in which the section control will
proceed. This preferential direction can be one of the axis of the parent block: I, J or K. This
control by sections can be seen as a control of the shape of the butterfly block faces aligned along
a same direction. This control is illustrated in FIGURE 4.7.
FIGURE 4.7
Control points displacement
The minimum number of sections is two, corresponding to the two faces of the parent block
perpendicular to the preferential direction chosen. Moreover an additional section is added for
each internal face of the parent block perpendicular to the preferential direction. FIGURE 4.8
shows two geometric representations of a butterfly topology just before creation. On the left
block, there is an internal face aligned with the preferential direction chosen, which gives three
control sections. For the right block, the internal face is not aligned in the preferential direction,
leading to only two control sections.
FIGURE 4.8
Butterfly topology representation and section control
The geometric surface defining a section is generally fixed except for the first and last control
sections if there is a buffer associated to the corresponding face. In this case, a mesh is
interpolated along the preferential direction to construct the surface, which position is controlled
by a parameter, as illustrated in FIGURE 4.9.
FIGURE 4.9
Different geometric surface positions for first control section
The shape of the four edges linking the control sections (i.e. aligned along the preferential
direction) cannot be modified and is obtained automatically by interpolation in the parent block
mesh.
After each control point repositioning, the touched edges of a section are remapped on its
geometric surface, assuming that a straight line links the two end control points of an edge in the
parameter space of the surface.
FIGURE 4.10
Edge mapping on section surface
To control further the shape of an edge, an unlimited number of additional points can be inserted
in the curve representing the edge. In order to obtain "smooth" edges, a cspline is interpolated
through the points of an edge in the parameter space of the surface, instead of a polyline which
leads to discontinuous edges. As these additional points are only used to modify the shape of an
edge, they will not result in the insertion of additional vertices in the edge after the butterfly
creation.
FIGURE 4.11
Additional points insertion on edge
Additional points can always be inserted in the four inner block edges of the section. It is also
possible in some cases to insert such points in the radial edges, i.e. the edges directed from the
parent block towards the inner block. This is always possible for additional sections and only for
first and last section if there is no buffer block associated to that section.
When there is no buffer block associated to the first or last section, the corresponding radial edges
are also mapped on the geometric surface and additional control points can be inserted.
Otherwise, if there is a buffer block, radial edges are straight lines not lying on the geometric
surface and thus not containing additional points.
FIGURE 4.12
Straight and mapped radial edges for first and last control section
4.2
BUTTERFLY DIALOG BOX
After the creation of the initial parent block, a butterfly topology can be created by selecting the
Grid/Create Block/Butterfly... menu item or by clicking on the Create Butterfly icon (
the Quick Access Pad/Grid/Create page. The dialog box shown in FIGURE 4.13 will appear:
) of
FIGURE 4.13
Butterfly dialog box
The Block box allows to choose the block in which the butterfly topology will be created. When
changing this number, the corresponding block becomes active in the grid. Next to this box, the
selected block name and the grid points number in each direction are displayed. By default, when
opening the Create Butterfly dialog box, the active block is selected. If it is not generated or has
been modified since the last generation (by moving a vertex, for example), the message shown in
FIGURE 4.14 will appear:
FIGURE 4.14
Message indicating that the block may be regenerated
It asks for block regeneration. If the no button is pressed and the butterfly topology is not created yet
in the active block, the Create Butterfly dialog box will be closed.
The dialog box contains four frames allowing to control the different parameters of the butterfly
topology on the active block. The two first frames allow to control the shape of the butterfly
blocks whereas the third and fourth ones allow to change mesh parameters such as number of
points, clustering and smoothing steps. If the butterfly topology of the chosen block is already
created, the parameters of the first, second and fourth frames cannot be changed until the butterfly
topology is deleted by pressing the Delete button.
4.2.1
General variables frame
This first frame contains three items allowing to control the whole shape of the butterfly topology.
It is highly recommended to set the parameters of this frame before going to the next frame
Section control.
Preferential direction
This first item allows to choose the preferential direction along which the section control will
proceed. The possible values for this direction are the I, J or K axis of the parent block.
Obviously, the shapes obtained with different directions are rather variable because the geometric
surfaces of the control sections are constructed by taking different surfacic meshes.
Consequently all the parameters of the Create butterfly dialog box are reset to default values and a
new optimized shape is calculated. To prevent wrong manipulations and a non desired reset of the
parameters, a dialog box asking for confirmation appears when changing the preferential direction.
FIGURE 4.15
Influence of preferential direction on shape control
Buffer blocks
This second item is a set of buttons allowing to choose the type of the butterfly topology that will
be generated. For each parent block face, a buffer block can be set by simply clicking repeatedly
on the button corresponding to the face number.
FIGURE 4.16
Buffer block selection by parent face index
Creation from uniform clustering
For each control section, a geometric surface is created from a surfacic mesh, leading to a different
edge mapping if the mesh is different. Also, the edges interpolated in the parent block mesh have
a different shape when using different meshes. This option allows to change the mesh used to
calculate the edges position.
It is important to note that the activation of this option is not modifying the mesh of the parent block.
A duplication of this mesh is done, all
the faces are
regenerated and a new mesh is re-interpolated.
the clusterings are reset
to uniform, all
This option is useful when a clustering already exists on a parent block and allows to always
obtain the same butterfly blocks shape with different clusterings. This option is illustrated in
FIGURE 4.17.
FIGURE 4.17
Creation of a butterfly topology by using a uniform clustering
As shown by the crosses in FIGURE 4.17, the parent block (cylinder) is clustered. The left
butterfly topology is obtained by activating the option and recalculating a default shape (a default
shape can be recalculated by changing the preferential direction). The right topology is obtained
from the left one by simply deactivating the option, showing its influence. Thus, the parametric
position of the control points is left unchanged and these ones are simply repositioned on the new
geometric surfaces created, leading to the different shapes. If a default shape was recalculated on
the right case, it will lead to approximately the same shape as the left one, because the shape will
result from an optimization procedure which recalculates the parametric position of the control
points.
Consequently this option is useful when the parametric position of the control points remains
unchanged, for example when replaying a template on a butterfly topology, or when copying
parameters from one parent block to another one.
4.2.2
Section control frame
This frame allows to control the shape of the butterfly topology within a section. The number of
sections is at minimum two and an additional section is added for each internal face of the parent
block aligned in the chosen preferential direction.
Section number ID
The parameters of the Section control frame are applied on the active section, i.e. the one for
which the control points are displayed. This item is therefore used to select the active section by
simply setting the section number ID which goes from 0 (for the first section) to the total number
of sections minus 1 (for the last section).
Section with number ID = 0 corresponds to parent block face 5, 3 or 1 when preferential direction
is set to I, J or K, respectively.
Preferential direction buffer depth
This parameter is used to position the section along the preferential direction chosen, i.e. construct
the geometric surface corresponding to the section. It is only used for the first and last section if
there is a buffer block associated to the section. Indeed, if there is no buffer associated, the
surfacic mesh used to construct the geometric surface is the mesh of the corresponding face of the
parent block, which is fixed. It is also the case for internal sections where the mesh of the
corresponding internal face of the parent block is used. Consequently, in these two cases, the
parameter is deactivated. Otherwise the parameter controls the position of a surfacic mesh
interpolated along the preferential direction, to construct the geometric surface. It can be seen as a
sweeping of the parent block mesh along the preferential axis. It is illustrated in FIGURE 4.18.
FIGURE 4.18
Different geometric surface positions for first control section
This parameter can vary continuously from 0 to 100%, corresponding respectively to the face at
the beginning and the face at the end of the preferential axis. When this parameter is changed, the
parametric position of all the section control points remains unchanged and is used to replace the
control points on the new created surface.
Radial depth
This parameter controls the global position of the inner block corners within a section. An
automatic optimization is done on the corners position in order to put them on the bisecting line
calculated at the corresponding corner of the parent block.
FIGURE 4.19
Optimization on inner block corners position
The parameter controls the position of each corner on its bisecting line. When decreasing this
parameter, the corner gets closer to the parent block corner. It can vary continuously from 1 to 49.
In fact, the optimization comes to assigning a normalized parametric position for each corner
point, i.e. find normalized (u,v) values to position correctly the point on the section surface. The
Radial depth parameter is thus used to initialize the v value of the first corner, which is obtained
by dividing the parameter by 100. For example, if the parameter is set to 20, the normalized v
value is set to 0.2. Then the u value of the first corner and all the (u,v) values of the other corners
are calculated in order to be on bisecting lines.
Generally, depending on the section shape, the optimization cannot converge for all possible
values of the Radial depth. Thus there is a limit value of the parameter for convergence, and over
which all the corners (u,v) values are assigned to default values based on the Radial depth. This
leads obviously to a radical change in the section shape, as illustrated in FIGURE 4.20.
FIGURE 4.20
Different shapes obtained by increasing the Radial depth
This optimization cannot be deactivated manually. It is always applied as long as there is convergence.
When it cannot converge, it is automatically deactivated and default values are assigned to the points
parameters.
It is important to note that all the additional control points of the active section are deleted when
changing this parameter, as the optimization can only be done on the inner block corners.
Straight radial edges
This option allows the creation of straight radial lines from the "inner" block to the parent block.
FIGURE 4.21
Straight radial edges
Control points parameters
This item provides a button allowing to copy control points parameters from one section to
another. Additional points are also copied and all the control points are replaced on the current
section surface with exactly the same parametric values as in the original section. See FIGURE
4.22.
This option is useful to ensure a same butterfly shape at the interface of two parent blocks that must
be connected. Consequently to the method used and in order to obtain exactly identical shapes and
positions, the geometric surface of the two sections must be the same, i.e. constructed from identical
surfacic meshes with common orientations.
The following prompt appears when activating the option to choose the section from which to
copy:
Section control: <1> = select face, <2> = copy parameters, <3> = stop
The reference section can be chosen by left-clicking on the corresponding face of the parent
block. The copy operation takes effect by middle-clicking the mouse. If the selected face is not
correct (e.g. if the block is not a parent one or if the face does not correspond to a control section),
nothing happens and a new face can be selected or the copy mode can be exited by right-clicking.
Once the copy operation is performed, the working mode is reset to the default one and the Copy
from section button must be pressed again to make another copy.
FIGURE 4.22
Copy of section parameters
Section interactive control
When the section shape obtained by modifying parameters of the Section control frame is not
satisfactory enough, a more precise control is provided by modifying interactively the control
points position. As for the Section control frame, the control acts on the active section, i.e. the
one for which the control points are displayed. The default prompt is the following one:
Section control : select point(<i> = insert point, <d> = delete point)
To move a control point, move the mouse on the corresponding marker to highlight it and select it
by a left-click. Then it can be positioned continuously on the geometric surface of the section by
moving the mouse. To fix it, left-click again.
To insert an additional control point, press <i> and move the mouse cursor on the desired edge of
the active section. When the cursor is close enough and an additional point can be inserted, a
marker appears; left-click to insert the corresponding control point. Then it can be moved as
previously.
To delete an additional control point, press <d> and move the mouse cursor on the desired control
point. When it is highlighted, left-click to delete it. Then the corresponding edge is remapped
automatically on the geometric surface.
4.2.3
Clustering frame
This frame allows to control globally mesh parameters on all the butterfly blocks at once. The
parameters of this frame can be changed even if the butterfly topology of the parent block is
already created. The changes are simply taken into account by pressing the Create/update button
of the dialog box.
Number of radial points
This box controls the number of points along the K axis of the buffer blocks (axis directed from a
parent block face towards its corresponding inner block face).
Radial clustering
This button is used to set the clustering along the K axis of the buffer blocks. The same clustering
is applied to all the buffer blocks edges along this axis. Simply click repeatedly on this button to
toggle the corresponding dialog box. See FIGURE 4.23.
FIGURE 4.23
Radial clustering dialog box
The setting of the clustering is the same as in the Clustering dialog box ( Grid/Grid
Density/Clustering... menu item). "Start" position is located at the parent block corner and "End"
position is located at the inner block corner.
A default clustering is automatically calculated at each parameter modification in the two first
frames of the dialog box.
When connecting two butterfly block faces without buffer block associated, this Radial clustering
value must be the same for the two butterfly topologies in order to obtain a matching connection.
Clustering reciprocity
The two buttons Clustering reciprocity are used to link the clustering of the parent block to the
one of the inner block. In fact, at each butterfly creation, an optimized clustering on the inner
block is automatically calculated in order to obtain in this block a first layer of cells with a
constant thickness. The purpose of such layer is the minimization of the cells size variations
between the inner block and the buffer blocks.
If the option Clustering reciprocity inner->parent is activated before the butterfly creation, the
optimized clustering of the inner block is copied on the parent block, thus destroying any
clustering set previously on this block. This button has an effect on clustering only if it is
activated before butterfly creation. If it is activated after, only the recording of the parameter is
done for the active parent block.
If the option Clustering reciprocity parent->inner is activated (before or after the butterfly
creation), the clustering of the parent block is copied on the inner block, destroying the
optimized clustering. Moreover both clustering (on parent and inner blocks) will be linked,
meaning that each modification of the parent block clustering will be applied automatically on the
inner block.
If both options are activated (assuming that first button is activated before butterfly creation), the
optimized clustering of the inner block is copied on the parent block and both clustering (on
parent and inner blocks) will be linked, meaning that each modification of the parent block
clustering will be applied automatically on the inner block.
These options are illustrated in FIGURE 4.24.
FIGURE 4.24
Clustering reciprocity options
Each button selection must be validated by pressing the Create/update button.
4.2.4
Planar Smoothing frame
This frame allows to control the optimization of the mesh in all planar sections using an elliptic
multiblock smoother mainly to avoid high expansion ratio at the connection between inner block
and buffer blocks. The multiblock smoother is applied after respecting the settings imposed by the
user in the three above frames.
To ensure planar faces, the butterfly topology should present no buffer blocks in the preferential
direction.
To ensure planar faces, all parent block internal faces should be aligned with preferential direction,
i.e. they are control sections.
In this frame, the maximum expansion ratio and the number of smoothing steps are controlling
the smoothing process.
4.2.5
Butterfly command buttons
The Create Butterfly dialog box provides three buttons used to transform the butterfly topology.
The Create/update button is used to create a butterfly topology, i.e. to pass from a butterfly
geometrical representation to a real creation of the butterfly blocks. It is also used to update the
butterfly blocks when parameters of the Clustering frame are changed.
The Delete button is used to delete the butterfly blocks. The parent block remains in the grid. All
the parameters of the butterfly topology deleted are kept and the corresponding geometric
representation is displayed in the graphics area. So it allows to modify a generation parameter
(e.g. a section shape) without losing all the information of the butterfly topology previously
created. Even when the dialog box is closed, the butterfly parameters are not lost. They are
recovered at the reopening of the dialog box. It is valid until the IGG™ session is closed (without
creating the butterfly topology).
The Split button is used to split the butterfly group, which implies that the butterfly blocks are
added into the grid and that the parent block is deleted. This is an irreversible operation, meaning
that the Create Butterfly dialog box cannot be used any more on the complete split topology; the
blocks of the split topology must be considered as normal blocks. If two butterfly groups are
connected, the corresponding patches type is reset to "UND" when one of the groups is split. The
correct type is restored when the second group is split. On the other hand, if a parent block is
topologically connected (vertices, edges, segments) to a neighboring block, these connections
disappear after splitting, because the parent block is deleted.
4.3
BUTTERFLY MANAGEMENT
Creation specificities
Several parent block configurations can lead to warnings during the butterfly creation, or even
more, to a butterfly creation failure.
Face divided into several patches
If a parent block face has no associated buffer block and if this face contains several patches, the
butterfly topology cannot be created. The reason is that, in general, it is impossible to associate
butterfly blocks patches to parent block patches in this case. So the message shown in FIGURE
4.25 will appear:
FIGURE 4.25
Face without buffer containing several patches
To solve the problem, the parent block patches must be deleted.
Periodic connections
If a parent block contains periodic connected patches, the butterfly topology cannot be created.
The message shown in FIGURE 4.26 will appear:
FIGURE 4.26
Periodic connections detected at the creation
To solve the problem, the periodic connections of the parent block must be deleted.
In the two previous cases, a message indicating that the butterfly topology cannot be created will
appear. See FIGURE 4.27:
FIGURE 4.27
Creation of the butterfly topology forbidden
Invalid connections (of type CON or NMB)
Invalid connections can appear when creating a butterfly topology. For example, when two
blocks are connected and a butterfly is created in the first block, the connection can become
invalid if there is no buffer associated to the connected face. It means that this connection is
nonsense within the topology chosen and that a full non matching configuration will be created.
The message shown in FIGURE 4.28 will appear:
FIGURE 4.28
Invalid connections detected
After pressing the ok button, the corresponding forbidden connection is deleted. This message is
displayed for each forbidden connection encountered. Then the butterfly topology is created.
Blocks naming and numbering
As said in the Generation method section, the butterfly blocks numbering and naming is hidden to
the user. The butterfly blocks naming is based on the parent block name, according to the
following rule:
If "X" is the name of the parent block, the name of the butterfly blocks will be the following:
l Inner block: X_but0
l Face 1 buffer block: X_but1
l ... ...
l Face 6 buffer block: X_but6
If the butterfly group is split, the part "but" of the butterfly blocks name is automatically replaced
by " split". If the parent block name is changed, the butterfly blocks names are automatically
updated according to this rule.
Concerning the butterfly blocks numbering, as they are not added in the grid, their number is not
seen. However,
there are differences in blocks numbering between IGG™ and FINE™,
EURANUS and CFView™. Indeed, parent blocks are only seen in IGG™ and block number 2
in FINE™, EURANUS and CFView™ may not correspond with block number 2 in IGG™.
Moreover, the number of blocks can also be different. For example, for one parent block
containing a butterfly topology, there is one block seen by the user in IGG™ whereas there are 7
blocks in FINE™ (the butterfly blocks).
On the other hand, when a butterfly group is split, the parent block is deleted and the butterfly
blocks are added at the end of the grid. It implies that blocks number are modified. For example,
let's take two butterfly groups to split: parent block 1 and parent block 2. Start to split group 1:
parent block 1 is deleted and parent block 2 becomes block number 1. So, to split the remaining
butterfly group, block number 1 must be split and not the block number 2, which has no more a
butterfly topology!
Interaction with the butterfly topology
As the butterfly blocks are not added in the grid, the user will always interact with the parent
block and never directly with the butterfly blocks. Here below are listed the main operations
executed through the parent block.
Setting blocks number of points
The number of points of the butterfly blocks is updated automatically in order to be always
matching with the parent block. The radial number of points, independent from the parent block,
must be changed in the Create Butterfly dialog box (
).
Setting segments clustering
Clustering is automatically applied from a parent block segment to the underlying buffer block
segment, if existing. Moreover, the same arc-length distribution can be applied from a parent
block segment to the corresponding segment of the inner block by using the Clustering
reciprocity parent->inner option of the Create Butterfly dialog box (
).
The radial clustering, independent from the parent block, must be changed in the Create Butterfly
dialog box (
).
Face generation
When a face mesh is modified (for example by projecting a face) and that there is a buffer block
associated, the face 1 of this buffer block is automatically updated.
When a face of a parent block is mapped on a surface this mapping is not taken into account when
creating the butterfly block. Therefore the grid points of the butterfly block may be away from the
surface. Only the projection is taken into account for butterfly, not the mapping. So currently it is
recommended to use projection instead of mapping for butterfly blocks.
Block generation
The butterfly blocks are generated by generating the parent block.
Block deletion
Obviously, when the parent block is deleted, the butterfly topology is also removed.
Boundary conditions, connection of patches and division of the faces into patches
If a parent face is associated to a buffer block, the same division into patches will be applied from
this face to the face 1 of the buffer block. If there is no associated buffer block, the parent face can
contain only one patch and cannot be divided.
Connections are performed between parent blocks. Then connections between corresponding
butterfly blocks are set automatically. If the butterfly blocks configuration does not allow this
connection, the connection between parent blocks is not found.
FIGURE 4.29
Face without buffer block associated
Concerning the boundary conditions, the patch type is applied from the parent block patch to the
corresponding butterfly blocks patch. If there is no buffer associated to the patch face, the same
type is applied to all the butterfly block patches adjoining the parent face. It is exactly the same for
the full non matching connections, as illustrated in FIGURE 4.29.
All these operations can be performed before or after the creation of the butterfly topology; they
will be taken into account in both cases.
Visualization
Edges of butterfly blocks are visualized but cannot be accessed. They are toggled with the edges
of the parent block.
Vertices, fixed points, edges grid points and patches are only displayed for the parent block.
Faces grids are displayed for the butterfly blocks. This means that if there is no buffer block
associated to a parent block face, the adjoining butterfly faces will be shown, see FIGURE 4.30.
FIGURE 4.30
Face grid representation
Forbidden operations
Vertex displacement
To keep consistency between the parent block and its corresponding butterfly blocks, the vertices
of the parent block cannot be moved when the butterfly topology is created. If a vertex has to be
moved, the butterfly topology must be deleted and then recreated after vertex displacement.
Vertices connection
When connecting vertices of the parent block, some care must be taken to avoid vertex
displacement and therefore keep consistency between parent and butterfly blocks. Indeed a vertex
can be displaced automatically when connecting it to another vertex if it is too far away. If a
vertex is moved, the butterfly topology of the parent block will not be updated.
It is recommended to do Edge-Edge or Face-Face connections (Quick Access Pad/Grid/Connect
page) by always choosing the parent block as reference to avoid its modification.
Internal faces
At the creation of a butterfly topology, internal faces are automatically inserted in the butterfly
blocks for each internal face of the parent block. Therefore, once the butterfly topology is created,
internal faces cannot be inserted or deleted in the parent block. To do such operations, the
butterfly topology must be deleted and then re-created.
Face grid modification
When there is no buffer block associated to a parent block face, the edges of the butterfly blocks
adjoining this face are mapped on a surface constructed from the face mesh. If this mesh is then
modified (e.g. by face projection), the edges will not be remapped and will not lie any more on
face mesh. To ensure this, the butterfly topology needs to be re-created.
Block modification
To keep consistency, following operations cannot be applied on the parent block:
l Block creation by face rotation
l Block creation by face translation
l Block creation by face expansion
l Block creation by sweeping
l Block extension
l Block splitting
l Blocks merging
l Change block axis system
Visualization of butterfly blocks inner mesh
The Sweep Surfaces tool (View menu) can be used on a butterfly group to visualize its mesh.
Indeed, in this case, the butterfly blocks will be swept instead of the parent block. The global
direction of sweeping is one of the three directions of the parent block (I, J or K). The faces of the
butterfly blocks that will be displayed are normal to the direction of sweeping. When sweeping in
one direction, all the butterfly blocks will be swept except the possible buffer blocks related to the
faces that are normal to the direction (the blocks that will be swept must have the same number of
points along the chosen direction). For example, when sweeping the K direction, the buffer
blocks corresponding to faces 1 and 2 will not be swept. However, their mesh can be visualized
by sweeping in the two other directions. This is illustrated in FIGURE 4.31.
FIGURE 4.31
Sweeping of butterfly blocks mesh
Cells volume calculation
For butterfly topologies, the calculation of the cells volume is performed on all the butterfly blocks
of the specified parent block. The number of negative cells of each butterfly block is added and
displayed in the Negative cells dialog box by referencing the parent block.
Grid quality checking
The Mesh Quality dialog box (Grid/Grid Quality... menu item) contains a special item dedicated
to butterfly topologies allowing to choose the butterfly block in which the quality will be checked.
See FIGURE 4.32.
The Block entry allows to choose the block that will be checked. When it is a parent block, the
second entry Butterfly block is activated, displaying the number of the butterfly block which is
analysed. The range goes from 0 to 6. The number 0 represents the inner block and is therefore
always present. The other numbers between 1 and 6 represent the parent face number and thus the
associated buffer block. If there is no associated buffer, the corresponding number does not
appear.
FIGURE 4.32
Grid quality checking on butterfly topology
Butterfly regeneration when using template
When replaying a template by geometry importation, all the curves and surfaces of the current
IGG™ project having the same name as a corresponding entity in the geometry data file imported
can be modified. Indeed, they can be replaced by the new imported entity having a common
name. All vertices snapped and all edges mapped on these modified entities are repositioned
correctly according to the curve or surface modification .
By simply importing a geometry data file, since the vertices and edges of a butterfly topology
have no underlying geometry, they remain at the same position while the parent block is adapted
according to the new imported geometry. Thus it leads to a mismatch between the butterfly
topology and its associated parent block.
Consequently a new option has been added in order to replay a template by geometry file
importation and then to automatically regenerate all the butterfly topologies of the grid. This is
accessible in the File/Replay Template/Import IGG Data... menu item. Obviously, this option
is only applicable on unsplit butterfly topologies, as split blocks must be considered as normal
blocks.
The following steps will be executed to regenerate a parent block:
l Memorization of the butterfly generation parameters
l Deletion of the butterfly topology
l Regeneration of the parent block faces
l Regeneration of the parent block
l New butterfly topology creation according to the memorized parameters
The butterfly option Creation from uniform clustering will always be used to regenerate the
butterfly topology because in general, a clustering is always set on a parent block after the
butterfly creation. On the other hand, it is not restrictive as it is advised to create a butterfly
topology on a parent block by using a uniform clustering.
Moreover, the options Clustering reciprocity will be taken into account for regeneration.
Patches connections between butterfly groups and their adjacent blocks will be lost because they
are deleted when removing the existing butterfly topology.
Block transformation
When a parent block is transformed (icon
in the Quick Access Pad/Grid/Insert/Edit
page), its butterfly topology is automatically regenerated by IGG™. The following steps will be
executed to regenerate a parent block:
l Memorization of the butterfly generation parameters
l Deletion of the butterfly topology
l Transformation of the parent block
l New butterfly topology creation according to the memorized parameters
All the same parameters of the initial butterfly topology are re-used to create the new one.
Block duplication
in the Quick Access Pad/Grid/Create page), a
When a parent block is duplicated (icon
butterfly topology is created in the duplicated block(s). This is valid except if the No Topology
option is selected, in which case only the parent block mesh is duplicated.
All the same parameters of the parent block butterfly topology are re-used to create the new
butterfly topology in the duplicated block(s).
Imposition of an initial solution in FINE™
The axis system of the butterfly blocks is imposed by IGG™ and cannot be changed. When
imposing the flow direction of the initial solution in FINE™, the butterfly blocks axis system do
not have the same orientation. However their orientation can be found according to the one of the
parent block without splitting the butterfly topology. Indeed, the flow direction is imposed for
each block, represented by its name. As said in a previous section, butterfly blocks naming is
based on the following rule:
If "X" is the name of the parent block, the name of the butterfly blocks will be the following:
l Inner block: X_but0
l Face 1 buffer block: X_but1
l ... ...
l Face 6 buffer block: X_but6
If the butterfly group is split, the part "but" of the butterfly blocks name is automatically replaced
by "split". As the relative position of a block to the butterfly group can be known from these
names, there is no need to look in IGG™ the orientation of this block. If the flow direction chosen
for the parent block is respectively K, J or I, the corresponding flow direction for the butterfly
blocks will be the following:
l Inner block: K J I
l Face 1 buffer block: K J I
l Face 2 buffer block: Reverse K J Reverse I
l Face 3 buffer block: J K Reverse I
l Face 4 buffer block: J Reverse K I
l Face 5 buffer block: J I K
l Face 6 buffer block: J Reverse I Reverse K
Current limitations
l Avoid using the File/Export/Block Coor functionality if butterfly blocks have to be
exported. Only the parent block is exported when selecting this functionality.
l Avoid connections of type PER and PERNM for butterfly groups. They are not available.
l Avoid setting periodicity to a butterfly group (set by the Grid/Periodicity menu item). It is
not applied from the parent block to the butterfly blocks. Moreover, there is no warning
message. Split the butterfly group to set the periodicity and to find periodic connections.
l For patch visualization, it is the parent block patches that are displayed.
l The mapping of radial edges on a geometric surface of the section can sometimes lead to
curved edges. It is due to the parametrization of the surface. In this case additional control
points can be inserted in the edge to improve its shape.
l Coarse grids cannot be visualized for butterfly blocks because their coarse grid levels are
different than the ones of the parent block (due to the radial number of points).
CHAPTER 5.
TEMPLATES & SCRIPTS
IGG™ provides two options to automate the generation of grids around similar geometries: templates
and scripts.
In the template concept, an initial mesh is created manually around an "initial geometry" and saved in a
".igg" project file. This project file is then reused as a template by importing the new geometry and
replacing the corresponding entities. The block boundaries are then automatically remapped onto the
new geometry.
In the script concept, a set of commands describing each step of the grid generation of a given grid is
provided in a script file and executed by IGG™. These commands operate on a reference geometry and
can be replayed on any similar geometry.
Both options fundamentally require that
the reference and modified geometries keep the same
topology. This means that the reference and the modified geometries have the same surfaces, organized
in the same way, but with different shapes. This assumption is completely justified in a design concept,
where the shape of the geometry should be modified to optimize some flow features.
Upon limited topology modifications, both options can still be used,
operations to correct local problems.
if combined with manual
The advantages and limitations of each method are described in Templates vs. Scripts.
In this section
5.1 Templates
5.2 Scripts
5.3 Templates vs. Scripts
133
138
208
5.1
TEMPLATES
5.1.1
Introduction
As mentioned in the introduction, templates allow the reuse of an existing IGG™ project created
on a reference geometry such that the topology may be applied to a similar, modified geometry.
By applying the IGG™ project to a modified geometry, the user will be able to directly recover
all the grid-related information from the previous mesh. This includes:
l number of blocks and their position (relative to the geometry),
l grid settings, like number of points in each direction,
l grid clustering,
l face generation history,
l connections between blocks,
l boundary conditions.
In the template approach, the user generates an initial grid manually on a reference geometry,
using the standard tools of IGG™. In particular, the user defines the blocks by placing their
vertices on the input curves and surfaces. At any time, the position of the vertices is stored using a
normalized parametric value on the curve or surface. These curves and surfaces are referenced by
their name. Using these two parameters (name+normalized position), IGG™ will be able to store
the position of the vertices and to correctly place them onto a new geometry. The rest of the grid
generation proceeds much in the same way as usual and the final grid can be saved in a ".igg"
project.
The created project can then be used to automate the generation on a modified geometry, simply
by importing the new geometry in the opened project. During the importation, IGG™ will
automatically replace the geometrical entities with the same name and will perform an automatic
remapping of the topology on the new geometry. The regeneration of the face grids is then
performed manually when applying the Regenerate Faces option.
As mentioned, the implementation uses the normalized parametric position of the vertices on the
input curves or surfaces to localize the new position of the vertices on the modified geometry.
This introduces some limitations on the range of validity of the automatic regeneration, when the
parametrization changes widely. In that case, manual corrective operations may be needed to
obtain an optimized topology.
5.1.2
Fundamental Assumptions
A few basic assumptions must be fulfilled in order for the template implementation to work
properly:
l Same topology of the geometry:
The reference and modified geometries must have the same topology. This means that they should
contain the same entities (curves and surfaces), arranged in a similar way. The shape of these
entities may however change from one file to another.
l Same names for the curves and surfaces:
The curves and the surfaces in the modified geometries must have the same name as in the
original geometry. IGG™ uses these names to detect a one-to-one correspondence between the
entities in the two geometries and to perform the replacement of one by the other.
5.1.3
Using Template Option
To successfully use the template option, a number of conventions must be observed. As a general
rule, creating a template project must be planned from the start. In particular, taking an existing
project and attempting to use it as a template, will, in general, not work. With this in mind, the
sequence of steps for using templates is as follows:
l analysis and preparation of the geometry,
l generation of the initial grid, yielding the template project,
l replay of the template.
Analyze Input Geometry
Before creating the initial grid, the user should verify that the reference and modified geometries
conform to the basic assumptions enumerated above. To do this, the user should open the
reference and modified geometries in separate IGG™ sessions and compare them using the
visualization tools.
The user should verify that:
l The curves and surfaces in the reference geometry are present in the modified geometry.
l The name of each curve and surface is the same in the two geometries. The name of entities
can be displayed by using the Geometry/Select Curves (
) or Surfaces (<Ctrl-s>) and by
moving the mouse on top of the desired entity. The name will then appear in the information
area.
If the naming condition is not satisfied, the user can adapt the reference or modified geometries by
assigning explicitly a proper name to the curves or surfaces, using the Quick Access
Pad/Geometry/Curve/Set Name or Quick Access Pad/Geometry/Surface/Set Name options.
Name assignment should of course be performed in a consistent way in each project.
Create Template Project
Creating a template project consists in generating a grid on the reference geometry. Saving the
grid will yield a ".igg" project which will be used as template project. It is to be noticed that
template projects are actually standard IGG™ projects, used for template purposes.
IGG™ can be used in the usual way to perform the grid generation task. Limitations exist
however in the use of some options.
Geometry Options
Geometry creation or modification options should not be used during the creation of the grid.
Placing vertices on such entities is not suitable for template purposes. This limitation exists
because the curves or surfaces created interactively, although saved in the project, are not
parameterized. They will keep their initial position after replay of the template and will not follow
the new geometry. Vertices lying on these entities will consequently not move either.
It is however possible to add curve or surface entities as follows: create the required entities in the
reference geometry and reproduce exactly the same steps for the modified geometry, before
applying the template. To do this, create the entities in the template project, and name them
explicitly using the Quick Access Pad/Geometry/Curve/Set Name and Quick Access
Pad/Geometry/Surface/Set Name tools.
Then, before replaying the template on a modified geometry, the user must recreate these entities
in a separate session, in the same way as for the reference geometry, but using the new geometry
shape. Renaming must be performed exactly in the same manner. Finally, these entities must be
saved using the File/Export/Geometry Selection option. The ".dat" file created in this operation
can then be used together with the modified geometry file when using the template.
Grid Options
All the grid options may be used to create the template project. This includes: segment creation,
internal edge and internal face creation, clustering specification, face generation, patch and
boundary condition specifications, block generation.
A few options, however, have to be used with some care. These are the options that automatically
create or place vertices as a result of a generation option. For instance the option Quick Access
Pad/Grid/Create/Extrude Range creates a block by extruding from an existing face.In this
process, some vertices of the new block will be localized on construction curves, not necessarily
visible or accessible to the user. These curves receive an arbitrary name that, most probably, will
change from one session to another. Consequently, these vertices are not directly suitable for
templates. To solve this problem, these vertices must be moved explicitly by the user to a visible
curve or surface of the reference geometry.
Vertex Positioning
Vertices with an absolute position (i.e. vertices not on a curve or surface) will stay at the same
absolute position after replay of the template.
Replay Template on Modified Geometry
l Within a new session, open the template project (File/Open... option).
l Import the new geometry with the File/Replay Template/Import IGG Data... option.
Using File/Replay Template/Import IGG Data... instead of File/Import/IGG Data... is only
important when the template project contains butterfly blocks.
After the file has been selected, IGG™ automatically detects the curves and surfaces having the
same name as the entities in the current project. The dialog box shown in FIGURE 5.1 appears as
soon as one curve or surface being loaded has the same name as an existing curve or surface:
FIGURE 5.1
Geodup dialog box
In the context of templates, the Replace mode should be used. This option will instruct IGG™ to
automatically replace the old curves and surfaces by the new ones. Replacement will take place
after the Apply or Apply to Allbuttons has been pressed
At the end of the importation, IGG™ will automatically remap all the vertices and edges lying on
these curves or surfaces.
At this stage the edges of the blocks should be checked to verify that the mapping has been
performed in a satisfactory way. Depending on the parametrization of the new geometry, the new
position of the vertices may not be optimum on the new geometry. Also, if the topology of the
new geometry is different from the original one, straight edges may appear. In these cases, manual
corrective operations may be needed. These operations should be straightforward.
When the topology is correctly positioned on the geometry, the face grid regeneration may
proceed.
l Select the Quick Access Pad/Grid/Generate/Regenerate Faces option and apply it to all the
faces of all the blocks.
l Finally regenerate the blocks manually.
l Save using the File/Save/Save As... menu item.
Be careful not to overwrite the template project by calling the File/Save/Save option. Always use
Save As....
Troubleshooting
l Using the vertex attraction to curve intersections, on curves that intersect several times (i.e. a
closed circle with a straight line), may create problems during a replay, when the new
geometry is significantly different from the original one. Since several intersections exist,
IGG™ has to make the choice of which intersection to assign to the vertex. Currently the
closest parametric intersection to the current vertex position is taken, which may be the wrong
choice when the geometry is much different. A work around is to split in the input geometry
one of the curves so that only one intersection exists between curves.
l When using the Quick Access Pad/Grid/Create/Extrude Range option on a range of a
block face, IGG™ automatically creates new internal grid lines on the reference face.
Additional curves are also created on which these internal grid lines lie. These automatically
created curves should not be used in the template since they are not part of the parametric
definition of the geometry. The solution to this limitation is to delete the four created curves,
and manually remap all the newly created vertices on the input geometry. To check that the
vertices lie onto the input geometry, move the mouse to the vertex and check in the status bar
(at the bottom right) the name of the curve or surface for the vertex.
l Creating internal grid lines or internal faces in the template project, will create vertices at the
intersection with the other edges of the block. By default these vertices do not lie on the input
geometry but on internally generated curves. It is consequently needed to manually touch and
reposition these vertices so that they lie on the input geometry.
l IGG™ uses a vertex tolerance mechanism to automatically close gaps between surfaces that
do not exactly match. When these gaps are significantly larger in a modified geometry, it may
happen that the default tolerance of a vertex, which used to work on the original geometry, is
not large enough to close the gaps in the modified geometry. Straight edges will appear which
must be corrected by increasing the tolerance of the vertices.
5.1.4
Input file format
For this version, only ".dat" files can be used with the template option. The format is described in
Input Data Files section. The first line in a file is interpreted as the name of the entity described.
This means that a geometry described by several files should be such that the first line within each
".dat" file is different.
5.2
SCRIPTS
IGG™ provides a new powerful scripting tool that enables the user to automate a wide variety of
tasks and to better integrate the grid generation in an engineering process. More details on the
python commands are available in the files "Geom.py" and "PYTHON.py" provided in the
NUMECA distribution after installation (i.e. under Windows, both files are available in "~/_
python/_igg/").
Geometry creation : the user can write scripts to automate the creation of geometries. By
parametrizing numerical values used in the definition of entities, the user can change very fast the
geometry and regenerate the grid.
Grid generation: all the grid generation options available in IGG™ are available in scripts.
Process automation: Scripts allow to automate a number of tasks like project management, file
management, batch execution of modules, like AutoGrid5™.
Custom exportation: By accessing block coordinates within scripts, the user can write simple
scripts to export the grid to its own solver. An example of the script file exporting in PLOT3D
format is provided in the section Export PLOT3D Format.
Automatic recording of operations can be performed in IGG™. The menu item File/Scripts/Save
All... can be used to save the current record of the commands performed interactively by the user.
Visualization of
File/Scripts/Edit... can be used to edit
interactively by the user.
the recorded operations can be performed in IGG™. The menu item
the current record of the commands performed
5.2.1
Language Overview
Scripts are available in IGG™ through the object-oriented Python language. Python is a popular
scripting language designed to be easily extendible to a specific application. It provides the major
functionalities classically found in languages such as C or C++, in a dynamic, interpreted
environment.
The supported Python version is 2.7 on Windows/Linux.
By default, French accents cannot be included in a script except if the string # coding=utf-8 is added
as first line of the script.
Keywords as names of classes or global functions presented in IGG™ Script Commands are
forbidden in the script.
This section provides a brief overview of the basic features of the Python language. Interested
readers should consult the tutorial documents or the systematic description of the language
available on the Python web site (http://www.python.org).
Scripts are evaluated line by line. However, line evaluation continues on the next line if the
character '\' is the last character of the line.
Starting v8.9,
intersection curves resulting from surface- surface or surface- plane intersection
algorithm may have a different orientation compared to v8.8. In order to use old algorithm, the string
igg_script_version(1) should be added on top of the script. For new recorded script, the new
algorithm will be used and the script will start with the string igg_script_version(2).
Starting v8.10, when a Parasolid curve with a reverse orientation is duplicated the resulting curve is
presenting also a reverse orientation. To ensure backward with v8.9 script (using old algorithm where
the duplicated curve was not reversed), the new recorded script will use the new algorithm and the
script will start with the string igg_script_version(2.1) instead of igg_script_version(2).
Adding Commented Lines
The '#' character specify that the rest of the line is a comment and will be skipped while the macro
is executed.
Support for Mathematical Operations
l the operators +, -, * and / are defined,
l parenthesis can be used and nested to any level,
l functions abs(x), int(x), floor(x), ceil(x) and sqrt(x) for square root are available,
l trigonometric functions sin(x), cos(x), tan(x), acos(x), asin(x), atan(x) are available, atan2(x,y)
returns atan(x/y),
l logarithmic functions log(x) for neperian logarithm, log10(x) for base 10 logarithm, exp(x),
sinh(x), cosh(x), tanh(x), asinh(x), acosh(x) are available,
l x to the power y is obtained by the function pow(x,y),
l boolean values are returned by the operators >, <, <=, >=, ==, !=, and, or,
l the constants pi and e are predefined.
String Handling
Strings are handled in Python in the following way:
l they are enclosed in single <'> or double <"> quotes,
l concatenation is obtained with the operator +,
l duplication is obtained by the multiplication by an integer (operator *),
l access to the ie element is obtained by the suffix '[i]' and access to a substring is obtained by
the suffix [i:j] for a substring starting from the ie character to the je,
l numerical values contained in variables can be inserted in a string by enclosing the variable
name with reverse quotes (') or by using a formatting specification:
Example:
s = 'The Value of x is' +'x'
s = 'The Value of x is %3d' %(x)
The formatting symbols are interpreted as follows:
l %d formats in an integral value (rounded if necessary)
l %nd (where n is an integer) in an integral value having a length of exactly n characters (space
characters are inserted on the left if necessary)
l %n.mf (where n and m are integers and n>m) formats into a floating point value having at
most n characters length and a fractional part of m characters exactly
l %n.me(where n and m are integers and n>m) formats into a scientific representation having at
most n characters length and a fractional part of m characters exactly
l stripping of the leading or trailing white spaces is obtained by the function strip.
Example:
myStrippedString = strip(myString)
Lists Handling
A list is an ordered set of items.
l a list is defined by enclosing the comma separated items by square brackets. A list may be
empty,
Example:
my_list = [a,b]
empty_list = []
Note that list definition can be extended over several lines without the '\' terminating character.
l an item is accessed by adding the suffix [i] to the list name (ex: my_list[1]). Note that list
indices start at 0,
l lists can be nested to any level,
l appending is obtained by the operator + (ex: my_list + my_list2) or by the function append
(ex:my_list.append([c, d])),
l multiplication (appending oneself n times) is obtained by the multiplication operator (ex: my_
list*3),
l the functions insert(index, value) inserts value at position index, the elements at upper position
are shifted,
l the function index(value) returns the index of the first item of which the value is value,
l the function remove(value) removes the first item of which the value is value,
l the functions sort(), reverse() and len() are, respectively, sorting, reversing the elements and
returning the number of elements in the list.
Control Flow
The body part of these instructions is defined by the indented lines and the specific control lines
are terminated by a colon. The end of the loop body is marked by the first line that does not start
by a tab character. Nested loop are obtained by heading lines with multiple characters.
l if statement:
Example:
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.
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.
Example:
for x in a[:] :
for x in range(0,10) :
while x>0 :
where the range function returns a list of integers starting from the first argument value to the
second argument value with a step indicated by the third argument if existing (default value is 1).
Function Definition
Function definition starts with the standard header:
def function_name (arg1, arg2, arg3 = default_value, ...)
where def is a reserved keyword. The arguments can be of any type (it is a user responsibility to
provide meaningful ones) and last arguments may have a default value (as arg3 in the above
example).
Each line of the function's body is indented with a TAB character. The function definition ends
with the first line which is not indented by a TAB character.
All arguments are passed by value. Thus, if an argument value is modified, the new value is not
available to the caller.
A returned value may be specified using the 'return' statement followed by the name of the
variable or by a value. In any case, a value is returned and not a reference on a local variable or
object. The type of the returned value is a list, this means that appending a new element in the
returned list is obtained by the statement 'return.append(x)'.
Global scope variable can be accessed if they are declared as such by a statement 'global' (e.g.
'global x' specifies that the x variable is a global variable for the current function).
File Handling
Files can be opened for reading and writing. A file is associated to a variable which is initialized
at its opening:
f = open(fileName, mode, bufferSize)
where fileName is the full file name including its path. The parameter mode is a character string of
which the value may be:
l 'r' or 'rb': file opened for reading,
l 'w' or 'wb': file opened for writing, creates it if not existing or the previous content is discarded,
l 'a' or 'ab': file opened for appending, creates if not existing or writes at the end of the file.
The 'b' character is used only on Windows systems to indicate that the file is in binary mode, on
Linux system, it is neglected.The parameter bufferSize is the integer value of the size of the
buffer, the system default size is chosen if the value is negative, the file is opened in the
unbuffered mode if the value is 0, a value of 1 specifies a line-buffered mode.
The following functions can be used to handle the file content:
l f.close(): closes file,
l f.flush(): flushes file's internal buffer,
l f.read(n): reads at most n bytes from the file and returns as a string. If n is omitted, reads to the
end of the file,
l f.readline(): reads one entire line,
l f.readlines():reads until the end of the file and returns a list of lines,
l f.seek(offset, whence=0): sets file position, if whence =0 or is omitted, offset is the absolute
position, if whence=1 offset is relative to the current position and if whence = 2, offset is
relative to the file end,
l f.tell(): returns file current position,
l f.write(string): writes string to file.
Error Handling
IGG™ performs continuous checks during the running of a script to insure that functions can be
normally executed, check of arguments validity during calls to functions or object access. When a
check fails IGG™ raises an exception which stops the execution of the script.
Create & Use Modules (library of functions)
The python language provides the concept of module for grouping a set of functions in a same
file. The module name is the name of the file containing the functions.
The functions can be made available into a script in a similar way to the large set of utility
functions provided with IGG™. If a set of functions is defined in a file called MyModule.py, and
the file is located in the directory /people/myself/igg_ scripts, they can be made available in
another script through the following instructions: sys.path.append('/people/myself/igg_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.
5.2.2
Running Script File
Script files can be run from the graphical user interface or from the command line.
l From the interface, the option is accessed with the File/Scripts/Execute... menu item. It opens
a file chooser prompting to select a ".py" script file. After acceptation, the script is executed by
IGG™ and the results are visualized in the graphics area.
l From the command line, a script can be run by launching IGG™ with the -script option. For
example: igg -script my_script.py. IGG™ will execute the script and then open the graphical
user interface. When running a script from the command line, it is possible to execute a process
in batch mode, avoiding to open the GUI. To do so, the -batch option should be used as the
very first argument to the igg command: igg -batch -script my_script.py.
5.2.3
IGG™ Script Commands
The functionalities classically available within the IGG™ graphical interface are provided in
scripts as commands or functions that can be combined together to provide higher level
functionalities.
Since the language is object-oriented, classes of objects are naturally provided to the user and
functions applicable to these objects are associated with these classes. Typical examples of classes
defined for IGG™ are Curve, Surface, Block, Face, Vertex, Edge, etc…
Commands and classes are classified by categories. There are three main categories: project
commands, geometry commands and grid commands.
Commands are either global functions that can be called as normal functions without any object or
member functions that must be called with an object previously defined.
Examples:
save_project("example.igg") # global function call
c = Curve("curve_1") # create an object 'c' referring to a curve in IGG™
c.set_name("new_name") # member function call applied to object 'c'
Note for Windows users:
The specification of path names when using commands requiring file names as input must be
performed using a Linux style coding. This practically means that '/' should be used as separator
between directories instead of '\'.
Examples:
save_project("c:/users/greg/rexample.igg") # correct
save_project("c:\users\greg\rexample.igg") # not correct !!
A. Project Commands
Project commands are provided to control the project currently opened in IGG™ and to perform
global operations on this project.
l set_project_configuration(dim,axis)
Sets the project configuration. This command must be called at the very first stage of the
project setting. It closes the current project without saving and opens a new one with the
specified properties.
dim can be "2D" or "3D" or "AXISYM". By default the project dimension is 3.
axis is the axisymmetric axis and is only meaningful when dim is "AXISYM".
Its values can be 0, 1 or 2, corresponding to X, Y or Z axis respectively.
l set_2D_project_translation(doubleValue)
Sets the value of the global 2D translation parameter when 2D project (More details in
"Periodicity" (p. 353)).
l get_2D_project_translation()
Returns the global 2D translation parameter value.
l get_igg_version()
Returns the version info appearing in the shell when starting IGG™.
l original_view()
Fits the graphics window to the size of the objects and gives a default orientation to the
camera.
l open_igg_project(filename)
Opens an existing IGG™ project from disk. This command closes the previous project without
saving it.
Example:
open_igg_project("/usr/people/test/volute.igg")
l import_igg_project(filename,prefix)
Imports an existing IGG™ project into the current project.
prefix is an optional string that can be specified to easily recognize the blocks and patches of
the imported project from those in the current project. When specified, the prefix is appended
to the block, patch and group names of the imported project. It is mostly useful when
importing several projects into the current one, to distinguish them easily. The block indices of
the imported projects are changed to follow those of existing blocks.
Example:
import_igg_project("/usr/people/test/volute.igg","p1")
l import_data_file(filename,mode)
Imports curves and surfaces stored in an ASCII IGG™ format.
mode is an optional string (by default "REPLACE") that controlled what IGG™ will do when
an entity being loaded has the same name as an existing entity in the current project. The new
entity can replaced ("REPLACE") the existing one, can be ignored ("IGNORE") or renamed
("RENAME") to keep existing one.
l import_grid(filename)
Imports a block grid generated either by IGG™ or by another grid generator.
l import_catia_file(filename)
Imports geometry files in CATIA format up to R23.
l import_parasolid_file(filename)
Imports geometry files in Parasolid™ format ".x_t" up to 27.0.150.
l import_iges_file(filename)
Imports CAD data stored in the standard IGES format.
l import_geomturbo_file(filename)
Imports "geomTurbo" files coming from AutoGrid5™.
l import_plot3D(filename,dimension,multiblock,type,big_endian)
Imports block(s) generated either by IGG™ (using File/Export/PLOT3D... menu item) or by
another grid generator.
dimension is the dimension of the block(s): 2D ("2") or 3D ("3").
multiblock specifies if the file is single ("0") or multi-block ("1").
type specifies the type of imported file:"ASCII", "Unformatted single", "Unformatted double",
"Binary single", "Binary double".
big_endian specifies the binary order in the file: little ("0") or big endian ("1").
l import_cgns(filename)
Imports CGNS grid files.
l import_gridpro(filename)
Imports block(s) created by the GridPro grid generator.
l close_project()
Closes the current project without saving and clears the screen from all previous drawings.
l save_project(filename)
Saves the project into the specified file.
Example: save_project("/usr/people/test/volute.igg")
Notice:
During interactive saving from the GUI, IGG™ checks for blocks needing to be regenerated
and asks whether to regenerate the blocks before saving. In the current implementation this
confirmation will also appear when saving from a script. It is consequently advised to
regenerate all touched blocks before calling the save_project command.
l CGNS_format(value)
Set the type of the CGNS format. Value should be between 0 for ADF and 1 for HDF5.
l export_plot3D(filename,param_list,block_list)
Exports the project into the specified plot3D file.
l export_CEDRE(filename)
Exports a mesh in CEDRE format with the specified filename.
l export_CEDRE_all_blocks(filename,merging,merged_blockname)
Exports all the blocks of the mesh in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to
create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
l export_CEDRE_block_group(filename,groupname,merging,merged_blockname)
Exports mesh of a group of blocks groupname in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to
create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
l export_CEDRE_block_list(filename,blocklist,merging,merged_blockname)
Exports mesh of a list of blocks blocklist in CEDRE format with the specified filename.
merging is set to 1 to group all blocks in a single CEDRE domain during export, or set to 0 to
create a domain per block.
merged_blockname is the userdefined name of the merged block when merging is set to 1.
l export_FLUENT(filename)
Exports a mesh in Fluent format with the specified filename.
l export_CFDpp(filename)
Exports a mesh in CFD++ format with the specified filename.
l export_CRUNCH_CFD(filename)
Exports a mesh in CRUNCH CFD format with the specified filename.
l export_OpenFOAM(foldername,branch)
Exports a mesh in OpenFOAM format in the specified folder (foldername). The OpenFOAM
branch is optional and can take the value "official" (default) or "extend".
Example: export_OpenFOAM("C:/tmp/test","official")
l export_Abaqus(filename,elementtype)
Exports a mesh in Abaqus format with the specified filename and the type of element set to
"C3D8" or "C3D8I".
l exit_session()
Quits the IGG™ session. This command can be used to close IGG™ in the middle of a script.
All required savings must be performed explicitly before calling this function.
l text_message_box(message)
Opens a generic information dialog box and displays the message in it.
l text_message_box_title(message)
Specifies the title of the generic information dialog box.
l set_preference(preference_name,argument)
Sets the argument(s) of the preference. The available preference_names are listed below with
their corresponding argument(s).
Tolerances preferences
system_tolerance for Geom Tol (abs) with a real value.
geometry_relative_tolerance for Geom Tol (rel) with a real value.
topology_relative_tolerance for Topo Tol (rel) with a real value.
pick_aperture for Pick Aperture with a real value.
edge_discretisation for Pick Aperture with an integer value.
Saving preferences
autosave for Automatic Saving with an integer (1/0)
autosave_time for automatic saving time in minutes with a real value.
save_bak_file for Backup when saving (.bak) with an integer (1/0).
quality_check_at_saving for Ask quality check when saving with an integer (1/0).
CGNS_patch_info_saving for Save CGNS patch info / family name control with an integer
(1/0).
Export_short_family_names for Export short family names with an integer (1/0).
Graphics preferences
visibility for Visibility during viewing ops with an integer (1/0).
lights for Turn On Additional Lights with an integer (1/0).
edge_normal_width for Edges width/Normal width with a floating value.
edge_highlight_width for Edges width/Highlight width with a floating value.
Layout preferences
gui_quick_access_pad for GUI/Quick Access Pad with an integer (1/0).
l search_list_by_pattern(name_list,pattern,type,ignore_case)
Selects all members of a list with a name matching a given pattern.
name_list is the list of names (i.e. output from commands get_all_surfaces_name).
pattern is the pattern which has to be matched (using regular expressions).
type is an optional flag to specify the type of regular expressions in Python. When set to 0
(default), the pattern is respecting regex pattern of the "re" module. When set to 1, the pattern
is respecting Linux-style wildcard matching through the package "fnmatch". E.g., pressure is
matched by p.*ure with "re" and by p*ure with "fnmatch".
ignore_case is an optional flag whether the case should be ignored. Case is ignored when set
to 1 (default: 0).
gui_control_area for GUI/Control Area with an integer (1/0).
gui_balloon_help for GUI/Balloon Help with an integer (1/0).
Colors preferences
gui_foreground_values for Foreground color with integers (r,g,b) from 0 to 255 defining
amount of respectively red, green and blue.
gui_background_values for Background color with integers (r,g,b) from 0 to 255 defining
amount of respectively red, green and blue.
gui_background_type for Uniform/Shaded Color with an integer (1/0).
l get_preference(preference_name)
Returns the value(s) of the preference.
l save_preferences()
Saves the current preferences into the file "igg.preferences".
B. Geometry Commands
Geometry commands are provided as global functions or through classes. The main classes are:
Point, Curve and Surface.
When performing intersections, the resulting curves number or orientation is not deterministic. We
recommend to introduce a check in the script to take into account this aspect and to make the script
more robust.
Global Functions
l reset_geometry_counters()
Reset the geometry repository counters for all created and imported curves and surfaces. After
executing this command, newly created or imported geometry will be numbered starting from
1.
l import_data_file(filename,mode)
Imports a geometry file in the current project.
filename specifies the name of the file and must have the extension ".dat", ".dst" or ".geom".
mode is used to specify the importation mode in the case where curves or surfaces with the
same name are already exists in the geometry repository. Possible values are "REPLACE",
"IGNORE", "RENAME".
Example: import_data_file("modified_volute.dat","REPLACE")
Note: the quotes around filename and the keyword REPLACE are needed.
l import_iges_file(filename)
Imports an IGES file in the current project.
l save_geometry_entities(filename,list_entities)
Saves the geometry entities in the specified file.
list_entities is the list of curves and/or surfaces (specified with their name or as an object).
l save_curve_ctr_points(filename,curve)
Saves the coordinates of the curve control points in the specified file.
l set_geometry_abs_tol(tol)
Sets the absolute tolerance of the system. This tolerance is for example used when performing
geometry or topology operations.
l get_all_curves(view)
Returns a list of all objects of Curve class in the active view.
view is an optional argument to specify the active view if different from the working view.
l get_all_curves_name(view)
Returns a list of the names of all curves in the active view.
view is an optional argument to specify the active view if different from the working view.
l get_all_surfaces(view)
Returns a list of all objects of Surface class in the active view.
view is an optional argument to specify the active view if different from the working view.
l get_all_surfaces_name(view)
Returns a list of the names of all surfaces in the active view.
view is an optional argument to specify the active view if different from the working view.
l geom_duplicate(curve_list,surface_list,prefix)
Copies a list of curves and/or surfaces
prefix is an optional string that can be specified to easily recognize the copied geometrical
entities. When specified, the prefix is appended to the curve and surface names.
l geometry_rotate(origin,direction,angle,mode,prefix,list_curves, list_surfaces)
Rotates a list of curves and/or surfaces around a given axis.
origin and direction specify the rotation axis.
angle is the angle of rotation in degrees.
mode is the transformation mode:
l 1 if the transformed curves/surfaces are not body edges/faces. In case of body edges/faces,
no transformation will be performed.
l 2 if the transformed curves/surfaces are body edges/faces and the concerned bodies will
also be transformed.
l 3 if the transformed curves/surfaces are body edges/faces and the concerned bodies will not
be transformed. In this case the concerned curves/surfaces will be duplicated (with a prefix
in front of their name) before transformation.
prefix is the prefix added in front of the transformed entity (curves/surfaces) name when mode
is set to 3.
list_curves and list_surfaces are the lists of curves and surfaces (specified with their name or
as an object).
l geometry_translate(direction,mode,prefix,list_curves,list_surfaces)
Translates a list of curves and/or surfaces along a given direction.
direction is the translation direction, in direction and magnitude.
mode is the transformation mode:
l 1 if the transformed curves/surfaces are not body edges/faces. In case of body edges/faces,
no transformation will be performed.
l 2 if the transformed curves/surfaces are body edges/faces and the concerned bodies will
also be transformed.
l 3 if the transformed curves/surfaces are body edges/faces and the concerned bodies will not
be transformed. In this case the concerned curves/surfaces will be duplicated (with a prefix
in front of their name) before transformation.
prefix is the prefix added in front of the transformed entity (curves/surfaces) name when mode
is set to 3.
list_curves and list_surfaces are the lists of curves and surfaces (specified with their name or
as an object).
l mirror(origin,direction,mode,prefix,list_curves,list_surfaces)
Mirrors a list of curves and/or surfaces with respect to a given plane.
origin and direction specify the mirror plane.
mode is the transformation mode:
l 1 if the transformed curves/surfaces are not body edges/faces. In case of body edges/faces,
no transformation will be performed.
l 2 if the transformed curves/surfaces are body edges/faces and the concerned bodies will
also be transformed.
l 3 if the transformed curves/surfaces are body edges/faces and the concerned bodies will not
be transformed. In this case the concerned curves/surfaces will be duplicated (with a prefix
in front of their name) before transformation.
prefix is the prefix added in front of the mirrored entity (curves/surfaces) name when mode is
set to 3.
list_curves and list_surfaces are the lists of curves and surfaces (specified with their name or
as an object).
l geometry_scale(scale_vector,mode,prefix,list_curves,list_surfaces)
Scales a list of curves and/or surfaces around a given axis.
scale_vector specifies the scale factors along x, y and z in the form of an object of class
Vector. These values should be different from zero.
mode is the transformation mode:
l 1 if the transformed curves/surfaces are not body edges/faces. In case of body edges/faces,
no transformation will be performed.
l 2 if the transformed curves/surfaces are body edges/faces and the concerned bodies will
also be transformed.
l 3 if the transformed curves/surfaces are body edges/faces and the concerned bodies will not
be transformed. In this case the concerned curves/surfaces will be duplicated (with a prefix
in front of their name) before transformation.
prefix is the prefix added in front of the scaled entity (curves/surfaces) name when mode is set
to 3.
list_curves and list_surfaces are the lists of curves and surfaces (specified with their name or
as an object).
Example:
# scale the entities that are not body edges or surfaces by a factor 2 along the z axis, and a
factor 1 along x, y.
geometry_scale(Vector(1,1,2),1,"",[Curve("curve_1"),Curve("curve_2")],[Surface("surface_
1")])
l group_curves(tolerance,curve_list)
Groups a list of curves if under a given tolerance.
tolerance specifies the value over which the curves will be joined.
l ungroup_curves(curve_list)
Ungroups a list of curves.
l convert_to_cspline(nb_points,distrib_type,ratio,weight,curve_list)
Converts the selected curves into C-splines with a specified number of control points nb_
points specifies the number of control points.
distrib_type specifies the control points distribution.
ratio specifies the maximum curvature ratio if distrib_type set to 1.
weight specifies the curvature weight if distrib_type set to 1.
l export_to_iges(filename,unit_flag)
Exports the geometrical entities in a IGES format.
unit_flag specifies the geometry length unit (for example 2 for [Millimeter]).
l export_to_parasolid(filename,list_entities)
Exports the selected entities in a Parasolid format.
list_entities is the list of curves and/or surfaces (specified with their name or as an object).
Point & Vector Classes
Two types of points can be constructed or manipulated within scripts:
l Points that are local to scripts and deleted when the script finishes. These points are used very
frequently as argument to functions to specify a 1D position such as a vertex position, for
example.
l Points that are created and stored in the geometry repository of IGG™. Such points typically
result from operations performed on curves or surfaces, such as curve-plane intersections.
These points are saved permanently when saving the IGG™ project, in the ".geom" file.
IGG™ currently supports four classes for the creation of points of the first type within scripts:
Point, Vector, CurvePointNorm, SurfPointNorm.
l Point(x,y,z)
l Vector(x,y,z)
Defines a point with coordinates x, y, z. This point is NOT created as a Cartesian Point in the
IGG™ repository. It is only local to the script. Vector class is just derived from Point class and
is used frequently as argument to functions to specify a direction. All operations on Points are
also available on Vectors.
Example:
p1 = Point(1,1.2,1+2) # create a point (class Point) with coords (1,1.2,3)
l CurvePointNorm(curve_name,normalized_position)
Defines a point on a curve given by its name at a normalized parameter position. This kind of
point is local to the script.
l SurfPointNorm (surf_name,normalized_u_pos,normalized_v_pos)
Defines a point on a surface given by its name and located at the normalized (u,v) parameters.
This kind of point is local to the script.
l get_perpendicular_dir()
Returns a new Vector object perpendicular to an existing Vector.
l rotate(line,angle)
Returns a new Point object by rotating an existing Point around a line by a specified angle (in
degree)
Points and Vectors coordinates can be accessed by calling directly their data members: x, y,
and z. Global operations on points are: +,-,/,*
Basic operations like adding or subtracting points are allowed.
Example:
p1 = Point(0,0,1)
print p1.x, p1.,y, p1.z
p2 = p1 + Point(0,0,1)
p3 = p2 - p1
p3 = p3/4.0 # divide all x, y, z coords by 4.0
p5=p3*2.0 # multiply x, y, z coords by 2.0
IGG™ currently supports one class for the creation of points of the second type within scripts:
CartesianPoint.
l CartesianPoint(p)
l delete()
Deletes the Cartesian Point.
l distance(p1,p2)
Computes the distance between two points.
Example: dist = distance(p1,p2)
l radial_distance(point,origin,axis)
Returns the distance between a point and a line defined by its origin (by default set to (0,0,0))
and its direction (by default set to (0,0,1)). The distance is measured perpendicularly to the
line.
l scalarProduct(p1,p2)
l crossProduct(p1,p2)
Computes the cross product or scalar product of two vectors.
Example:
v3 = crossProduct(p1,p3) # returns a Vector
a = scalarProduct(p1,p3) # returns a real stored in 'a'
l curve_curve_intersection(curve_list,tol)
Creates a Cartesian point at each intersection between all curves of the list. Returns the list of
points.
l curve_plane_intersection(point,vector,curve_list)
Creates a Cartesian point at each intersection between all curves of the list and the plane
specified by a point and its normal. Returns the list of points.
l curve_surface_intersection(surf,curve_list)
Creates a Cartesian point at each intersection between all curves of the list and the surface.
Returns the list of points.
surf is the surface specified with its name or through a Surface object.
l intersect_line_plane(line,plane)
Creates a Point object which is the intersection between the line and the plane.
Line Class
The Line class is used to define an infinite line by a Point (p) and a normalized Vector (v) or by
the intersection of two planes.
l Line(p,v)
l Line(plane1,plane2)
l get_point_at_param(t)
Returns a Point object which is defined on the line at a specified arc length parameter t.
Plane Class
The Plane class is used to define a plane by a point and a vector (normal to the plane).
l Plane(p,v)
PlanePPP Class
The PlanePPP class is derived from Plane class and defines a plane by three points
l PlanePPP(p1,p2,p3)
Range Class
The Range class is mostly used to specify a range of a face during an operation on this face.
l Range(imin,imax,jmin,jmax)
Constructs a range by specifying the limits along the I and J directions. These directions are
relative to the face for which the range will be used.
The indices start from 1.
imin, imax, jmin, jmax:
These are data members allowing to access the limits of the range. They can be accessed
directly, without the need of a function call.
Example:
r = Range(3,5,1,10) # range [3,5],[1,10]
print "Imax is ",r.imax # print the imax value of the range
IJKRange Class
The IJKrange class is mostly used to specify a range of a block during an operation on this
block.
l IJKRange(imin,imax,jmin,jmax,kmin,kmax)
Constructs a range by specifying the limits along the I, J and K directions. These directions are
relative to the block for which the range will be used.
The indices start from 1.
imin, imax, jmin, jmax, kmin, kmax:
These are data members allowing to access the limits of the range. They can be accessed
directly, without the need of a function call.
Example:
r = IJKRange(3,5,1,10,1,7) # range [3,5],[1,10],[1,7]
print "Imax is ",r.imax # print the imax value of the range
Box Class
The Box class is mostly used to define the bounding box of a geometrical entity.
l Box([xmin,xmax,ymin,ymax,zmin,zmax])
Constructs a bounding box by specifying the limits along the x, y and z directions.
xmin, xmax, ymin, ymax, zmin, zmax:
These are data members allowing to access the limits of the bounding box. They can be
accessed directly, without the need of a function call.
Example:
r = Box([3,5,1,10,1,7]) # bounding box defined with x=[3,5],y=[1,10],z=[1,7]
print "Xmax is "r.xmax # print the xmax value of the bounding box
h.1) Member functions
l get_min_size()
Returns the minimum length of the box.
l get_max_size()
Returns the maximum length of the box.
l get_min()/origin()
Returns the minimum point (origin) of the box as an object of class Point.
l get_max()
Returns the maximum point of the box as an object of class Point.
l get_center()
Returns the center of the box as an object of class Point.
l dx()/dy()/dz()
Returns the length of the box along x, y and z.
l contains(item)
Returns 1 or 0 if the item (object of class Point or class Box) is included or not in the box.
l inflate(alpha)
Allows to inflate the box by a factor alpha.
l printo()
Returns the minimum and maximum points of the box.
BoxRTZ Class
The BoxRTZ class is mostly used to define the bounding box of a geometrical entity in RTZ
coordinates.
l BoxRTZ([rmin,rmax,thetamin,thetamax,zmin,zmax])
Constructs a bounding box by specifying the limits along the r, theta and z directions.
rmin, rmax, thetamin, thetamax, zmin, zmax:
These are data members allowing to access the limits of the bounding box. They can be
accessed directly, without the need of a function call.
Curve Class
The Curve class is used to manipulate curves defined within IGG™. They are mostly used to
create higher level entities like surfaces or as a mean to place vertices of a block. Curves can be
created from the script file or accessed from the geometry repository. They can be accessed with
their name and can be stored as local object of type Curve.
l Curve(name)
Constructor for Curve class allowing to access an existing curve already defined in IGG™.
Example: c1 = Curve("polyline_1") # polyline_1 is the name of a curve in IGG™
Member functions
l num_ctr_pnt()
Returns the number of control points of the curve.
l get_control_point(i) (New in IGG™ v13.1)
Returns the ith control point of the curve as an object of class Point. Index starts from 1.
l first_ctr_pnt()
l last_ctr_pnt()
Returns the first and last control point of the curve.
l start_point()
l end_point()
.Returns the first and last point (CurvePointNorm object) of the curve.
l set_discretisation(n)
Set the curve discretization to n.
n is the number of points to discretize the curve.
l get_length()
Returns the length of the curve.
l get_p_min()
l get_p_max()
l delta_p()
Return respectively the min, max and difference (max-min) parameter value of the curve.
l calc_point(param)
Returns the point at the parameter value param. The returned point is an object of class Point.
param is an absolute parameter value between get_p_min() and get_p_max().
l calc_absolute(param_rel)
Returns the absolute position of the parameter value param_rel.
param_rel is a relative parameter value between 0 and 1.
l calc_normalize(param)
Returns the relative position of the parameter value param.
param is an absolute parameter value between get_p_min() and get_p_max().
l get_tangent(param)
Returns the tangent at the parameter value param. The returned value is an object of class
Vector.
param is an absolute parameter value between get_p_min() and get_p_max().
l get_box()
Returns the bounding box limits of the curve. The returned value is an object of class Box.
l project_point(point)
Projects a point onto the curve and returns the corresponding absolute parameter value.
point is the point to project and is of class Point. If the specified point is not on the curve, the
closest point on the curve is used instead.
Example:
p1 = Point(1,1,1)
abs_param = curve1.project_point(p1) # curve1 is an existing curve
p2 = curve1.calc_point(abs_param) # calc the point on the curve
(p1==p2 if p1 was on the curve)
l select()
l unselect()
Selects and deselects the curve.
l set_name(name)
Assigns a new name to the curve. The name must be unique and not already used by another
curve in the repository. If this condition is not met, an exception is raised.
l get_name()
Returns the name of the curve.
l show()
l hide()
Shows and hides the curve.
l reverse()
Reverses curve orientation. To reverse also the curve parametrization the argument is set to 1.
In that way, the vertex position is changed when reversing the curve.
l add_point(p)
Adds a control point on the curve. The type of <p> can be one of the Point classes
l insert_point(i,p)
Inserts a control point on the curve at ith location.
l remove_point(i)
Removes the ith control point on the curve.
l move_point(i,p)
Moves the ith control point on the curve at <p> location.
l split(p)
Splits the curve at its absolute parameter position <p>.
l distribute_points(distribution)
Returns a list of points (Point class objects) on the selected curve distributed according to an
imposed distribution (Distribution class). The list will always contain the first and the last point
of the curve.
Curve constructions (global functions)
Several functions are provided to create polylines, splines, arcs,…. These functions create a
curve entity in the IGG™ repository (saved with the project), which is returned within the
script as an object of type Curve.
l new_polyline()
l new_polyline(p1,..,pi)
l new_polyline(name,p1,...pi)
Constructs a polyline in the IGG™ geometry repository. The first function defines an empty
polyline. The other functions allow to specify points of the polyline. These points are objects
of class Point.
name is a unique name assigned to the curve. This argument is optional but it is however
strongly recommended to specify a name. It must be surrounded by quotes.
Example: p3 = new_polyline("poly1",Point(1,0,0),Point(1,1,0),Point(1,1,1))
l new_cspline()
l new_cspline (p1,..,pi)
l new_cspline (name,p1,...pi)
Constructs a cspline in the IGG™ geometry repository. See polyline for details about
arguments.
l new_bspline()
l new_bspline (p1,..,pi)
l new_bspline (name,p1,...pi)
Constructs a B- spline in the IGG™ geometry repository. See polyline for details about
arguments.
l create_circle_ppp(startpoint,endpoint,midpoint,name)
Creates an circle through three points.
name specifies the name assigned to the circle. The name may not already be used by another
curve in the repository.
l create_arc_ppp(startpoint,endpoint,midpoint,name)
Creates an arc through three points.
name specifies the name assigned to the arc. The name may not already be used by another
curve in the repository.
l create_arc_cnpp(orig,normal,startpoint,endpoint,name)
Creates an arc through two points and perpendicular to an anchored vector.
origin specifies the anchor point.
normal specifies the anchor vector direction.
name specifies the name assigned to the arc. The name may not already be used by another
curve in the repository.
l create_arc_nppr(normal,startpoint,endpoint,radius,sense,name)
Creates an arc through two points with a given radius and perpendicular to a normal.
normal specifies the normal vector.
radius specifies the arc radius.
sense specifies the arc position.
name specifies the name assigned to the arc. The name may not already be used by another
curve in the repository.
l create_circle_ncr(normal,orig,radius,name)
Creates a circle with a given radius, origin and in a plane defined by a normal and its origin.
normal specifies the normal vector.
origin specifies the circle origin.
radius specifies the circle radius.
name specifies the name assigned to the circle. The name may not already be used by another
curve in the repository.
l surf_surf_intersection(surf1,surf2,root_name)
Intersects two surfaces and returns a list of curves.
surf1 and surf2 are the two surfaces specified with their name or through a Surface object.
root_name specifies the root of the names assigned to the resulting intersection curves. It must
be surrounded by quotes.
Example:
curve_list = surf_surf_intersection(s1,"surface_2","first_inters")
for each curve in curve_list: print 'Result length',curve.length()
l surface_intersect_plane(surf,plane,root_name)
Intersects a surface with a plane.
surf is the surface being intersected. It is of class Surface.
plane defines the intersection plane and may be specified in three ways:
l Plane(origin,normal):
Defines the plane by an origin (class Point) and a normal (class Vector)
l PlanePPP(p1,p2,p3):
Defines the plane by three points (class Point)
l CurveNormPoint(curve,normalized_param):
Defines the plane by a point on a curve at the specified normalized parameter and normal to
the curve at the point.
root_name specifies the root of the names assigned to the resulting intersection curves. It must
be surrounded by quotes.
Examples:
surface_intersect_plane("surf2",Plane(Point(0.5,0,0),Vector(1,0,0)),"resu1")
surface_intersect_plane("surf2",CurveNormPoint("curve1",0.5),"resu1")
l surfaces_intersect_plane(surf_list,plane,root_name)
Intersects a surface with a plane.
surf_list is the list of surfaces being intersected.
plane defines the intersection plane and may be specified in three ways:
l Plane(origin,normal):
Defines the plane by an origin (class Point) and a normal (class Vector)
l PlanePPP(p1,p2,p3):
Defines the plane by three points (class Point)
l CurveNormPoint(curve,normalized_param):
Defines the plane by a point on a curve at the specified normalized parameter and normal to
the curve at the point.
root_name specifies the root of the names assigned to the resulting intersection curves. It must
be surrounded by quotes.
l project_on_surface(surface,normal)
Projects the curve on the surface according to the specified normal. Intersection curves are
returned in a list.
l extend_curves(start_extend,end_extend,curve_list)
Extends a set of curves at one or both ends in the direction tangent to the curve at the end
points. Returns a list of curves.
curve_list is the list of curves to be extended (i.e. c1,c2,c3). The curves are specified with their
name or as an object of class Curve.
l offset_curves(normal,start_offset,curve_list)
Creates curves by offsetting a set of curve with a constant offset distance. Returns a list of
curves.
l offset_curves_linear(normal,start_offset,end_offset,curve_list)
Creates curves by offsetting a set of curve with two offset distances. These distances
correspond respectively to the offset at the beginning and at the end of the curve. Returns a list
of curves.
l trim_curve(curve,param)
Creates curve by removing part of it from a location defined by the parameter value param.
param is an absolute parameter value between get_p_min() and get_p_max().
l set_curve_discretization(n,curve_list)
Set the curve discretization to n.
n is the number of points to discretize the curve.
l delete_curves(curve_list)
Deletes a set of curves.
Surface Class
Surfaces can be created from the script file or accessed from the geometry repository. They can be
accessed with their name and can be stored as local object of type Surface.
l Surface(name)
Constructor for Surface class allowing to access an existing surface already defined in IGG™.
Example: s1 = Surface("lofted_1") # lofted_1 is the name of a surface in IGG™
Member functions
l get_boundary_curves()
Returns the list of the curves defining the surface boundaries.
l get_boundary_curve(i)
Returns the ith curve of the list of the curves defining the surface boundaries.
l get_lofting_curves()
Returns the list of the curves defining the lofted surface.
l split(dir,param)
Splits the surface along a u, v curve defined by the parameter value param.
dir is the u or v direction.
param is an absolute parameter value.
l get_box()
Returns the bounding box limits of the surface. The returned value is an object of class Box.
l get_uv_box()
Returns the u and v limits of the surface. The returned value is an object of class Range.
l calc_point(u,v)
Returns the point at the parameter values u,v. The returned point is an object of class Point.
u and v are the absolute parameter values on the surface.
l calc_absolute(u,v)
Returns a 2-tupel with the absolute parameter values corresponding to the given relative ones.
u and v are the relative parameter values on the surface.
l add_uv_curve(param,dir)
Adds u and v curves in the surface.
param is an absolute parameter value.
dir is the u or v direction.
l project_point(point)
Projects a point onto the surface and returns the corresponding (u,v) absolute parameter values.
point is the point to project and is of class Point. If the specified point is not on the surface, the
closest point on the surface is used instead.
u,v are returned as a list [u,v].
Example:
p1 = Point(1,1,1)
[u,v] = surf1.project_point(p1) # surf1 is an existing surface
p2 = surf1.calc_point(u,v) # calc the point using u and v
(p1==p2 if p1 was on the surface)
l set_name(name)
Assigns a new name to the surface. The name must be unique and not already used by another
surface in the repository. If this condition is not met, an exception is raised.
l get_name()
Returns the name of the surface.
l select()
l unselect()
Selects and deselects the surface.
l show()
l hide()
Shows and hides the surface.
l delete()
Deletes the surface.
Surface constructions (global functions)
l lofted_surface(curve_list,name,rename_bnd_curve)
Constructs a lofted surface from a list of existing curves. A curve may be specified by its name
of by an object referencing the curve in the script (class Curve).
curve_list is the list of curves used to define the surface. It is a tuple and must be surrounded
by brackets (i.e. [c1,c2,c3]). The curves are specified with their name or as an object of class
Curve.
name is an optional name assigned to the surface.
rename_bnd_curve is an optional renaming of the bounding curves of the surface based on
the surface name (active when set to 1).
Example:
s1 = lofted_surface(["curve_1","curve_2"],"first_loft",1)
l surface_revolution(curve,Point(0,1,0),Vector(1,0,0),-90,"Surfacesisl_2")
Constructs a surface of revolution by rotating a curve around an axis.
curve is the curve to rotate and can be specified by its name or can be an existing object of
class Curve in the script.
l create_surface_from_face(face,name,rename_bnd_curve,surface_order)
Constructs a wireframe surface from a given face of a block.
face is the face from which to create a geometry surface and must be of class Face.
The function returns an object of class Surface.
name is an optional name assigned to the surface.
rename_bnd_curve is an optional renaming of the bounding curves of the surface based on
the surface name (active when set to 1).
surface_order is an optional order of the created wireframe. By default order 2 is applied but
order 3 can be imposed.
l coons_surface(curve1,curve2,curve3,curve4,name,rename_bnd_curve)
Constructs a surface from four curves.
curve is a curve defining the one of the four surface boundaries and must be of class Curve.
name is an optional name assigned to the surface.
rename_bnd_curve is an optional renaming of the bounding curves of the surface based on
the surface name (active when set to 1).
l linear_sweep_surface(curve1,curve2,name,rename_bnd_curve)
Constructs a surface from two curves.
curve is a curve defining the surface and must be of class Curve.
name is an optional name assigned to the surface.
rename_bnd_curve is an optional renaming of the bounding curves of the surface based on
the surface name (active when set to 1).
l offset_surface(surface,offset_dist,name,rename_bnd_curve)
Constructs a surface by offsetting a surface according to an constant offset distance.
name is an optional name assigned to the surface.
rename_bnd_curve is an optional renaming of the bounding curves of the surface based on
the surface name (active when set to 1).
l surfaces_set_representation(surf_list,n1,n2)
Defines additional curves in the two parametric directions of the surface.
l create_surface_from_faces(faces)
Constructs a set of surfaces from a list of block faces.
l extract_underlying_surfaces(surf_list)
Extracts underlying surfaces from a list of surfaces.
l split_by_surface(surf,root_name)
Constructs surfaces by splitting the surface with the surface surf.
surf defines the surface used to split (class Surface).
root_ name specifies the root of the names assigned to the resulting surfaces. It must be
surrounded by quotes.
l split_by_plane(plane,root_name)
Constructs surfaces by splitting the surface by a plane plane.
plane defines the plane used for the splitting and may be specified in three ways:
l Plane(origin,normal):
Defines the plane by an origin (class Point) and a normal (class Vector)
l PlanePPP(p1,p2,p3):
Defines the plane by three points (class Point)
l CurveNormPoint(curve,normalized_param):
Defines the plane by a point on a curve at the specified normalized parameter and normal to
the curve at the point.
root_ name specifies the root of the names assigned to the resulting surfaces. It must be
surrounded by quotes.
l surfaces_plane_split(surf_list,plane,root_name)
Constructs surfaces by splitting the surfaces in the list by a plane plane.
surf_list is the list of surfaces being split.
plane defines the plane used for the splitting and may be specified in three ways:
l Plane(origin,normal):
Defines the plane by an origin (class Point) and a normal (class Vector)
l PlanePPP(p1,p2,p3):
Defines the plane by three points (class Point)
l CurveNormPoint(curve,normalized_param):
Defines the plane by a point on a curve at the specified normalized parameter and normal to
the curve at the point.
root_ name specifies the root of the names assigned to the resulting surfaces. It must be
surrounded by quotes.
l delete_surfaces(surface_list)
Deletes a set of surfaces.
GeomGroup Class
The GeometryGroup class allows to classify geometrical entities by grouping them under the
same name.
l GeomGroup(name)
Constructor for GeomGroup class allowing to access an existing geometry group already defined
in IGG™.
Member functions
l add_items(entity)
Adds geometrical entities in the geometry group.
entity is a curve, surface, list of curves or list of surfaces
l remove_items(entity)
Removes geometrical entities from the geometry group.
entity is a curve, surface, list of curves or list of surfaces
l get_curves()
Returns a list of all curves in the geometry group.
l get_curve_names()
Returns a list of all curve names in the geometry group.
l get_surfaces()
Returns a list of all surfaces in the geometry group.
l get_surface_names()
Returns a list of all surface names in the geometry group.
l delete()
Deletes the geometry group.
Global functions
l geometry_group(group_name)
Returns a geometry group (GeomGroup class) by giving its name.
l create_geometry_group(name,entity)
Creates a new geometry group by giving its name.
entity is a curve, surface, list of curves or list of surfaces
C. Topology & Grid Classes Commands
Topology and grid entities consist of vertices, topological edges, fixed points, segments, edges
(grid), faces, patches and blocks.
These entities can be accessed in different ways: direct access or indirect access.
Direct access
Direct access consists of accessing an entity by its indices. For example the statement segment
(2,1,3,2) accesses the block 2, face 1, edge 3 and segment 2.
The main disadvantage of this method is that it makes it difficult to reuse a script in a different
context. Indeed, suppose the block 2 has just been created before accessing the segment.
Replaying this script in a context where other blocks exist will fail.
Indirect access
Indirect access allow entities to be accessed by referring to a name instead of by indices. Currently
names are only assigned to blocks. Other entities can be accessed relatively to the block name.
Global Functions
l copy_distrib(from,to,dir=SAME)
Copies the distribution from a topological entity to another one (entity can be either a segment,
edge, face or block).
l merge_patches()
Merges the patches that dot not belong to a given group or do not share common boundary
conditions in order to reduce engineering time for the definition of boundary conditions, by
decreasing the number of patches.
l get_clustering_info(length,computevariable,distributiontype,arguments).
Computes the clustering parameters given the length of a line or segment. the number of
arguments varies according to the distribution type and the variable to be computed.
length is the length of the line or segment. The commands to get respectively the length of an
existing line or segment are explained in the Curve class and Segment class sections.
computevariable can be set
SPACING or NUMBER_OF_POINTS.
to STRETCHING_ RATIO, START_ SPACING, END_
distributiontype can be set to START, END, START_END, START_END2 or TANH.
arguments are the arguments as number of points (nPoints), stretching, multigrid level
(mgLevel), spacing at start, spacing at end or number of constant cells (#cst cells) to be
specified depending of the computed variable and the distribution type according to the
following table.
START
END
START_
END
START_END2
TANH
STRETCHING_
RATIO
NUMBER_OF_
POINTS
START_
SPACING
nPoints,
spacing at
start
stretching,
mgLevel,
spacing at
start
nPoints,
stretching
nPoints,
spacing at
end
stretching,
mgLevel,
spacing at
end
n.a.
nPoints,
spacing at
start/end
nPoints, spacing at
start, spacing at end,
#cst cells
nPoints, spacing
at start, spacing at
end
stretching,
mgLevel,
spacing
stretching, mgLevel,
spacing at start,
spacing at end, #cst
cells
stretching,
mgLevel, spacing
at start, spacing at
end
nPoints,
stretching
n.a.
END_SPACING n.a.
nPoints,
stretching
nPoints,
stretching
n.a.
nPoints,
stretching,
spacing at end
nPoints,
stretching,
spacing at start
Examples
get_ clustering_ info (1000,"STRETCHING_ RATIO","START",81,1e- 4) #
the
expansion ratio when distribution type is set to start with an imposed cell size (1e-4) and a
number of points (81) on a line or segment of an imposed length (1000).
returns
get_clustering_info(1000,"NUMBER_OF_POINTS","END",1.2,4,1e-4) # returns the number
of points on a segment of a given length (1000) when a clustering at end is imposed with a
given expansion ratio (1.2), multigrid level (4) and cell size at end (1e-4).
get_ clustering_ info (1000,"STRETCHING_ RATIO","START_ END2",81,1e- 4,2e- 4,10) #
returns the expansion ratio on a segment of a given length (1000) when a clustering at both
ends 2 is imposed with a given number of points (81), cell size at start (1e-4) and end (2e-4),
and the number of constant cells (10).
Block Class
The Block class is used to access and manipulate blocks created within IGG™. Blocks can be
accessed with their index or their name, by using the global function block:
l block(B)
B is either the index of the block, starting from 1, or its name.
Examples
b1 = block(1) # access block 1 by its index, store it as a variable
b2 = block("gap_block") # access a block by its name
Operations can then be performed on the block by calling one of its member functions listed
below.
Examples
b2.set_size(21,21,21) # change the number of points of block 2
block(2).set_size(21,21,21) # another way to do the same operation
Member functions
l select()
Selects the block.
l delete()
Deletes the block.
l set_size(nI,nJ,nK,propagate)
Changes the size of the block. This function follows the same rule as the Grid/Grid Settings
menu.
propagate specifies whether the change should be propagated along segment connections (in
case of connected blocks). It can have the values 0 (no) or 1 (yes) and has a default value of 0
(for backward compatibility with older scripts).
l get_size()
Returns the size of the block.
l get_range()
Returns the range of the block. The returned range is of class RangeIJK.
l set_type(value)
Sets the type (fluid or solid) of the block.
l get_type()
Returns the type of the block.
l get_index()
Returns the block number.
l set_name(new_name)
Changes the name of the block.
Example: block(1).set_name("trailing")
l get_name()
Returns the name of the block.
l set_family_name(name)
Gives a family name to the block.
name is a string, surrounded by quotes, and must be maximum 30 characters.
l get_family_name()
Returns the family name given to the block.
l set_repetition("NONE" ,num_period)
l set_repetition("TRANSLATION",num_period,vector)
l set_repetition("ROTATION" ,num_period,orig,vector,num_passages)
l set_repetition("MIRROR" ,num_period,orig,vector)
Sets the periodicity information for the block. Four types can be specified: NONE,
TRANSLATION, ROTATION, MIRROR.
num_ period specifies the number of periodicities and is a real. It is only meaningful for
ROTATION and TRANSLATION. For a rotation, the periodicity angle is specified as: angle
= 360/num_period.
vector defines the direction and magnitude for TRANSLATION periodicity or the axis for
ROTATION/MIRROR periodicity. It is of class Vector (i.e. Vector(0,0,1)).
origin defines the origin of the axis for ROTATION/MIRROR periodicity. It is of class
Vector.
num_passages is an integer defining the number of meshed passages.
l get_repetition()
Returns the repetition parameters (type, num_repet, origin, axis) of the block.
l get_all_faces()
Returns a list of all the faces of the block, including the internal faces. Each element of the list
is of class Face.
l get_boundary_faces()
Returns a list of the boundary faces of the block. Each element of the list is of class Face.
l num_faces()
Returns the number of faces of the block, including internal faces.
l face(i)
Returns the ith face of the block. The index starts from 1.
l create_internal_face(dir,index)
Creates and returns an internal face for the block.
dir is the constant direction of the face and can be "I", "J" or "K". The edges of the face are
calculated from the existing block grid.
index is the position of the new face in the block (integer value).
l delete_internal_face(face)
Deletes the specified internal face from the block.
l num_internal_faces()
Returns the number of internal faces in the block.
l internal_face(index)
Returns an object of Face class corresponding to the internal face with the selected index.
l change_axis(I, J, K)
Changes the axis system of the block.
I, J and K are strings defining the transformation of the axis system. I specifies on which axis
the block I axis will be transformed and with which orientation. Following strings can be
chosen for either I, J or K : "Ihigh", "Ilow", "Jhigh", "Jlow", "Khigh", "Klow". "high" in a
string means that the new axis will have the same orientation whereas "low" means that the
orientation will be reversed. Obviously the three strings I, J and K cannot be equal and should
contain "I", "J" and "K" values. For example, arguments (Ihigh, Jhigh, Klow) will reverse the
block K axis.
l extend(face)
Extends the block from the selected face.
l split_block(dir,index)
Splits the block into two new blocks and returns them.
dir is the block direction along which it will be split and can be "I", "J" or "K".
index is the position of the splitting face mesh in the block (integer value).
l split_block_at_internal_faces()
Splits the block at each internal face and returns all the new created blocks.
l linear_2_bnd()
l linear_4_bnd()
l linear_6_bnd()
Generates the block using transfinite interpolation (2, 4 or 6 boundaries).
l smooth_3d(iteration)
Smooths the block with selected number of iteration.
l save_coords(filename,coarseI,coarseJ,coarseK)
Saves the coordinates of the block in the specified file name.
coarseI,coarseJ,coarseK are the coarse levels in the three directions. A value of 0 corresponds
to the finest level.
l num_of_I()
l num_of_J()
l num_of_K()
Returns the number of grid points along the I, J or K direction.
l grid_point(i,j,k)
Returns the grid point at index (i,j,k). The indices start from 1. The returned point is of class
Point.
l get_volume()
Returns the volume of the block mesh.
l vertex_corner(i)
Returns the ith vertex of the block corners.
l check_generation()
Checks if the block is generated in 3D.
l update_butterfly(butterfly_param)
Creates a butterfly topology in the block according to the specified parameters. All the
parameters of the Butterfly dialog box are available. Main use is to recreate a butterfly
topology after a first manual creation.
butterfly_param is a string containing all the parameters needed to the butterfly creation and
should look like the following example. It must start and end with triple quotes.
Example
#Butterfly_settings
butterfly_param = """ # Triple quotes
buffer_blocks: 1 1 1 1 1 1
direction: K
number_of_radial_points: 9
preferential_direction_buffer_depth1: 10
preferential_direction_buffer_depth2: 90
clustering_type: 4
clustering_start_spacing: 0.001
clustering_end_spacing: 0.02130209
clustering_constant_cells: 0
clustering_reciprocity: 0
creation_from_uniform_clustering: 0
smoothing_steps: 1
smoothing_expansion_ratio: 1.5
number_of_control_section: 2
control_section:0 section_id: 0 radial_depth: 20 number_of_additional_control_on_curve: 0
0.2 0.2
0.8 0.2
0.8 0.8
0.2 0.8
control_section:1 section_id: 8 radial_depth: 20 number_of_additional_control_on_curve: 0
0.2 0.2
0.8 0.2
0.8 0.8
0.2 0.8
""" # Triple quotes
block(1).update_butterfly(butterfly_param)
l create_butterfly_from_scratch(butterfly_param)
Creates a butterfly topology in the block according to the specified parameters. This function
optimizes the shape of the butterfly topology with a restricted list of parameters as input.
Obviously all the settings are not available as with the function update_butterfly. Used to
create a butterfly topology in simplified geometries.
butterfly_param is a list of parameters needed for the butterfly creation and should look like
the following example.
Example
# Butterfly settings
buffers = [0,0,1,1,1,1] # No buffer at faces 1 and 2.
direction = "K"
radial_depth_value = 30
nk = 9
clust_type = 4 # Hyperbolic tangent clustering type
clust_start = 1e-3 # Start spacing
clust_cst_cells = 0 # Unused for this clustering type
clust_reciprocity = 0
from_uniform_clustering = 0
param_list = buffers + [direction, radial_depth_value, nk, clust_type,
clust_start, clust_cst_cells, clust_reciprocity,
from_uniform_clustering]
block(1).create_butterfly_from_scratch(param_list)
l smooth_butterfly(smoothing_steps, multigrid, expansion_ratio)
Specified elliptical smoothing to the butterfly topology after creating the butterfly.
l delete_butterfly()
Deletes the butterfly topology of the block.
l split_butterfly()
Splits the butterfly topology of the block.
l split_and_merge_butterfly()
Splits the butterfly topology of the block and merges into one block all the buffer blocks
"normal" to the preferential direction of the butterfly topology.
l get_butterfly_parameters()
Returns the butterfly topology parameters of the block.
l refine_block(refine_I,refine_J,refine_K)
Refines the block in the I, J and K directions.
l on_point(vertex,p)
Moves the vertex of the block at the new location p. p is an object of class Point.
l on_curve_normalized(vertex,curve,npar)
Moves the vertex of the block at the relative location defined on the curve by the parameter
value npar.
l on_surf(vertex,surf,u,v)
Moves the vertex of the block at the location defined on the surface by the parameter values u,
v.
l on_surf_normalized(vertex,surf,nu,nv)
Moves the vertex of the block at the relative location defined on the surface by the parameter
values nu, nv.
l on_cci(vertex,c1,c2)
Moves the vertex of the block at the intersection point between curves c1 and c2.
l show_face_grid()
l hide_face_grid()
Shows or hides the grid on the block faces.
l show_edges()
l hide_edges()
Shows or hides the edges of the block.
l show_face_shade()
l hide_face_shade()
Shows or hides the shading on faces of the block.
Global functions
l new_block()
Creates a unit cube block at the origin.
l new_block(p1,p2,p3,p4,p5,p6,p7,p8)
Creates a new block by specifying its eight vertices. The type of <pi> can be
one the Point classes.
l new_block_face()
l new_block_face(p1,p2,p3,p4)
Creates a new block by initializing only one face (face 1).
l extrude_new_block(ref_face,range,magnitude,normal_mode,dir,connect_topology)
Creates a new block by extruding from an existing block face.
ref_face is the face used a the basis for extrusion.
range is the range of the reference face to extrude and is of class Range.
magnitude is the magnitude of the extrusion (default set to 0)
normal_mode specifies the mode for the normal extrusion (0 for average normal, 1 for normal
to face and 2 for user direction).
dir specifies the direction when the normal_mode is set to 2 (user direction). Its type is Vector.
connect_topology is set 0 if deactivated or 1 if activated
Example: extrude_new_block(face(1,2),Range(27,39,9,27),0,2,Vector(1,0,0),1)
l block_by_face_extrusion(face,vector,edge_create,geom_create,surf)
Generates a 3D block by translating an existing face.
l block_ by_ face_ extrusion_ comb (face,vector,type,orig,angle,scale,edge_ create,geom_
create,surf)
Generates a 3D block by translation combined with a rotation and/or scaling of an existing
face.
l block_by_face_extrusion_normal(face,magn,edge_create,geom_create,surf)
Generates a 3D block by expanding an existing face.
l block_by_face_extrusion_radial(face,orig,vec,magn,edge_create,geom_create,surf)
Generates a 3D block by expanding radially an existing face according to the specified axis.
l block_by_face_rotation(face,axis,angle,edge_create,geom_create,surf)
Generates a 3D block by rotating an existing face.
l blocks_merge(face,topology_merging=1)
Merges two blocks with a common face.
l num_of_blocks()
Returns the number of blocks in the current project.
l transform_blocks_translate(blocks,vec,duplic_geom_create = 0)
Translates a set of blocks along a vector.
blocks is a list of blocks, between brackets (i.e. ["block_1","block_2",…]. Specifying a block
group is currently not permitted.
vec specifies the translation vector, in direction and magnitude.
geom_create specifies whether to duplicate the geometry or not (0 or 1).
l transform_blocks_rotate(blocks,orig,vec,angle,geom_create = 0)
Rotates a set of blocks around a given axis.
blocks is a list of blocks, specified between brackets (i.e. ["block_ 1", "block_ 2",…].
Specifying a block group is currently not permitted.
orig is the origin of the rotation axis.
vec is the direction of the rotation axis.
angle is the rotation angle specified as a real N (angle in degree = 360/N).
geom_create specifies whether to duplicate the geometry or not (0 or 1).
l transform_blocks_scale(blocks,scale_vec,geom_create = 0)
Scales a set of blocks around a given axis.
blocks is a list of blocks, specified between brackets (i.e. ["block_ 1", "block_ 2",…].
Specifying a block group is currently not permitted.
scale_vec is a vector (type Vector) given the scale factor in the three directions.
geom_create specifies whether to duplicate the geometry or not (0 or 1).
l duplicate_blocks(blocks,transform,number,orig,vector,angle,topo_create,snap_vertex)
Duplicates a set of blocks.
l duplicate_blocks_translate(blocks,number,vector,topo_create,snap_vertex)
Duplicates a set of blocks by translating.
l duplicate_blocks_rotate(blocks,number,orig,vector,angle,topo_create,snap_vertex)
Duplicates a set of blocks by rotating.
l duplicate_blocks_scale(blocks,number,scale_vector,topo_create,snap_vertex)
Duplicates a set of blocks by scaling.
l set_repetition_all_blocks(…)
This function sets a periodicity information for all the blocks in the project at once. The
arguments are the same as the function set_repetition of the class Block. See class Block for
more information.
Face Class
The Face class allows to manipulate and perform operations on existing faces of a block. Faces
can be accessed using the global function face:
l face(B,F)
B is either the index of the block, starting from 1, or its name.
F is the index of the face to access, starting from 1. This function returns an object of class
Face that can be stored locally.
Example
f1 = face(2,1) # get face 1 of block 2
f1 = face("block_2",1) # accessing the face using the block name
f1.new_patch(...) # use f1 to apply a member function.
Member functions
l select()
Selects the face.
l get_n1()
l get_n2()
Returns the number of grid points along directions 1 and 2.
l calc_point(i,j)
Returns the grid point corresponding to the index i and j. The indices start from 0.
l set_node_coord(i,j,point)
Moves the face grid point i,j at the specified point location.
l get_center()
Returns the grid coordinates of the face center (i/2,j/2)
l get_center_normal()
Returns the vector normal at the face center (i/2,j/2)
l get_number()
Returns the number of the face.
l get_range()
Returns the range of the face. This function returns an object of class Range.
l num_edges()
Returns the number of edges of the face, including the internal edges.
l edge(i)
Returns the ith edge of the face. The index starts from 1.
l num_patches()
Returns the number of patches of the face.
l patch(i)
Returns the ith patch of the face. The index starts from 1.
l delete_patch(patch_index)
Deletes the patch.
l new_patch(range)
Creates a new patch by specifying its range.
range is of class Range.
l create_internal_edge(dir,index)
Creates an internal edge along dir at specified index.
dir specifies the variable direction of the edge and can have the values 1 or 2. For example: for
an IJ face dir = 1 means the edge will vary along I and will be constant for J.
l create_internal_edge_on_curve(dir,index,iglRatio1,iglRatio11,iglRatio2,iglRatio22)
Creates an internal edge along dir at specified index. The internal edge will be orthogonal to
the boundary edges according to the specified ratio.
l create_grid_point(i,j)
Creates two internal edges at both specified direction index i and j.
l cubic_2Bnd(type,start1,end1,start2,end2,ratio1,rato2,edge_map=1)
Generates the face with boundary orthogonality control.
l linear_2Bnd(type,range,edge_map=1)
Generates the face using an algebraic 2 boundaries interpolation.
range specifies the range of the face on which to apply the interpolation. This parameter is
optional, if omitted the full range of the face is taken.
type corresponds to BND_12 or BND_34.
l linear_4Bnd(range):
Generates the face using an algebraic 4 boundaries interpolation.
range specifies the range of the face on which to apply the interpolation. This parameter is
optional, if omitted the full range of the face is taken.
Example: face(1,2).linear_4Bnd(Range(1,6,1,9))
l mapping_linear(surf,range,edge_map=1)
Generates the face using a mapping on the selected surface.
l mapping_cubic(surf,type,start1,end1,start2,end2,ratio1,rato2,edge_map=1)
Generates the face using a mapping on the selected surface with boundary orthogonality
control.
l project_on_surfs([surf_list],bound_projection,validation,proj_ratio,Range(1,4,1,9))
l smooth(smooth_ratio=1,range=0,edge_map=1)
Generates the face using an elliptical smoothing.
l smooth_on_surface(surf,smooth_ratio=1,range=0,edge_map=1)
Generates the face on a specified surface using an elliptical smoothing.
l delete_operation(i)
Removes the ith generation operation of the face.
l on_point(vertex,p)
Moves the vertex of the face at the new location p. p is an object of class Point.
l on_curve(vertex,curve,param)
Moves the vertex of the face at the location defined on the curve by the parameter value
param.
param is an absolute parameter value between get_p_min() and get_p_max() of the curve.
l on_curve_normalized(vertex,curve,npar)
Moves the vertex of the face at the relative location defined on the curve by the parameter
value npar.
l on_surf(vertex,surf,u,v)
Moves the vertex of the face at the location defined on the surface by the parameter values u,
v.
l on_surf_normalized(vertex,surf,nu,nv)
Moves the vertex of the face at the relative location defined on the surface by the parameter
values nu, nv.
l on_cci(vertex,c1,c2)
Moves the vertex of the face at the intersection point between curves c1 and c2.
l save_coords(filename)
Saves in the filename the coordinates of the face.
l save_patch_coords(filename)
Saves in the filename the coordinates of all the face patches.
l save_boundary_coords(filename)
Saves in the filename the coordinates of the face boundaries.
l delete(delete_edges = 0)
Deletes the face. Only valid for internal faces.
l change_index(new_index)
Changes the index of the face. Only valid for internal faces.
l show_face_grid()
l hide_face_grid()
Shows or hides the grid on the face.
l show_edges()
l hide_edges()
Shows or hides the edges of the face.
Global functions
l copy_face_range(orig_face,orig_range,target_face,target_range,dir1,dir2)
Copies a part of a face to another face, possibly with a different orientation dir1 and dir2.
dir1 and dir2 corresponds to either ILOW, IHIGH, JLOW or JHIGH.
l regenerate_faces(face)
Regenerates the specified face. The argument must be of class Face.
l regenerate_faces(block)
Regenerates all the faces of a block. The argument must be of class Block.
l regenerate_faces(face_list)
Regenerates a list of faces.
face_list is a list of faces specified as [face1,face2,...,facei], where facei is an object of class
Face, or the name of the face. The [] must be present in the list definition.
l regenerate_all_block_faces()
Regenerates all the faces of all the blocks in the project.
Examples
regenerate_faces(face(1,1)) # regenerates the face 1 of block 1
f1 = face(2,4) # getting face 4 of block 2
f2 = face(2,5) # getting face 5 of block 2
regenerate_faces([f1,f2]) # regenerates both faces
regenerate_faces(block(1)) # regenerates all faces of block 1
smooth_plane_face_list(smoothing_steps,multigrid)
Smooths the list of planar faces with the specified smoothing steps.
multigrid is an optional argument to apply multigrid smoothing. By default set to 0.
Patch Class
The Patch class allows to manipulate and perform operations on existing patches of a face.
Patches can be accessed using the global function patch:
l patch(B,F,P)
B is either the index of the block, starting from 1, or its name.
F, P are the indices of the face and patch to access, starting from 1. This function returns an
object of class Patch that can be stored locally.
Examples
p1 = patch(2,1,2) # access block 2, face 1, patch 2
p2 = patch("inlet_block",1,2) # access the patch by specifying the block name
Member functions
l set_name(name)
Gives a name to the patch.
name is a string, surrounded by quotes, and must be maximum 30 characters.
l get_name()
Returns the name given to the patch.
l set_family_name(name)
Gives a family name to the patch.
name is a string, surrounded by quotes, and must be maximum 30 characters.
l get_family_name()
Returns the family name given to the patch.
l set_type(type)
Assigns a boundary condition type to the patch.
type is the BC type and can have the following values: UND, EXT, INL, OUT, MIR, SNG,
SOL, ROT.
l get_type()
Returns the boundary condition type currently assigned to the patch.
l get_range()
Returns the range of the patch. This function returns an object of class Range.
l num_of_1()
Returns the number of points in direction 1.
l num_of_2()
Returns the number of points in direction 2.
l grid_point(i,j)
Returns the grid point corresponding to the index i and j.
l divide(range)
Divides the patch in two. During the division one new patch is created. The limits of the
current patch are adapted to reflect the division.
l set_limits(range)
Assigns new limits to the patch.
range specifies the limits (starting from 1) and must be of class Range.
Example
patch(2,1,2).set_limits(Range(1,1,9,5)
l divide_by_range(range)
Divides the patch in two. During the division one new patch is created. The limits of the
current patch are adapted to reflect the division.
Example
patch("Block_1",3,1).divide_by_range(Range(1,9,1,13))
l resize(range)
Assigns new limits to the patch.
range specifies the limits (starting from 1) and must be of class Range.
Example
patch("Block_1",3,1).resize(Range(1,9,1,21))
patch("Block_1",3,2).resize(Range(1,9,21,29))
l get_periodic_sign()
Returns the sign of the connection orientation if the patch is involved in a periodic connection.
l get_block_face_patch_indices()
Returns the block, face and patch indices of the patch.
l get_connected_patch()
Returns an object of the Patch class corresponding to the connected patch if existing.
l get_connected_corner()
Returns the corner indice (0, 1, 2 or 3) that determines how the connected patch connects to
the patch currently described (more details on FIGURE 12.4).
l get_connected_orient()
Returns the orientation indice (0 or 1) that determines how the connected patch connects to the
patch currently described (more details on FIGURE 12.4).
l delete()
Deletes the patch.
l show_solid(r,g,b)/hide_solid()
Shows or hides solid shading on the patch. r, g and b are integers from 0 to 255 defining
amount of respectively red, green and blue.
l show_grid(r,g,b)/hide_grid()
Shows or hides grid on the patch. r, g and b are integers from 0 to 255 defining amount of
respectively red, green and blue.
Edge Class
The Edge class is used to manipulate and perform operations on existing edges of a block. An
Edge can be accessed with the edge command:
l edge(B,F,E)
B is the index of the block, starting from 1, or its name.
F, E are the indices of the face and edge starting from 1. This function returns an object of
class Edge that can be stored locally.
Examples
e = edge (1,2,1) # access edge 1 of Block 1, face 2
e = edge("ablock",2,1) # access the same edge using the name of the block
Member functions
l num_vertex()
Returns the number of vertices on the edge.
l vertex(i)
Returns an object of the Vertex class corresponding to the ith edge vertex.
l get_number_of_points()
Returns the number of points on the edge.
l grid_point(i)
Returns an object of the Point class corresponding to the ith grid point of the edge. The indice
starts from 1.
l get_face_1()
Returns an object of Face class corresponding to the edge 1st parent face.
l get_face_2()
Returns an object of Face class corresponding to the edge 2nd parent face.
l get_other_face()
Returns an object of Face class corresponding to the 1st parent face or 2nd parent face if
respectively face corresponds to the 2nd parent face or 1st parent face.
l num_segments()
Returns the number of segments of the edge.
l segment(i)
Returns the ith segment of the edge. The index starts from 1.
l change_index(new_index)
Changes the index of the edge. Only valid for internal edges.
l delete()
Deletes the edge. Only valid for internal edges.
l insert_vertex(norm_param)
Inserts a new vertex at the specified normalized parameter value. A value of 0 corresponds to
the beginning of the edge while a value of 1 corresponds to its end.
l insert_fixed_point_at_norm_param(norm_param)
Inserts a new fixed point at
corresponds to the beginning of the edge while a value of 1 corresponds to its end.
the specified normalized parameter value. A value of 0
l move_fixed_point(index,norm_param)
Moves an existing fixed point specified by its index at the specified normalized parameter
value. A value of 0 corresponds to the beginning of the edge while a value of 1 corresponds to
its end.
l create_curve(name)
Creates underlying curve with a userdefined name.
l on_point(vertex,p)
Moves the vertex of the edge at the new location p. p is an object of class Point.
l on_curve(vertex,curve,param)
Moves the vertex of the edge at the location defined on the curve by the parameter value
param.
param is an absolute parameter value between get_p_min() and get_p_max() of the curve.
l on_curve_normalized(vertex,curve,npar)
Moves the vertex of the edge at the relative location defined on the curve by the parameter
value npar.
l on_surf(vertex,surf,u,v)
Moves the vertex of the edge at the location defined on the surface by the parameter values u,
v.
l on_surf_normalized(vertex,surf,nu,nv)
Moves the vertex of the edge at the relative location defined on the surface by the parameter
values nu, nv.
l show_edge()
l hide_edge()
Shows or hides the specified edge.
TEdge Class
The TEdge class is used to perform mapping operations on existing edges of a block. A
topological edge can be accessed with the tedge command:
l tedge(B,F,E,index)
B is the index of the block, starting from 1, or its name.
F, E are the indices of the face and edge starting from 1.
index is the index of the edge
This function returns an object of class TEdge that can be stored locally.
Member functions
l set_curve_map(curve)
Maps the edge on the specified curve.
l set_surf_map(surface)
Maps the edge on the specified surface.
l set_surf_map_type(type)
Defines the type (param or plane) of surface map.
Segment Class
The Segment class is used to manipulate and perform operations on existing segments of an edge.
A segment can be accessed with the segment command:
l segment(B,F,E,S)
B is the index of the block, starting from 1, or its name.
F, E and S are the indices of the face, edge and segment, starting from 1. This function returns
an object of class Segment that can be stored locally.
Examples
s = segment (1,2,1,2) # access segment 2 of Block 1, face 2, edge 1
s = segment("ablock",2,1,2) # access the same segment using the name of the block
Alternatively, the segment can also be accessed using an Edge object:
edge = edge(1,2,1) # get edge of block 1, face 2, edge 1
s = edge.segment(2) # get segment 2 of the previous edge
Member functions
l increase_size(new_number_of_point)
Increases the size of a segment.
l set_number_of_points(new_number_of_point,propagate)
Changes the number of points on a segment.
propagate is set to 0 or 1 to propagate the changement to the blocks connected to the active
block.
l setUpLimit(upLimit)
Changes the maximum index of the segment without changing the edge total number of points.
l get_number_of_points()
Returns the number of grid points of the segment.
l get_length()
Returns the length of the underlying curve of the segment.
l get_discrete_length()
Returns the length of the polyline connecting the grid points of the segment.
l grid_point(i)
Returns an object of class Point corresponding to ith grid point of the segment. Indices starts
from 1.
l cluster_start(distance)
l cluster_end(distance)
l cluster_both_ends(distance)
Clusters at start, end or both ends with a given absolute value representing the size of the first
(last) cell.
l cluster_both_ends2(start_dist,end_dist,num_cst_cell)
Clusters at both ends by specifying the start and end distances as well as a number of constant
cells. If the algorithm does not converge, it resets a uniform clustering.
l cluster_tanh(start_dist,end_dist)
Specifies a hyperbolic tangent stretching by specifying the start and end distances. Distances
are given as absolute values.
Example: segment(1,1,1,1).cluster_tanh(0.01,0.01)
l cluster_uniform()
Resets the clustering of the segment to uniform.
l cluster_bound_layer(start_dist,end_dist,start_thick,end_thick,num_cell_start,num_cell_end)
Specifies a boundary layer by its number of cells, thickness and first cell size at both ends of
the segment.
l cluster_curvature(ratio,weight)
Computes a clustering distribution based on the segment curvature.
l cluster_user_defined(distribution)
Applies the specified distribution (Distribution class) directly on a segment. The distribution
type of this segment is set to UNDEFINED.
l get_distribution_info()
Returns the distribution of points on a segment depending of the type of distribution.
l smoother_bc(type,cell_width,exp,ncell)
Specifies the boundary type for the bounding segments of the set of faces to smooth: 0 for
solid wall, 1 for moving, 3 for fixed and 5 for undefined.
Vertex Class
The Vertex class is used to manipulate vertices of a block. A vertex can be accessed with the
vertex command:
l vertex(B,F,E,V)
B is the index of the block, starting from 1, or its name.
F, E and V are the indices of the face, edge and vertex, starting from 1. This function returns
an object of class Vertex that can be stored locally.
Examples
v = vertex (1,2,1,2) # access vertex 2 of Block 1, face 2, edge 1
v = vertex("ablock",2,1,2) # access the same vertex using the name of the block
Member functions
l get_coords()
Returns the position of the vertex as an object of class Point.
Example
p = vertex(1,2,1,1).get_coords()
print "Coords are",p
l attach_fix_points()
Enables to attach a fixed point to the vertex.
l disconnect()
Disconnects the vertex.
l set_tolerance(tol)
Specifies the relative vertex tolerance.
l set_curve_map(curve_map)
Enables the vertex to map on curves.
l set_curve_int_map(map_flag)
Enables the vertex to map on curves intersections.
l set_curve_end_pt_map(map_flag)
Enables the vertex to map on the curves ends.
l set_surf_map(surf_map)
Enables the vertex to map on the surfaces.
l move(p)
Moves the vertex at the new location p.
l on_point(p)
Moves the vertex at the new location p. p is an object of class Point.
l on_curve(curve,param)
Moves the vertex at the location defined on the curve by the parameter value param.
param is an absolute parameter value between get_p_min() and get_p_max() of the curve.
l on_curve_normalized(curve,npar)
Moves the vertex at the relative location defined on the curve by the parameter value npar.
l on_surf(surf,u,v)
Moves the vertex at the location defined on the surface by the parameter values u, v.
l on_surf_normalized(surf,nu,nv)
Moves the vertex at the relative location defined on the surface by the parameter values nu, nv.
l on_cci(c1,c2)
Moves the vertex at the intersection point between curves c1 and c2.
l delete()
Deletes the vertex.
FixedPoint Class
The FixedPoint class is used to manipulate fixed points of a block. A fixed point can be accessed
with the fixed_point command:
l fixed_point(B,F,E,V)
B is the index of the block, starting from 1, or its name.
F, E and V are the indices of the face, edge and vertex, starting from 1. This function returns
an object of class FixedPoint that can be stored locally.
Member functions
l change_index(index,edge=0)
Enables to change the index of the fixed point.
l delete()
Deletes the fixed point.
Topology Placement
Several global functions are provided to place the topology of a block onto a geometry. The most
common method is to place the vertices by using the move_vertex command.
It is also possible to move a complete edge, face or block at once by using the move_edge,
move_face or move_block functions.
In all the cases the new position is defined by a point object which can be specified in three ways
.
When moving an edge, face or block, a reference vertex must be specified together with its new
position.
l move_vertex(vertex,position)
Moves the specified vertex at the new position.
vertex is the vertex to move and is of class Vertex.
position is the new location of the vertex.
Example: move_vertex(vertex(1,1,1,1),CurvePointNorm("cspline_1",0.5))
l move_edge(edge_object,ref_vertex,new_vertex_position)
Moves the whole given edge (class Edge) to a new position. The new position of the edge is
calculated by moving ref_vertex (class Vertex) to new_vertex_position (class Point).
l move_face(face_object,ref_vertex,new_vertex_position)
Moves the whole given face (class Face) to a new position. The new position of the face is
calculated by moving ref_vertex (class Vertex) to new_vertex_position (class Point).
l move_block(block_object,ref_vertex,new_vertex_position)
Moves the whole given block (class Block) to a new position. The new position of the block is
calculated by moving ref_vertex (class Vertex) to new_vertex_position (class Point).
ClusteringGroup Class
The ClusteringGroup class is used to create and manipulate group of clustering.
Member functions
l add_segment(segment,orientation)
Adds a segment in the clustering group with the specified orientation.
orientation is the way the clustering of the group will be applied on the added segment
respecting (when set to 1) or not (when set to 0) its orientation.
l remove_segment(segment)
Removes a segment from the clustering group.
l reverse_segment_orient(segment)
Reverses the segment orientation of the clustering group.
l get_segment_list()
Returns a list of objects of the Segment class.
l delete()
Deletes the clustering group.
l cluster_start(distance)
l cluster_end(distance)
l cluster_both_ends(distance)
Clusters at start, end or both ends with a given absolute value representing the size of the first
(last) cell.
l cluster_both_ends2(start_dist,end_dist,num_cst_cell)
Clusters at both ends by specifying the start and end distances as well as a number of constant
cells. If the algorithm does not converge, it resets a uniform clustering.
l cluster_tanh(start_dist,end_dist)
Specifies a hyperbolic tangent stretching by specifying the start and end distances. Distances
are given as absolute values.
Example: segment(1,1,1,1).cluster_tanh(0.01,0.01)
l cluster_uniform()
Resets the clustering of the segment to uniform.
l cluster_bound_layer(start_dist,end_dist,start_thick,end_thick,num_cell_start,num_cell_end)
Specifies a boundary layer by its number of cells, thickness and first cell size at both ends of
the segment.
l cluster_curvature(ratio,weight)
Computes a clustering distribution based on the segment curvature.
Global functions
l create_clustering_group(name)
Creates a new clustering group with the given name.
l clustering_group(name)
Returns an object of ClusteringGroup class.
SegmentGroup Class
The SegmentGroup class is used to create and manipulate group of segments.
Member functions
l add_segment(segment)
Adds a segment in the segment group.
l remove_segment(segment)
Removes a segment from the segment group.
l get_segment_list()
Returns a list of objects of the Segment class.
l delete()
Deletes the segment group.
l smoother_bc(type,cell_width,exp,ncell)
Specifies the boundary type for the bounding segment group of the set of faces to smooth: 0
for solid wall, 1 for moving, 3 for fixed and 5 for undefined.
l apply_continuous_distrib(start_spacing,end_spacing)
Imposes a continuous distribution between all segments of the group.
Global functions
l create_segment_group(name)
Creates a new segment group with the given name.
l segment_group(name)
Returns an object of SegmentGroup class.
FaceGroup Class
Face grouping functionalities are available through the FaceGroup class. The users can apply
multiblock smoothing on face group.
Member functions
l add_face(face)
Adds a face to the group.
face specifies the face and is a name or a Face object.
l remove_face(face)
Removes a face from the group.
face specifies the face and is a name or a Face object.
l get_face_list()
Returns a list of objects of the Face class.
l planar_smoothing(smoothing_steps)
Specifies multiblock elliptical smoothing on the specified group of faces.
l delete()
Deletes the group.
Global functions
l create_face_group(group_name)
Creates a new group with the given name. The name must be a unique name not already used
by another group. In case a group already exists with that name, an exception is raised.
l face_group(name)
Gets the face group by its name. Returns an object of class FaceGroup.
BlockGroup Class
Block grouping functionalities are available through the BlockGroup class. The users can create
or delete block groups as well as add or remove blocks from a group. Groups can be used with
several grid functionalities like block generation.
Member functions
l add_block(block)
Adds a block to the group.
block specifies the block and is a name or a Block object.
l remove_block(block)
Removes a block from the group.
block specifies the block and is a name or a Block object.
l delete()
Deletes the group. Using the object after deleting it is forbidden.
Global functions
l create_block_group(group_name)
Creates a new group with the given name. The name must be a unique name not already used
by another group. In case a group already exists with that name, an exception is raised.
l block_group(name)
Gets the block group by its name. Returns an object of class BlockGroup.
Distribution Class
The Distribution class allows to define a distribution on a segment of given length and given
number of points. A Distribution object is initialized with (a copy of) an arc length distribution or
just a number of points (then, the distribution is set to be uniform with length 1).
Example
distribution2 = Distribution(33) # initialized a unit length with 33 points
distribution2.set_length(10) # sets length to 10
distribution2.cluster_both_ends(1) # sets clustering at end with cell size at end to 1
segment (1,1,2,1).cluster_ user_ defined (distribution2) # imposes user- defined distribution on
segment
Member functions
l cluster_start(distance)
l cluster_end(distance)
l cluster_both_ends(distance)
Clusters at start, end or both ends with a given absolute value representing the size of the first
(last) cell.
l cluster_both_ends2(start_dist,end_dist,num_cst_cell)
Clusters at both ends by specifying the start and end distances as well as a number of constant
cells. If the algorithm does not converge, it resets a uniform clustering.
l cluster_tanh(start_dist,end_dist)
Specifies a hyperbolic tangent stretching by specifying the start and end distances. Distances
are given as absolute values.
l cluster_uniform()
Resets the clustering of the segment to uniform.
l normalize()
Sets the length of the distribution to 1 without changing the number of points.
l set_length(length)
Sets the length to an arbitrary value.
D. Connection Commands
Connection commands allow to perform connections for the different entities manipulated in
IGG™: vertices, topological edges, segments and patches. The commands correspond to the
options available in the Quick Access Pad/Grid/Connect menu or in the Boundary Conditions
dialog box.
l connect_edges(edge1,edge2,level,tol)
Connects two block edges together at the specified level and with the given tolerance.
edge1 and edge2 are the two edges to connect and must be of class Edge. The first edge is
taken as reference.
level specifies what to connect. It can take one of the following values: VERTEX, ORPHAN,
SEGMENTS, EDGES or ALL. Quotes must surround these values.
tol is a real, specifying the absolute tolerance for connections. It is optional, if omitted it has a
default of 1e-5.
l connect_faces(face1,face2,level,tol)
Connects two faces together at the specified level and with the given tolerance.
face1 and face2 are the two faces to connect and must be of class Face. The first face is taken
as reference.
level specifies what to connect. It can take one of the following values: VERTEX, ORPHAN,
SEGMENTS, EDGES, PATCHES or ALL. Quotes must surround these values;
tol is a real specifying the absolute tolerance for connections. It is optional, if omitted it has a
default of 1e-5.
l connect_whole_grid(level,tol)
Connects the whole grid at a given level.
level specifies what to connect. It can take one of the following values: VERTEX, ORPHAN,
SEGMENTS, EDGES, PATCHES or ALL. Quotes must surround these values;
tol is a real specifying the absolute tolerance for connections. It is optional, if omitted it has a
default of 1e-5.
l search_connections(tol)
Searches all the connections of type CON, NMB, PER, PERNM, falling within a given
tolerance. This function corresponds to the Search button in the Grid/Boundary Conditions...
dialog box.
tol is the tolerance search given in absolute units.
l connect_patches(patch1,patch2,dir1,dir2,con_type,tol)
Manually connects two patches by specifying their relative orientation and connection type.
IGG™ will check the validity of the connection. This function corresponds to the Manual
button in the Boundary Conditions dialog box.
patch1, patch2 are the two patches to connect and must be of class Patch.
dir1,dir2 specify the relative connection orientation. It can take one of the following values:
IHIGH, ILOW, JHIGH, JLOW (surrounded by quotes).
con_type specifies the type of connection: CON, NMB, PER, PERNM.
tol is the absolute tolerance used for connecting.
Example:
connect_patches(patch(2,1,1),patch(1,2,1),"IHIGH","JHIGH","CON",1E-005)
l delete_all_connections()
Deletes all existing connections (type CON, NMB, PER, PERNM) in the project. Similar to
the Delete All button in the Grid/Boundary Conditions... dialog box.
l create_ fnmb (name,left_ patches,right_ patches,periodic,max_ proj_ dist,min_ proj_ dist,n_
smooth_normals,triangulated_side,attraction_tol,projection_type,search_type)
Creates a new full non matching connection. Similar to the Define... button in the Full Non
Matching area in the Grid/Boundary Conditions... dialog box.
l delete_fnmb(name)
Deletes the full non matching connection.
l set_fnmb_parameters(name,param_name,param_value)
Sets the value of the full non matching connection parameters.
param_name corresponds to either name, max_projection_distance, min_projection_distance,
normal_smoothing_steps, triangulated_side or periodicity.
l compute_fnmb(name,grid_level)
Computes a full non matching connection at the grid level and returns a value (0 if failed, 1 if
success). Similar to the Compute & Showbutton in the Full Non Matching Connections dialog
box.
l compute_all_fnmbs()
Computes all full non matching connections on all the grid levels available.
l get_fnmb_list()
Returns the list of existing full non matching connections.
E. Quality Checking Commands
l calc_negative_cells(block, precision, right_handed, levels, cI, cJ, cK)
Computes the negative cells according to the specified parameters. Returns a string giving the
result.
block is the block on which the test will be done and must be of class Block. However the
value 0 can be specified to apply the test on all the blocks of the grid at once.
precision can be equal to "single" or "double" and specifies the precision mode of the check.
right_ handed specifies whether calculation should proceed using a right_ handed local
reference frame (0 or 1).
levels specifies the multigrid levels on which the calculation is done. Set it to "all" to make the
check on all levels available at once. Otherwise set it to "custom" and specify the desired
multigrid levels as the last three arguments.
cI, cJ, cK are the multigrid levels for the check. Not used when levels is set to "all".
Example:
text = calc_negative_cells(block(1), "double", 1, "all", 0, 0, 0)
l calc_mesh_quality(type, block, axis, range_start, range_end, range_number)
Computes the mesh quality. Returns a list giving a spreaded number of cells as in a barchart.
type is the name of the quality criterion: "Orthogonality", "Aspect Ratio" or "Expansion
Ratio".
block is the block on which the test will be done and must be of class Block. However the
value 0 can be specified to apply the test on all the blocks of the grid at once.
axis is either "All", "I", "J" or "K" and is the direction along which the quality is computed.
range_start
range_end specify the criterion range to be tested.
range_number is the number of items of the returned list (i.e. the number of bars in the chart).
Example:
list = calc_mesh_quality("Orthogonality", block(1), "All", 0, 90, 9) # list will contain 9 items,
giving the number of cells for each interval of 10 degrees between 0 and 90.
l get_statistic_quality_values()
Returns the statistic of the quality values of the previous quality check (list with three items:
average, standard deviation, variation coefficient). Must be run after the function calc_mesh_
quality.
l get_extremum_quality_values()
Returns a list of the following extremum quality values of the previous quality check:
minimum value, maximum value, minimum value block nr, maximum value block nr, imin,
jmin,
kmin, imax, jmax, kmax. The indices of imin, jmin, kmin, imax, jmax and kmax start at 0
instead of 1as in GUI.
Must be run after the function calc_mesh_quality.
Example:
list = get_extremum_quality_values()
min_orthogonality = list[0]
max_orthogonality = list[1]
l calc_mesh_quality_inter_block(type, block, range_start, range_end, range_number)
Computes the mesh quality at block boundaries. Returns a list giving a spreaded number of
cells as in a barchart.
type is the name of the quality criterion: "Orthogonality", "Angular deviation", "Expansion
Ratio", "Cell width" or "Cell width at wall".
block is the block on which the test will be done and must be of class Block. However the
value 0 can be specified to apply the test on all the blocks of the grid at once.
range_start
range_end specify the criterion range to be tested.
range_number is the number of items of the returned list (i.e. the number of bars in the chart).
l get_extremum_quality_values_inter_block()
Returns the two extremum quality values of the previous quality inter block check (list with
two items). Must be run after the function calc_mesh_quality_inter_block.
l calc_mesh_quality_fnmb(type, fnmb_name, range_start, range_end, range_number)
Computes the mesh quality at the full non matching boundaries. Returns a list giving a
spreaded number of cells as in a barchart.
type is the name of the quality criterion: "Expansion Ratio", "Cell Width Ratio", "Inner Gap"
or "Relative Inner Gap".
range_start
range_end specify the criterion range to be tested.
range_number is the number of items of the returned list (i.e. the number of bars in the chart).
l get_extremum_quality_values_fnmb()
Returns the two extremum quality values of the previous quality full non matching check (list
with two items). Must be run after the function calc_mesh_quality_fnmb.
l hide_quality()
Removes the colormap and cell quality representation.
5.2.4
Examples
A couple of examples are provided as an introduction to the script capabilities:
A. Basic Geometry Operations
Curves and surfaces constructions are provided in this script file. The following features are used:
l polyline creation,
l C-spline creation,
l lofted surface creation,
l surface of revolution creation,
l surface intersection with a plane.
# Close the currently opened project in IGG™. This allows to rerun the script within a same
session.
# Commenting this line would keep adding entities to the opened project.
close_project()
# Empty polyline, default name.
p1 = new_polyline()
# Default name is given by IGG™.
p2 = new_polyline(Point(0,0,0),Point(1,0,0))
# Name + points.
p3 = new_polyline("poly1",Point(1,0,0),Point(1,1,0),Point(0,1,0))
# Create new C-spline.
c1 = new_cspline("c1",Point(1,0,1),Point(1,1,1),Point(0,1,1))
# Construct a lofted surface from two curves. A name is assigned to the surface.
loft = lofted_surface([p3,c1],"first_lofted")
# Create a surface of revolution by rotating a curve.
surf_rev = surface_revolution(p2,Point(0,1,0),Vector(1,0,0),-90,"surface_2")
# Create intersection between a surface and a plane.
surface_intersect_plane("first_lofted",CurvePointNorm("c1",0.252854),"first_lofted_spi1")
surface_intersect_plane("first_lofted",CurvePointNorm("c1",0.610316),"first_lofted_spi2")
surface_intersect_plane(surf_rev,PlanePPP(CurvePointNorm("surface_2#1",0.848231),
CurvePointNorm("surface_2#1",0.41521),
CurvePointNorm("surface_2#0",0.600666)),
"surface_2_spi3")
B. Pipe-to-Pipe Mesh Generation
This example shows the usage of some geometry and grid script capabilities. It shows the creation
of the two cylinders together with their intersections. The following features are used:
l polyline creation,
l surface of revolution creation,
l surface-surface intersection,
l block creation,
l block resizing,
l vertex placement on the geometry,
l face projection on surfaces,
l patch specification.
# Close the currently opened project in IGG™. This allows to rerun the script within a same
session.
# Commenting this line would keep adding entities to the opened project.
close_project()
# Draw a vertical cylinder by rotating a line about the Z axis. The height of the cylinder is
stored as a
# variable 'cyl_height'.
cyl_height = 200
# Definition of two points. p2 is defined as an offset of p1 along z dir.
p1 = Point(0,50,-100) # creates a Point object.
p2 = p1 + Point(0,0,cyl_height) # uses addition of two Point.
# Create a new polyline with the two points and store in a variable 'poly1'. The class is Curve.
poly1 = new_polyline(p1,p2)
# Create a surface of revolution 'cyl1' by rotating the polyline about the Z axis.
# The rotation axis is specified by a Point and a Vector.
surf1 = surface_revolution(poly1,Point(0,0,0),Vector(0,0,1),360,"cyl1")
# Draw a horizontal cylinder by rotating a line about the X axis.
# Create the entities in a compact way. The name of the second surface is defined as "cyl2".
poly2 = new_polyline (Point(0,0,12),Point(100,0,12))
surf2 = surface_revolution(poly2,Point(0,0,0),Vector(100,0,0),360,"cyl2")
# Intersect the two cylinders
surf_surf_intersection(surf1,surf2)
# Fit the graphics window to the size of the objects.
original_view()
# Change the representation (number of uv curves) of the two surfaces.
surfaces_set_representation(["cyl1","cyl2"],9,2)
# Create and place a block on first surface of revolution 'cyl1'.
Block_1 = new_block(CurvePointNorm("cyl1uv_3",1),CurvePointNorm("cyl1uv_3",0),
CurvePointNorm("cyl1uv_1",1),CurvePointNorm("cyl1uv_1",0),
CurvePointNorm("cyl1uv_5",1),CurvePointNorm("cyl1uv_5",0),
CurvePointNorm("cyl1uv_7",1),CurvePointNorm("cyl1uv_7",0))
# Change grid points of the block_1.
Block_1.set_size(65,33,33)
# Extrude a range of the face 2, block 1.
extrude_new_block(face(1,2),Range(27,39,9,27),0,2,Vector(1,0,0),1)
# Increase block size by increasing the size of one segment.
segment(2,3,3,1).increase_size(31)
# Place the topology onto the input geometry.
move_vertex(vertex(1,2,7,2),CurvePointNorm("cyl1_cyl2_0",1-0.868234))
move_vertex(vertex(1,2,7,3),CurvePointNorm("cyl1_cyl2_0",1-0.627376))
move_vertex(vertex(1,2,8,2),CurvePointNorm("cyl1_cyl2_0",1-0.122894))
move_vertex(vertex(1,2,8,3),CurvePointNorm("cyl2#0",1-0.547887))
move_vertex(vertex(1,2,8,3),CurvePointNorm("cyl1_cyl2_0",1-0.377558))
f_2_2 = block("Block_2").face(2)
move_face(f_2_2,vertex(2,3,3,2),CurvePointNorm("cyl2uv_1",1))
move_vertex(vertex(2,4,3,2),CurvePointNorm("cyl2uv_7",1))
move_vertex(vertex(2,3,4,2),CurvePointNorm("cyl2uv_3",1))
move_vertex(vertex(2,4,4,2),CurvePointNorm("cyl2uv_5",1))
move_vertex(vertex(1,2,3,2),CurvePointNorm("cyl1#1",0.676098))
move_vertex(vertex(1,2,3,3),CurvePointNorm("cyl1#1",0.826857))
move_vertex(vertex(1,2,4,3),CurvePointNorm("cyl1#0",0.814794))
move_vertex(vertex(1,2,4,2),CurvePointNorm("cyl1#0",0.681103))
# Divide a face into patches.
face(1,2).delete_patch(1) # deletes the only existing patch
face(1,2).new_patch(Range(1,65,1,9))
face(1,2).new_patch(Range(1,27,9,27))
face(1,2).new_patch(Range(27,39,9,27))
face(1,2).new_patch(Range(39,65,9,27))
face(1,2).new_patch(Range(1,65,27,33))
# Projection onto surfaces.
face(1,3).project_on_surfs(["cyl1"],0,2,10,Range(1,65,1,33))
face(1,1).project_on_surfs(["cyl1"],0,2,10,Range(1,65,1,33))
face(1,4).project_on_surfs(["cyl1"],0,2,10,Range(1,65,1,33))
face(1,2).project_on_surfs(["cyl1"],0,2,10,Range(1,65,1,33))
face(2,3).project_on_surfs(["cyl2"],0,2,10,Range(1,13,1,9))
face(2,5).project_on_surfs(["cyl2"],0,2,10,Range(1,19,1,9))
face(2,4).project_on_surfs(["cyl2"],0,2,10,Range(1,13,1,9))
face(2,6).project_on_surfs(["cyl2"],0,2,10,Range(1,19,1,9))
# Project face 1 of block 2 on the large cylinder. Since the complete face is projected and we
use the
# default parameters, only the surface(s) are specified.
face(2,1).project_on_surfs(["cyl1"])
# Connect face 1 of block 2 with face 2 of block 1.
connect_faces( face(2,1),face(1,2), "VERTEX")
connect_faces( face(2,1),face(1,2), "EDGES")
connect_faces( face(2,1),face(1,2), "SEGMENTS")
connect_faces( face(2,1),face(1,2), "PATCHES",1e-2)
# Regenerates face 1 of block 2 and face 2 of block 1.
regenerate_faces(face(1,2))
regenerate_faces(face(2,1))
C. Full Automatic Regeneration
This example shows the usage of the standard templates capabilities followed by the regeneration
of block faces and block grids. The following features are used:
l importation of an IGG™ project,
l importation of IGG™ data files with automatic replacement,
l regeneration of faces,
l regeneration of blocks.
# Close the currently opened project in IGG™. This allows to rerun the script within a same
session.
# Commenting this line would keep adding entities to the opened project.
close_project()
import_igg_project("/mirror/user/initial_cyl_navier_stokes.igg")
original_view()
import_data_file("/mirror/user/modified_big_cyl.dat","REPLACE")
import_data_file("/mirror/user/modified_small_cyl.dat","REPLACE")
regenerate_all_block_faces()
block(1).linear_6_bnd()
block(2).linear_6_bnd()
D. Export PLOT3D Format
#------------------------------------------------------------------------------------------
# Define a generic function for outputing in PLOT3D ASCII format
# Saves all the blocks in the current project
#------------------------------------------------------------------------------------------
def save_plot3d_ascii(filename):
# Open the file for writting and test for validity
fp = open(filename,"w")
if fp==0: raise "save_plot3d_ascii cannot open output file"
# If several blocks, print the number of blocks as first line
if num_of_blocks() > 1: fp.write("%d \n" % (num_of_blocks()))
# Loop over the blocks and write them one by one
for bi in range(num_of_blocks()):
b = block(bi+1)
nI = b.num_of_I()
nJ = b.num_of_J()
nK = b.num_of_K()
fp.write("%d %d %d\n" % (nI,nJ,nK))
for bi in range(num_of_blocks()):
b = block(bi+1)
nI = b.num_of_I()
nJ = b.num_of_J()
nK = b.num_of_K()
count = 0
# Loop over each coordinates in turn and write to file
for coord in range(0,3):
# Loop over each grid point (triple loop over k,j,i)
# grid_point mf uses indices from 1 !!!
for k in range(1,nK+1):
for j in range(1,nJ+1):
for i in range(1,nI+1):
if coord==0: v = b.grid_point(i,j,k).x
elif coord==1: v = b.grid_point(i,j,k).y
elif coord==2: v = b.grid_point(i,j,k).z
fp.write("%f " % v)
count = count + 1
if count == 5:
count = 0
fp.write("\n")
fp.write("\n")
fp.close()
ft.close()
#-------------------------------------------------------------------------------
# Example of using the function
#-------------------------------------------------------------------------------
close_project()
# Create a new block and set its size
b = new_block()
b.set_size(10,10,10)
# Generate the block. Always do this before accessing the coordinates !! IGG makes no check
for this.
b.linear_6_bnd()
# Save as PLOT3D
save_plot3d_ascii("plot3d_save.g")
5.3
TEMPLATES VS. SCRIPTS
Templates correspond to the saving of a final state of a mesh, with the position of vertices and
edges saved parametrically according to the input geometry.
Scripts correspond to a succession of commands and in this respect correspond to a history-based
approach.
Which one to use depends on the problem to model (initial data provided for the problem) and the
limitations of each method with regard to the problem.
Alternatively, a combination of the two can be used. As a general rule, templates can be used as
long as no geometry curves or surfaces (used to place the topology) are created in IGG™.
This is because the operations used to create such curves or surfaces are not stored in the template
project. (and are consequently not parameterized).
CHAPTER 6.
QUICK ACCESS PAD
The Quick Access Pad is located in the left part of the GUI. It contains icons and more evolved
options providing a fast access to the most used functions of IGG™. Some of these functions are only
accessible through the Quick Access Pad whereas others are also accessible through the menu bar, so
that their description will be referenced to this menu.
The Pad is divided into three subpads, each of which can be toggled by a mouse left-click:
l Geometry subpad
l Grid subpad
l View subpad
The three subpads are composed of pages containing icons or more evolved options. The icons
perform specific function related to the subpad and the page. Each page can be toggled by a simple
mouse left-click.
l The Geometry subpad commands and tools allow the creation and the modification of geometry
entities like points, curves and surfaces.
l The Grid subpad commands and tools allow the creation and the manipulation of blocks and
related entities like vertices, fixed points, internal faces, internal grid lines,...
l The View subpad allows viewing operations on the geometry and the grid. In particular, the two
first pages provide options allowing the creation and the visualization of geometry and block
groups.
All the commands and options accessible with the subpads are described in the following sections.
In this section
6.1 Geometry Subpad Description
6.2 Grid Subpad Description
6.3 View Subpad Description
211
214
244
6.1
GEOMETRY SUBPAD DESCRIPTION
The Geometry subpad provides commands and tools allowing the creation and the modification
of geometry entities like points, curves and surfaces. It consists of four pages: three for geometry
entities creation (respectively point, curve and surface creation) and one for curves and surfaces
editing.
Point page
Cartesian Point
See the Geometry/Create Points/Cartesian Point menu item description in Create Points-
>Cartesian Point.
Curve-Curve Inters
See the Geometry/Create Points/Curve-Curve Intersection menu item description in Create
Points->Curve-Curve Intersection.
Curve-Plane Inters
See the Geometry/Create Points/Curve-Plane Intersection menu item description in Create
Points->Curve-Plane Intersection.
Curve-Surface Inters
This command is used to create a Cartesian point between the selected curve (Select->Curves)
and the selected surface (Select->Surfaces).
Curve page
Polyline
See the Geometry/Draw Polyline/Free menu item description in Draw Polyline->Free.
CSpline
See the Geometry/Draw CSpline/Free menu item description in Draw CSpline->Free .
Arc
It opens the following submenu for the selection of various circular arc creation modes:
This menu is strictly equivalent to the Geometry/Circular Arc menu from Circular Arc-
>Normal-Center-Point-Point to Circular Arc->Point-Point-Point sections.
Trim
See the Geometry/Create Curve/Trim menu item description in Create Curve->Trim.
Group
See the Geometry/Create Curve/Group menu item description in Create Curve->Group.
UnGroup
See the Geometry/Create Curve/UnGroup menu item description in Create Curve->UnGroup.
Surf-Surf Inters
See the Geometry/Create Curve/Surf- Surf Intersection menu item description in Create
Curve->Surf-Surf Intersection.
Surf-Plane Inters
It opens the following submenu for the selection of various intersection modes:
This menu is strictly equivalent to the Geometry/Create Curve/Surf-Plane Intersection menu
to Create Curve- >Surf- Plane
from Create Curve- >Surf- Plane Intersection- >Point- Normal
Intersection->Point-Point-Point sections.
Set Name
It is used to change the name of a selected curve. See the Geometry/Modify Curve/Set Name...
menu item description in section Modify Curve ->Set Name.
Surface page
Lofted
See the Geometry/Create Surface/Lofted menu item description in Create Surface->Lofted.
Revolution
See the Geometry/Create Surface/Revolution menu item description in Create Surface-
>Revolution.
Offset
See the Geometry/Create Surface/Offset menu item description in Create Surface->Offset.
Bilinear From Face Grid
See the Geometry/Create Surface/Bilinear From Face Grid menu item description in Create
Surface->Bilinear From Face Grid.
Set Name
It is used to change the name of a selected surface. See the Geometry/Modify Surface/Set
Name... menu item description in section Modify Surface->Set Name.
Edit page
Copy
See the Geometry/Edit/Copy menu item description in section Edit->Copy.
Mirror
See the Geometry/Edit/Mirror menu item description in section Edit->Mirror.
Translate
See the Geometry/Edit/Translate menu item description in section Edit->Translate.
Rotate
See the Geometry/Edit/Rotate menu item description in section Edit->Rotate.
Scale
See the Geometry/Edit/Scale menu item description in section Edit->Scale.
6.2 GRID SUBPAD DESCRIPTION
The Grid subpad provides commands and tools allowing the creation and the manipulation of
blocks and related entities like vertices, fixed points, internal faces, internal grid lines,... It contains
four pages that are described in the following sections.
6.2.1
Create page
This page contains icons used to create and delete blocks. When moving the cursor above one of
the
these icons, a balloon containing a description appears,
corresponding icon. Each icon is referenced here below with this description.
indicating the function of
When inserting a new block and placing a vertex, this one can be attracted to a visible Cartesian point,
curve, surface, vertex or fixed point by moving it close to the desired entity. There is attraction when
the distance between the vertex and the entity is small enough. This distance is controlled by the Pick
Aperture . When a vertex is attracted, the block drawing in the graphics area is highlighted. This
attraction feature cannot be deactivated.
Insert New Block
This icon is used to create a block by defining two opposite vertices. The following steps have to
be followed to insert a new block:
1. A block with a default position appears in the graphics area. The first vertex that has to be
placed is displayed as a filled-in circle. Move the cursor to the desired location and left-click or
middle-click to place it.
The current vertex can be attracted to a visible Cartesian point, curve, surface, vertex or fixed
point by moving it close to the desired entity .
To make easily the vertex positioning, a zoom (<F2>) or a 3D viewing (<F1>) operation can be
performed before resuming the placement.
FIGURE 6.1
IJK axis placement
2. When moving the cursor around, the drawing of the block is updated according to the cursor
position. Move the cursor to the desired location and left-click or middle-click to place the
second (opposite) vertex.
The position of a vertex can also be defined by entering its coordinates in the keyboard input area.
3. The orientation of the block, defined by the IJK axis, appears at a default block corner
(FIGURE 6.1).
The following message is displayed in the message area, asking to position the axis system:
Place the IJK Axis (o = origin, s = orientation, <1> or <2> = create, <3> = abort)
To change the origin or the orientation of the IJK axis, press respectively the <o> or the 

key. The axis system displayed is always right-handed. Left-click or middle-click to complete
the block creation. When the block is created, the vertices of the block are drawn using solid
square markers.
To quit this tool, press <q> or the right mouse button.
Insert New Block by picking vertices
This icon is used to create a new block by defining its eight vertices. The following steps must be
followed after selection of the icon:
1. A block face with a default position appears in the graphics area and the first vertex to place is
displayed as a filled-in circle. Move the cursor to the desired location and left-click to place it.
The position of a vertex can also be defined by entering its coordinates in the keyboard input area.
The current vertex can be attracted to a visible Cartesian point, curve, surface, vertex or fixed
point by moving it close to the desired entity .
During the vertex placement it is possible to change the view orientation using the zoom (<F2>)
or a 3D viewing (<F1>) options.
2. Repeat the operation to place the other three next vertices defining the first face.
3. When the first four vertices positions are specified, a 3D block appears, for which the drawing
is updated according to the cursor position.
FIGURE 6.2
Block drawing with the first four vertices specified
The following message is displayed in the message area, asking to position the first vertex of
the block second face:
Place vertex (Locking: x, y, z, n = normal, v = vector, u = unlock; <2> = default position)
The movement of the cursor can be locked in one direction by pressing one of the following
keys:
l <x>, <y> or <z> to lock the movement in the specified direction.
l <n> to lock the movement perpendicular to the first face.
l < v> to lock the movement in a user defined direction. The direction must be entered
through the keyboard input area.
l <u> to unlock. (It is also possible to press the same key twice to unlock the corresponding
direction).
4. Repeat the click operation to place the other vertices defining the block.
At each step of the vertices positioning, the process can be accelerated by pressing the middle
mouse button. If any of the vertices of the first face is positioned, middle-clicking will position
this face as it appears on the screen so that the next step will be the placing of the first vertex of
the second face. During this step, middle-clicking will position the second face as it appears on the
screen so that the next step will be the choice of IJK axis.
5. When all the vertices are defined, the orientation of the block, defined by the IJK axis, appears
at a default block corner . The following message is displayed in the
message area, asking to position the axis system:
Place the IJK Axis (o = origin, s = orientation, <1> or <2> = create, <3> = abort)
To change the origin or the orientation of the IJK axis, press respectively the <o> or the 

key. The axis system displayed is always right-handed. Left-click or middle-click to complete
the block creation. When the block is created, the vertices of the block are represented by solid
square markers.
After having specified the orientation of the IJK axis, IGG™ will attempt to automatically map
the edges of the new block onto the geometry, before completing the block creation.
To quit this tool, press <q> or the right mouse button.
Insert New Face
This icon is used to create partially a block by defining its face 1. The complete creation of the
block from this face can be done by using construction tools such as: create block by translation,
rotation,... . The face 1 is positioned by two
opposite corners.
The following steps have to be followed to insert a new face:
1. A face with a default position appears in the graphics area. The first vertex that has to be
placed is displayed as a filled-in circle. Move the cursor to the desired location and left-click or
middle-click to place it.
The current vertex can be attracted to a visible Cortisone point, curve, surface, vertex or fixed
point by moving it close to the desired entity .
To make easily the vertex positioning, a zoom (<F2>) or a 3D viewing (<F1>) operation can be
performed before resuming the placement.
2. As the cursor is moved around, the drawing of the face is updated according to the cursor
position. Move the cursor to the desired location and left-click or middle-click to place the
second (opposite) vertex.
The position of a vertex can also be defined by entering its coordinates in the keyboard input area.
3. The orientation of the face, defined by the IJ axis, appears at a default face corner. The
following message is displayed in the message area, asking to position the axis system:
Place the IJ Axis (o = origin, s = orientation, <1> or <2> = create, <3> = abort)
To change the origin or the orientation of the IJ axis, press respectively the <o> or the 

key. Left-click or middle-click to complete the block creation. When the block is created, the
vertices of the face are drawn using solid square markers.
To quit this tool, press <q> or the right mouse button.
Extrude Range
This icon is used to create a block by extruding a range of the active block face. The dialog box
shown in FIGURE 6.3 will appear:
FIGURE 6.3
Extrusion of block faces
The first thing to choose is the active face range from which the new block will be extruded:
l The Patch box allows to choose an existing patch of the active face to perform the extrusion.
The patch is automatically displayed in the graphics area. By default, the patch number is 0,
that is the patch corresponding to the entire active face.
l Any range can also be selected by changing the limits of the active face range borders. Move
the cursor to the desired border which is highlighted when the cursor is close enough. Then
left-clicking on it will open a box allowing to enter the new limits:
The new limits can be entered manually or modified using the scrollers. Pressing <Enter> applies
the new limits to the range. Pressing <Esc> cancels the limit modification.
Once the range is chosen, the direction in which the extrusion will proceed must be selected.
Three possibilities are available (simply left-click on the desired one in the box):
1. Average Normal. This normal is computed as the average of all the normals to the face in
each range grid point.
2. Normal to Face. Each range grid point is extruded along the face normal in this point.
3. User Direction. The extrusion direction is specified by entering with the keyboard the x, y
and z coordinates of the direction vector. Only the vector direction is taken into account, not its
orientation. This one is calculated automatically in order to obtain a right-handed block.
After the direction, the magnitude of the extrusion must be specified. Just after the dialog box
opening, it is set to the 'default' value which depends on the range size. To modify this, simply
enter a new positive value with the keyboard (all negative values are equivalent to the default
value).
Finally the Connect Topology option can be activated or deactivated to create a new block
automatically connected or not connected to the original block on which the extrusion is
performed.
Once all the previous parameters are chosen, simply press the Extrude button to perform the
extrusion. Here below are listed its main features:
l The new extruded block is always right-handed.
l Internal grid lines are automatically created in the active face to capture the first face of the
new block.
l The number of points in the extrusion direction is the default one (9). In other directions, the
number is the same as those of the corresponding internal grid lines segments.
l Connections between the reference block and the extruded one are automatically performed
for vertices, topological edges, segments and patches. Patch connection is subject to limitations
described below.
Patch decomposition and connection
When extruding a new block, IGG™ attempts, as much as possible, to divide correctly the
reference face and the new one into patches and to perform matching connections between them.
Several cases may happen:
1. The reference face contains only one patch:
The reference face is divided into patches in order to match the patch of the new face and the
connection is performed.
2. The reference face is decomposed in several patches and the complete face is extruded:
The new face is divided in the same way as the reference face. Each patch will be connected
to its counterpart.
3. The reference face is decomposed in several patches and a range is extruded:
Three sub-cases may happen:
l The range is completely included in one of the patches of the reference face. In this case,
the reference face is further divided into smaller patches and the connection is performed
with the new face. It is illustrated in FIGURE 6.4 where the central patch will be further
divided into nine patches and the new central patch will be connected to the new face.
FIGURE 6.4
Extruded range included in a reference face patch
l The range covers exactly a set of existing patches. In this case, the new face is divided
using the same limits as the covered patches and the connection is performed with these
patches.
l The range overlaps two or more patches. In this case patch decomposition will NOT be
performed automatically and a warning will appear. It is illustrated in FIGURE 6.5 where
the range being extruded overlaps two patches. In this case, the division into patches and
the connections must be performed manually.
FIGURE 6.5
Extruded range overlapping two reference face patches
Duplicate Block
This icon is used to create blocks by duplicating existing blocks. The dialog box shown in
FIGURE 6.6 will appear:
FIGURE 6.6
Duplicate Block dialog box
The first item Blocks to Duplicate offers three possibilities to choose the blocks to duplicate
(simply left-click on the desired one in the box):
1. Active Block. Select only the active block.
2. Selected Block(s). Select the desired blocks by entering with the keyboard their number in the
dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be
selected by entering two numbers separated by a '-'. For example, enter '4 6 10-15' to select the
blocks 4, 6 and the range 10->15. The numbers do not have to be ordered. If a syntax error is
made, a warning message will appear.
3. Block Group. Select all the blocks of the group. To see all the group names in a pull-down
menu and select the desired one, left-click on the dedicated arrow.
Then, choose the number of duplicated blocks (Nbre of duplicates) for each block that has been
selected. Choose also the transformation that will be applied to the selected blocks to create the
duplicated ones. When the duplication number is greater than 1, the transformation is applied to
the previous duplicated block to create the next new block. There are three transformations
available: rotation, translation and scaling. Simply left-click on the corresponding page to select
one or the other transformation.
l For the rotation, its axis, origin and angle must be specified. For the axis and origin, simply
enter the x, y and z coordinates. A number must be specified for the angle, which will be
computed as follows: angle = 360/number.
l For the translation, simply specify a vector by entering its coordinates.
l For the scaling, simply specify the scaling factor in the x, y and z directions. Null values are
not allowed.
Finally, a modeling option must be chosen for the duplicated blocks. Four possibilities are
available (simply left-click on the desired one in the box):
1. No topology. Only the mesh of the selected blocks will be duplicated but not the edges and
vertices. It is useful when the duplicated blocks do not have to be modified.
2. Topology From Grid. The boundary edges are created by using the boundary grid nodes of
the duplicated blocks.
Only the boundary edges and the corner vertices are reproduced.
3. Duplicate Geometry. All the selected blocks entities are duplicated: vertices, fixed points,
edges, internal grid lines, internal points, internal faces. The duplicated edges will have exactly
the same shape as those of the initial block, which is not the case when edges are created by
using the boundary grid nodes of the duplicated block. The difference can be seen clearly in
FIGURE 6.7 for the edge mapped on the curve:
FIGURE 6.7
Difference between 'Topology From Grid' and 'Duplicate Geometry'
4. Vertex Snapping. It will have the same effect as the previous option. But in addition IGG™
tries to snap the duplicated block vertices on curves lying near this new block. This snapping is
controlled by a tolerance (Rel Tol) that can be modified. For example, if the distance between
a vertex and the closest point of a curve is higher than this tolerance, there is no snapping.
Once all the previous parameters are chosen, simply press the Apply button to perform the
duplication.
Block by Sweeping
See the Grid/Create Block/Sweeping menu item description in section Create Block-
>Sweeping.
Block by Face Translation
See the Grid/Create Block/Translation menu item description in section Create Block-
>Translation.
Block by Face Expansion
See the Grid/Create Block/Face Expansion menu item description in section Create Block-
>Face Expansion.
Block by Face Rotation
See the Grid/Create Block/Rotation menu item description in section Create Block->Rotation.
Create Butterfly
This icon opens the Create Butterfly dialog box which is used to automatically create a butterfly
topology in a block. Refer to Butterfly mesh for a complete description of this dialog box and for
information about the butterfly topology.
Delete Block(s)
This icon is used to delete blocks. The dialog box shown in FIGURE 6.8 will appear:
FIGURE 6.8
Delete blocks dialog box
This box allows to choose the blocks to delete. Two possibilities are available (simply left-click
on the desired one in the box):
1. Active Block. Select only the active block.
2. Selection . Select the desired blocks by entering with the keyboard their number in the
dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be
selected by entering two numbers separated by a '-'. For example, enter '1 5 10-15 3' to select
the blocks 1, 3, 5 and the range 10->15. The numbers do not have to be ordered and the same
number can be entered more than one time. If a syntax error is made, a warning message will
appear.
Once the desired blocks are selected, press the Delete button to perform the deletion. A
confirmation is asked for each block. See FIGURE 6.9:
FIGURE 6.9
Deletion confirmation
Press the yes or no button to confirm the deletion or not.
To have no confirmation asked at each selected block, press the Delete All button to perform the
deletion of all selected blocks.
Create Internal Block
This icon opens the Create Internal Block dialog box which allowed the user to create a new
block based on a existing block. The Block, Minimal Indices and Maximal Indices allow to
define the block or part of the block that will be duplicated.
Furthermore, the new block can be refined in one or more specified direction (Refinement
Level). When increasing the refinement level to "N", the number of grid points in the specified
direction will be increased by 2 N by successively subdividing in two (N times) the distance
between two successive grid points.
FIGURE 6.10
Create internal block dialog box
Refine Block
This icon is used to refine blocks in specified direction. When increasing the refinement level to
"N", the number of grid points in the specified direction will be increased by 2N by successively
subdividing in two (N times) the distance between two successive grid points.
FIGURE 6.11
Refine block dialog box
6.2.2
Insert/Edit page
This page contains icons used to add entities (vertices, fixed points, ...) to the blocks, to control
the grid points clustering along the segments and to modify blocks. When the cursor is moved
above one of these icons, a balloon containing a message appears, indicating the function of the
corresponding icon. Each icon is referenced here below with this message.
Insert Vertex
This icon is used to insert a new vertex in an edge.
Use the short-cut <i> to activate this command in a faster way.
Move the mouse to the desired edge. A small marker is displayed when the candidate edge has
been identified. Left-click to insert a new vertex in this edge. Then, this vertex can be moved as
for a corner vertex. Left-click again to fix its position.
The insertion of a vertex splits the existing topological edge into two new topological edges. The
mapping of these edges can be controlled separately.
The insertion of a vertex is firstly attempted on the active edge. In this way it is possible to control in
which edge the vertex is inserted in the case several edges lie at the same position.
Insert Fixed Point
This icon is used to insert a new fixed point in an edge.
Move the mouse to the desired edge near a grid point to fix. A small marker is displayed when the
insertion can be performed. Left-click to insert a new fixed point in this edge; its index will then
be displayed. This fixed point can be moved as for a corner vertex. Left-click again to fix its
position.
The insertion of a fixed point splits the existing segment into two new segments.
The insertion of a fixed point is first attempted on the active edge. In this way it is possible to control
in which edge the fixed point is inserted in the case several edges lie at the same position.
Insert Internal Grid Line
See the Grid/Internal Grid Line/Create from grid menu item description in section Internal
Grid Line->Create from grid.
Internal Point
This icon is used to insert an internal point in the active face. In fact, an internal point is composed
of two crossing internal grid lines. The face grid must be already generated. The following prompt
appears to select two crossing grid lines:
Insert Internal Point on Active Face (q = quit)
Move the cursor to the two desired crossing grid lines of the active face. When the cursor is close
enough, the grid lines are highlighted and their indices are displayed. Simply press the left mouse
button to create the internal point.
The shape of the internal grid lines will initially follow the shape of the face grid. After the
creation of the grid lines, a dialog box is opened to ask whether geometrical curves should be
created at the position of the internal grid lines.
Geometrical curves allow to modify the shape of the internal grid lines and possibly come back to
their original position. If no geometrical curve is created, the grid lines will lose their initial shape
as soon as a vertex is moved, without any possibility to come back to their first position.
If curves are not created, it is always possible to later create a curve at the position of the internal
grid line by right-clicking on one edge and selecting the Edge/Create Curve pop-up menu item.
To quit this command, press <q> or the right mouse button.
Internal Face
See the Grid/Internal Face/Create... menu item description in section Internal Face->Create.
Cluster Points
See the Grid/Grid Density/Clustering... menu item description in section Grid Density-
>Clustering.
Transform Blocks
This option allows to apply a transformation (rotation, translation, scaling) to a block or to a group
of blocks. The dialog box shown in FIGURE 6.12 will appear:
FIGURE 6.12
Transform Blocks dialog box
The first thing to choose is the Block(s) to Transform. Three possibilities are available (simply
left-click on the desired one in the box):
1. Active Block. Select only the active block.
2. Selected Block(s). Select the desired blocks by entering with the keyboard their number in the
dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be
selected by entering two numbers separated by a '-'. For example, enter '4 6 10-15' to select the
blocks 4, 6 and the range 10->15. The numbers do not have to be ordered. If a syntax error is
made, a warning message will appear.
3. Block Group. Select all the blocks of the group. To see all the group names and select the
desired one, left-click on the dedicated arrow.
Next, the transformation which will be applied to the block(s) must be selected. There are three
transformations available: translation, rotation and scaling. Simply left-click on the corresponding
page to select one or the other transformation.
l For the rotation, its axis, origin and angle must be specified. For the axis and origin, simply
enter the x, y and z coordinates. A number must be specified for the angle, which will be
computed as follows: angle = 360/number.
l For the translation, simply specify a vector by entering its coordinates.
l For the scaling, simply specify the scaling factor in the x, y and z directions. Null values are
not allowed.
Finally, the mode for the block topology (edges) transformation must be chosen. Two possibilities
are available (simply left-click on the desired one in the box):
1. Topology From Grid. Using this option, the edges of the blocks are re-created using the grid
nodes of the transformed blocks. Consequently a slightly different shape might be obtained for
the edges after the transformation.
2. Duplicate Geometry. Using this option, all the curves and surfaces currently used by the
blocks are duplicated and transformed using the same transformation as the blocks. The
transformed block will then refer to these new geometry entities which will insure that the
blocks will have exactly the same shape as before the transformation .
After transformation (e.g. rotation), the block periodicity and connections should be redefined and
recomputed accordingly.
Extend Block
This option allows to extend an existing block, starting from one of its faces. It does not create a
new block but rather extends a block along the I, J or K direction, allowing to construct blocks
incrementally in an efficient way.
FIGURE 6.13
Block extension along the J direction
During an extension operation, IGG™ automatically inserts a new internal face at the position of
the reference face and increments the number of points of the block along the extension direction.
This allows to keep the current shape of the block unchanged while being able to extend it.
Internal edges are inserted in the new internal face at the same position and with the same shape
as internal edges of the reference face.
The connections of the reference face (vertices, edge, segments and patches) are deleted during the
extension operation. A warning appears when a disconnection is performed.
The following steps have to be followed to extend a block:
1. Click on the icon. The following prompt appears:
<1> to select a face, <2> to perform extension, <3> to quit
2. Select the reference face with the left mouse button. Middle-click to acknowledge the face
selection.
3. One vertex of the reference face is selected and can be moved with the mouse. The whole
reference face is translated at once, according to the vertex movement. This vertex can be
placed in the same way as when moved alone, and in particular its coordinates can be entered
in the keyboard input area.
4. Left-click to end the block extension.
Split Block
See the Grid/Create Block/Split... menu item description in section Create Block->Split.
Split Block at internal faces
See the Grid/Create Block/Split at internal faces menu item description in section Create
Block->Split at internal faces.
Merge Blocks
See the Grid/Create Block/Merge menu item description in section Create Block->Merge.
6.2.3
Connect page
This page contains named bars providing options to connect blocks together and to visualize these
connections. The following sections describe each bar and are referenced with the bars name.
FIGURE 6.14
Connect page
For general information about connections, see the dedicated section Connections.
Connection operations can be applied on different entities :
l between two grid edges,
l between two faces,
l for the whole grid at once.
For each one of these tools, the following topological connection levels are accessible:
l vertex,
l orphan vertex,
l topological edge,
l segment.
As all these entities are linked together, an order must be followed to perform the connections.
Indeed, vertices are used by topological edges and segments are lying on topological edges.
Therefore vertices must be connected before topological edges, which ones must be connected
before segments. Moreover, any failure or forgotten step in the connection process prevents
following other connection types. For example, if vertices connections are not performed, the
connection between the corresponding topological edges cannot be executed.
All these tools are using a tolerance determining if the connection is possible or not for the
selected level.
Edge - Edge
The connection of two edges requires the selection of a reference edge and a second edge
(target). During the different connection operations, IGG™ may need to remap edges affected by
the operation. By convention IGG™ keeps the reference edge unchanged and applies the
modifications on the second edge only. This is important when an existing edge cannot be
modified at all.
Firstly select the two edges to connect together. The following prompt will appear:
Select First Edge (reference) (<1> to select - <2> to acknowledge - <3> to quit)
Left-click on the desired edge and middle-click to confirm the selection. Then, the second edge
must be selected in the same way. After that, the dialog box shown in FIGURE 6.15 will be
opened to enable connections at different levels, each level being identified by a button in the
dialog box. The All button performs all the connections of the previous buttons, if possible.
FIGURE 6.15
Edge-Edge connection dialog box
For the first four "topological" levels, an order must be respected as explained in the beginning of
this section.
For vertex or orphan vertex connections, the topological edges using the replaced vertex are
remapped on the geometry ).
For each level, the successfully connected entities are highlighted in green in the graphics area.
Entities that were already connected in a previous operation are highlighted in red.
Once a connection is performed, two other edges can be selected to make another connection
without leaving the tool.
To quit this tool, press <q> or the right mouse button.
Face - Face
The connection of two faces requires the selection of a reference face and a second face (target).
During the different connection operations, IGG™ may need to remap edges affected by the
operation. By convention IGG™ keeps the reference face unchanged and applies the
modifications on the second face only. This is important when an existing face cannot be
modified at all.
Firstly select the two faces to connect together. The prompt shown in FIGURE 6.16 will appear:
Select First Face (reference) (<1> to select - <2> to acknowledge - <3> to quit)
Left-click on the desired face and middle-click to confirm the selection. Then, the second face
must be selected in the same way. After, the following dialog box will be opened to enable
connections at different levels, each level being identified by a button in the dialog box. The All
button performs all the connections of the previous buttons, if possible.
FIGURE 6.16
Face-Face connection dialog box
For the first four "topological" levels, an order must be respected as explained in the beginning of
this section. On the other hand the Patches level can be applied independently.
For vertex or orphan vertex connections, the topological edges using the replaced vertex are
remapped on the geometry ).
For patch connections, only matching non periodic connections (CON type) can be found.
For each level, the successfully connected entities are highlighted in green in the graphics area.
Entities that were already connected in a previous operation are highlighted in red.
Once a connection is performed, two other faces can be selected to make another connection
without leaving the tool.
To quit this tool, press <q> or the right mouse button.
Whole grid
This tool performs the connection for the whole grid at once. The dialog box of the previous
section will appear . The All button performs all the connections of the
previous buttons, if possible. For each connection level selected by a button, a search is made on
the whole grid to find matching entities at the specified tolerance and the connection is performed.
As the whole grid is examined, and that a connected entity can be modified, this tool should not
be used if any of the block cannot be modified at all.
For the first four "topological" levels, an order must be respected as explained in the beginning of
this section. On the other hand the Patches level can be applied independently.
For vertex or orphan vertex connections, the topological edges using the replaced vertex are
remapped on the geometry ).
For patch connections, only matching non periodic connections (CON type) can be found.
For each level, the successfully connected entities are highlighted in green in the graphics area.
Entities that were already connected in a previous operation are highlighted in red.
To quit this tool, press <q> or the right mouse button.
Show Vertex Connections
This bar is used to show the vertex connections. The following prompt will appear:
Select a Vertex <1>, Sweep Connected Blocks <2>, quit <3>
Firstly, a vertex must be selected by left-clicking on it. It is then surrounded by a circle and all the
blocks sharing this vertex (all the blocks among which this vertex is connected) are highlighted.
Then middle-click to perform a sweeping of these blocks sharing the vertex.
To quit this tool, press <q> or the right mouse button.
Show Edge Connections
This bar is used to show the topological edge connections. The following prompt will appear:
Select a Topo Edge <1>, Sweep Connected Blocks <2>, quit <3>
Firstly, a topological edge must be selected by left-clicking on it. All the blocks sharing this
topological edge (all the blocks among which this topological edge is connected) are highlighted.
Then middle-click to perform a sweeping of these blocks sharing the topological edge.
To quit this tool, press <q> or the right mouse button.
Show Segment Connections
This bar is used to show the segment connections. The following prompt will appear:
Select a Segment <1>, Sweep Connected Blocks <2>, quit <3>
Firstly, a segment must be selected by left-clicking on it. All the blocks sharing this segment (all
the blocks that are connected to this segment) have their boundary grid points displayed. Then
middle-click to perform a sweeping of these blocks sharing the segment.
To quit this tool, press <q> or the right mouse button.
Show Face Connections
This bar is used to show the connection status of a face in a global manner. The following prompt
will appear:
Select a Face, quit <3>
Firstly, a face must be selected by left- clicking on one of its edges. Following entities are
displayed:
l all connected vertices, shown as red hollow circles,
l all connected segments, shown as red crosses,
l all connected patches, shown as red grid lines.
The connections of topological edges are not shown to avoid confusion.
To quit this tool, press <q> or the right mouse button.
6.2.4 Generate page
This page contains five icons and two named bars used to generate face and block grids. When
the cursor is moved above one of the icons, a balloon containing a message appears, indicating
the function of the corresponding icon. Each icon is referenced here below with this message
whereas the bar is referenced with its name.
2 Bnd Interpolation
See the Grid/Create Face/Linear 2Bnd menu item description in section Create Face->Linear
2Bnd.
4 Bnd Interpolation
This icon is used to generate face grids of a block. This generation method is based on bilinear
interpolation from the boundary grid points. It takes into account the clustering applied to each
segment.
The dialog box shown in FIGURE 6.17 will appear:
FIGURE 6.17
Face 4 Bnd Interpolation dialog box
It allows to select the faces to generate. Simply left-click on the desired scope and press the Apply
button to perform the generation of the corresponding faces. The face grid of the selected face(s)
will be displayed to show the result of the generation.
Face Generation Tool
See the Grid/Create Face/Generation Tool... menu item description in Create Face->Generation
Tool.
Project Face
This option is used to project the active face onto one or more geometry surfaces. It opens a
dialog box shown in FIGURE 6.18:
FIGURE 6.18
Project Face(s) dialog box
The dialog box is divided into four parts:
Surface specification
The surfaces used during the projection can be:
l the currently selected surfaces. These must be selected before applying the option.
l the surfaces belonging to a specific geometry group, previously defined.
Projection on a group is specially useful when a large number of surfaces are used for the
projection. It avoids to repeat the surface selection process each time the face needs to be
reprojected.
Another advantage is that surfaces can be added to the group after the projection on the geometry
group has been performed. Regenerating the face, using the Regenerate Faces option, will then
automatically project the face on all the surfaces in the group.
Projection mode
The following validation levels are available:
1. projection with validation 1 implies that no check is done to validate the projected points.
2. projection with validation 2 implies that one check is done to choose the nearest projected
points (ex: to project a patch on a sphere).
3. projection with validation 3 implies that checks are done to fill the possible gaps in the surface
data. It also involves the check of validation. A projection ratio must be defined. It corresponds
to the highest distortion ratio admitted by the projection. A value of 10 is advised.
Boundary Edge projection
This flag enables or disables the projection of the grid points located on the boundary of the face
or range. The default is not to project these grid points since they belong to block edges which are
supposed to be mapped on the surface before the projection.
Projected Range scope
It allows to specify projection of the whole active face or a range. In case the Range option is
selected, the dialog box is extended to allow the range specification .
Projected Range selection
A range can be selected by changing the limits of the active face range borders. Move the cursor
to the desired border which is highlighted when the cursor is close enough. Then left-clicking on
it will open a box allowing to enter the new limits:
FIGURE 6.19
Changing range limits
The new limits can be entered manually or modified using the scrollers. Pressing <Enter> applies
the new limits to the range. Pressing <Esc> cancels the limit modification.
Block 6 Bnd
This icon is used to generate block grids. The faces of a block have to be generated before the
generation of the block grid can proceed (it is done by default when inserting a new block or
moving a vertex).
The dialog box shown in FIGURE 6.20 will appear:
FIGURE 6.20
Block 6 Bnd Interpolation dialog box
It allows to select the blocks to generate. Simply left-click on the desired scope.
The desired blocks can be selected by entering with the keyboard their number in the dedicated
box entry. The numbers must be separated by spaces. A range of blocks can also be selected by
entering two numbers separated by a '-'. For example, enter '1 5 10-15 3' to select the blocks 1, 3,
5 and the range 10->15. The numbers do not have to be ordered and the same number can be
entered more than one time. If a syntax error is made, a warning message will appear.
Press the Apply button to perform the generation on the selected blocks. All the face grids of the
selected block(s) will be displayed to show the result of the generation.
Regenerate Faces
When performing an action such as modifying a clustering or moving the topology, some faces
may need to be regenerated. Indeed to keep at any time the face grids in line with the boundary
information, IGG™ performs a default bilinear interpolation on these faces.
When such face has been previously projected on surfaces or smoothed, it is normally needed to
repeat these steps after modification to get the correct final result. IGG™ automatically records all
these steps used during the previous generation of each face.
This bar is used to automatically replay each step, and thus to regenerate the face(s). The dialog
box shown in FIGURE 6.21 is opened:
FIGURE 6.21
Regenerate Faces dialog box
It allows to select the faces to regenerate. Simply left-click on the desired scope and press the
Apply button to perform the regeneration of the corresponding faces. The face grid of the selected
face(s) will be displayed to show the result of the regeneration.
Show History
This option is used to visualize and edit the generation history of a face. It is most useful to keep
track of complex operations performed on a face grid like projection by patches or to delete
obsolete operations. It opens a dialog box showing the list of the operations performed on the
active face grid. See FIGURE 6.22.
FIGURE 6.22
Face generation history.
The list of operations is dynamically updated when selecting a new active face. It is to be
remembered that a bilinear interpolation is always performed implicitly by IGG™ as the very first
operation performed on a face. This operation is not shown in the list.
Editing
The editing capabilities are currently limited to the deletion of one or more operations from the
list. It avoids to begin the face generation from scratch when an operation does not provide
expected results. To delete an operation, simply select the desired operation and press the Delete
button.
For speed reason, IGG™ does NOT automatically regenerate the face after a deletion. This operation
must be performed explicitly with the Regenerate Faces option.
6.3
VIEW SUBPAD DESCRIPTION
The View subpad provides commands and tools that allow viewing operations on the geometry
and the grid. In particular, the two first pages provide options permitting the creation and the
visualization of geometry and block groups. The three pages of this subpad are described in the
following sections.
Geometry Groups page
Geometry groups are powerful means of classifying geometrical entities by grouping them under
the same name. This tool proves to be essential as soon as the input geometry gets a little
complicated. Using groups, the user can easily perform selective visualization of parts of interest
and focus on the current region being meshed.
The geometry group page allows the creation, the deletion and the visualization of geometry
groups, which can contain curves and/or surfaces. Different groups can contain the same curve(s)
or surface(s).
FIGURE 6.23
Geometry Groups page
All the existing geometry groups are listed by name in the browser of the page. Each group name
is preceded by two buttons. Left-clicking on the first one toggles the list of curves and surfaces of
the corresponding group in the Quick Access Pad. Left-clicking on the second one toggles the
display of curves and surfaces of the group in the graphics area.
Each item in a group is also preceded with a check button that allows to individually show or hide
the item.
The page contains four buttons at the bottom:
l Create Group. Before pressing this button, curves and surfaces that will be put in the new
group must be selected . The dialog box shown in FIGURE
6.24 will be opened:
FIGURE 6.24
Geometry group creation
Simply enter the new group name and press the Create button to create the new group.
l Delete Group. It opens the dialog box shown in FIGURE 6.25:
FIGURE 6.25
Geometry group deletion
All existing geometry groups are listed in the box. Simply select a group by left-clicking on its
name and press the Delete button to delete it (this will not delete the related geometrical
entities).
l Show All. This button shows all the geometry in the graphics area: curves, surfaces and
Cartesian points.
l Hide All. This button hides all the geometry in the graphics area: curves, surfaces and
Cartesian points.
Two pop-up menus, shown in FIGURE 6.26 , are also accessible by right-clicking on a group
name or on a geometry entity in the page browser:
FIGURE 6.26
Geometry group pop-up menus
The first menu contains three items:
l Add Selection. This adds the currently selected curves and surfaces to the group.
l Remove Selection. This removes the currently selected curves and surfaces of the group. If
some selected curves or surfaces are not in the group, the removal of these entities will have no
effect on the group.
l Delete. This deletes the geometry group.
The second menu allows to remove of the group the geometry entity from which the menu is
opened.
Block Groups page
This page allows the creation, deletion and the visualization of block groups. Different groups can
contain the same block(s).
FIGURE 6.27
Block Groups page
All the existing block groups are listed by name in the browser of the page. Each group name is
preceded by two buttons. Left- clicking on the first one toggles the list of blocks of the
corresponding group in the Quick Access Pad. Left-clicking on the second one toggles the
display of blocks of the group in the graphics area.
Each item in a group is also preceded with a check button that allows to individually show or hide
the item.
The page contains four buttons at the bottom:
l Create Group.
Simply enter the new group name and press the Create button to select the group blocks. The
following prompt will appear:
<1> Select a Block, <2> Add to Group, <3> Quit, <Keyboard Area>: Add Block by
Indices to Group
Left-click on a block to select it. The block will be highlighted. Then, middle-click to add the
block to the group. This block will remain highlighted until leaving this tool. Add in the same
manner as many blocks as desired.
Blocks can also be added to the group by entering their number in the keyboard input area. In
this case, the blocks are directly added to the group without being highlighted and without any
validation. The numbers must be separated by spaces. A range of blocks can also be added by
entering two numbers separated by a '-'. For example, enter <1 5 10-15 3><Enter> to add the
blocks 1, 3, 5 and the range 10->15. The numbers do not have to be ordered and the same
number can be entered more than one time. If a syntax error is made, a warning message will
appear.
Press <q> or the right mouse button to complete the group creation.
l Delete Group. It opens the dialog box shown in FIGURE 6.28:
FIGURE 6.28
Block group deletion
All existing block groups are listed in the box. Simply select a group by left-clicking on its
name and press the Delete button to delete it (this will not delete the related blocks).
l Show All. This button shows all the blocks in the graphics area.
l Hide All. This button hides all the blocks in the graphics area.
Two pop-up menus are also accessible by right-clicking on a group name or on a block in the
page browser:
FIGURE 6.29
Block group pop-up menus
The first menu contains three items:
l Modify. This allows to add blocks to the group with same menu as when creating group.
l Add Selection. This adds the active block to the group.
l Remove Selection. This removes the active block of the group. If it is not in the group, this
operation will have no effect on the group.
l Delete. This deletes the block group.
The second menu allows to remove of the group the block from which the menu is opened.
Grid Configuration page
For the multiblock data structure in complex geometry, the Grid Configuration page is a
powerful tool to categorize the fluid and solid domains along with their interconnected faces and
boundaries. Once the Update button is clicked, it initializes the grid configuration.
Grid Configuration process automatically groups the fluid or solid block together into a set of
IGG Core Flow or IGG Solid Body domains. The boundaries are also grouped automatically
according to the boundary condition type and the connection between them, appears in the
Domain Boundaries node.
If right mouse button is clicked on the Main Project, a popup menu appears to Duplicate or
Merge the project. The duplicate project is named as SubProject followed by the project
numbering by default. Right clicking on any sub-project shows a popup menu consisting of six
items. All the items in the subproject can be accessed independently. See FIGURE 6.30.
FIGURE 6.30
Project menus
Whereas right clicking on any domain, domain boundary or specific boundary shows the popup
menus shown in FIGURE 6.31:
FIGURE 6.31
Domain and domain boundary menus
Subprojects are useful when part of the main configuration needs to be analyzed separately. Each
subproject can have its own mesh. Once the computation is fruitful on the subproject, a merge process
enables you to concatenate the main project with the selected subproject to analyze the complete
configuration with the new geometry defined in the subproject. More details are available in the
FINE™ and AutoGrid™ User Manuals.
Grid page
This page provides visualization commands on the grid. It consists of two rows: a row of buttons
and a row of icons.
FIGURE 6.32
Grid page
The first row of buttons is used to determine the viewing scope, that is the grid scope on which
the viewing commands provided by the icons of the second row will apply. There are five modes
determining the scope, each one being represented by a button: Segment, Edge, Face, Block,
Grid (all blocks). Only one mode is active at a time and the current mode is highlighted. Simply
left-click on a button to select the desired mode.
l In Segment mode, a viewing operation applies to the active segment only.
l In Edge mode, a viewing operation applies to the active edge only.
l In Face mode, a viewing operation applies to the active face only.
l In Block mode, a viewing operation applies to the active block only.
l In Grid mode, a viewing operation applies to all the blocks of the grid.
The icons of the second row and their related commands are listed in the next table:
Icon
Command
Toggles vertices.
Toggles fixed points.
Toggles segment grid points.
Toggles edges.
Toggles face grid.
Toggles shading.
CHAPTER 7.
FILE MENU
This Chapter describes the File menu options, which are used to manage the IGG™ system input and
output, to import and export geometry and grid data, to control the system preferences and to end the
interactive session.
7.1
OPEN
File/Open... is used to select an existing project previously created by IGG™. The file chooser
shown in FIGURE 7.1 is opened to select an IGG™ project file with a ".igg" extension.
FIGURE 7.1
IGG™ file chooser
Upon selection of a valid IGG™ project, IGG™ closes the current project and installs the new
project.
The old project is NOT automatically saved before being closed. Therefore, please make sure that the
current work is saved before this option is used.
It is strongly recommended to open a ".igg" extension. If a wrong file format is encountered, a
warning message appears or IGG™ may be closed.
7.2
NEW
File/New starts a new mesh generation and closes the current project from the system and opens a
new empty project. The old project is NOT automatically saved before being closed. Therefore,
please make sure that the current work is saved before using this option. All system parameters
are reset to their default values and a new 3D project is initialized. The curves and surfaces are
removed from the geometry repository.
7.3
SCRIPTS --> EDIT
File/Scripts/Edit... opens a dialog box displaying all the commands performed by the user since
the beginning of its session. The user can easily edit this script (add, remove and modify
commands).
The dialog box contains two pull-down menus. File menu allows to open a script in a separate
dialog box and to save the script in a file. Run menu allows to run the script shown in the
window under the current session ("Rerun on top").
7.4
SCRIPTS --> SAVE ALL
File/Scripts/Save All... is used to save the dynamic recording of all commands performed by the
user since the beginning of its session. Scripts section details the limitation and usage of the
recording.
7.5
SCRIPTS --> EXECUTE
File/Script/Execute... is used to run a python script file containing IGG™ commands.
A file chooser is opened to select a file with a ".py" extension. Upon selection of a valid file, the
script is executed in the current session and the result is visualized in the graphical window.
Depending on the content of the script, operations will be added to the current project or a new
project will be automatically opened before operations are performed (The previous project is
closed).
If the script being run contains a syntactical error it will be aborted and a message will appear in
the shell.
7.6
SCRIPTS --> RE-EXECUTE LAST
File/Script/Re- execute Last can be used to rerun the last script that was run using the
Scripts/Execute... command. This option is most useful when writing own scripts manually to
rapidly test it on the fly.
7.7
SAVE --> SAVE
File/Save/Save saves the current work. When the project is saved for the first time, a new file
name must be specified with the extension’.igg’ through a file chooser. During the saving, the
information about the project is distributed in five files:
l the "name.igg" file, which contains all relevant information about the topology and grid
settings, except for faces and blocks coordinates.
l the "name.geom" file which contains all the curves, surfaces and Cartesian points of the
geometry repository (combined with "name.xmt_ txt" (Linux) or "name.X_ T" (Windows)
Parasolid™ file depending of the OS when geometrical entities are coming from Parasolid™
and/or CATIA V5 files).
l the "name.cgns" files containing information about faces and block coordinates.
l the "name.bcs" files containing information about boundary conditions.
l the "name.config" files containing information about patches grouping used within FINE™
GUI and subprojects.
The IGG™ file formats are explained in the Input & Output Files chapter.
White spaces should be avoided in the file name.
7.8
SAVE --> SAVE AS
File/Save/Save As... is used to save an existing IGG™ project under a different name. Thus,
different grids created by using the same boundary data can be saved separately for comparison.
See File/Save/Save option for more details about saving.
White spaces should be avoided in the file name.
7.9
SAVE --> SAVE AS FINE 7.4
File/Save/Save AsFine 7.4... allows to save the grids generated in the current version of IGG™
in a format compatible with IGG™ 5.7. See File/Save/Save for details about file naming
conventions.
White spaces should be avoided in the file name.
7.10 SAVE --> SAVE AS FINE 8.6
File/Save/Save AsFine 8.6... allows to save the grids generated in the current version of IGG™
in a format compatible with IGG™ 8.6. See File/Save/Save for details about file naming
conventions.
White spaces should be avoided in the file name.
7.11
IMPORT -> IGG PROJECT
File/Import/IGG Project... is used to merge an existing IGG™ project stored on disk with the
currently opened project. It allows several people working on large projects to perform the
meshing in separate sessions and to merge their work at a later stage.
When combining an AutoGrid5™ project with an IGG™ project, the AutoGrid5™ project should be
in order to keep the hub and shroud curves data for latter post- processing of the
loaded first
computation in CFView™.
Prefix
To easily recognize blocks and groups of an imported project from those in the current project, a
prefix can be specified during importation. For this purpose, a dialog box is provided:
Upon proper prefix specification, all the names of patches, blocks, geometry groups and block
groups will be automatically prepended with the prefix. For example, if a block being imported is
named "Inlet"and a prefix "stage1" is specified, the name of the block within the current session
will be "stage1#Inlet". Due to limitations in the CGNS format, the length of the prefix should be
limited to 5 characters. Moreover it cannot begin with a number.
If no prefix is specified blocks and groups names will not be modified. Exception to this rule
holds however when an imported block has the same name as a block in the current project. In
that case an underscore will be automatically appended to the name.
Pressing on the Cancel button will cancel the importation of the selected project in IGG™.
Importation operations
During project importation the following operations are performed:
l All the curves and surfaces from the imported project are added to the current project. When a
name clashing occurs with existing curves or surfaces, IGG™ automatically renames the
imported entities. The prefix currently does not apply to curves and surfaces.
l All the blocks of the imported project are appended to the existing blocks. The index of the
imported blocks is adapted automatically to follow the last block of the current project. The
name of the patches and blocks follow the rule described here above.
l The geometry and block groups are imported in the current project. The names of the groups
follow the rule described here above.
7.12
IMPORT -> IGG DATA
File/Import/IGG Data... is used to read external curves and surfaces stored in an ASCII IGG™
format. The file formats are specific to IGG™ (Curve & Surface data files) and are described in
the Input & Output Files chapter.
When using the option, a file chooser is opened to select files with ".dat" or ".dst" extensions.
Upon acceptance, the entities are automatically stored in the geometry repository and displayed in
the graphical area.
A fitting of the view may be needed to see all the entities properly.
Since IGG™ uses the name of curves and surfaces to access them, no duplicate is allowed.
During importation of a geometry file, IGG™ checks for name duplication. When an entity being
loaded has the same name as an existing entity in the current session, the dialog box shown in
FIGURE 7.2 is opened with different possibilities:
FIGURE 7.2
Importation options dialog box.
Replace:
When using this mode, IGG™ replaces the existing curve or surface by the one being imported.
At the end of importation, IGG™ remaps all the vertices and edges lying on the replaced entities
so that the topology of the grid fits onto the new geometry.
This mode should be used when using the current project as a template. See the chapter related to
templates for additional information.
Don’t Load:
When using this mode, the entity having the same name will NOT be imported in the session.
Auto Rename:
When using this mode, IGG™ imports the entity and automatically modifies its name so that it
becomes unique in the current session. If no replacement is desired (as described above), this
option should be used.
7.13
IMPORT -> EXTERNAL GRID
File/Import/External Grid... is used to import inside the current IGG™ project a block grid
generated either by IGG™ (using File/Export/Block Coor... menu item) or by another grid
generator. A file chooser is opened to select a file with a ".dat" extension. Several file formats are
available:
l Block data file
l Surface data file (2D or 3D wireframe)
l Multiple surface data file (2D or 3D wireframe)
See the Input & Output Files chapter for a detailed description of the formats. Upon selection of a
valid file, a new block (or several for multiple data files) is created and put at the end of the list of
blocks. For "Surface data file", which represent surfacic meshes, only face 1 of the block is
created. For 2D meshes, the z coordinate is set automatically to 0 for all the points. IGG™
automatically creates the block topology (edges) by using the boundary grid points of the block.
7.14
IMPORT -> FACE GRID
File/Import/Face Grid... is used to import and copy a 2D or 3D grid surface to the active face or
to a BC patch on this face. A file chooser is opened to select a file, which must have a ".dat"
extension and have the Surface data file format . The type of surface and the edge creation mode are indicated from
the keyboard input area. If the edges of selected surface are on the boundaries and the edge
creation flag is on, the segments of that edge are created as polylines.
When the active face contains several patches, the imported grid can be copied on the entire face
or on one of its patches. In this case, the following prompt(s) appear:
Surface (=0) or Patch (=1) ? (q)
>> 1
Patch number (1...3) ? (q) (if previous answer is 1)
>> 2
Then the following prompt will appear to specify if edges must be reconstructed by using the face
boundary grid points:
Create boundary segments (y/n) ?
>> y
7.15
IMPORT -> TOPOLOGY
The option File/Import/Topology... allows to re-use an existing IGG™ project on a similar
geometry by importing all the topology and grid information from the related ".igg" file. The
complete current project is deleted before importing. During the import operation, the following
happens:
l all the geometry entities are discarded from the imported project.
l the geometry groups are loaded, emptied from any curve or surface.
l the grid information like number of blocks, connection between blocks, clustering,... is kept.
l the blocks topology (vertices and edges) is kept, as well as their position and shape.
l the face generation recording, including the projection on geometry groups is kept .
Then, to use the imported topology on a similar geometry, do the following:
l Import the new geometry with the File/Import/IGG Data... or IGES... options.
l Redefine the geometry groups by selecting the proper surfaces and by adding them to the
existing groups (right button press on a geometry group pops up a menu for adding or
removing the current geometry selection).
l Remap all the vertices manually onto the new geometry. New vertices may be added if the
topology of the new geometry has changed.
Regenerate the faces with the Regenerate Face option. It is to be noted that face projected onto a
geometry group will be successfully re-projected if the groups have been redefined as described in
the previous operation.
7.16
IMPORT -> CATIA V5
The option File/Import/CATIA V5... reads external geometry files in CATIA format up to R26.
Several CATIA files can be opened when defining the geometry.
Whatever the units of the CATIA V5 geometry, it will be automatically converted in meters. For
example a curve of 100 [millimeter] length will present a length of 0.1 into IGG™.
CATIA V5 file is read by the DATAKIT cross-CAD library and converted into a Parasolid™ file.
The DATAKIT feature added in the NUMECA license will replace TTF- based libraries, also
maintained to ensure backward compatibility. The TTF library is upgraded to v7.9.0.9 to allow
importation of CATIA V5 files up to R19.
DATAKIT cross- CAD library is exclusively available on Windows and Linux 64 bits while TTF
library is not available on Windows 64bits.
Running Windows 64-bits, an additional Windows security patch is required to enable CATIA V5
to
import
For
ec73-
http://www.microsoft.com/downloads/details.aspx?dispalylang=en&FamilyID=766a6af7-
40ff-b072-9112bab119c2.
Datakit.
details,
more
with
link
7.17
IMPORT -> PARASOLID
The option File/Import/Parasolid... reads external geometry files in Parasolid™ format ".x_t".
Several Parasolid™ files (Parasolid™ and CATIA V5) can be opened when defining the
geometry.
The supported Parasolid™ version is 28.1.228.
A geometry can be correctly represented only if it is fully included in a cube between the points (-
500,-500,-500) and (500,500,500) due to the Parasolid™ library limitation.
7.18
IMPORT -> IGES
File/Import/IGES... menu is used to import CAD data stored in the standard IGES format. When
names are defined for entities the IGES file, IGG™ uses them for the new entities created in the
repository. When these names are already used by existing entities, a dialog box is opened to
resolve the conflict. See the menu option File/Import/IGG Data... for details about the dialog
box.
FIGURE 7.3
IGES file browser
This option provides a powerful browser to scan the content of an IGES file and selectively
import IGES entities recognized by IGG™. In the case of composite curves and surfaces, the
browser allows to view each component defining the entity and to select them individually.
Filters, reserved to expert users, allows to filter the data viewed by the browser. Each filter
corresponds to a criterion defining if entities with the corresponding attribute set accordingly will
be displayed in the browser/ imported.
It might be useful to uncheck the Blank Filter/Blanked item in order to import only the entities
meant to be visible and get a clear view of the intended geometry. The same holds for the Entity
Use Filter with only the geometry item checked.
For the Subordinate Filter items, it might be useful to also have the both item checked if top-
level entities cannot be translated, preventing the importation of their depending entities.
The Filters default settings have the following items checked: all Blank Filter items, all Entity
Use Filter items but the definition item, the Subordinate Filterindependent and logical items,
all Hierarchy Filter items.
See the IGES reference manual for a complete understanding of all filter values. The list of
available IGES entities that can be imported in IGG™ are presented in the next table.
Entity Type Nr
Entity Type
100
102
104
106
110
112
114
116
120
122
126
128
130
140
142
144
158
196
Circular Arc
Composite Curve
Conic Arc
Copious Data (only curves and not points in IGG™
Line
Parametric Spline Curve
Parametric Spline Surface
Point
Surface of Revolution
Tabulated Cylinder
Rational B-spline Curve
Rational B-Spline Surface
Offset Curve (only uniform offset in IGG™)
Offset Surface
Curve On Parametric Surface
Trimmed Parametric Surface
Sphere
Spherical surface
When units are imposed in the IGES file, these are purely informative and will not be used by IGG™.
7.19
IMPORT -> GEOMTURBO
The option File/Import/geomTurbo... reads "geomTurbo" files coming from AutoGrid5™.
More details on the ".geomTurbo" format are available in AutoGrid5™ User Manual.
7.20 IMPORT -> PLOT3D
File/Import/PLOT3D... is used to import inside the current IGG™ project, block(s) generated
either by IGG™ (using File/Export/PLOT3D... menu item) or by another grid generator. The
imported file must have a ".g" extension and have the PLOT3D file format, as described in the
Input & Output Files chapter.
The dialog box shown in FIGURE 7.4 is opened to select a file with a ".g" extension and the
corresponding file format.
FIGURE 7.4
Input file and file format selection
The following file types can be selected in the File type entry:
l ASCII
l Binary single
l Binary double
l Unformatted single
l Unformatted double
Binary stands for C binary files whereas Unformatted stands for Fortran binary files. Single and
double describe the precision of reals.
Then three buttons are provided to select the remaining file specifications. These ones must be
specified only for binary files (the buttons are deactivated when ASCII type is selected). The two
first radio buttons allow to select the binary order in the file: little or big endian. The last button
specifies if the file is single or multi-block.
The desired file can be selected by entering its full path name into the Plot3D File entry or
through a file chooser opened by pressing the icon (
) next to the file entry.
Upon selection of a valid file, the blocks of the imported file are created and put at the end of the
current list of blocks. IGG™ automatically creates the block topology by using the block
coordinates.
7.21
IMPORT -> CGNS
File/Import/CGNS... is used to import CGNS grid files inside the current IGG™ project. CGNS
is a widely used standard for the exchange of CFD data. In particular it is very well suited to
exchange meshes and boundary conditions between heterogeneous systems. Block coordinates
and boundary conditions are read from the ".cgns" file. Only connections of type CON can be
read and performed automatically by IGG™.
It is to be noticed that a CGNS file is automatically created during the saving of a project, using
the File/Save options. This file can be reread by IGG™ using this option or exchanged with other
CGNS compliant systems.
The imported file must have a ".cgns" extension and must be a valid CGNS format, as described
in the Input & Output Files chapter.
A file chooser is opened to select a file with a ".cgns" extension. Upon selection of a valid file,
the blocks of the imported file are created and put at the end of the current list of blocks. IGG™
automatically creates the block topology by using the block coordinates.
7.22
IMPORT -> GRIDPRO
File/Import/GridPro... is used to import inside the current IGG™ project, block(s) created by the
GridPro grid generator.
A file chooser is opened to select a GridPro file. Upon selection of a valid file, the blocks of the
imported file are created and put at the end of the current list of blocks. A message indicating
what block is read appears in the IGG™ message area. IGG™ automatically creates the block
topology by using the block coordinates. Blocks connection information is read by IGG™ and
patch decomposition is automatically performed. Periodicity information is not read from the file
and must be specified manually within IGG™, when required, using the Grid/Periodicity... and
Grid/Boundary Conditions... menu items.
7.23 EXPORT -> IGES
File/Export/IGES... menu is used to export geometry entities in the standard IGES format.
The entire geometry repository can be saved or only the selected curves and surfaces. The length
unit must also be specified through the dialog box shown in FIGURE 7.5:
FIGURE 7.5
IGES export options dialog box
The file created in this way can be read back by using the File/Import/IGES Data... menu item.
IGES export is not implemented for Parasolid™ surfaces.
7.24 EXPORT -> PARASOLID
File/Export/Parasolid...
is used to save the selected geometry curves and surfaces into a
Parasolid™ format. It was already automatically done when saving an IGG™ project for
Parasolid™ entities (e.g. from Parasolid™ or CATIA import) but not for SISL entities (e.g.
entities manually created in IGG™, IGES import). In IGG™, only wireframe and sheet bodies
are created from a collection of curves and surfaces and no volume model.
7.25 EXPORT -> GEOMETRY SELECTION
File/Export/Geometry Selection... is used to save the selected geometry curves and surfaces into
an ASCII file. The files created in this way can be read back using the File/Import/IGG Data...
menu item.
Only the curves and surfaces selected respectively by the Geometry/Select/Curves and by the
Geometry/Select/Surfaces options are saved.
When selected geometry is containing Parasolid™ and/or CATIA V5 entities, a Parasolid™ file will
also be saved in addition of ".dat" file.
7.26 EXPORT -> GEOMETRY CONTROL POINTS
File/Export/Geometry Control Points... is used to save the control points of the selected
geometry curves into an ASCII file. It does not save the complete information about the curve
(type, parametrization,...). The files created in this way are not intended to be directly read by
IGG™. Their main use is to print out the coordinates of the control points of the curves.
This option is only available for curves, not for surfaces.
7.27 EXPORT -> BLOCK COOR
File/Export/Block Coor... is used to save the coordinates of an active block range in ASCII
format, according to the level of coarseness selected for the grid (set by using View/Coarse Grid
menu item). A warning is given if the grid has not been created yet. The standard block grid file
format is used and is detailed in the Input & Output Files chapter.
The block range to save must be determined by two points, specified by their IJK coordinates in
the keyboard input area (indices start at 1):
Enter imin jmin kmin (q)
Enter imax jmax kmax (q)
By default, values for the full block range are displayed.
The file created in this way can be read back by using the File/Import/External Grid... menu
item.
7.28 EXPORT -> FACE COOR
File/Export/Face Coor... is used to save the coordinates of the active face in ASCII format,
according to the level of coarseness selected for the grid (set by using the View/Coarse Grid
menu item). The standard surface grid file format is used and is detailed in the Input & Output
Files chapter.
The file created in this way can be read back by using the File/Import/External Grid... menu
item.
7.29 EXPORT -> PATCH COOR
File/Export/Patch Coor... is used to save the coordinates of the active face patches in ASCII
format, according to the level of coarseness selected for the grid (set by using the View/Coarse
Grid menu item).
The standard face grid file format is used and is detailed in the Input & Output Files chapter. One
file is created for each patch of the active face and is named automatically by appending the patch
number to the specified file name. The files are written with a ".dat" extension.
The files created in this way can be read back by using the File/Import/External Grid... menu
item.
7.30 EXPORT -> FACE BOUNDARY COOR
File/Export/Face Boundary Coor...
coordinates in ASCII format.
is used to save the active face boundary grid point
7.31 EXPORT -> SEGMENT DISCRETIZATION
File/Export/Segment Discretization... is used to save a discretization of the curves used by the
segments, in an ASCII file. The scope of saving depends on the Viewing Scope . These files are named automatically by appending
their block, face, edge, segment and curve indices to the IGG™ file name. If the session has not
been saved yet (i.e. an IGG™ file name does not exist), a warning is given and a data file name
must be specified. Therefore it is always advisable to save the current work as an IGG™ file first,
before attempting to save curve, surface or block coordinate data.
7.32 EXPORT -> PLOT3D
File/Export/PLOT3D... is used to save the coordinates of all grid blocks in a PLOT3D format
file. The saved file will have a ".g" extension and its format is described in the Input & Output
Files chapter.
The dialog box shown in FIGURE 7.6 is opened to select a file with a ".g" extension and the
corresponding file format.
FIGURE 7.6
Output file and file format selection
The following file types can be selected in the File type entry:
l ASCII
l Binary single
l Binary double
l Unformatted single
l Unformatted double
Binary stands for C binary files whereas Unformatted stands for Fortran binary files. Single and
double describe the precision of reals.
Then two radio buttons are provided to select the binary order desired in the output file: little or
big endian. This information must be specified only for binary files (the buttons are deactivated
when ASCII type is selected).
The desired file can be selected by entering its full path name into the Plot3D File entry or
through a file chooser opened by pressing the icon (
) next to the file entry.
7.33 EXPORT -> CEDRE
File/Export/CEDRE... is used to save the mesh in CEDRE native format. It opens a dialog box
including several options to select the blocks to export (list of block IDs, group of blocks or all
blocks), and an option specifying if these blocks have to be merged in one single domain.
In case of merge, the user is able to select the name of the merged block. If nothing is specified,
name will be "DOMAIN_1".
When clicking on Export button, a file-chooser is opened to select the exported file name and
location.
A main file name with extension ".dat" will be created as well as additional files needed for multi-
domain, periodic connections and boundary conditions:
l main_file_name.dat
l main_file_name_multi.dat
l main_file_name_psl.dat
l main_file_name_bcs.dat
The string length can be limited to 14 characters in some version of CEDRE, or to 50 characters
in newer versions. The option Export short family names in the menu File/Preferences allows
to use shorter strings.
Boundary conditions are defined through mark names in the exported files. For IGG™ mesh, a
mark name is created according to the patch boundary condition type:
l EXT : EXTERNAL_i
l INL : INLET_i
l OUTL : OUTLET_i
l MIR : MIRROR_i
l PER : PER_LEFT_i & PER_RIGHT_i
l SNG : SINGULAR_i
l SOL : SOLID_WALL_i
l ROT : RS_i
l CON : CONNECTION
Where i is an index incremented each time such a condition is encountered and PER_LEFT_i is
the patch with negative periodic sign, otherwise PER_RIGTH_i is used.
Non matching connection type is not allowed for export because CEDRE does not support such
connection.
If the block selection contains CON or PER patches and the connected block is not contained in the
list, the export cannot be performed.
7.34 EXPORT -> FLUENT
File/Export/Fluent... is used to save the mesh in Fluent native format. It will open a file chooser
to select the exported file name and location. A file name with extension ".msh" will be created.
For each patch, a dedicated face section is written in exported file and a boundary condition ID is
assigned. Following table gives the correspondence between IGG™ patch type and Fluent
boundary condition type:
IGG™ type
Fluent type ID
Fluent boundary condition type
EXT
INL
OUT
MIR
PER
PERNM
NMB
SOL
ROT
10
36
pressure-far-field
velocity-inlet
outflow
symmetry
12 or 8
periodic or periodic-shadow
24
24
interface
interface
wall
4 or 5 (or 3)
pressure-inlet or pressure-outlet (or wall)
For patches defining rotor-stator, they will be exported as "pressure-inlet", "pressure-outlet" or "wall"
if their name is respectively containing the keyword "inlet_rotor-stator", "outlet_rotor-stator" or none
of the previous keywords.
Only one patch is allowed on each side of the rotor-stator interface in Fluent. When needed in IGG™
the patches should be merged prior to the export to Fluent.
Singular line (SNG) and FNMB will not be recognized in Fluent.
It it possible to define a boundary condition name in Fluent format through the use of a dedicated
section. If this section is not defined, when loading the mesh, Fluent will automatically define a
boundary condition name by adding an increment to the boundary condition description, e.g.
"outflow_1" or "fluid_1".
Such section will be created for a patch only if the patch family name is defined. The boundary
condition name will be "familyName_i", "i" being an index incremented each time this family
name is encountered. The family names are defined as presented in previous section
( File/Export/CEDRE... ) and the option Export
in the menu
File/Preferences allows to use shorter family names.
family names
short
A similar section will also be created for each block, specifying if the block is fluid or solid. The
boundary condition name will be "fluid(solid)_blockName".
This way of defining boundary condition names will allow an easy patch/block grouping or
merging in Fluent.
7.35 EXPORT -> CFD++
File/Export/CFD++... is used to save the mesh in Metacomp CFD++ solver native format.
Metacomp CFD++ uses unstructured meshes. Therefore, the structured meshes from IGG™ must be
converted, similarly to the existing unstructured outputs to Fluent and CEDRE formats.
When exporting, the user is asked to give a base name for the output files of the CFD++ format
filtered by the .bin file ending. The name <base name>_<file ending> is then assigned to the
output files except in the following cases:
l the given base name is "nodesin.bin", in which case the output names are simply the file
endings,
l there is no base name given (e.g. in Linux, only ".bin" chosen in the file selector), then the
output names are only the file endings.
Most of the CFD++ output files are written in binary format. The boundary conditions type
cannot be directly defined in the exported mesh. Instead, each patch is given a boundary condition
ID which is linked to a boundary condition name.
File name
Content
<base name>_nodesin.bin
Coordinates of the nodes in XYZ format
Format
C style big endian
binary
<base name>_cellsin.bin
List of computational cells defined by the indices
of their nodes
C style big endian
binary
File name
Content
<base name>_cgrpsin.bin.<nb
of groups>
<base name>_exbcsin.bin
Group ID for each computational cell
Format
C style big endian
binary
Boundary conditions ID and nodes ID for each
boundary cell face
C style big endian
binary
<base name>_mcfd.bc
List of names for each boundary conditions ID
ASCII
There are several IDs used to identify nodes, boundary conditions, and cell groups.
l The node ID uniquely identifies each node. It starts with 0 and is given by the position of the
node in the file "nodesin.bin".
l The cell group ID is written if at least one block of the structured grid has a family name.
Then, all cells from blocks with the same family name are assigned the same ID. All cells from
blocks without a family name get a common ID. If no family names are set, the cell group ID
is not written. It starts with 0.
l All patches with the same family name are assigned the same boundary conditions ID. It starts
with 1.
If a patch has a family name, the boundary condition name will be identical otherwise the patch
gets assigned a boundary condition name according to its type, as described in the following table:
IGG™ type
CFD++ boundary condition type
SOL
PER
INL
OUT
ROT
MIR
EXT
SNG
SOLID_i
PER_LEFT_i and PER_RIGHT_i
INLET_i
OUTLET_i
RS_i
MIRROR_i
EXTERNAL_i
SINGULAR_i
NMB
PERNM
NMB_LEFT_i and NMB_RIGHT_i
PERNM_LEFT_i and PERNM_RIGHT_i
"i" is an index incremented each time such a condition is encountered.
PER_LEFT_i and PERNM_LEFT_i will be used if IGG™ patch periodic sign is negative, otherwise
respectively PER_RIGHT_i and PERNM_RIGHT_i will be used.
For NMB, the keywords LEFT and RIGHT are arbitrarily set, and their only purpose is to identify the
connected faces.
7.36 EXPORT -> CRUNCH CFD
File/Export/CRUNCH CFD... is used to save the mesh in CRUNCH CFD® solver native
format.
CRUNCH CFD® uses unstructured meshes. Therefore, the structured meshes from IGG™ must be
converted, similarly to the existing unstructured outputs to Fluent, CEDRE, Metacomp CFD++ or
OpenFOAM formats.
When exporting, the user is asked to give a base name for the output file(s) of the CRUNCH
CFD® format
filtered by the .precrunch file ending. The name <base name>_ <group
name>.precrunch is then assigned to the output file (e.g. rotor37_row_3.precrunch), except if
there is only one group of blocks in which case the group name is omitted. The group name is set
to "_part_" followed by a counter.
The CRUNCH CFD® output file is an unformatted Fortran file in big endian format and has the
following sections:
l the header, containing information about the number of nodes, cells, and boundary faces;
l the cells, defined by the IDs of their eight edges;
l the nodes;
l the boundary faces, defined by IDs of their four edges and the boundary tag.
The boundary conditions are defined on faces grouped by boundary tags. The tag is an integer
between 1 and 999 and must be different from 10. All patches having the same family name
receive the same boundary tag. For the boundary conditions only an ID identifying associated
patches is given. The user has to specify which kind of boundary condition is assigned to these
patches. The patch family names are not contained in the exported file neither. The family names
are not automatically set. Instead, each patch receives a name according to its boundary type, and
a unique number. A unique tag is assigned to each patch name. Family names and rotor-stator
interfaces must be manually defined.
If boundary tags should be merged in IGG™, patch family names must be manually created through
the Family Name option in the boundary conditions dialog box (available when the preference Save
CGNS patch info / family name control is active).
Rotor-stator interfaces in IGG™ must be manually defined through the Rotor Stator option in the
boundary conditions dialog box (available when the preference Save CGNS patch info / family
name control is active).
The axis of rotation is the x axis in the CRUNCH CFD® solver. Therefore, the IGG™ coordinates are
automatically rotated via the mapping (x,y,z) -> (z,x,y).
FNMB connections will not be recognized in CRUNCH CFD®.
7.37 EXPORT -> OPENFOAM
File/Export/OpenFOAM... is used to save the mesh in OpenFOAM official (v2.4.0) or extend
(v3.1) branch. The OpenFOAM extend branch is very commonly used in turbomachinery
applications.
the structured meshes from IGG™ must be
OpenFOAM uses unstructured meshes. Therefore,
converted, similarly to the existing unstructured outputs to Fluent, CEDRE, Metacomp CFD++ or
CRUNCH CFD® formats.
When exporting, the user is asked to give a folder name for the output file(s) of the OpenFOAM
format.
The OpenFOAM mesh consists of five formatted files with predefined names: "boundary",
"faces", "neighbour", "owner" and "points". In addition a "cellZones" file is saved and contains
one cell zone per block family name. The block family names are set manually within IGG™.
The output precision is set to 12 digits to avoid any accuracy problems.
If the grid is including unsplit butterfly blocks, both parent and butterfly blocks will be exported.
Each IGG™ patch will obtain a separate entry in the "boundary" file. Its name is the patch family
name appended by an index. If the family name is not set, we use the naming convention from the
CFD++ output.
The "inGroups" keyword is used to group patches and use the patch family name as group name. This
option allows easier specification of
the boundary/initial conditions which otherwise must be
prescribed patch by patch. It is not available in the extend branch.
If boundary tags should be merged in IGG™, patch family names must be manually created through
the Family Name option in the boundary conditions dialog box (available when the preference Save
CGNS patch info / family name control is active).
Each of the following boundary conditions requires a certain set of additional information to be
written to the boundary file.
IGG™
type
OpenFOAM official
branch type
OpenFOAM extend
branch type
Fluent boundary condition
type
INL
patch
patch
velocity-inlet
IGG™
type
OpenFOAM official
branch type
OpenFOAM extend
branch type
Fluent boundary condition
type
OUT
EXT
MIR
SOL
ROT
patch
patch
symmetry
wall
cyclicAMI
NMB
cyclicAMI
PERNM cyclicAMI
PER
SNG
cyclic
wall
patch
patch
symmetry
wall
mixingPlane
ggi
cyclicGgi
cyclic
wall
outflow
pressure-far-field
symmetry
wall
pressure-inlet or pressure-
outlet or wall
interface
interface
periodic or periodic-shadow
wall
FNMB connections will not be recognized in OpenFOAM. The original type (usually SOL) of the
patches involved in the FNMB connection will be considered.
A rotor-stator interface must consist of only one patch. In case it consists of several patches, their type
will be set to "patch".
Rotor-stator interfaces in IGG™ must be manually defined through the Rotor Stator option in the
boundary conditions dialog box (available when the preference Save CGNS patch info is active).
When the "checkMesh" utility is run on cyclic patches, it depends on the grid quality whether the
check is successful. If the test is not successful, then the mesh should be modified and in particular the
aspect ratio should be decreased. If this does not help:
l in OpenFOAM v2.4.0 (official branch), it
is recommended to change the "matchTolerance"
keyword in the "boundary" file to higher values, or change the type of the boundary condition to
"cyclicAMI".
l in OpenFOAM v3.1 (extend branch), it is recommended to change the type of the boundary
condition to "cyclicGgi" and to set the "bridgeOverlap" parameter to "true".
When the "checkMesh" utility is run on non- matching connections or rotor- stator patches, the
message "The mesh has multiple regions which are not connected by any face" will appear and can be
ignored.
the checks for high aspect ratio and non- orthogonal faces from the
Depending on the mesh,
"checkMesh" utility might fail. This utility uses a different way of calculating the grid quality criteria.
Meshes which are of high quality according to NUMECA standards might still fail the "checkMesh"
utility tests.
7.38 EXPORT -> ABAQUS
File/Export/Abaqus... is used to save all the solid blocks to a single Abaqus formatted file.
Only solid blocks are considered. If other blocks should be exported, the block type has to be changed
to solid.
When exporting, the user is asked to give a base name for the output file of the Abaqus format
filtered by the .inp file ending. The name <base name>.inp is then assigned to the output file.
The Abaqus output file consists of:
l the header;
l the nodes definition;
l the elements definition;
l the definition of node sets and surfaces for the specification of the boundary conditions.
The header includes comments on the exported model.
The nodes are identified using a unique number and can be grouped using the NSET keyword
into node sets. The node set ALL contains all nodes of a row.
The boundary conditions are not defined in the exported file, but must be defined later on the
solver side. Separate node sets must be defined for periodic boundaries and fully non matching
boundaries (FNMB) using the NSET keyword. Therefore, a node set is defined per patch family
name. If a patch does not have a family name, it gets assigned a boundary condition name
according to its type (e.g. NMB or SOL appended by an index per patch).
In Abaqus, surfaces are used to apply loads (e.g. pressure) to the mesh. Therefore, we create a
surface per node set using the *SURFACE keyword. For each surface, we give a list of all
elements which possess a face touching the corresponding surface, and the corresponding face
index.
The elements can be assigned to element sets using the ELSET keyword. We create an element
set per block family name. When the export is done through the graphical interface, the element
type is always C3D8. Other element
types than C3D8 are available in Abaqus. The
corresponding python command includes an optional argument to change the element type.
C3D8 and C3D8I are the only supported element types in IGG™.
7.39 EXPORT -> EXPORT CYLINDER DEFS
File/Export/Export Cylinder Defs… is used for exporting the cylindrical and plane definitions
from a Parasolid™ or CATIA V5 geometry file. The definitions are saved in a data file with a ".
dat" extension. FIGURE 7.7 is an illustrative example of data files generated when exporting a
cylindrical as well as a plane defined in a Parasolid™ or CATIA V5 geometry file.
The cylindrical and plane definitions are the input data used within AutoGrid5™ to define the
geometry of the cooling holes (cylinder), pin fins (cylinder) and ribs (planes). More details are
available in AutoGrid5™ User Manual.
FIGURE 7.7
Cylinder and plane face definitions with geometry representation
7.40 REPLAY TEMPLATE -> IMPORT IGG DATA
File/Replay Template/Import IGG Data... is used when using the current project as a template
and when it contains blocks with a butterfly topology . This tool is composed of two separated operations:
l Importation of an IGG™ data file (geometry importation).
l Regeneration of all the butterfly topologies contained in the grid of the current project.
The geometry importation proceeds in a same way as the File/Import/IGG Data... menu item
described previously on the section, Import -> IGG Data . Then for all blocks containing a
butterfly topology, this one will be deleted and recreated by using the same parameters. For
additional information on butterfly regeneration, see Butterfly Management.
If the current project does not contain at least one butterfly topology, this tool has the same effect
as the File/Import/IGG Data... menu item.
7.41 CONVERT DATA
File/Convert Data is used to modify external data files created by IGG™. ASCII files only can
be modified, and they must have a ".dat" extension.
The keyboard input area is used to enter specific parameters for each menu item. If a wrong file
format or a wrong user input is encountered, a warning message appears before ending the
current interaction.
7.42 CONVERT DATA -> ROTATE DATA
File/Convert Data/Rotate Data is used to rotate a surface described in a surface data file around
a coordinate axis by a user specified angle. A new ".dat" file is created with the rotated data. A
file chooser is first opened to select an input file. Then the following parameters are requested:
For 3D data files, the rotation axis must be specified. For 2D data files, the rotation axis is the Z
axis.
Rotation axis (x=0,y=1,z=2) ? (Q)
>> 0
For 2D/3D data files, the rotation origin and the angle are specified as follows:
Rotation vector origin ? (q)
>> 1.5 3.5 0.5
Angle (-360...360 deg) ? (q)
>> 65
The output file name is specified through a dialog box automatically opened by IGG™.
7.43 CONVERT DATA -> SCALE DATA
File/Convert Data/Scale Data is used to scale the coordinates of a surface described in a surface
data file. A file chooser is first opened to select an input file. Then the following parameters are
requested:
Scale factors can be specified for each coordinate direction separately. If a single value is entered,
the coordinates are scaled in all directions by the same value.
Scale factors ? (q)
>> 2.
The output file name is specified through a dialog box automatically opened by IGG™.
7.44 CONVERT DATA -> TRANSLATE DATA
File/Convert Data/Translate Data is used to translate a surface described in a surface data file
according to a translation vector. A file chooser is first opened to select an input file. Then the
translation vector is requested:
Translation vector ? (q)
>> 10. 8. 0.
For 2D data files, only the x and y coordinates of the vector must be entered.
The output file name is specified through a dialog box automatically opened by IGG™.
7.45 CONVERT DATA -> MIRROR DATA
File/Convert Data/Mirror Data is used to get the mirror image of a surface described in a
surface data file. A file chooser is first opened to select an input file. Then the following
parameters are requested:
For 2D data files, the mirror line start and end points are specified as:
Mirror line first point ? (q)
>> 1. 0.
Mirror line second point ? (q)
>> 1. 2.
For 3D data files, the mirror plane normal vector and its origin are specified as:
Mirror plane normal vector ? (q)
>> 0. 0. 1.
Mirror plane normal origin ? (q)
>> 1. 1. 2.
The output file name is specified through a dialog box automatically opened by IGG™.
7.46 CONVERT DATA -> SWAP DATA
File/ Convert Data/Swap Data can be used to swap the columns of a surface data file
(containing the x, y and z surface coordinates). A file chooser is first opened to select an input file.
Then the following parameters are requested:
For 2D data files, the x and y coordinates are swapped. For 3D data files, an arbitrary swap
sequence can be specified (x=1, y=2, z=3) as:
New column order (1,2,3) ? (q)
>> 3 2 1
The output file name is specified through another file chooser opened by IGG™.
7.47 CONVERT DATA -> REVERSE SEQUENCE
File/Convert Data/Reverse Sequence is used to change the origin of a surface described in a
surface data file (shifting the origin of the surface to the diagonally opposite corner). A file
chooser is first opened to select an input file. The output file name is specified through another file
chooser opened by IGG™.
7.48 CONVERT DATA -> CARTESIAN_
CYLINDRICAL
File/Convert Data/Cartesian_Cylindrical is used to convert from Cartesian to cylindrical the
coordinates of a surface described in a surface data file, or vice versa. A file chooser is first
opened to select an input file. Then the following parameters are requested:
xyz->rtz(=0) or rtz->xyz(=1) ? (q)
>> 0
For 2D data files, the axis of rotation is the z axis. If the input data file is in cylindrical
coordinates, the rotation axis is determined from the file. For 3D Cartesian coordinates, the
rotation axis is entered as follows:
Rotation axis (x=0,y=1,z=2) ? (q)
>> 1
The output file name is specified through another file chooser opened by IGG™.
7.49 CONVERT DATA -> EXTRACT 2D FROM 3D
File/Convert Data/Extract 2D from 3D is used to extract any two columns of a 3D surface data
file. A file chooser is first opened to select an input file. Then the extract sequence can be
specified by the column number:
Extract seq. (any two of 1,2 or 3) ? (q)
>> 1 3
The output file name is specified through a dialog box automatically opened by IGG™.
7.50 CONVERT DATA -> EXTRACT CURVE
File/Convert Data/Extract Curve is used to extract an arbitrary constant grid line of a surface
described in a surface data file and to save it in a curve data file. A file chooser is first opened to
select an input file. Then the constant curve index and its value are requested:
Const curve index(i=0,j=1) ? (q)
>> 1
Const j index value (1...33) ? (q)
>> 25
The output file name is specified through a dialog box automatically opened by IGG™.
7.51 CONVERT DATA -> GRID : IJK_KJI
File/Convert Data/Grid : IJK_KJI is used to reverse the coordinate axis of a surface described
in a surface data file. A file chooser is first opened to select an input file. The output file name is
specified through a dialog box automatically opened by IGG™.
7.52 CONVERT DATA -> GRID : 2D_3D
File/Convert Data/Grid : 2D_3D is used to convert a 2D surface data file into a 3D surface data
file by specifying a constant z coordinate value. A file chooser is first opened to select an input
file. Then the constant z coordinate value is entered as follows:
Constant z value ? (q)
>> 0.08590
The output file name is specified through a dialog box automatically opened by IGG™.
7.53 CONVERT DATA -> DATA : EXPAND
SURFACE
File/Convert Data/Data : Expand Surface is used to expand a surface described in a surface
data file by enlarging its edges by a parallel grid line. If the amount of enlargement is zero for an
edge, no expansion is performed on that edge. A file chooser is first opened to select an input file.
Then the amount of expansion is specified for the opposite edges according to the following
sequence:
Edge 1 & 2 expansions (0...5) ? (q)
>> 0. 2.5
Edge 3 & 4 expansions (0...5) ? (q)
>> 3.5 2.
The output file name is specified through a dialog box automatically opened by IGG™.
7.54 PRINT -> AS POSTSCRIPT
File/Print/As PostScript is used to dump the graphics area in a true PostScript file. This option
uses true Postscript statements to save the graphics content and can produce compact files when
all graphics entities in IGG™ consist of lines (i.e. visualization of the grid in wireframe). When
displaying surfaces in solid model, the quality of the saving reduces considerably while the size of
the file can become very large.
7.55 PRINT -> AS BITMAP POSTSCRIPT
File/Print/As Bitmap PostScript is used to dump the graphics area in a bitmap PostScript file. In
this mode each pixel of the graphics area is saved in the file. The size of the file can be very large.
Bitmap saving may be more advantageous than true postscript when solid surfaces in hidden line
mode appear in the graphics area.
7.56 PRINT -> AS PNG
File/Print/As PNG is used to dump the graphics area in a PNG file.
7.57 PREFERENCES
File/Preferences... opens a dialog box to control the default settings of IGG™. See FIGURE 7.8.
FIGURE 7.8
Preferences dialog box
This dialog box contains five pages. All the parameters are validated by pressing the Apply
button, which
file
this file is read automatically and the
~/.numeca/igg.preferences . When starting IGG™,
preferences are restored directly. If this file cannot be found, the system is initialized with default
settings.
automatically
them in
applies
option
saves
and
the
the
Tolerances page
This page consists of six entry boxes containing an alphanumeric number that can be modified. A
value can be modified either by clicking on the box scrollers with the left mouse button or by
entering a number with the keyboard. In this case, the value must be validated by pressing
<Enter>.
Geom Tol (abs)
This geometry tolerance (absolute) controls the accuracy of some geometry modeling options,
such as surface-surface intersection. This tolerance is specified in absolute units and should be
adapted to the size of the current problem. For example, for a geometry with a global size of 1,
a tolerance of 1e-6 is a good choice. For a global size of 1000, a better value is 1e-2 or 1e-3.
The tolerance may affect various parameters in IGG™:
l the computation time, which increases as the tolerance reduces,
l the accuracy of some algorithms (i.e. surface-surface intersection),
l the size of the result, for example the number of control points of intersection curves.
Geom Tol (rel)
This geometry tolerance (relative) controls the accuracy of some geometry modeling options, such
as attraction features (e.g. accuracy of the position of the curve closest point when using the curve
attraction feature). This tolerance is a relative one and a value of 1e-5 is a good choice.
Topo Tol (rel)
This relative topological tolerance is used by the block vertices and controls the mapping of an
edge on a curve, as explained in FIGURE 7.9:
FIGURE 7.9
Edge mapping on two curves
As shown, there is a gap between the curves 1 and 2. To map an edge on these two curves, the
start and end vertices have to be positioned firstly, then an intermediate vertex must be inserted on
the edge and moved to the curve 1 end point. If the tolerance of this intermediate vertex is too
small, the edge cannot map the curve 2. If it is sufficient, the edge also maps the curve 2, filling in
the gap with a straight line.
When a new block is created, all its vertices are provided with this tolerance. It is also the case
when inserting a new vertex on an edge. This tolerance can be changed for a vertex with the
command Set Tolerance of the pop-up menu accessible by right-clicking on the vertex (thus the
tolerance is not changed for the other vertices).
Pick Aperture
This value controls the distance below which some attraction features work. It is valid when
positioning a vertex or a fixed point and with activated attraction features of some geometry
modeling tools (insertion of a cspline, bspline, polyline, circular arc). FIGURE 7.10 illustrates the
influence of the Pick Aperture on the attraction of a vertex to a Cartesian point.
FIGURE 7.10
Attraction of a vertex to a Cartesian point
A low value of the PickAperture means that the cursor has to be moved closer to a point (or
curve, surface, vertex, fixed point) to have attraction on it. The available range is 0-1 and the
value is set to 0.1 by default.
Edge Discretization
This value controls the number of discretization points that will be placed between two successive
vertices (vertex of the block and additional inserted vertex are considered).
Saving page
Automatic Saving option activates or deactivates automatic project backup saving. When
activated, it only saves the geometry and the topology of the current project (".geom" and ".igg"
files). The grid points coordinates of the faces and of the blocks are not saved, for efficiency
reasons. IGG™ saves the project using a ".autosave" extension (<projectname>.autosave.igg).
This option will have no effect if the user preferences were already saved one time in the past.
Backup when saving is used to make a backup of the geometry and topology files at saving.
IGG™ backups the project using a ".bak" extension (<projectname>.igg.bak).
Ask quality check when saving option is used to make automatically some tests on the grid each
time a project is saved. It includes:
l A calculation of the number of multigrid levels available in the I, J and K directions for the
whole grid.
l A calculation of the negative cells in single and double precision.
l A rough idea of the grid quality (extreme values) in terms of orthogonality, aspect ratio and
expansion ratio.
The results are displayed in a dialog box appearing automatically just after the saving.
CGNS Format/ADF (Compatible with CGNS2) and CGNS Format/HDF5 options are used
to select the format of the CGNS v3 file. The default format is ADF and is compatible with
CGNS v2.
Save CGNS patch info / family name control option is used to save information about
boundary conditions in many formats including CGNS. This option also allows:
l to display and control manually the family name for the patches and the blocks under the
Grid/Boundary Conditions... and the Grid/Grid Settings... menus. These family names are
used in many formats including CGNS to define patch and block groups.
l to display also the Rotor Stator control (Grid/Boundary Conditions... menu) which allows
manual definition of a rotor-stator interface. This option is used to define rotor/stator interfaces
for export from IGG™ to CGNS, but also to CRUNCH CFD.
Export short family names option allows to use shorter family names when saving CGNS patch
info in ".cgns" file or when exporting CEDRE or Fluent native formats.
Graphics page
The Graphics Driver flag is used to select either the driver OPENGL or OPENGL2/X11 (on
Linux) or MSW (on Windows).
When launching IGG™ from FINE™ (through Modules menu), the graphic driver will be read from
the registry key but when launching IGG™ alone,
the graphic driver will be read from the
preferences.
The Visibility flag is used to control the rendering of graphic objects during dynamic viewing
operations. With full visibility, all graphic objects are displayed during viewing operations, which
may slow down the system response. When partial visibility is selected, only grid boundaries are
displayed during viewing operations.
Edges width frame allows to control the width of the block edges displayed in the graphics area.
The width of the active block edges can be controlled by Highlight width and the width of other
block edges by Normal width . The new widths are automatically updated for new inserted
blocks but not for the edges of already created blocks. Simply left-click on these blocks to update
the display.
Layout page
This page allows to control some aspects of the IGG™ graphical interface.
Quick Access Pad is used to toggle the Quick Access Pad.
Control Area toggles the visibility of the control area at the bottom of IGG™ main window. It
allows to use a larger part of the screen for better graphics rendering, but cannot be used during
the interactive generation of a mesh, since it hides the keyboard input area and the viewing
buttons.
Balloon Help is used to activate or deactivate the on-line balloon help available in IGG™. When
activated, help balloons are displayed when the cursor is located on some buttons or icons.
Colors page
The Colors tab is used to define the foreground and background colors of the graphics area.
In the Foreground frame, the predefined color buttons enable to modify the color of the
foreground utilities such as block boundaries, grid, coordinate systems, etc. The user can also use
the edition button Ed. to choose an independent color other than the proposed colors.
Similarly the Background frame enables to modify the background color using the predefined
color buttons as well as the edition button Ed. to select the color independently of the predefined
colors. The user can also select the radio button for the Uniform Color or the Shaded Color to
get uniform or shaded background color respectively.
7.58 PROJECT CONFIGURATION
File/Project Configuration... opens the dialog box shown in FIGURE 7.11 to control the
configuration of the current IGG™ project:
FIGURE 7.11
Project Data dialog box
This dialog box contains an area controlling the current project dimension and four headers giving
information about the current project. This information will be saved with the IGG™ project in
the ".igg" file and are not interpreted by IGG™.
The dimension is set to 3D by default when opening a new empty IGG™ project. Then, another
dimension can be set, which will delete the current project and create a new one. The axisym
button is used for axisymmetric projects. It opens an additional box, allowing to choose the
rotation axis: X, Y or Z.
The EURANUS solver allows only Z as rotation axis for axisymmetric projects! When choosing the
other X or Y axis, a warning box appears to ask confirmation:
For CFView™ post-processor and for 3D projects, it is also advisable to set Z as the rotation axis.
When choosing the 2D or axisym button, the view in the graphics area is automatically set to the
correct projected view and cannot be changed. In these two modes, only faces can be inserted
 option) and not entire 3D
blocks because blocks are automatically created by faces extrusion or rotation. Faces 1 and 2 of
the blocks are not accessible in the Patch Selector dialog box (Grid/Boundary Conditions...
menu) because their boundary condition type is set automatically.
For axisymmetric projects, the rotation angle, required to generate the 3D grid, must be specified
using the Grid/Periodicity... menu item. The default value is 1 degree and the rotation is
performed automatically when saving the grid. This rotation angle is only applied at saving and
not when watching at the boundary conditions (Grid/Boundary Conditions... menu item). In
fact, for better patch visualization, the rotation performed in this case is of 10 degrees and this
value cannot be changed.
For axisymmetric projects the automatic rotation is done positively around the chosen axis according
to a right-handed reference frame. Therefore if faces are put below the axis, the rotation will yield to
negative cells. To avoid it all the faces should be inserted above the axisymmetric axis.
For 2D projects, the global distance of extrusion of all the mesh along the Z axis can also be
controlled by using the Grid/Periodicity... menu item. In this case, the dialog box contains an
additional item Global 2D translation as shown in FIGURE 7.12:
FIGURE 7.12
Modified Periodicity dialog box
The default value is 1 and the extrusion is performed automatically when saving the grid. As for
axisymmetric projects, this extrusion distance is only applied at saving and not when watching at
the boundary conditions. For better patch visualization, the extrusion distance is automatically
calculated according to the mesh size and this value can neither be changed.
7.59 QUIT
File/Quit is used to end the interactive session. A dialog box is inserted to confirm the end of the
session. Please notice that the current work is NOT automatically saved when exiting IGG™.
Press <Ctrl-q> to access this menu item in a faster way.
CHAPTER 8.
GEOMETRY MENU
The Geometry module provides simple and efficient tools to create, edit and delete points, curves and
surfaces. Without having the complexity of CAD systems, it allows to create wire or surface models
from scratch or to complement imported geometries. The module allows the following:
l create and edit basic and advanced curves and surfaces,
l visualize and probe the geometry entities,
l perform advanced geometry operations such as surface-surface intersection, offsetting...
Other features include:
l attraction features to points, curves and surfaces,
l importation of external CAD geometry in IGG™ or IGES formats,
l exportation of CAD geometry in IGG™ format.
Basic Geometry Entities
The basic type of curves provided in IGG™ are:
l Polylines.
l CSplines, which are parametric cubic splines. These curves interpolate a set of user-defined
points and have the property to pass through these points. They are the most commonly used
curve entity in IGG™.
l BSplines, are spline curves defined with basic functions. In general, bspline curves do not pass
through the control points. This kind of curve is generated by IGG™ when performing, for
example, surface-surface intersections or other geometry manipulations.
l Circular arcs or circles.
The basic type of surfaces provided in IGG™ are:
l Wireframes, which are defined by a structured network of points.
l Lofted surfaces, which are surfaces interpolating a set of "parallel" curves. Lofted surfaces are
internally represented as BSpline or NURBS surfaces.
l BSpline and NURBS surfaces, defined using basic functions. In general, the surfaces do not
pass through their control points.
Curve Orientation
When creating or importing curves in IGG™, a default orientation for the curve is given. This
orientation is used when using the curves for other geometry or grid operations. For example,
Coons patches or lofted surfaces directly use the orientation of the building curves.
The curve orientation can be visualized using the Geometry/View/CurveOrientation menu and
it can be changed with the Geometry/Modify Curve/Reverse menu.
Geometry Tolerance
Absolute tolerance
This geometry tolerance controls the accuracy of some geometry modeling operations, such as
surface-surface intersection. This tolerance is specified in absolute units and should be adapted to
the size of the current problem. For example, for a geometry with a global size of 1, a tolerance of
1e-5 is a good choice. For a global size of 1000, a better value is 1e-2 or 1e-3.
The tolerance may affect various parameters in IGG™:
l the computation time, which increases as the tolerance reduces,
l the accuracy of some IGG™ algorithms (i.e. surface-surface intersection),
l the size of the result, for example the number of control points of intersection curves.
The current
File/Preferences... menu (Tolerances/Geom Tol (abs) item).
tolerance can be queried, modified and saved for other sessions with the
Relative tolerance
This geometry tolerance controls the accuracy of some geometry modeling options, such as
attraction features (e.g. accuracy of the position of the curve closest point when using the curve
attraction feature). This tolerance is a relative one and a value of 1e-5 is a good choice.
The current
File/Preferences... menu (Tolerances/Geom Tol (rel) item).
tolerance can be queried, modified and saved for other sessions with the
Attraction
During interactive manipulations, attraction features allow to attract the mouse cursor to existing
entities listed here below:
l Curve end points,
l Curve control points,
l Cartesian points,
l Edge grid points,
l Curves,
l Surfaces,
l Vertices,
l Fixed points.
Some of these entities must be visible to perform an attraction. Most of the attraction features can
be activated or deactivated by simply pressing a keyboard key. These features are very interesting
since it allows to connect entities together.
The attraction feature and its key binding is described in detail for each command in the
corresponding section if it is available.
8.1
DRAW CSPLINE->FREE
Geometry/Draw CSpline/Free is used to draw a parametric cubic spline through a set of control
points entered with the mouse and/or with the keyboard.
l Using the mouse, the user must simply move the cursor to the desired position and press the
left mouse button to add a control point to the curve.
l Using the keyboard, the user must enter the 3 coordinates separated by a blank, while the
cursor is in the graphics area. The keyboard inputs are automatically echoed in the string input
area. Pressing <Enter> adds a control point to the curve.
l The creation of the curve is terminated by pressing the right mouse button. Notice that the last
curve segment, attached to the mouse movement is not part of the curve and is removed from
the screen.
l When entering the points with the mouse, the depth of the point is automatically fixed by
IGG™. The current depth can be seen by reading the mouse coordinates in the corresponding
area. This depth can be changed using the View/View Depth menu.
l During the specification of the points with the mouse, it is possible to attract the cursor to
existing points, curves or surfaces. This feature is very interesting since it allows to connect
curves together and to create T junctions. By default this attraction is enabled. To toggle the
attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves
or surfaces, press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in
circle is displayed. The attraction works on:
l point attraction: Cartesian points and curves end points if they are visible.
l curve attraction: visible curves.
l surface attraction: visible surfaces.
l vertices and fixed points. This attraction always work and cannot be deactivated.
The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>,
<c> or 
 repeatedly, while the cursor is in the graphics area.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/CSpline menu
item.
8.2
DRAW CSPLINE->ON SURFACES
Geometry/Draw CSpline/On Surfaces is used to draw a cspline of which control points must lie
on one or more surfaces. The drawing works by projecting the input control points on all selected
surfaces. The projection direction is the normal to the current view plane. A control point falling
outside any selected surface will not be projected.
The final spline curve does not, in general, completely lie on the selected surfaces. Only the control
points are on the surface(s).
Except for the attraction feature which is described below, all other operations are the same as for
free cspline and are explained in the Draw CSpline -> Free menu.
When adding points using the mouse, it is possible to attract the cursor to existing points. This
feature is very interesting since it allows to connect curves together. To activate the attraction
press <a> in the graphics area, then move the cursor to the desired point. The cursor (if close
enough) is attracted to the point. Finally, press the left mouse button to add a point at that position.
The attraction works on all control points of the curves and on the grid points of the edges if they
are visible.
The point attraction feature is activated or deactivated by pressing <a> repeatedly, while the cursor is
in the graphics area.
8.3
DRAW CSPLINE->ON SURFACE +
PROJECTION
Geometry/Draw CSpline/On Surface + Projection is used to draw a cspline and to project it on
a selected surface as the final step of its creation.
The control points are initially entered with the mouse or the keyboard . Then, after pressing the right mouse
button, the control points are projected on the first selected surface and a new cspline created.
This spline interpolates the projected points. The total number of control points defining the final
curve can be entered manually or can be automatically calculated.
Number of control points (automatic = 0) (q)
>> 0
8.4
DRAW BSPLINE->FREE
Geometry/Draw BSpline/Free is used to draw bsplines by defining control points with the
mouse and/ or with the keyboard.
l Using the mouse, the user must simply move the cursor to the desired position and press the
left mouse button to add a control point to the curve.
l Using the keyboard, the user must enter the 3 coordinates separated by a blank, while the
cursor is in the graphics area. The keyboard inputs are automatically echoed to the string input
area. Pressing <Enter> adds a control point to the curve.
l The creation of the curve is terminated by pressing the right mouse button. Notice that the last
curve segment, attached to the mouse movement is not part of the curve.
l When entering the points with the mouse, the depth of the point is automatically fixed by
IGG™. The current depth can be seen by reading the mouse coordinates in the corresponding
area. This depth can be changed using the View/View Depth menu.
l During the specification of the points with the mouse, it is possible to attract the cursor to
existing points, curves or surfaces. This feature is very interesting since it allows to connect
curves together and to create T junctions. By default this attraction is enabled. To toggle the
attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves
or surfaces, press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in
circle is displayed. The attraction works on:
l point attraction: cartesian points and curves end points if they are visible.
l curve attraction: visible curves.
l surface attraction: visible surfaces.
l vertices and fixed points. This attraction always work and cannot be deactivated.
The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>,
<c> or 
 repeatedly, while the cursor is in the graphics area.
8.5
DRAW BSPLINE->ON SURFACES
Geometry/Draw BSpline/On Surfaces is used to draw a bspline of which control points must lie
on one or more surfaces. The drawing works by projecting the input control points on all selected
surfaces. The projection direction is the normal to the current view plane. A control point falling
outside any selected surface will not be projected.
The final spline curve does not, in general, lie completely on the selected surfaces. Only the control
points are on the surface(s).
Except for the attraction feature which is described below, all other operations are the same as for
free bspline and are explained in the Draw BSpline -> Free menu.
When adding points using the mouse, it is possible to attract the cursor to existing points. This
feature is very interesting since it allows to connect curves together. To activate the attraction
press <a> in the graphics area, then move the cursor to the desired point. The cursor (if close
enough) is attracted to the point. Finally, press the left mouse button to add a point at that position.
The attraction works on all control points of the curves and on the grid points of the edges if they
are visible.
The point attraction feature is activated or deactivated by pressing <a> repeatedly, while the
cursor is in the graphics area.
8.6
DRAW BSPLINE->ON SURFACE +
PROJECTION
Geometry/Draw BSpline/On Surface + Projection is used to draw a bspline and to project it on
a selected surface as the final step of its creation.
The control points are initially entered with the mouse or the keyboard . Then, after pressing the right mouse
button, the control points are projected on the first selected surface and a new bspline created.
This spline interpolates the projected points. The total number of control points defining the final
curve can be entered manually or can be automatically calculated.
Number of control points (automatic = 0) (q)
>> 0
8.7
DRAW POLYLINE->FREE
Geometry/Draw Polyline/Free is used to create a polyline by entering a set of control points.
Between two points, the curve is represented as a line segment.
l Using the mouse, the user must simply move the cursor to the desired position and press the
left mouse button to add a control point to the curve.
l Using the keyboard, the user must enter the 3 coordinates separated by a blank, while the
cursor is in the graphics area. The keyboard inputs are automatically echoed to the string input
area. Pressing <Enter> adds a control point to the curve.
l The creation of the curve is terminated by pressing the right mouse button. Notice that the last
curve segment, attached to the mouse movement is not part of the curve.
l When entering the points with the mouse, the depth of the point is automatically fixed by
IGG™. The current depth can be seen by reading the mouse coordinates in the corresponding
area. This depth can be changed using the View/View Depth menu.
l During the specification of the points with the mouse, it is possible to attract the cursor to
existing points, curves or surfaces. This feature is very interesting since it allows to connect
curves together and to create T junctions. By default this attraction is enabled. To toggle the
attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves
or surfaces, press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in
circle is displayed. The attraction works on:
l point attraction: Cartesian points and curves end points if they are visible,
l curve attraction: visible curves,
l surface attraction: visible surfaces,
l vertices and fixed points. This attraction always work and cannot be deactivated.
The point, curve or surface attraction feature is activated or deactivated by pressing respectively
<a>, <c> or 
 repeatedly, while the cursor is in the graphics area.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Polyline menu
item.
8.8
DRAW POLYLINE->ON SURFACES
Geometry/Draw Polyline/On Surfaces is used to draw a polyline of which control points must
lie on one or more surfaces. The drawing works by projecting the input control points on all
selected surfaces. The projection direction is the normal to the current view plane. A control point
falling outside any selected surface will not be projected.
The final polyline curve does not, in general, lie completely on the selected surfaces. Only the control
points are on the surface(s).
Except for the attraction feature which is described below, all other operations are the same as for
free polyline and are explained in the Draw Polyline -> Free menu.
When adding points using the mouse, it is possible to attract the cursor to existing points. This
feature is very interesting since it allows to connect curves together. To activate the attraction
press <a> in the graphics area, then move the cursor to the desired point. The cursor (if close
enough) is attracted to the point. Finally, press the left mouse button to add a point at that position.
The attraction works on all control points of the curves and on the grid points of the edges if they
are visible.
The point attraction feature is activated or deactivated by pressing <a> repeatedly, while the cursor is
in the graphics area.
8.9
DRAW POLYLINE->ON SURFACE +
PROJECTION
Geometry/Draw Polyline/On Surface + Projection is used to create a curve (polyline) in the
same way as Geometry/Draw CSpline/On Surface + Projection. The final curve is a polyline
with a number of control points defined by the user. These control points are guaranteed to lie on
the selected surface.
8.10 CIRCULAR ARC->NORMAL-CENTER-POINT-
POINT
This menu option is used to create circles or circular arcs through two points and perpendicular to
an anchored vector. It allows also the creation of an arc perpendicular to an anchored vector,
running through one point and of a given angle. The following inputs are requested:
l an anchored vector, defined by a direction and an anchor point,
l the start and end points (or an angle in place of the end point).
All these data (except for the angle) can be entered either through the keyboard input area or with
the mouse.
The center of the circle is calculated so that the circular arc runs exactly through the two points.
The anchor of the vector can be used to define it. However, in case it is not on the perpendicular
to the chord bound by the two points, the center is set on this perpendicular, the nearest to the
vector. See FIGURE 8.1.
FIGURE 8.1
Circular arc
To draw a complete circle, the start point must be equal to the end point. The following prompts
are given for the anchor vector and the two points (data entered with the keyboard):
Enter normal to the arc
>> 0 1 0
Enter normal anchor point (q)
>> 0 0 0
Enter start point
>> 0 1 1
Enter end point
>> 1 1 0
The normal to the arc can be chosen as the screen normal by simply left-clicking in the graphics area.
For the specification of the normal anchor point, start and end points, it is possible to attract the
cursor to existing points, curves or surfaces. This feature is very interesting since it allows to
connect curves together and to create T junctions. By default this attraction is enabled. To toggle
the attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves
or surfaces, press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in
circle is displayed. The attraction works on:
l point attraction: Cartesian points and curves end points if they are visible,
l curve attraction: visible curves,
l surface attraction: visible surfaces,
l vertices and fixed points. This attraction always work and cannot be deactivated.
The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>,
<c> or 
 repeatedly, while the cursor is in the graphics area.
An angle can be specified in place of the end point by pressing <p> when the start point is
entered. The following prompt will appear:
Enter angle
>> 45
Enter the desired angle and press <Enter>.
To quit this tool without creating an arc, press <q> or the right mouse button.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Arc menu.
Example:
To draw a circular arc from (1,1,0) to (0,1,1) with centre (0,1,0), enter the following:
plane normal (0,1,0)
anchor point (0,1,0)
start point (0,1,1)
end point (1,1,0)
Notice that entering (0,0,0) for the anchor point would give the same result. Indeed, (0,0,0) is
located on the same arc normal than (0,1,0).
8.11 CIRCULAR ARC->NORMAL-POINT-POINT-
RADIUS
This menu option is used to create circles or circular arcs through two points, with a given radius
and perpendicular to a normal. The following inputs are requested from the user:
l Circle/ arc normal,
l Start and end point,
l Circle/ arc radius,
l Arc position.
All these data (except the arc position) can be entered either through the keyboard input area or
with the mouse. The normal to the arc can be chosen as the screen normal by simply left-clicking
in the graphics area.
For the specification of the arc start and end points, it is possible to attract the cursor to existing
points, curves or surfaces. This feature is very interesting since it allows to connect curves
together and to create T junctions. By default this attraction is enabled. To toggle the attraction to
points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces,
press <c> or 
 respectively. When the cursor is attracted to an entity, a filled-in circle is
displayed. The attraction works on:
l point attraction: Cartesian points and curves end points if they are visible,
l curve attraction: visible curves,
l surface attraction: visible surfaces,
l vertices and fixed points. This attraction always work and cannot be deactivated.
The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>,
<c> or 
 repeatedly, while the cursor is in the graphics area.
Once the start point is entered, it is displayed in a filled-in circle and a semicircle is drawn through
this start point and the cursor. See FIGURE 8.2. Moreover, a line representing the radius and a
cross representing the center are displayed; the corresponding values of the radius and center are
shown in the information area. When the end point is entered, it is also displayed in a filled-in
circle.
FIGURE 8.2
Arc representation before its creation
If the radius is entered through the keyboard input area, it is possible that the value entered is too
small (if value is lower than half distance between start and end point), in which case a warning
message appears. When the radius is entered, the sense of the circular arc can be chosen by
pressing <o> repeatedly. In fact, there are six possibilities to draw an arc between two points and
with a given radius, which includes two possibilities of complete circle, as shown in FIGURE
8.3.
FIGURE 8.3
Six arcs drawn through two points with a given radius
Once the correct sense is chosen, simply click on the left mouse button to complete the arc
creation.
To quit this tool without creating an arc, press <q> or the right mouse button.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Arc menu.
8.12 CIRCULAR ARC->POINT-POINT-POINT
This menu option is used to create circular arcs through three points. The following inputs are
requested from the user:
l Start point,
l End point,
l Middle point.
All these data can be entered either through the keyboard input area or with the mouse.
During the specification of the points with the mouse, it is possible to attract the cursor to existing
points, curves or surfaces. By default this attraction is enabled. To toggle the attraction to points,
press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces, press <c>
or 
 respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The
attraction works on:
l visible points and curves end points,
l visible curves,
l visible surfaces,
l vertices and fixed points. This attraction always work and cannot be deactivated.
The point, curve or surface attraction feature is activated or deactivated by pressing respectively <a>,
<c> or 
 repeatedly, while the cursor is in the graphics area.
The start and end points must be specified first and are displayed in a filled-in circle. When both
points are specified, a circular arc is drawn between the start point, end point and the current
cursor position, representing the mid point See FIGURE 8.4. Moreover, a line representing the
radius and a cross representing the center are displayed; the corresponding values of the radius
and center are shown in the information area.
It is possible to get a complete circle by pressing the <o> key. Pressing <o> a second time comes
back to the circular arc mode.
FIGURE 8.4
Circular arc representation before its creation
Entering the mid point will complete the circular arc (or circle) creation.
To exit the tool without creating an arc, press <q> or the right mouse button.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Arc menu.
8.13 CREATE POINTS->CARTESIAN POINT
This command is used to create Cartesian points, that is a point defined by its three Cartesian
coordinates x, y and z. The following prompt appears:
Enter Point Coordinates (x y z) ? (q)
>> 0 1 0
Enter the desired coordinates and press < Enter>. The corresponding Cartesian point will be
displayed in a filled-in circle in the graphics area.
To quit this command, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Point/Cartesian Point
menu item.
8.14 CREATE POINTS->CURVE-CURVE
INTERSECTION
This command is used to create Cartesian points at the intersection of curves that must be selected
before using this command. More than two curves can be selected and the Cartesian points will be
displayed in filled-in circles. If a curve has an intersection with itself, it will not have a Cartesian
point created at the corresponding location.
This tool can also be accessed through the Quick Access Pad/Geometry/Point/Curve-Curve
Inters menu item.
8.15 CREATE POINTS->CURVE-PLANE
INTERSECTION
This command is used to create Cartesian points at the intersection between a plane and curves
that must be selected before using this command. The Cartesian points will be displayed in filled-
in circles. The following prompts allowing the selection of the plane will appear:
Enter plane origin
>> 0 0 0
Enter plane normal
>> 0 0 1
To quit this command before the end, enter 'q' in the keyboard input area and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Point/Curve-Plane
Inters menu item.
8.16 CREATE CURVE->SURF-SURF
INTERSECTION
Geometry/Create Curve/Surf-Surf Intersection is used to compute the intersection curve(s)
between two selected surfaces.
The computation algorithm makes use of the absolute geometry tolerance defined in the system.
The calculation time and the resolution of the intersection curve (s) directly depend on this
geometry tolerance. It is strongly advised not to take too small values for this tolerance. A typical
value for the tolerance is 1e-5 for surface sizes equal to 1.
The tolerance can be modified using the File/Preferences... menu option.
It is to be noticed that an intersection between two surfaces may result in several curves, which
may need to be concatenated with the Geometry/Create Curve/Group menu.
Limitations: the geometry library used in IGG™ cannot properly find intersection of surfaces
which are not continuous in slope (C1 continuity). This is the case, for example, when creating
lofted surfaces using polylines or curves of degree 1. In this case, it is advised to decompose the
problem and search the intersection of each continuous part of the surface.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Surf-Surf
Inters menu item.
8.17 CREATE CURVE->SURF-PLANE
INTERSECTION->POINT-NORMAL
This command is used to compute the intersection curve(s) between NURBS surfaces and a
plane. In this option, the plane is specified by an origin and a normal. These values can be entered
through the keyboard or with the mouse. The following prompts will appear:
Enter plane origin
>> 0 0 0
Enter plane normal
>> 0 0 1
When using the mouse to define the normal, the normal is calculated by taking the vector going
from the origin (first point entered) to the selected point.
IGG™ then computes the intersection between the plane and all
(Geometry/Select/Surfaces).
the selected surfaces
To quit this command before the end, enter 'q' in the keyboard input area and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Surf-Plane
Inters menu.
The computation algorithm makes use of the absolute geometry tolerance defined in the system.
The calculation time and the resolution of the intersection curve (s) directly depend on this
geometry tolerance. It is strongly advised not to take too small values for this tolerance. A typical
value for the tolerance is 1e-5 for surface sizes equal to 1.
The tolerance can be modified using the File/Preferences... menu option.
8.18 CREATE CURVE->SURF-PLANE
INTERSECTION->NORMAL TO CURVE
This command is used to compute the intersection curve(s) between NURBS surfaces and a
plane. It allows the user to specify the cutting plane by simple selection of a point on a curve. The
plane will be defined with its origin at the selected point and its normal tangent to the curve, at the
selected point.
This option is especially useful for internal flow geometries like volutes or pipes, where
intersection of lateral surfaces with a radial plane can be performed easily by selecting a point on a
longitudinal curve. See FIGURE 8.5. The resulting intersection curves can then be used to easily
place radial internal faces.
FIGURE 8.5
Surface intersection with planes defined perpendicularly to a curve.
To perform an intersection:
1. Select the surfaces to intersect (Geometry/Select/Surfaces).
2. Select this command.
3. Move the mouse to a curve, at the location where the plane should intersect. When the mouse
is close enough to the curve, the current point is highlighted.
4. Left-click to select the point and to perform the intersection.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Surf-Plane
Inters menu.
8.19 CREATE CURVE->SURF-PLANE
INTERSECTION->POINT-POINT-POINT
This command is used to compute the intersection curve(s) between NURBS surfaces and a
plane. In this option, the plane must be defined by three points, specified from the keyboard or
with the mouse. When activating the option, IGG™ prompts to enter the three points
successively:
>> Select first point <1>, <3> to quit
To enter the point from the keyboard, simply type the three coordinates separated by a blank then
press <Enter>. The coordinates are echoed in the string input area.
When specifying a point with the mouse, the current point can be attracted to points, curves or
surfaces.
The second and third points must be specified in the same way.
After the third point has been specified, IGG™ performs the intersection with the selected
surfaces.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Surf-Plane
Inters menu.
8.20 CREATE CURVE->EXTEND CURVE
This option is used to extend an existing geometry curve at one or both ends in the direction
tangent to the curve at the end points. It is especially useful when an input CAD file contains
curves supposed to intersect but which practically do not. In this case, using the option will allow
to extend one curve and make it intersect the other.
The dialog box shown in FIGURE 8.6 is provided to extend a selected curve by specifying the
extension factor at one or both ends of the curve:
FIGURE 8.6
Curve extend dialog box
The specified values must be null or positive and correspond to a percentage of the curve length.
A null value means that no extension will be performed for the specified end. For example,
specifying a factor of 0.1 at one end of curve whose length is 5, will extend the curve by an
amount of 0.5.
This option creates a new curve. The reference curve remains unchanged to avoid side effects like for
example position modification of vertices lying on the curve.
8.21 CREATE CURVE->OFFSET CURVE (CST)
Geometry/Create Curve/Offset Curve (Cst) is used to create curves by offsetting the selected
curves in the view plane with an offset distance. The offset distance can be negative. The
following prompt is given to enter the offset distance:
Offset Distance (q)
>> -0.3
The offset curves are automatically drawn in blue indicating that they are not activated.
To quit this command, enter 'q' and press <Enter>.
8.22 CREATE CURVE->OFFSET CURVE (LINEAR)
Geometry/Create Curve/Offset Curve (Linear) is used to create curves by offsetting the
selected curves in the view plane by entering two offset distances. These distances correspond
respectively to the offset at the beginning and at the end of the curve. The offset distance can be
negative. The following prompt is given to enter the offset distance
Offset Distance (start, end) (q)
>> 1 1
The offset curves are automatically drawn in blue indicating that they are not activated.
To quit this command, enter 'q' and press <Enter>.
8.23 CREATE CURVE->GROUP
Geometry/Create Curve/Group is used to create a curve by joining together the curves
currently selected. The joining starts from the first selected curve and uses the orientation of this
curve as reference.
Curves created with this option may be discontinuous (i.e. joining an arc with a line). Discontinuous
curves and surfaces are not always properly treated by intersection algorithms.
The following prompt is given to enter a tolerance:
Enter tolerance for curves grouping : (q)
>> 1E-6
Two curves can be joined if this tolerance is higher than the distance separating points (start or
end point) of each curve. If the tolerance is higher than the absolute geometry tolerance defined in
the system, each gap (between two curves) greater than this geometry tolerance is filled, meaning
that the curves are joined with a straight line. See FIGURE 8.7.
FIGURE 8.7
Grouping of two curves presenting a gap
The tolerance can be modified using the File/Preferences... menu option.
The composite curve created (if one) is automatically drawn in blue indicating that it is not
activated and the curves used to create this resulting curve are deleted. These curves can be
recovered by using the Geometry/Create Curve/UnGroup command (so, the composite curve
will be deleted).
To quit this command, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Group menu
item.
8.24 CREATE CURVE->UNGROUP
Geometry/Create Curve/UnGroup is used to create curves by splitting a composite curve
previously created by the command Geometry/Create Curve/Group. In fact, it recovers the
curves used to create the composite curve, which is deleted. The straight lines filling the gaps are
also deleted.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/UnGroup menu
item.
8.25 CREATE CURVE->TRIM
This tool is used to trim curves (selected or not). It operates by removing the curve part (delimited
by the other visible curves) lying under the cursor. A filled-in circle will appear on the part that
will be deleted if the cursor is close enough. To delete this part, simply press the left mouse
button.
In fact, the parts of a curve are defined by all its intersections with the other visible curves. So, an
extremity piece of a curve can be removed or a middle piece, dividing the initial curve into two
other curves. For example, in FIGURE 8.8, either part 1, 2 or 3 of curve 1 can be trimmed.
FIGURE 8.8
Parts of a curve that can be trimmed
If a curve has only one part (before or after trimming), a warning message will appear when
trying to trim it because this operation will result in the total deletion of the curve. To manage this,
use the appropriate command (Geometry/Delete/Curves).
A curve intersecting itself has not two parts but only one. So, the trimming of such a curve may seem
sometimes strange but it is normal. For example, in FIGURE 8.9, left-clicking on part 1 will delete
it, that is all the left part of curve 1 (bold part).
FIGURE 8.9
Trimming on a curve intersecting itself
8.26 CREATE SURFACE->LOFTED
Geometry/Create Surface/Lofted is used to create a NURBS surface interpolating a set of
selected curves. The orientation and the order of the selected curves are taken into account to
define the surface.
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Lofted menu
item.
8.27 CREATE SURFACE->REVOLUTION
Geometry/Create Surface/Revolution allows to create a NURBS surface by rotating a curve
around a user-defined line. Each selected curve, used as generating line, leads to the creation of a
surface. The following prompts are given to specify the rotation line:
Rotation axis vector (q)
>> 0 0 1
Rotation axis origin (q)
>> 0 0 0
Rotation angle (q)
>> 90
the surface creation,
After
several additional curves,
the option automatically creates
corresponding to the boundaries of the revolution surface. Moreover, intermediate curves are
created for a better surface representation. All these curves are deleted when the surface is deleted.
FIGURE 8.10
Cylinder created by rotation of the generating line (250 degrees).
To quit this option, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Revolution
menu item.
8.28 CREATE SURFACE->COONS PATCH
Geometry/Create Surface/Coons Patch allows to create a NURBS surface from four selected
curves, using a bilinear interpolation. The four curves should define a closed region and should
have the following orientation :
FIGURE 8.11
Curve order when creating a Coons surface
The four curves must also be selected as indicated in FIGURE 8.11 (curve 1 first, ...).
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Coons menu
item.
8.29 CREATE SURFACE->LINEAR SWEEP
Geometry/Create Surface/Linear Sweep allows to create a NURBS surface from two selected
curves by making the tensor product of the two curves. The two curves should be "perpendicular"
in the parametric space of the surface and must have a point in common (i.e. curves 1 and 4 in
FIGURE 8.11).
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Linear Sweep
menu item.
8.30 CREATE SURFACE->OFFSET
Geometry/Create Surface/Offset is used to create surfaces by offsetting the selected surfaces
according to an offset distance which can be negative. The following prompt is given to enter the
offset distance:
Enter offset distance (q)
>> -0.3
The boundary curves of the offset surfaces are automatically drawn in blue indicating that they are
not activated.
To quit this command, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Offset menu
item.
8.31 CREATE SURFACE->BILINEAR FROM FACE
GRID
Geometry/Create Surface/Bilinear From Face Grid allows to create a NURBS surface
(wireframe surface of order 2) from a face grid. To create a NURBS from a face:
1. Activate the face by selecting it interactively or by entering its indices in the keyboard input
area,
2. Apply the menu option.
The surface will be created at the same location as the active face and can be manipulated with the
Geometry/Edit or Geometry/Modify Surface menus.
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Bilinear From
Face Grid menu item.
8.32 CREATE SURFACE->BICUBIC FROM FACE
GRID
Geometry/Create Surface/Bicubic From Face Grid allows to create a wireframe surface of
order 3 from a face grid. To create a wireframe surface of order 3 from a face:
1. Activate the face by selecting it interactively or by entering its indices in the keyboard input
area,
2. Apply the menu option.
The surface will be created at the same location as the active face and can be manipulated with the
Geometry/Edit or Geometry/Modify Surface menus.
8.33 CREATE SURFACE->PLANE SPLIT->POINT-
NORMAL
is used
command
This
surface
create new surfaces by
(Geometry/Select/Surfaces) by a plane. In this option, the plane is specified by an origin and a
normal. These values can be entered through the keyboard or with the mouse. The following
prompts will appear:
splitting
selected
to
Enter plane origin
>> 0 0 0
Enter plane normal
>> 0 0 1
When using the mouse to define the normal, it is calculated by taking the vector going from the
origin (first point entered) to the selected point.
To quit this command before the end, enter 'q' in the keyboard input area and press <Enter>.
When performing the split, the old surface is kept and resulting split surfaces are added.
8.34 CREATE SURFACE->PLANE SPLIT-
>NORMAL TO CURVE
is used
command
This
surface
create new surfaces by
(Geometry/Select/Surfaces) by a plane. In this option, the plane is specified by a simple selection
of a point on a curve. The plane will be defined with its origin at the selected point and its normal
tangent to the curve, at the selected point.
splitting
selected
to
To perform the split:
1. Select the surface to intersect (Geometry/Select/Surfaces).
2. Select this command.
3. Move the mouse to a curve, at the location where the plane should split. When the mouse is
close enough to the curve, the current point is highlighted.
4. Left-click to select the point and to perform the split. The old surface is kept and resulting split
surfaces are added.
8.35 CREATE SURFACE->PLANE SPLIT->POINT-
POINT-POINT
is used
command
This
surface
create new surfaces by
(Geometry/Select/Surfaces) by a plane. In this option, the plane must be defined by three points,
specified from the keyboard or with the mouse. When activating the option, IGG™ prompts to
enter the three points successively:
splitting
selected
to
>> Select first point <1>, <3> to quit
To enter the point from the keyboard, simply type the three coordinates separated by a blank then
press <Enter>. The coordinates are echoed in the string input area.
When specifying a point with the mouse, the current point can be attracted to points, curves or
surfaces. The second and third points must be specified in the same way.
After the third point has been specified, IGG™ performs the split. The old surface is kept and
resulting split surfaces are added.
8.36 CREATE SURFACE->SURFACE SPLIT
Geometry/Create Surface/Surface Split allows to split a surface by another reference surface.
Before performing the command, the surfaces should be selected (Geometry/Select/Surfaces):
the first selected surface is the surface to divide, the second one the reference surface for division.
The reference surface used for the splitting should cover completely the surface to split otherwise the
splitting is not well defined.
When performing the split, the old surface is kept and resulting split surfaces are added.
8.37 CREATE SURFACE->EXTRACT
UNDERLYING SURF
Geometry/Create Surface/Extract Underlying Surf allows to create a surface that is used to
support an existing trimmed surface coming from Parasolid™ and CATIA V5 import.
8.38 EDIT->COPY
Geometry/Edit /Copy is used to create new curves and surfaces by cloning the selected
geometry curves and surfaces.
After the cloning, new entities can be transformed directly through this tool:
Translation(t), Rotation(r), Scale(s), Mirror(m), None(q)
To perform a simple copy, enter 'q' and press <Enter>. Other operations are strictly equivalent to
the corresponding ones of the Edit menu.
After the cloning, all currently selected geometry entities are unselected and the new created
entities are selected. This allows to perform other editing operations on these entities without
having to manually select them.
This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Copy menu item.
8.39 EDIT->TRANSLATE
Geometry/Edit /Translate is used to translate all the selected geometry entities (curves and
surfaces) along a user-defined vector. The following prompt is given to specify the translation
vector:
Translation vector (q)
>> 1 1 1
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely translated, since it
would implicitly change the definition of the surface. To translate such a curve a copy must first
be made . The copy can then be freely translated.
To quit this option, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Translate menu
item.
8.40 EDIT->ROTATE
Geometry/Edit /Rotate is used to rotate all the selected geometry entities (curves and surfaces)
around a user-defined line. The following prompts are given to specify the rotation line:
Rotation axis vector (q)
>> 0 0 1
Rotation axis origin (q)
>> 0 0 0
Rotation angle (degree) (q)
>> 90
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely rotated, since it
would implicitly change the definition of the surface. To rotate such a curve a copy must first be
made . The copy can then be freely rotated.
To quit this option, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Rotate menu item.
8.41 EDIT->SCALE
Geometry/Edit /Scale is used to scale all the selected geometry entities (curves and surfaces) with
a user-defined scale factor. The following prompt is given to specify the scaling factor in the three
directions:
Scale factor (x y z) (q)
>> 1 1 1
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely scaled, since it
would implicitly change the definition of the surface. To scale such a curve a copy must first be
made . The copy can then be freely scaled.
To quit this option, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Scale menu item.
8.42 EDIT->MIRROR
Geometry/Edit /Mirror is used to mirror all the selected geometry entities (curves and surfaces)
according to a mirror plane. The following prompts are given to specify the mirror plane:
Mirror Plane Normal (q) ?
>> 0 0 1
Mirror Plane Origin (q) ?
>> 0 0 0
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely mirrored, since it
would implicitly change the definition of the surface. To mirror such a curve a copy must first be
made . The copy can then be freely mirrored.
To quit this option, enter 'q' and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Mirror menu
item.
8.43 EDIT->CONVERT TO CSPLINE
Geometry/Edit/Convert to CSpline is used to convert the selected curves into csplines with a
specified number of control points. A number of control points (set by the user or automatically)
are calculated on each curve. Then a cspline is interpolated through these control points.
The following prompt appears to select the number of control points:
Number of control points (automatic = 0) (q)
Enter '0' for an automatic setting. The next prompt allows to select the type of control points
distribution:
Control points Fct. of curvature(1) or uniform(0) (q)
Enter '0' for a uniform distribution or '1' for a distribution calculated according to the curve
curvature.
For a distribution calculated according to the curve curvature, two additional prompts appear:
Maximum curvature ratio (1 -> 1e5)(q)
Curvature weight (1e-5 -> 1e5)(q)
When the ratio of curvature extreme is higher than the maximum curvature ratio, the points
density is limited and is set to uniform. A value of 50 is advised. The curvature weight is used to
decrease or increase the influence of the curve curvature on the points density.
To quit this option, enter 'q' and press <Enter>.
8.44 MODIFY CURVE->ADD CONTROL POINT
Geometry/Modify Curve/Add Control Point is used to add control points to the selected
curves. The following prompt is given:
Select a point (a = attraction, q = quit) a:Off
The control points are displayed as markers (cross surrounded by a circle). New point is also
visualized as marker under the cursor and is simply specified by left-clicking.
The attraction to edges grid points can be activated by simply pressing <a> repeatedly, while the
cursor is in the graphics area.
Control points cannot be added to circles or circular arcs.
To quit the option, press <q> or the right mouse button.
8.45 MODIFY CURVE->REMOVE CONTROL
POINT
Geometry/Modify Curve/Remove Control Point is used to remove one or more control points
of the selected curves. The following prompt is given:
Select a point (q)
The control points are displayed as markers (cross surrounded by a circle). To remove a control
point, move the cursor on it and press the left mouse button. If a curve has more than two control
points, the removal of the start or end control point will also remove the curve part between this
extremity control point and the next control point.
Obviously, if a curve has only two control points, these ones cannot be removed.
To quit the option, press <q> or the right mouse button.
8.46 MODIFY CURVE->PROJECT
Geometry/Modify Curve/Project is used to project the selected curves onto a selected surface.
When more surfaces are selected, the first selected surface is used for the projection. The user is
requested to specify a projection vector:
Enter Projection Vector (d = view plane normal)
Typing 'd' instead of the three vector coordinates will take the view plane normal as the projection
vector.
Enter 'q' and press <Enter> to quit this command.
8.47 MODIFY CURVE->MODIFY POINT
Geometry/Modify Curve/Modify Point is used to modify the shape of a curve by modifying
one or more control points and/or tangents of the curve. Modification is only possible on the
curves selected by the user.
After selecting this option, the control points and tangents of all selected curves are displayed and
a prompt appears to select a point for modification:
Select a point (a = attraction, q = quit) a:Off
The operations needed to modify a point are as follows:
l Select the point to be modified with the left mouse button.
l Move the selected point to a new location. The new position of the point can be entered from
the keyboard by typing the new coordinates 'x y z' in the graphics area and pressing <Enter>.
l Repeat the operation with other points.
l Quit the option with the right mouse button or by pressing <q>.
During the modification, it is possible to attract the current point to other existing points by
enabling the attraction mode. Attraction to points is activated or deactivated by pressing <a>
within the graphics area (toggle). The message in the message area is updated accordingly.
The attraction works on all control points of the curves and on the grid points of the grid edges,
when they are visible.
Modification of tangents is only possible for cspline curves. In this case, select the tangent to be
modified with the left mouse button and move the cursor to indicate the new tangent direction. The
new direction of the tangent can be entered from the keyboard by typing the new coordinates 'x y z'
in the graphics area and pressing <Enter>. Attraction is also available by still pressing <a>.
8.48 MODIFY CURVE->MODIFY POINT ON
SURFACE
Geometry/Modify Curve/Modify Point On surface is used to modify the control points and the
tangents of the selected curves and project them onto the selected surfaces. The modification is
done in the same way as for the Modify Curve/Modify Point menu. At the end of the
modification of a control point, the point is projected on the selected surfaces.
The curve modified in this way does not in general completely lie in the surfaces. Only the control
points are guaranteed to be on the surfaces.
8.49 MODIFY CURVE->DISCRETIZATION
Geometry/Modify Curve/Discretization allows the user to change the number of points used to
discretize the curve. These points are used to draw the curve on the screen. This command applies
to all the selected curves.
The following prompt
consecutive control points of the curve:
is given to enter the number of intermediate points between two
Number of discretization points between control points (q) ?
>> 10
Enter 'q' and press <Enter> to quit this command.
8.50 MODIFY CURVE->DIVIDE
Geometry/Modify Curve/Divide allows the user to divide a selected curve. After the division the
old curve is removed from the geometry repository and two new curves (bsplines) are created.
The following prompt is given when activating the option:
Select the division point (a = attraction, q = quit) a:On
The division point is displayed as marker (cross surrounded by a circle) and can be specified by
selecting a point with the mouse within the limits of the curve or it can be entered with the
keyboard.
It is possible to attract the division point to edges grid points by enabling the attraction mode.
Attraction to points is activated or deactivated by pressing <a> within the graphics area.
To quit this command, press <q> or the right mouse button.
8.51 MODIFY CURVE->REVERSE
Geometry/Modify Curve/Reverse is used to reverse the orientation of the selected curves.
Recall that the orientation of curves is important when creating surfaces using these curves (i.e.
Coons patch or lofted surface).
8.52 MODIFY CURVE ->SET NAME
Geometry/Modify Curve/Set Name... is used to change the name assigned to a curve. It opens a
dialog box allowing to enter a new name for a curve. The name specified must be a unique name,
not already used by another curve. When pressing on the Apply button, IGG™ assigns the
specified name to the first selected curve.
The current name of a curve can be at any time known by activating the curve selection option
(< s >) and by moving the mouse on top of the curve. The curve name will appear in the
information area.
Assigning proper name to curves is especially important when working with templates.
This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Set Name menu
item.
8.53 MODIFY SURFACE->DISCRETIZATION
Geometry/Modify Surface/Discretization allows the user to choose the number of points used
to discretize the selected surfaces in the u and v directions. This discretization is used during
surface grid generation by approximate mapping. The following prompt is given:
Number of points in the u and v directions (q) ?
>>50 100
To quit this command, enter 'q' and press <Enter>.
8.54 MODIFY SURFACE->REPRESENTATION
Geometry/Modify Surface/Representation allows the user to create curves in the two
parametric directions of the selected surfaces. The most common use of the option is to have a
better visual representation of the surfaces and to create curves which are usable in other geometry
modeling operations. These curves are represented as cspline curves and can be freely
manipulated. The following prompt is given to enter the number of curves in each parametric
direction:
Number of Curves in the u and v directions (q) ?
>>20 25
l The minimum number of curves in one parametric direction is 2, which corresponds to the
boundary curves.
l The curves created in this way belong to the surface and are deleted when the surface is
deleted, if not used by other entities.
To quit this command, enter 'q' and press <Enter>.
8.55 MODIFY SURFACE->ADD UV CURVES
Geometry/Modify Surface/Add uv Curves is used to interactively create two orthogonal curves
in the parametric space of a surface, running through a user-defined point. The surface must first
be selected before being able to add uv curves.
After activating the option, the user is requested to select a point on the selected surface(s) through
which the curves will run.
Select a point (a = attraction, q = quit) a = Off
This point can be entered with the mouse or with the keyboard. When using the mouse, the
attraction to an existing point (control point of a curve or grid point of an edge) can be activated
by pressing <a> within the graphics area.
The curves created in this way belong to the surface and are deleted when the surface is deleted, if
not used by other entities.
To quit this option, press <q> or the right mouse button.
8.56 MODIFY SURFACE->DIVIDE
Geometry/Modify Surface/Divide allows the user to divide a selected surface by selecting an
existing parametric curve on the surface. The surface is split into two new surfaces along the
given curve. The old surface is deleted from the geometry repository.
The curve used for dividing the surface must be a parametric curve (along u or v), created with
Geometry/Modify Surface/Add uv Curves or Geometry/Modify Surface/Representation
menus.
After activation of the option, the user is requested to select a curve of the surface
Select a curve belonging to the surface (q = quit)
The curve selection is operated with the left mouse button (the curve is highlighted when the
cursor is close enough). After the selection, the division is automatically performed.
To quit this option, press <q> or the right mouse button.
8.57 MODIFY SURFACE->SET NAME
Geometry/Modify Surface/Set Name... is used to change the name assigned to a surface. It
opens a dialog box allowing to enter a new name for the selected surface. The name specified
must be a unique name, not already used by another surface. When pressing on the Apply button,
IGG™ assigns the specified name to the first selected surface. The boundary curves, as well as
the Geometry/Modify
surface
the
Surface/Representation option) will be automatically renamed according to the name assigned
to the surface.
othercurves
from the
created
using
(i.e.
The current name of a surface can be at any time known by activating the surface selection option
(<Ctrl-s>) and by moving the mouse on top of the surface. The surface name will appear in the
information area.
Assigning proper names to surfaces is especially important when working with templates.
This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Set Name
menu item.
8.58 SELECT->CARTESIAN POINTS
Geometry/Select/Cartesian Points allows the user to select or unselect one or more visible
Cartesian points with the mouse. When selected, the Cartesian points appear highlighted in blue
(default) else they appear in white. The following prompt appears when selecting this option:
Select Cartesian Point(s) (a = all, q = quit)
Subsequent operations are done with the mouse in the graphics area:
l moving the mouse over a non-selected point highlights it,
l pressing the left mouse button selects it,
l pressing one more time unselects it,
l pressing the right button or <q> terminates the selection process.
It is possible to select or unselect all points at once by pressing <a> in the graphics area. The first
time <a> is pressed all the points are unselected. The next time, <a> acts as a toggle.
8.59 SELECT->CONTROL POINTS
Geometry/Select/Control Points allows the user to display the coordinates of a control point of a
selected curve. When activated, the option shows the control points of all selected curves. Then
the user is requested to select one of these control points:
Select control points with the mouse (q)
Subsequent operations are as follows:
l moving the mouse over a control point highlights it,
l pressing the left mouse prints its coordinates in the information area,
l pressing the right button or <q> terminates the selection process.
8.60 SELECT->CURVES
Geometry/Select/Curves allows the user to select or unselect one or more visible curves with the
mouse for subsequent operations in geometry modeling or grid generation. When selected, the
curves appear highlighted in yellow (default) else they appear in blue. The following prompt
appears when selecting this option:
<1> Select curve(s), <1 Drag> Rectangle selection, <3> quit, (a = all)
Subsequent operations are done with the mouse in the graphics area:
l moving the mouse over a non-selected curve highlights it,
l pressing the left mouse button selects it,
l pressing one more time unselects it,
l pressing the left mouse button without releasing it and dragging the mouse draw a rectangle.
Releasing the left button selects all the curves having a part in this rectangle,
l pressing the right button or <q> terminates the selection process.
It is possible to select or unselect all curves at once by pressing <a> in the graphics area. The first
time <a> is pressed all the curves are unselected. The next time, <a> acts as a toggle.
During the selection, the information area is used to display information about the current curve.
Typical information is: curve name, arc length of the discretization curve,...
8.61 SELECT->SURFACES
Geometry/Select/Surfaces allows the user to select or unselect one or more visible surfaces with
the mouse for subsequent operations in geometry modeling (i.e.surf-surf intersection) or grid
generation (i.e. face grid generation). When selected, the boundary curves of the selected surfaces
appear highlighted in red (default) else they appear in blue.
Surface selection is possible by simple positioning of the mouse over the surface. When several
surfaces are stacked on top of each other, IGG™ provides a way to sweep through the surfaces
before selecting the desired one.
The following prompt appears when selecting this option:
<1> Select surface(s), <1 Drag> Rectangle selection, <3> quit, (a = all)
Subsequent operations are done with the mouse in the graphics area:
l Move the mouse to a surface to select (unselect). The surface is ready for selection
(unselection) when it becomes highlighted, either in blue or red. Red highlight means that the
surface is already selected and is ready to be unselected. Blue highlight means that the surface
is currently not selected and is ready to be selected.
l Left-click to select (or unselect) the surface. The surface changes its highlight to reflect its new
selection status.
l It is possible to select several surfaces at once by defining a selection rectangle. This rectangle
can be specified by pressing the left mouse button without releasing it and dragging the mouse.
Releasing the left button will select all the surfaces having a part in this rectangle.
l When several surfaces are stacked on top of each other, in the direction of the user's eyes,
IGG™ takes by default the closest surface to the user. The user can sweep through the
surfaces by middle-clicking the mouse, until the desired surface is highlighted. Left-click then
allows to select the highlighted surface.
It is possible to select or unselect all surfaces at once by pressing <a> in the graphics area. The first
time <a> is pressed all the surfaces are unselected. The next time, <a> acts as a toggle.
During the selection, the information area is used to display information about the current surface,
such as its name.
8.62 VIEW->CURVES
Geometry/View/Curves... allows the user to choose which curves are displayed. A curve
chooser, showing all the curves in the geometry repository is opened to select the curves. See
FIGURE 8.12.The visible curves are highlighted. To make one or more curves visible, select
them with the left mouse button in the chooser, then press Apply. The curves are automatically
displayed in the graphics area.
The <Ctrl> key is used in combination with the left mouse button to select several curves in the
chooser.
The <Shift> key is used in combination with the left mouse button to select a range of curves in
the chooser. A range of curves can also be selected by pressing the left button, dragging the
mouse and releasing the left button.
A filter, using regular expression search, is provided to select or unselect curves by their name.
FIGURE 8.12
Curve chooser
8.63 VIEW->SURFACES
Geometry/View/Surfaces... allows the user to choose which surfaces are displayed. A surface
chooser showing all the surfaces in the geometry repository, is opened to select the surfaces. See
FIGURE 8.13. The visible surfaces are highlighted. To make one or more surfaces visible, select
them with the left mouse button in the chooser, then press Apply. The boundary curves of the
surfaces are automatically displayed in the graphics area.
FIGURE 8.13
Surface chooser
The <Ctrl> key is used in combination with the mouse to select several surfaces in the chooser.
The <Shift> key is used in combination with the mouse to select a range of surfaces in the
chooser. A range of surfaces can also be selected by pressing the left button, dragging the mouse
and releasing the left button.
A filter, using regular expression search, is provided to select or unselect surfaces by their name.
8.64 VIEW->HIDE SELECTED CARTESIAN
POINTS
Geometry/View/Hide Selected Cartesian Points is used to hide all the selected cartesian points.
8.65 VIEW->HIDE SELECTED CURVES
Geometry/View/Hide Selected Curves is used to hide all the selected curves.
8.66 VIEW->HIDE SELECTED SURFACES
Geometry/View/Hide Selected Surfaces is used to hide all the selected surfaces.
8.67 VIEW->CONTROL POINTS
Geometry/View/Control Points acts as a toggle to show or hide the control points of all selected
curves.
8.68 VIEW->CURVE ORIENTATION
Geometry/View/Curve Orientation acts as a toggle to show or hide the orientation of the
selected curves. An arrow is displayed indicating the orientation of the curve.
8.69 VIEW->LOFTING CURVES
Geometry/View/Lofting curves is only available for lofted surfaces and is used to toggle the
display of the curves defining a lofted surface, except the boundary curves. The option applies to
the selected lofted surfaces and has no effect on the other surfaces.
8.70 VIEW->PREPARE VIEW
Geometry/View/Prepare View... allows to define the parameters for the faceting of the selected
surfaces.
The dialog box shown in FIGURE 8.14 is provided to control the creation of the triangulated
representation of the selected surfaces:
SPcurves tolerance: the Tolerance value is the maximum deviation allowed between a trimming
curve given in model space and its equivalent in the parametric space of the surface to be
trimmed. A default value, by default not applied and calculated from the overall dimension of the
selected surfaces, can be set by pressing the Default button.
Size: the minimum and maximum length of the facets in the triangulated representation of surfaces
can be specified through the two items Minimum length and Maximum length . For both
parameters a default value, by default not applied and calculated from the overall dimension of the
selected surfaces, can be set by pressing the Default button.
Tolerance: The chordal tolerance between a curve and its facet edges in model units, i.e. the
upper bound on the distance from the chord to the curve it approximates, can be specified through
the Curve chordal tolerance item. Similarly, the distance tolerance in model units between a
surface and its faceted representation, i.e. the upper bound on the distance from a position on a
facet to the surface, can be specified through the Surface plane tolerance item. For both
parameters, a default value, calculated from the overall dimension of the selected surfaces, can be
set by pressing the Default button.
Resolution: The maximum angle between a curve and the chord used to approximate it, i.e. the
upper bound on the sum of the angles between the chord and curve tangents measured at the
chord ends, can be specified in degrees through the Curve resolution item. Similarly, the angular
tolerance between a surface and its faceted representation can be specified in degrees through the
Surface resolution item. For both parameters, a default value, calculated from the overall
dimension of the selected surfaces, can be set by pressing the Default button.
View Mode: the user can define the view mode (solid and/or wireframe) for the triangulated
representation of the selected surfaces created when pressing the Apply button in the bottom of the
dialog box.
Key bindings: <Alt-s> toggles the display of the solid view for the triangulated representation of
the selected surfaces, while <Alt-w> toggles the display of the wireframe view.
FIGURE 8.14
Faceting settings
8.71 VIEW->CLEAR VIEW
Geometry/View/Clear View is used to clear the triangulated representation for the selected
surfaces.
8.72 VIEW->VIEW WIREFRAME
Geometry/View/View Wireframe is used to toggle the display of the wireframe triangulated
representation for the selected surfaces. If a surface does not have any triangulated representation
yet, one will be created with default settings.
8.73 VIEW->VIEW SOLID
Geometry/View/View Solid is used to toggle the display of the solid triangulated representation
for the selected surfaces. If a surface does not have any triangulated representation yet, one will be
created with default settings.
8.74 DELETE->CARTESIAN POINTS
Geometry/Delete/Cartesian Points is used to delete selected Cartesian points from the geometry
repository.
There is no undo associated with the delete operation.
8.75 DELETE->CURVES
Geometry/Delete/Curves is used to delete selected curves from the geometry repository. A curve
cannot be deleted while it is used in the definition of the surface. To delete it, the surface itself
must first be deleted.
There is no undo associated with the delete operation.
8.76 DELETE->SURFACES
Geometry/Delete/Surfaces is used to delete selected surfaces from the geometry repository, if not
used by other entities. When deleting a surface all the curves which belong to it are automatically
deleted. Typical curves belonging to a surface are uv curves, created with the Geometry/Modify
Surface/Representation menu.
There is no undo associated with the delete operation.
CHAPTER 9.
GRID MENU
The Grid menu includes the connectivity and boundary conditions definitions, as well as the face and
block grid generation options. Other features of the grid generation module include the interactive
control of the grid generation parameters, the definition of grid point clustering along the boundaries
and the definition of internal grid lines. Besides, algebraic and elliptic grid generation, mapping,
translation, sweeping, rotation, extrusion options provide fast grid generation capabilities for a large
number of 2D and 3D geometries.
Boundary Conditions setting
Each block face can be divided in a certain number of patches on which will be applied the
boundary conditions. It allows, for a same face, to have several different boundary conditions.
Boundary conditions setting consists of imposing to each patch of the grid a type describing the
physics of the flow. The boundary conditions setup is normally performed when the grid has been
generated.
The different types of boundary conditions are the following. Each one is referenced in IGG™ by
an abbreviation given between brackets:
l Undefined (UND)
l Inlet (INL)
l Outlet (OUT)
l External (EXT)
l Solid (SOL)
l Singular (SNG)
l Mirror (MIR)
l Rotating (ROT)
l Matching connection (CON)
l Non matching connection (NMB)
l Periodic matching connection (PER)
l Periodic non matching connection (PERNM)
Except for the mirror and the four connection types, all the boundary conditions have to be set
manually. The Grid/Boundary Conditions... menu item is provided to divide face into patches
and to set these conditions.
Connection types (CON, NMB, PER, PERNM) are established to describe how blocks are
interacting together and how information is transferred from one block to another. Such
connections are established between two patches having common boundaries and one needs to
specify which patches are connected and with which relative orientation. A tool is provided to
automate the setup of such connections (automatic finding of the connected patch and the relative
orientation).
Besides these matching and non matching connections, full non matching connections are
provided, allowing to connect several patches of several blocks with non matching boundaries. It
is to be noticed that such full non matching connections are always defined on top of existing
patches and that these ones must have a valid basic type (no undefined type (UND)), even if the
patch is entirely contained in the connection region.
Finally, rotor/stator connections are provided, allowing to connect several patches of several
blocks with rotor/stator boundaries. It is to be noticed that such connections are only required to
have the information in ".cgns" file.
For more information and a detailed description of patch connections, see Connections section.
Generally, the following steps are needed to correctly specify all the boundary conditions:
1. Define the periodicity for each block (Grid/Periodicity... menu item).
2. For each face, define the patches making up the face. This step is partially done during face
grid generation, since patches can be used to generate pieces of the face grid.
3. Manually impose the boundary conditions of type: INL, OUT, EXT, SOL, SNG, ROT.
4. Apply automatic
connectivity search ( Grid/Boundary Conditions... menu item,
Connectivity/Search button) to find automatically matching and non matching connections
(periodic or not).
5. Check that no non matching connection (NMB or PERNM) is defined where a matching
connection was expected. If it is not the case, delete the corresponding connection and try to
determine why the connection is non matching .
6. Define the full non matching and rotor/stator connections.
7. Normally no undefined patches (UND) should remain. If it is not the case, check each UND
patch: boundary condition type, periodicity, patch boundaries and number of points,
connection tolerance,...
Coarse Grid Levels
When generating 2D or 3D grids with IGG™, it may be advantageous for the solver to generate
the blocks using a multigrid scheme. Multigrid corresponds to the capability of extracting coarser
grids several times by skipping over two points in each block direction:
Multigrid schemes are not automatically enforced in IGG™. Thus special care must be taken
manually for proper grid settings to accomplish multigrid meshes. Following are some guidelines
to generate such grids:
l The number of multigrid levels is computed as follows: if n is the number of grid points of an
edge, the number of levels m is such that n-1 can be recursively divided m-1 times by 2. For
example a 9x9x9 grid has 4 grid levels in each direction ( (9-1)/2/2/2 ).
l When dividing a face into patches (for specifying different boundary conditions), each patch
has to follow a multigrid scheme. For example, if a face has 9 grid points in one direction,
dividing the face in that direction into two patches with limits [1 4] and [4 9] does not yield to
an efficient multigrid scheme. However, better limits for the patches are [1 5] and [5 9],
resulting in 3 grid levels for the face in that direction.
The multigrid rule can be applied independently for each I, J, K direction. The multigrid level
available for the flow solver EURANUS through the FINE™ interface will be the lower level of
patches multigrid level for each I, J and K direction.
The table shown in FIGURE 9.1 summarizes the allowed number of grid points for each level of
the grid.
FIGURE 9.1
Coarse grid levels
For example, if the number of grid points in one direction is 225, the number of levels in that
direction will be 6 and the number of grid points for each level will be respectively 225 (for the
finest level), 113, 57, 29, 15 and 8 (for the coarsest level).
9.1
PERIODICITY
Grid/Periodicity... menu is used to define the periodicity for each block of the grid to generate. It
can be done in the dialog box shown in FIGURE 9.2:
FIGURE 9.2
Periodicity dialog box
The first thing to choose is the Block(s). Four possibilities are available (simply left-click on the
desired one in the box):
1. Active Block. Select only the active block.
2. Selected Block(s). Select the desired blocks by entering with the keyboard their number in the
dedicated box entry. The numbers must be separated by spaces. A range of blocks can also be
selected by entering two numbers separated by a '-'. For example, enter '4 6 10-15' to select the
blocks 4, 6 and the range 10->15. The numbers do not have to be ordered. If a syntax error is
made, a warning message will appear.
3. Block Group. Select all the blocks of the group. To see all the group names and select the
desired one, left-click on the dedicated arrow.
4. All Blocks. Select all blocks of the project.
Next, the type of periodicty which will be applied to the block(s) must be selected. There are four
types available: none, rotation, translation and mirror. Simply left-click on it to select one type.
l None: When no periodicity are specified on block(s).
l Rotation: A rotation periodicity rotates a block around a given axis by a specified angle. The
rotation axis is specified by a rotation axis direction (axis) and an anchor point (origin). The
angle is indirectly specified by indicating the number of periodicities for the block (e.g. a
compressor with 4 blades should have a number of periodicities of 4) and the number of
meshed passages is directly specified. Default values set for origin and axis are (0,0,0) and
(0,0,1) respectively.
l Translation: A translation periodicity, e.g. a cascade in turbomachinery,
is obtained by
specifying a translation vector, in direction and magnitude. For example, a translation vector of
(0,0,2) will repeat a block along the Z axis by 2 absolute units. Default axis is set to (0,0,0).
I.e. no translation.
l Mirror: A mirror periodicity mirrors a block with respect to a symmetry plane and is specified
by the origin and normal of the mirror plane. Default values set for origin and axis are (0,0,0)
and (0,0,1) respectively.
When selecting Rotation, Translation or Mirror repetition type, if the first block in the selection
block list has a different repetition type the default values are set for the origin and axis.
If the first block in the selected block list has the same repetition type then the values of the
parameters in the dialog box are set to the values stored in the block repetition.
The dialog box contains also three buttons at the bottom:
l View/Hide Selection: it highlights the selected block(s) in the graphics area.
l Apply: it applies the current settings to the specified block(s).
l Close: it closes the dialog box.
For 2D projects, the global distance of extrusion of all the mesh along the Z axis can also be
controlled by the dialog box shown in FIGURE 9.3 through an additional item: Global 2D
translation.
FIGURE 9.3
Control of the global distance of extrusion for 2D projects
If the 2D project is a new one, the default value is 1. Otherwise the value of the 2D project, which
is loaded is displayed. This value has an influence on the solver convergence and should be set
according to the mesh size. In particular for the flow solver, the value should not be lower than
the smaller cell of the mesh, otherwise it can slow down the convergence.
For axisymmetric projects, the periodicity is automatically set in agreement with the settings of the
axisymmetric configuration defined with the menu File/Project Configuration....
FIGURE 9.4
Control of the periodicity for axisymmetric projects
9.2 GRID SETTINGS
Grid/Grid Settings... menu is used to examine or modify all important grid parameters of the
segments, edges, faces and blocks of the current project, using the dialog box shown in FIGURE
9.5.
FIGURE 9.5
Grid Settings dialog box.
There is no Apply button which implies that the changes in the different input fields take effect
IMMEDIATELY after pressing < Enter > or selecting another field, without any possibility of
automatic undo.
The dialog box is divided into four different parts:
l Block data: The active block index can be specified from the Block box. The total number of
grid points in J, K directions and I can be checked in the related box and modified at any time
on the active block. The values can be changed by simply left-clicking on the box arrows or
with the keyboard. In this latter case, press <Enter> to validate the change.
The Propagate option is used to propagate the changes in number of points to the connected
blocks.
See below for a complete description on the change of block limits Imax, Jmax, Kmax and
propagation.
The name and the CGNS family name of the block can also be specified respectively in the
Name and Family Name fields.
The Family Name field is available when Save CGNS patch info / family name control
option is active in the IGG Preferences dialog box .
The specified family names are limited to 32 characters.
The specified family names are only saved in ".cgns" file for external solver and are not read
when reading a project. Therefore, if a project is read and directly saved, the specified family
names will disappear in the ".cgns" file.
The family names imposed to butterfly parent block are not transferred to butterfly children.
A domain type can be stamped as a fluid or solid domain using the Type drop down menu.
Fluid or Solid domain type can be specified for the active block. It helps to enhance the
grouping capability as obtained from Grid Configuration page in the View subpad. The
settings imposed here, will also be transferred automatically to the FINE™ GUI.
l Face data: The active face index can be specified from the Face box. When changing the
active face index, the edge and segment informations are automatically updated.
l Edge data: The active edge index can be specified from the Edge box. The total number of
segments of the active edge is displayed (it cannot be changed here, it is only for information
purpose).
l Segment data : The active segment index can be specified from the Segment box. The
number of grid points on that segment is displayed next to this area. The low and high limits of
the active segment can be changed with the keyboard from the min and max boxes. Once a
new value is entered, press <Enter> to activate the change. The following constraints must be
respected:
l new lower limit > lower index of the previous segment
l new upper limit < upper index of the next segment
When changing the limits of a segment, the index of the fixed points delimiting it will be
obviously changed. If the new values imply the change of an internal grid line index, it is done
automatically without asking any confirmation. However, if the new values imply the change of
an internal face index, the message shown in FIGURE 9.6 appears:
FIGURE 9.6
New block limits imply the change of internal face index
If the no button is pressed, the index will not be changed and the limit will be reset to the previous
one.
The dialog box also contains at its bottom two buttons: MG Levels and Close buttons. The first
one opens a box containing the table of the MultiGrid levels shown at FIGURE 9.1. It allows to
choose a number of grid points in order to have multigrid meshes. The second one is obviously
used to close the dialog box.
Changing block limits Imax, Jmax or Kmax
The following considerations have to be taken into account when changing block limits:
1. The minimum number of grid points in one direction is 2, which corresponds to one cell.
2. When changing the number of grid points in the I, J or K direction, the faces and block grids
affected by the modification are deleted. For example, when modifying the number of points in
the K direction, the grids of the faces 3, 4, 5 and 6 are deleted.
3. Connections with patches of the touched faces are also deleted. Moreover, patch boundaries
are resized automatically in order to cover the whole face.
4. Connected segments remain connected, even if there is an inconsistency with the number of
points. It allows to change after the number of points on the connected segment and to keep
the connection. Despite this, if the number of points remains different for the two connected
segments, the connection will be deleted at the next loading of the project.
5. When increasing the number of points in one direction, these points are added to the last
segment of edges aligned on this direction.
6. If a block contains an internal face whose constant direction is the same as the one in which
the number of points has to be decreased, the message shown in FIGURE 9.7 appears when
the new number of points is lower than or equal to the internal face index:
FIGURE 9.7
New block limits imply the change of internal face index
It gives the possibility to change the internal face index without leaving the TopologySettings
dialog box. If the no button is pressed, the index will not be changed and the limit will be reset
to the previous one.
7. When there are several segments in one direction, the number of grid points in that direction
cannot be freely decreased and the following constraint must be satisfied for each edge in the
modified direction: the lower limit of the last segment must be lower than the new number of
grid points in that direction. In FIGURE 9.8, the edges along the I direction are divided into
several segments:
FIGURE 9.8
Example of segment division
It will not be possible to reduce Imax below 41, since segment s2 on the figure has its lower
bound equal to 40. To reduce Imax to 30, for instance, the lower limit of segments s1, s2 and s3
must be manually changed below 30 (the last segment must have at least 2 points). The segments
before the last ones may also need to be changed (recall that a segment must have at least two grid
points).
If a bad limit is entered, an error message shown in FIGURE 9.9 will appear:
FIGURE 9.9
Error message appearing with wrong new block limits
It indicates the segment(s) that have to be modified to impose the new block limits. Once the
Close button is pressed, the limits are reset to the previous ones.
Grid resizing and propagation
The increasing or decreasing of the number of points on a segment can be automatically
propagated along connected blocks. This option drastically reduces the number of operations
required to modify the number of grid points in meshes consisting of a large number of connected
blocks.
Propagation is insured through segment connections. This means that if two blocks are connected
along some of their segments, changing the number of points of a segment of one block will
automatically change the number of points in the other block, along the connection. When several
blocks are connected together as a chain (along segment connections), the grid point modification
will be performed on all these blocks.
If propagation is disabled, the modification of the number of points will only be applied to the
active block and the segment connections (parallel to the reference segment) with other blocks
will be deleted to keep consistency.
Resizing of one block
Changing the number of points of an isolated block segment affects all the edges of the block
"parallel" to the segment, as shown in FIGURE 9.10.
FIGURE 9.10
Example of resized block
The distribution of the grid points among the segments of an edge will be proportional to the
overlapping between the segments and the initial resized segment. In the previous example, the
segment s3 does not overlap with the resized segment and consequently its number of points
remains unchanged. Only segments s1 and s2 are affected. The index of the internal edges and
internal faces will be adapted consistently.
Limitations
Multigrid
Due to possible division of an edge into several segments and the existence of internal edges or
internal faces in the blocks, it is not possible to insure that a block resizing (as a consequence of
segment resizing), will conserve multigrid levels for each segment touched by the operation. It is
the user responsibility to adapt the index of the segment fixed points.
Patches
l The limits of the patches of each face modified during a segment resizing are not changed
automatically. The user must explicitly adapt these limits.
l Patch connections are deleted for each face modified during a segment resizing.
Decreasing the number of points of a segment
Decreasing the number of points of a segment can only be performed to a certain limit. When
decreasing the size of a segment below a certain limit, it may happen that parallel segments
overlapping the reference segment would be assigned a negative value, which is obviously
impossible. In this case, the operation will not be performed and a message will be given to the
user. The user will have to reduce the number of segments along the parallel edges before
attempting to change the size again.
9.3
BOUNDARY CONDITIONS
FIGURE 9.11
Boundary Conditions dialog box
Grid/Boundary Conditions... menu item serves three different purposes:
1. To divide the faces of the grid into patches, for grid generation purposes.
2. To specify the boundary conditions on these patches, as input to a flow solver.
3. To establish connection between the patches .
When invoking the menu item, a dialog box is opened. See FIGURE 9.11.
Patch browser
The patch browser shown in FIGURE 9.11 lists all the patches in the grid, according to the
current "Block", "Face", "Patch", "Type", "Nb Levels" or "Name" filters. In this browser, a patch
can be selected with the left mouse button. This patch is automatically visualized in the graphics
area according to the visualization options in the dialog box:
l Show Grid will display the grid of the patch.
l Show Solid will display the patch as a solid face.
It is possible to select several patches at once in the following ways:
1. While holding the <Ctrl> key down, select the desired patches in the browser.
2. While holding the <Shift> key down, select two patches delimitating a range of patches.
3. While pressing the left mouse button, drag the mouse and release the left button to select a
range of patches.
The last patch selected is always the 'current patch' for manual connections and patch editing.
Filters
The different filters allow to display specific patches in the browser while hiding the others. The
"Block", "Face" and "Patch" filters are cumulative and allow to display patches by indices. For
example:
Block Filter: '*' ('*' means ALL)
Face filter: '1 2'
Patch filter: '*'
shows in the browser all the patches of faces 1 and 2 of all the blocks. The "Face" filter allows
also to select a boundary face by choosing imin, imax, jmin, jmax, kmin or kmax. These items can
be shown and selected by left-clicking on the "Face" filter arrow.
The " Type" filter is very useful to list all the patches of a given type (according to the other
filters). In particular it allows to easily identify the connected patches (CON, NMB, PER,
PERNM) and the patches that have not any type yet (UND).
The "Nb. Levels" filter can be used to see the list of patches for a given multigrid level.
The " Name" filter allows to display patches by name. Enter or choose an expression. All the
patches of which the name contains this expression will be listed.
Patch type specification
An option menu allows the setting of the boundary condition type for the selected patch(es). The
possible boundary condition types are the following:
l UND : undefined type.
l INL : inlet.
l OUT : outlet.
l EXT : external. Used to impose far field conditions.
l SOL : solid. Used for walls.
l SNG : singular. Used for patch degenerated into a line.
l MIR : mirror. Used to impose a symmetry plane.
l ROT : rotating. Used for rotor-stator interaction.
l CON : matching connection.
l NMB : non matching connection.
l PER : periodic matching connection.
l PERNM : periodic non matching connection.
The following types can be set manually: INL, OUT, EXT, SOL, SNG, ROT, MIR. To set such
a type, left-press on the Set Patch Type button of the dialog box; a list with all the types that can
be set manually appears. Move the cursor to the desired type and release the left button to set it to
the selected patch(es).
If a patch is involved in a full non matching connection, a "*" will appear next to the patch type.
Patch definition and editing
The patch definition mode is enabled by pressing the Edit Patch >> button. The dialog box is
then enlarged to show a symbolic definition of the current face, as shown in FIGURE 9.12.
FIGURE 9.12
Patch editing
In this example the active face has three patches with a topology indicated in the figure. The
current patch is represented in yellow.
The current patch can be changed by clicking with the left mouse button within the rectangle
corresponding to the desired patch. The current patch is automatically updated in the browser and
in the graphics area.
An information area is used to display information about the current patch (limits, indices and
relative orientation of the connected patch if existing, and patch type). See Manual Connectivity
Settings for information about the relative orientation.
Creation of a new patch
A new patch can be created by dividing an existing patch in one direction. When several patches
must be created, the division must be successively applied on the existing patches.
To divide a patch, click on the patch with the right mouse button. A menu is opened allowing to
divide either horizontally or vertically. Upon selection of a direction, a box shown in FIGURE
9.13 appears for users to define the index of division. It can be entered manually or modified by
using the scrollers. At the same time a visualization of the division appears in the graphics area.
FIGURE 9.13
Index of division selection
Pressing <Enter> performs the division. Pressing <Escape> cancels the division.
Editing an existing patch
It is possible to change the limits of an existing patch by clicking on its borders. A box is then
opened to enter the new limits (same as FIGURE 9.13 box). The new limits can be entered
manually or modified using the scrollers. Pressing <Enter> applies the new limits to the selected
patch. Pressing <Escape> cancels the limit modification.
Deleting an existing patch
To delete a patch, click on the patch with the right mouse button. In the pop-up menu that is
opened, choose the Delete Patch item. The patch is deleted but the others are not resized
automatically. There is no check about this (face entirely covered by its patches) and the resize
must be done manually as explained above.
When a face number of points is modified, patch boundaries are resized automatically in order to
cover the whole face.
The patch definition mode is disabled by pressing the << button .
Automatic connectivity search
Automatic connectivity search allows to detect mirror boundary conditions (MIR) and to perform
connections between patches (matching and non matching, periodic or not).
For MIR boundary conditions and periodic connections, the block periodicity must be set
previously by using the Grid/Periodicity... menu item.
Mirror boundary conditions
A mirror connection exists when a patch matches itself after the application of the mirror
periodicity of the block to this patch. In fact, patch points are transformed according to the mirror
periodicity and a check is done to see if they match with the initial points of the patch. The setting
of the mirror periodicity on the block in the Periodicity dialog box (Grid/Periodicity... menu) is
optional (information not needed by the solver) but in this case, MIR boundary condition cannot
be found automatically by this tool and must be set manually.
Connections
Matching connections are obtained between two patches with same number of grid points along
the two directions, and when all their points are matching at a specified tolerance. Non matching
connections are obtained when some patches points are not matching at the specified tolerance, or
when the number of grid points is not the same in one or both directions.
A periodic connection between two patches (PER or PERNM) is equivalent to a simple
connection, after application of the periodicity of the block to one of the patch.
The following checks are performed by IGG™ when trying to connect two patches:
l Four patch corners must be matching at the given tolerance ("patch corner" means the patch
grid point at the corner of the patch).
l Four patch boundaries must be matching at the given tolerance ("patch boundaries" means
curves passing through the patch grid points defining the patch limits).
l Patch points must lie on a same common surface. For this, some points of the first patch are
projected on the surfacic cells of the second patch. An intersection must be found and the
distance between the point and its projection must be lower than an internally calculated value
based on the given tolerance and the patch dimension.
l All the patch points must be matching at the given tolerance. Obviously, when number of grid
points is different in one or both directions, this test is never satisfied.
The three first tests are performed for both matching and non matching connections and determine
if a connection is possible between the two considered patches. The last test determines if the
connection is matching or non- matching. The relative orientation of the two patches is
automatically found after the three first tests and is assigned to the connection.
Automatic search
Three interactors are provided with the automatic connectivity search: one field to input the
absolute tolerance used to compare point coordinates, another one to delete all connections
currently set (CON, NMB, PER, PERNM types) and one to start the search.
FIGURE 9.14
Automatic connectivity search interactors
To make a new automatic connectivity search on all the patches, left-click on the Delete All
button to delete all connections currently set. To delete only some connections, select the
corresponding patches and set the patch type to UND by using the related button .
Before starting the automatic search, the tolerance must be adjusted. It is specified in absolute
units in the Tol input field. For example, if the mesh coordinates range from 0 to 1, a possible
value is 1e-5, whereas if the mesh coordinates range from 0 to 10000, a value of 1e-3 is more
appropriate. The default value that is set at the dialog box opening is 1e-5.
It is highly recommended to avoid setting a tolerance close to the patch size , otherwise
connection can be wrongly found. For example, having two square patches of size 1 and distant of 2,
a tolerance of 3 will connect them whereas they should remain disconnected.
The search can be started by clicking on the Search button. At the end of the operation, the
number of simple connections found as well as the number of periodic connections are displayed
in the information area. The " Type" filter is automatically set to CON and the corresponding
patches are listed in the Patch browser.
It is advised to do this search operation after all the blocks have been properly defined and are ready
to be used by the solver.
Tips and tricks
l Connection cannot be found (CON, NMB, PER or PERNM), patches remain UND .
This means that one of the three first tests checking the connection has failed. Check the
periodicity for PER and PERNM types. Check patches division, patches coincidence or try to
increase the tolerance and redo an automatic search.
l Connection of type CON (or PER) cannot be found, patches are set to NMB (or
PERNM). This means that the three first tests checking the connection are satisfied (therefore
patch boundaries are matching) but the fourth one has failed. Firstly check that the number of
points along the two patch directions are the same. If it is the case, the reason of the test failure
is generally that some points on patch are really non matching at the specified tolerance, even
if the grid of the two patches seems to be apparently coincident. In some very rare cases, the
failure can be due to a wrong relative orientation found automatically. This can be verified by
checking the relative orientation and eventually trying a manual connect with the correct
orientation. If the problem still persists, patch points are non matching. Try to increase the
tolerance or solve the non matching by manipulating the mesh. Then reset non desired NMB
(or PERNM) patches to UND and redo an automatic search.
l In some special configurations (for example a patch degenerated into a line) or when tolerance
is too high compared to the patch size, the automatic search would not behave correctly and
the message shown in FIGURE 9.15 will appear:
FIGURE 9.15
Automatic search error
It indicates that the automatic search procedure has failed for the patch whose indices (Block,
Face, Patch) are displayed.
Two cases are possible:
1. The connection type has been set to the patch. So, check if the connected patch is at the same
location (by taking into account the periodicity of the block) as this patch. Check also if the
relative orientation of this patch and the connected one is correct. If one of these two checks is
wrong, delete the connection type for these two patches.
2. The connection type has not been set. So, the type has remained UND.
To get rid of the problem, try to decrease the tolerance or try to use the manual connectivity
settings.
Manual Connectivity Settings
When automatic connectivity search fails, the manual connectivity option can be activated by
pressing the Manual... button. Within this option, the relative orientation of the two selected
patches must be entered manually and checks are performed according to the connection type
selected to detect if the connection is possible or not.
This option opens a dialog box shown in FIGURE 9.16:
FIGURE 9.16
Manual Connectivity dialog box
Firstly, specify the indices of the patch that will be connected to the current patch and the
connection type. Patch indices are defined as follows: Block, Face and Patch index. Enter them
with the keyboard and validate them by pressing <Enter>.
Secondly, the correct relative orientation of the two patches must be chosen. To define this, a
reference patch is needed, which is always in this case the current patch selected in the "Patch
browser". In general, with a couple of patches, by taking either the first or the second one as
reference, the relative orientation will be different.
In fact, for each patch, two axis can be defined, which are equal in direction and orientation to
those of the block to which it belongs. So, there are three possibilities: I, J or K. To connect two
patches, their relative orientation must be determined by specifying the correspondence between
their axis. It is done by assigning an expression (such as "Ilow", "Khigh") for each axis.
(expression = dir 1 for first axis and expression = dir 2 for second one). Dir 1 and dir 2 are
determined as follows:
l Take the first axis of the reference patch.
l Search the axis of the connected patch which has the same direction, that is to say X (where X
is I, J or K).
l If the two axis have the same orientation, dir 1 = "Xhigh", else dir 1 = "Xlow".
l Do the same with the second axis of the reference patch to determine dir 2.
The first axis of the reference patch has to be chosen as follows:
l axis (I, J) -> I
l axis (J, K) -> J
l axis (I, K) -> I
Example:
l Reference patch: Patch 1
l Patch 1 first axis: I
l Dir 1: Klow
l Dir 2: Ihigh
Indeed, it can be seen that Patch 1 axis I increasing corresponds to Patch 2 axis K decreasing,
while Patch 1 axis J increasing corresponds to Patch 2 axis I increasing. The correct relative
orientation specification should consequently be: "Klow", "Ihigh".
After pressing Apply , IGG™ checks whether the connection is possible or not. A warning
appears if the connection cannot be set.
Full non matching connections
This type of connection allows to connect several patches of several blocks with non matching
boundaries. The definition of such connection consists of the following:
l A connection name.
l A list of "left" patches defining one side of the connection.
l A list of "right" patches defining the other side of the connection.
The patches in one list are not restricted to belong to the same face or same block.
It is to be noticed that full non matching connections are always defined on top of existing patches
and that these ones must have a valid basic type (no undefined type (UND)), even if the patch is
entirely contained in the connection region. In the case a patch has an undefined type (UND) and is
used in the definition of the FNMB (full non matching boundary), IGG™ automatically sets its type
to solid (SOL). This is required by the solver to run properly. However, the type is not reset to UND
when deleting a FNMB connection, even if the SOL type has been set automatically by IGG™.
Following rules must be respected when performing FNMB connections:
1. A patch can be contained in only one list (either the left patches list or the right one) and one
type of FNMB connection (fluid-fluid or fluid-solid).
2. Two patch points cannot be coincident. For example, O-type patch with a singular line or a
triangular patch cannot be used in a FNMB connection.
FIGURE 9.17
Patches with coincident points
3. For periodic FNMB connections, all the patches defining the connection must have the same
periodicity information. This information is set for the patch block .
To define and edit full non matching connections
Press the Full Non Matching/Define... button of the Patch Selector dialog box (Grid/Boundary
Conditions... menu). It opens the dialog box shown in FIGURE 9.18.
This dialog box contains two patch browsers to define the left and right patches lists. The use of
the patch browsers and filters is the same as for the Patch Selector dialog box. A list containing
the connections already defined is displayed on the right of the dialog box.
FIGURE 9.18
Full Non Matching Connections dialog box
To define a FNMB connection
l Select the patches defining the "left" side. These patches are highlighted in yellow in the
graphics area.
l Select the patches defining the "right" side. These patches are highlighted in blue.
l Enter a name for the connection.
l Select the Periodic option to define a periodic FNMB connection.
l Select the Repetition number to allow periodic FNMB connection that is not covering the
same area (option compatible with EURANUS starting from FINE™/Turbo 7.1- 1). The
number of repetition has to be set in order to fully cover one side (yellow patch(es) - "left" side
list of patch(es)) with the other side (blue patch(es) - "right" side list of patch(es)) and its
repetition.
l Press on the Create/update button to define the FNMB connection.
l This connection will appear in the connection list.
Once a connection is created, patches can be added and/or removed from it. Simply update
patches lists by clicking on them and press the Create/update button.
To compute a FNMB connection
Once a connection is defined, it is possible to visualize the triangulation of the common region by
pressing the Compute & Show button. This triangulation is not directly used in IGG™ but only
serves to visualize the triangulation that will be used by the solver and to verify that the
connection is correctly performed. Calling this item is optional in IGG™. This calculation can be
performed on the desired grid level by selecting it freely in the Grid level computed entry (this
parameter is global and not saved in connections). Moreover several parameters can be controlled
by pressing the Options button. It opens an additional frame shown in FIGURE 9.19:
FIGURE 9.19
FNMB computing parameters
The process of the computation involves that one side of the connection is triangulated whereas
the other side is projected on it. Default values should normally be used. If the computation fails,
parameters can be tuned. These parameters are local to each connection and saved into it,
therefore to be taken into account they must be set before creating the connection or the button
Create/update must be pressed once a parameter is modified.
ADT algorithm: to use the new projection algorithm based on the use of the Alternating Digital
Trees (ADT). The main advantage of this method is a decrease of the time required by the
projection stage.
Reverse triangulated side: to reverse the triangulated side which is by default the one containing
the greater number of points.
Maximum projection distance: when the projection distance of a point is greater than this value,
it is rejected.
When computing an FNMB at the hub or shroud gap, the value of the maximum projection distance
could be adapted. If not sufficient, the patches should be split before performing the FNMB and the
mesh should be refined to avoid too coarse grid compare to the curvature of the blade profile.
Minimum projection distance: when all the points of a patch (contained in the projected side of
the connection) have a projection distance greater than this value, the patch projection is rejected.
Normals smoothing steps: before projection, some smoothing steps are done on the projection
normals.
Edge attraction: after the triangulation process, while projecting the vertices on both the sides of
the FNMB, sometimes the projections end close to some boundary of the triangles, which impacts
negatively on the robustness of the treatment. The edge attraction tolerance removes this impact
and forces the projected point to belong to the triangle boundaries whenever necessary.
To view and/or delete an existing FNMB connection
l Left-click on the desired connection in the connection list to select it.
l The patches participating in the definition of the connection will be automatically highlighted
in the dialog box as well as in the graphics area. A "*" is also displayed next to the patch type
to indicate that the patch is involved in a FNMB connection. If the computation of the
triangulation was performed for this connection, it will also be shown on the screen.
l To list only the patches involved in the desired connection, middle-click on it in the connection
list.
l Press the Delete button to delete the selected FNMB connection (the type of the corresponding
patches is unchanged).
Rotor/Stator connections
The tool is available when Save CGNS patch info / family name control option is active in the
IGG Preferences dialog box. This type of connection allows to connect several patches of
several blocks with rotor/stator boundaries. The definition of such connection consists of the
following:
l A connection name.
l A list of "left" patches defining one side of the connection.
l A list of "right" patches defining the other side of the connection.
The patches in one list are not restricted to belong to the same face or same block.
It is to be noticed that this tool is only required to have a grouping of patches in several output
formats, including the ".cgns" format, and only when saving from IGG™ but not from AutoGrid5™.
Family names
The tool is available when Save CGNS patch info / family name control option is active in the
IGG Preferences dialog box. The tool allows the users to impose user-defined family names on
selected patches. To define user-defined family names:
l Select patch(es) in the list,
l Type user-defined family name under Set Family Name and <Enter>.
The specified family names are limited to 32 characters.
The specified family names are only saved to have a grouping of patches in several output formats,
including the ".cgns" format, for external solver and are not read when reading a project. Therefore, if
a project is read and directly saved, the specified family names will disappear.
9.4 GRID QUALITY
This item gives access to a tool for performing an analysis of the grid quality. The dialog box
presented in FIGURE 9.20 will appear.
This dialog box contains three pages:
l Block: Analyze the grid quality on all block cells (inside the blocks and not between the
blocks),
l Boundaries: Analyze the grid quality at the matching block boundaries (boundary faces),
l FNMB: Analyze the grid quality across fully non-matching boundary connections.
FIGURE 9.20
Mesh Quality dialog box
The items all the pages are almost similar and described here after. The quality criteria are just
slightly different.
The Block entry allows to choose the block in which the quality will be analysed. It is selected by
its number. Each change must be validated by pressing < Enter > to recompute the quality
checking. If 0 is entered, the mesh quality is analysed on all the blocks of the grid. Next to this
entry, the selected block name and the grid points number in each direction are displayed. By
default, when opening this dialog box, the active block is selected. If the selected block is not
generated or has been modified since the last generation (by moving a vertex, for example), the
message shown in FIGURE 9.21 will appear:
FIGURE 9.21
Message indicating that the block may be regenerated
It asks for block regeneration. If the no button is pressed, the quality analysis is not performed.
The next entry Butterfly block is a special item dedicated to butterfly topologies allowing to
choose the butterfly block in which the quality will be checked. When the block selected in the
first entry is a parent block, the second entry is activated, displaying the number of the butterfly
block which is analysed. The range goes from 0 to 6. The number 0 represents the inner block
and is therefore always present. The other numbers between 1 and 6 represent the parent face
number and thus the associated buffer blocks. If there is no associated buffer, the corresponding
number does not appear.
The Quality Criterion frame is used to choose the criterion type which will be used to analyse
the block cells quality. The criterion is chosen through the Type pull-down menu. According to
the criterion, a preferential direction can be chosen through the second pull-down menu Direction
(only for Block page). It is used when the criterion gives different results along different
directions (for example 2D criteria applied on surfacic cells). When it is not the case, this menu is
deactivated. The following possibilities are available: All, I, J or K. ’All’ is equivalent to the three
directions I, J, K. Moreover, a range can be selected for each criterion; each range modification
must be validated by pressing <Enter>.
Unlikely to Block and Boundaries pages, in FNMB page, the FNMB list is available to select the
desired FNMB connection by its name
The Visualization control frame is used to select the representation mode of the cells. Cells can
be displayed with markers and/or with a shaded representation (Cells button). Markers are useful
to detect cells that cannot be seen with the shaded representation only. Moreover, cells shading
can be deactivated to greatly improve the speed of representation. In the shaded representation,
cells are shaded with a different color according to their quality value. The link between colors
and values is established by a colormap which is displayed in the graphics area after the tool
selection. The range of the colormap is automatically updated according to the criterion range.
The cells can be displayed as surfaces or volumes by switching on the corresponding button.
The Display frame is used to show in the IGG™ graphics area the cells falling inside the quality
criterion range. The All cells button shows all the bad quality cells of the selected block(s). The
Sweep cells scrollers allow to sweep the selected block to display cells by constant I,J,K face.
The Show chart button is used to toggle a histogram, shown in FIGURE 9.22, displaying the
result of the quality checking. Left-clicking on a bar displays the corresponding cells in the
IGG™ graphics area.
FIGURE 9.22
Quality analysis histogram
The entry Number of intervals is used to select the number of bars of the histogram. The default
value is 5 and the maximum number is 10. Each new number must be validated by pressing
<Enter>.
The More info button is used to toggle a window, shown in FIGURE 9.23, which gives more
information about the quality checking: minimum and maximum values with their location (and
possibly the block number in which they are detected if the check is performed on all the blocks).
FIGURE 9.23
Additional information on quality analysis
Quality criterion definitions (Block page)
These criteria are dedicated to evaluate the grid quality on whole cells of a block.
Criteria class
Two classes can be defined according to the type of cell on which criterion is applied:
l 2D criteria: application on surfacic cells (quadrilateral cells)
l 3D criteria: application on volumic cells (hexahedral cells)
Obviously, the number of cells falling in the criterion range is always greater for a 2D criterion
than for the equivalent 3D one because an hexahedral cell contains six quadrilateral cells. This
means that, for a 2D criterion, the number of cells falling in the range can easily be greater than
the block number of points.
On the other hand, as 2D criteria are applied on surfacic cells, they are all direction dependent.
Criteria definition
Following criteria are available:
l Orthogonality,
l Angular deviation,
l Aspect Ratio,
l Expansion Ratio,
l Cell width.
Each one is described here below.
Orthogonality
2D criterion. Range: 0 - 90 degrees. Orthogonality is a measure of the minimum angle between
edges of the cell. If angle between two edges is greater than 90 degrees, the value taken into
account is (180 - real angle).
Angular deviation
3D criterion. Range: 0 - 180 degrees. Angular deviation is a measure of the angular variation
between two adjacent cells in I, J and K directions. See FIGURE 9.24 for definition.
FIGURE 9.24
Angular deviation definition
Aspect Ratio
2D criterion. Range: 1 - 50,000. If the calculated value is outside the range, the value is reset to
50,000. See FIGURE 9.25 for definition.
FIGURE 9.25
Aspect Ratio definition
Expansion Ratio
3D criterion. Range: 1 - 100. Expansion Ratio is a measure of the size variation between two
adjacent cells. See FIGURE 9.26 It is direction dependent. If the calculated value is outside the
range, the value is reset to 100. Obviously, this criterion is nonsense if there is only one cell in the
selected direction.
FIGURE 9.26
Expansion Ratio definition
Cell width
3D criterion. Range: 0 - 1,000,000. Cell width is the height of the cell measured along I, J and K
directions. If the calculated value is outside the range, the value is reset to 1,000,000.
Quality criterion definitions (Boundaries page)
These criteria are dedicated to evaluate the grid quality at the boundaries of a block (boundary
faces), including matching connections with adjacent blocks (only CON and PER boundary faces
are considered).
Following criteria are available:
l Orthogonality,
l Angular deviation,
l Expansion Ratio,
l Cell width,
l Cell Width at Wall (available in 3D view).
Each one is described here below.
Orthogonality
Range: 0 - 90 degrees. Orthogonality is a measure of the cell angle relatively to the block
boundary (face ’S’). See FIGURE 9.27. If angle is greater than 90 degrees, the value taken into
account is (180 - real angle).
FIGURE 9.27
Orthogonality definition
Angular deviation
Range: 0 - 90 degrees. Angular deviation is a measure of the angular variation between two
adjacent cells, the first one being in the current block and the adjacent one in the matching
connected block. See FIGURE 9.28. Obviously, this criterion is nonsense if there is no matching
connected block.
FIGURE 9.28
Angular deviation definition
Expansion Ratio
Range: 1 - 100. Expansion Ratio is a measure of the size variation between two adjacent cells, the
first one being in the current block and the adjacent one in the matching connected block.
Obviously, this criterion is nonsense if there is no matching connected block. The definition is the
same as for the Block page .
Cell width
Range: 0 - 1,000. Cell width is the height of the cell measured normally to the block boundary
(face). If the calculated value is outside the range, the value is reset to 1,000.
Cell width at wall
Range: 0 - 1,000. Cell width at wall is the height of the first cell close to the wall measured
normally to the solid wall. If the calculated value is outside the range, the value is reset to 1,000.
As the criterion is applied on all solid patches, it will also be applied on solid patches of FNMB
connections, even if there are not real walls.
Quality criterion definitions (FNMB page)
These criteria are dedicated to evaluate the grid quality across fully non-matching boundary
(FNMB) connections.
FNMB connection must be computed with the fine mesh level before checking the quality.
Following criteria are available:
l Expansion ratio
l Cell Width Ratio
l Inner Gap
l Relative Inner Gap
Each definition is described here below.
Expansion Ratio
Range: 1 - 100. This computes the expansion ratio perpendicularly and through the FNMB for
each cell involved in the FNMB connection. This criterion is symmetric, which means the result is
the same on the left and right parts of the FNMB.
Cell Width Ratio
Range: 0 - 1000. This computes the difference of cell size between each side of the FNMB. It is
available for each cell involved in the FNMB connection. It identifies how many cells are
connected to the cell considered. The criterion takes into account the "wall fraction", which
means one left cell is connected to only a part of a right cell. Then the ratio will be balanced
according to the size of the connected part. This criterion is not symmetric, which means the result
is not the same on the left and right parts of the FNMB.
Example: One cell (A) on the left, four cells (B, C, D and E) on the right covering exactly the left
cell. The result will be 4 for cell A (because this cell is connected to 4 right cells) and 0.25 for
each right cell, B, C, D or E (because each one is connected to only 0.25 part of the left cell).
For this criteria the lower values are not too important, it is more the maximum value that should
be considered. Really small values (~1e-5) can easily happen on the boundaries (due to the
difference of mesh discretization even a value 0 as in the above example for cell 2 that is not
crossing cell A.
Inner Gap
Range: 0 - 1e6. This computes the gap between the left and right side of the FNMB (absolute
distance). It is available for each cell involved in the FNMB connection. This criterion is
symmetric.
Relative Inner Gap
Range: 0 - 1000. It is exactly the same as the previous criterion except that the result is balanced
with the cell size perpendicular to the FNMB. It enables you to have a better idea on how the
order of magnitude of the gap is compared to the cell size around FNMB. The cell size taken into
account can be either the one of the left or the right side (depending on which side has been done
the FNMB projection) but it does not matter as if the cell size is too different on both sides, the
expansion ratio criterion will be bad.
2D project particularities
2D or axisymmetric projects  have only one layer of
cells along the K direction (K = 2). Therefore some functionalities of the dialog box are useless
considering that no check is needed along the K direction. As the grid must be generated to
perform a quality calculation, all the created faces are automatically extruded (or rotated for
axisymetric projects) at the opening of the dialog box.
Particularities are the following:
l Quality criterion direction: this menu is deactivated except for the Expansion Ratio criterion.
Therefore it allows in this case to apply the criterion separately along the I and J axis.
Obviously, the calculation along K axis will lead to nothing as there is only one cell.
l The cells viewing mode is set to Volume to allow cells visualization on a 2D view with the
Expansion Ratio criterion.
l Sweep cells options along I, J and K directions are deactivated. These are useless because the
view of the mesh is 2D.
l The Butterfly block entry is not present because the butterfly topology 
cannot be applied on 2D or axisymmetric configuration.
9.5
NEGATIVE CELLS
Grid/Negative cells... is used to compute, store the indices and show the cells with a negative
volume. The dialog box shown in FIGURE 9.29 is provided to select calculation preferences:
FIGURE 9.29
Preferences dialog box for Negative cells calculation
Four preferences can be controlled:
l Scope: determines whether the calculation will proceed on the active block or on all blocks.
l Coord Sys: specifies whether calculation should proceed using a left-handed local reference
frame for each cell or a right-handed one.
l Precision: specifies whether to perform calculation in single or double precision.
l This preference is the most important to control. Indeed, IGG™ always works in double
precision. However some solvers may work in single precision. Consequently, checking
negative cells in double precision in IGG™, with no negative cells as a result, may give
negative cells in the solver !
l Coarse Levels: specifies on which multigrid level the calculation should proceed. The All
button allows to perform the calculation on all the available uniform multigrid levels at once,
"uniform" meaning that the levels are equal in the three directions I, J and K, for example "0 0
0", "1 1 1" and "2 2 2". The Custom button allows to select a specific multigrid level, like "1 2
2".
The Apply button performs the negative volumes calculation. If the active block is not generated
or has been modified since the last generation (by moving a vertex, for example), the message
shown in FIGURE 9.30 will appear:
FIGURE 9.30
Message indicating that the block may be regenerated
The View neg cells button allows to visualize cells with negative volume. The computation of the
negative volumes is performed automatically as a first step. Cells with negative volumes are
displayed in a shaded representation and with markers, which are useful to detect cells that cannot
be seen only with the shaded representation.
Beware that the visualization of negative cells can be memory consuming when a large number of
cells must be displayed. It is then advised to first check the number of negative cells by pressing the
Apply button.
If no cell with negative volume is detected, the message shown in FIGURE 9.31 appears::
FIGURE 9.31
No negative cells detected
On the contrary, if there are cells with negative volumes after the complete search, a message
shown in FIGURE 9.32 will appear:
FIGURE 9.32
Grid contains cells with negative volume
It shows the number of each block containing negative cells and the corresponding number of
negative cells.
For butterfly topologies,
the butterfly blocks of the
corresponding parent block. The number of negative cells of each butterfly block is added and
displayed in the previous dialog box by referencing the parent block.
the calculation is performed on all
9.6
COMPUTE ALL FNMBS
Grid/Compute All Fnmbs is used to ease the calculation of the full non matching connections by
computing all full non matching connections defined in the menu Grid/Boundary Conditions at
once on all available grid levels. A window appear when full non matchings are failing on
specific grid level(s).
9.7 MERGE PATCHES
Grid/Merge Patches is used after imposing the boundary conditions and splitting block faces
(Patch definition and editing), to perform an automatic process to merge the patches belonging to
the same face and presenting the same boundary conditions.
FIGURE 9.33
Patch merging operation with geometry representation
FIGURE 9.33 shows a face (white) having 16 patches connected to the green face with a full
non-matching connection. After the selection of the Merge Patches option from the Grid menu it
reduces the number of patches of the white face from 16 to 6 automatically. This functionality
also helps in reducing the engineering time for defining the boundary conditions within FINE™
GUI by decreasing the number of patches.
9.8
INTERNAL GRID LINE->CREATE FROM GRID
Grid/Internal Grid Line/Create from grid allows to add an internal edge to the active face by
selecting an internal grid line with the mouse. Internal edges allow a better control of the face grid
and are also used to realize connections between adjacent blocks. The face grid must be already
created.The following prompt appears to select a grid line:
Select a Grid Line <1> (i or j = select a direction, u = unselect) <3> to quit.
Move the cursor to the desired grid line of the active face. When the cursor is close enough, the
grid line is highlighted and its index is displayed. Simply press the left mouse button to create the
internal edge.
To quit this command without creating an internal grid line, press <q> or the right mouse button.
The <i> and <j> key bindings allow to select a grid line in a preferred direction. When one of the
keys is selected, only grid lines in that direction will be selectable. Press <u> to remove the
preferred direction.
After the creation of the internal edge, a dialog box is opened to ask whether a geometrical curve
should be created at the position of the internal edge.
Geometrical curve allows to modify the shape of the internal grid line and possibly come back to
its original position. If no geometrical curve is created, the internal edge will lose its initial shape
as soon as a vertex is moved, without any possibility to come back to its first position.
If such curve is not created, it is always possible to later create a curve at the position of the
internal grid line by right-clicking on it and selecting the Edge/Create Curve pop-up menu item.
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.
9.9
INTERNAL GRID LINE->DELETE
Grid/Internal Grid Line/Delete allows to delete the active internal edge. This edge is
permanently removed from the system and the total number of edges for the active face is
decreased by one. Note that the internal edge is deleted but not its end vertices (which are
attached to fixed points).
Obviously, using this command on a boundary edge will have no effect and a warning message
will appear.
9.10
INTERNAL GRID LINE->INDEX
Grid/Internal Grid Line/Index allows to change the index of the active internal edge. The
following prompt is given to enter the new index of the internal edge:
Enter New Edge Index (q) ?
>> 17
If a value greater than the corresponding block limit or greater than the index of the face nearest
fixed point is entered, the index will not be changed. Setting a new index to an internal grid line
will not change its position but the block grid points will be moved.
If the internal edge belongs to an internal face, its index cannot be changed.
To quit this command, enter 'q' and press <Enter>.
9.11
INTERNAL FACE->CREATE
Grid/Internal Grid Face/Create... allows to add an internal face to the active block for better
control of the block grid. If the active block is not generated or has been modified since the last
generation (by moving a vertex, for example), the message shown in FIGURE 9.34 will appear:
FIGURE 9.34
Message indicating that the block may be regenerated
It asks for block regeneration. If the block is not generated and that the no button is pressed, the
dialog box of the next figure will appear but without being able to do something except pressing the
Close button. If the block has been modified since the last generation (a block is not automatically
regenerated after modifications of its topology) and that the no button is pressed, the mesh that will
be interactively displayed may look strange.
The creation of an internal face is done through a dialog box as shown in FIGURE 9.35. It allows
the selection of a face along I, J or K axis.
FIGURE 9.35
Internal face creation dialog box
The Block box allows the users to choose the active block in which the internal face will be
inserted. Next to this box, the active block name and the grid points number in each direction are
displayed.
The I, J and K scrollers allow to interactively sweep the grid along the three directions. While
scrolling, surface grids are displayed for each constant index direction.
When pressing the Save button, the surface currently visible is saved as internal face of the active
block.
When an internal face is created, an internal edge is also created for each existing face crossing
the new face. This edge is shared by the faces which means that modifying the edge on one face
affects the other face as well.
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.
9.12
INTERNAL FACE->DELETE
Grid/Internal Face/Delete menu item is used to delete the active internal face from the
active block. This face is permanently removed from the system and the total number of faces for
the active block is decreased by one. A dialog box appears to select if the face boundary edges
must be kept or not. Even if the boundary edges are deleted, the end vertices (which are attached
to fixed points) are kept.
Obviously, using this command on a boundary face will have no effect and a warning message
will appear.
9.13
INTERNAL FACE->INDEX
Grid/Internal Face/Index allows to change the index of the active internal face. The following
prompt is given to enter the new index of the internal face:
Enter new face index:(q)
>> 17
If a value greater than the corresponding block limit or greater than the nearest fixed point along
the face direction is entered, the index will not be changed. Setting a new index to an internal face
will not change its position but the block grid points will be moved.
To quit this command, enter 'q' and press <Enter>.
9.14 CREATE EDGE->COPY EDGE
Grid/Create Edge/Copy Edge is used to copy the active edge from another existing edge. The
following prompt appears to specify the reference edge from which to copy:
<1> to select a reference edge, <2> to perform the copy <3> to quit.
The reference edge is selected by left-clicking near that edge. When several edges lie at the same
position, the left-click operation must be repeated until the proper edge is selected.
The copy operation takes effect after middle-clicking the mouse. After the operation, the active
edge has the same shape, same orientation and same segment division as the reference edge. The
other edges connected to the active edge are automatically following the new position.
9.15 CREATE FACE->LINEAR 2BND
Create Face/Linear 2Bnd menu item is used to create an algebraic face grid using two opposite
boundaries of the active face. The grid matches the point distributions on the active boundary and
its opposite. Other grid boundaries are computed by linear interpolation and the internal grid
points are distributed according to the user- defined point distributions between opposite
boundaries.
This option can also be accessed through the Quick Access Pad/Grid/Generate page.
9.16 CREATE FACE->LINEAR 4BND
Create Face/Linear 4Bnd menu item is used to create an algebraic face grid using the four
boundaries of the active face. The grid matches the point distributions defined on four boundaries.
This is the default generation mode for
face grid. Whenever a face grid is touched, IGG™
automatically performs a four boundaries linear interpolation. If operations like smoothing or
projections onto geometrical surfaces were applied previously on that face grid, it is necessary to redo
them by using the Regenerate Faces option of the Quick access Pad/Grid/Generate page.
This option can also be accessed through the Quick Access Pad/Grid/Generate page.
9.17 CREATE FACE->GENERATION TOOL
Grid/Create Face/Generation Tool... menu item is used to define internal grid lines and to
generate the grid of the active face. See FIGURE 9.36. The dialog box is divided into two pages:
l Grid: the page gives access to the grid generation tools.
l Internal Grid Lines: this page gives access to the internal grid lines control.
When the dialog box is opened, the interactive selection of the active face remains operational. The
pages are automatically updated when selecting another active face.
This tool can also be accessed through the Quick Access Pad/Grid/Generate page.
Grid Page
FIGURE 9.36
Grid generation control
Face Range: these parameters are used to select the active area on the active face. The active area
is automatically displayed in red. Two methods are available:
l selection of a patch. If the patch 0 is selected, the entire face is activated.
l selection of a range by specifying the boundary indices of the desired area.
Edge Mapping: this parameter is specified to control whether the boundary points of the active
area have to be updated if a generation method is applied to this area.
Overlapping : this parameter is specified to display the overlapping cells. These cells are
highlighted using a small circle.
Overlapping cells can be correctly detected for planar grids only.
The selection of a face range by specifying the boundary indices is illustrated in FIGURE 9.37.
Generation Type:
l Algebraic: it is used to generate the mesh by linear interpolation of the active edges of the
active area.
l Mapping: it is used to generate the mesh by mapping the mesh of the active area on the active
surface (can be applied if only one geometric surface is selected).
FIGURE 9.37
The active area is displayed in red and the active edges in blue.
Edges 1-2, 3-4, 1-2-3-4: these buttons are used to select the active edges. The active edges are
displayed in blue. Mapping method always interpolates the four edges of the active area on the
selected surface.
Orthogonality Control :
this button activates the orthogonality control parameters. These
parameters allow the control of the orthogonality of the mesh near two opposite active edges
through definition of the active edges normals. Normals to the edges are automatically displayed
in black. The normal ranges and lengths (Ratio) can be controlled for both active edges.
The orthogonality parameters are not active for the four boundaries interpolation (button 1-2-3-4
activated).
When orthogonality control is applied, the mesh fits the four boundaries of the active area and is
orthogonal to the two opposite active edges
Elliptic Smoothing: this button opens an additional area controlling smoothing:
The grid inside the active area can be smoothed using an elliptic solver by pressing the Smooth
button. The level of smoothing can be controlled through the Ratio entry, which is in fact the
relaxation factor of the smoothing algorithm and should be lower than 1. If the option On Surface
is activated, IGG™ smoothes the grid on the active surface.
Mapping, orthogonality control or smoothing generation options do not take into account internal
grid lines of the face generated. Therefore the user must take care because an inconsistency can appear
(no grid points corresponding to the internal grid line points).
398
IGG™ 13.1 User Guide
Internal Grid Lines Page
This dialog box allows the creation of C-Spline curves used to define the geometry of new
internal edges.
Constant Index: the location of the internal grid lines can be chosen through the selection of a
direction and a constant index. The geometry of the future internal grid line is automatically
displayed when scrolling the I or J index.
Orthogonality Control: the orthogonality of the geometry can be controlled at both ends through
two different parameters:
l ratio 1: real number defining the relative distance along which the geometry of the internal
grid line is perfectly normal to the edge: 3 control points are computed at both ends of the
geometry to define the orthogonality.
l ratio 2: real number defining the tangential condition of the curve after the three first control
points and before the three last control points.
Create: when the geometry is correctly set, this button can be used to create a new internal edge.
Delete: the internal edge selected previously by the indices can be deleted by using this button.
Note that the internal edge is deleted but not its end vertices (which are attached to fixed points).
9.18 CREATE FACE->PLANAR FACES
SMOOTHING
Grid/Create Face/Planar Faces Smoothing... can be used to smooth a group of faces defined in
the same plane using an elliptic solver. Boundary conditions are defined on the bounding
segments of the set of faces. The dialog box is divided into two pages:
l Smoothing: the page gives access to the creation of faces groups and the smoothing steps.
l Boundary control: this page gives access to the creation of segments groups and the type of
boundary.
To define smoothing on a set of faces:
l Define a type of boundary on all segments bounding the set of faces. The type can be applied
on an active segment or a pre-defined group.
l Define the group of faces on which the smoothing will be applied.
l Define the number of optimization steps.
l Click on Smooth to apply the smoothing.
Boundary Control
The Boundary Control page allows to impose the type of boundary on all the bounding
segments of the set of faces to smooth.
The boundary type can be applied on the active segment or on a pre-defined group of segments.
The segment groups are managed (created, modified and deleted) through a dedicated dialog box,
accessed by left-clicking on the Create Group... button.
This dialog box contains a list of the segment groups defined in the current project. Each group
name is preceded by two buttons. Left-clicking on the first one toggles the segment list of the
corresponding group. Left-clicking on the second one toggles the segments of the group in the
graphics area. Each segment of a group is also preceded by a check button allowing to
individually show or hide the segment. Segment names are based on their Block, Face, Edge and
Segment indices.
Groups are managed through the buttons at the bottom of the dialog box or through pop-up
menus accessed by right-clicking on an item in the list.
The Create button allows to create a new group. An additional entry will be opened to enter the
group name. Then the group will be added to the list and its filling will proceed just as with the
Modify button, described below.
The Delete button allows to delete the selected group. A group is selected by left-clicking on its
name in the list. Several groups can be selected at once in the following ways:
l While holding the <Ctrl> key down, select the desired group in the list.
l While holding the <Shift> key down, select two groups delimitating a range of groups.
l While pressing the left mouse button, drag the mouse and release the left button to select a
range of groups.
The Modify button allows to modify the segment list of a group (addition or removal of segments).
After the selection of this option, all the segments of the selected group are highlighted and the
following prompt appears:
<1> Select segment, <2> Add, <d> Remove, <3> Quit
Then select a segment by left-clicking on it in the graphics area. It is highlighted as well as its
parent block (to be able to distinguish segments lying in the same place).
l To add the selected segment in the group, middle-click.
l To remove it from the group (if already contained), press <d>.
l To quit this tool, right-click.
Editing options can also be accessed by right-clicking on a group or on a segment in the dialog
box.
Boundary Type
The types of boundary available in the Boundary Control page to impose on all the bounding
segments of the set of faces to smooth are:
Undefined
This type indicates that no boundary has been imposed on the segment. This type is not accepted
for the bounding segments but can be accepted for internal segments of the set of faces.
Fixed
This type indicates that the segment and its points distribution stay fixed during the smoothing
process.
Moving
This type indicates that the segment will move during the smoothing process. The points on the
segment will move on a curve constructed from original segment geometry.
Solid Wall
This type indicates that the segment and its points distribution stay fixed during the smoothing
process but with an imposed perpendicular distribution controlled by the cell width , control
layers and expansion ratio parameters.
Face Group
The Smoothing page allows to impose the group of faces on which the optimization steps will be
applied. The face groups are managed (created, modified and deleted) through a dedicated dialog
box shown below, accessed by left-clicking on the Create Group... button.
This dialog box contains a list of the face groups defined in the current project. Each group name
is preceded by two buttons. Left-clicking on the first one toggles the face list of the corresponding
group. Left-clicking on the second one toggles the faces of the group in the graphics area. Each
face of a group is also preceded by a check button allowing to individually show or hide the face.
Face names are based on their Block, Face indices.
Groups are managed through the buttons at the bottom of the dialog box or through pop-up
menus accessed by right-clicking on an item in the list.
The Create button allows to create a new group. An additional entry will be opened to enter the
group name. Then the group will be added to the list and its filling will proceed just as with the
Modify button, described below.
The Delete button allows to delete the selected group. A group is selected by left-clicking on its
name in the list. Several groups can be selected at once in the following ways:
l While holding the <Ctrl> key down, select the desired group in the list.
l While holding the <Shift> key down, select two groups delimitating a range of groups.
l While pressing the left mouse button, drag the mouse and release the left button to select a
range of groups.
The Modify button allows to modify the face list of a group (addition or removal of faces). After
the selection of this option, all the faces of the selected group are highlighted and the following
prompt appears:
<1> Select a Face, <2> Addto Group, <3> Quit, <Keyboard Area>:Face Indices
Then select a face by left-clicking on one of its edges in the graphics area.
l To add a face in the group, select it in the graphics area and middle-click, or type the face
indices in the keyboard area.
l To quit this tool, right-click.
Editing options as remove can be accessed by right-clicking on a group or on a face in the dialog
box.
Face smoothing
Before performing the smoothing on the face group, the button Check Bcs allows to control that
all the segments bounding the selected face group have a defined (solid wall, moving or fixed)
boundary type. If undefined segments are detected a window will pop-up and the concerned
segments will be highlighted in green in the graphics area.
When all the bounding segments have a boundary type defined, the number of smoothing steps
(Optimization steps) is specified and the smoothing is applied by left-clicking on the button
Smooth. If undefined segments are still present, a warning message appear at the bottom of the
dialog box and the smoothing is not performed.
The faces included in a same group should be defined in a same plane otherwise a warning will be
prompted. When selecting yes, the smoothing is performed and the final smoothed mesh will become
planar, except if fixed segments leading to possible discontinuities.
9.19 CREATE FACE->PROJECT ONTO
SURFACES (N)
Grid/Create Face/Project onto Surfaces (N) can be used to project a patch of the active face
onto the selected surfaces. Each point of the patch is projected using the normal of the active face
at the point.
The following prompt is given to choose the face or a patch of the face that must be projected:
Surface (=0) or Patch (=1)? (q)
>> 1
The following prompt is given to choose the patch number:
Patch number (1...n)? (q)
>> 1
If the active face contains only one patch, the two previous prompts will not appear.
The following prompt is given to allow the creation of the edges of the active face:
Edge Creation (y/n)? (q)
>> y
Validation Level 1, 2 or 3 (q) ?
>> 1 : projection with validation 1 implies that no check is done to validate the projected points.
>> 2 : projection with validation 2 implies that one check is done to choose the nearest projected
points (ex : to project a patch on a sphere).
>> 3 : projection with validation 3 implies that checks are done to fill the possible gaps in the
surface data. It also involves the check of validation 2. A projection ratio must be defined. It
corresponds to the highest distortion ratio admitted by the projection. A value of 10 is advised.
To exit this command, enter 'q' in the keyboard input area and press <Enter>.
9.20 CREATE FACE->PROJECT ONTO
SURFACES (T)
Grid/Create Face/Project onto Surfaces (T) can be used to project a patch of the active face
onto the selected surfaces. Each point of the active face is projected using a specified projection
vector.
The following prompt is given to choose the face or a patch of the face that must be projected:
Surface (=0) or Patch (=1)? (q)
>> 1
The following prompt is given to choose the patch number:
Patch number? (q)
>> 1
If the active face contains only one patch, the two previous prompts will not appear.
The following prompt is given to allow the creation of the edges of the active face:
Edge Creation (y/n)? (q)
>> y
Then, the projection vector must be entered:
Projection vector (q) ?
>> 1 0 0
Validation Level 1, 2 or 3 (q) ?
>> 1 : projection with validation 1 implies that no check is done to validate the projected points.
>> 2 : projection with validation 2 implies that one check is done to choose the nearest projected
points (ex: to project a patch on a sphere).
>> 3 : projection with validation 3 implies that checks are done to fill the possible gap in the
surface data. It involves also the check of validation 2. A project ratio must be defined. It
corresponds to the highest distortion ratio admitted by the projection. A value of 10 is advised.
To exit this command, enter 'q' in the keyboard input area and press <Enter>.
9.21 CREATE FACE->ROTATE EDGE
Grid/Create Face/Rotate Edge is used to create the active face by rotation of the edge 1 of this
face. It ensures that the face points are exactly on a specified cylinder, which is not necessarily the
case with a 4Bnd interpolation. Firstly, create a new face  before selecting this option. The edges of this face must
contain only one segment. A face of an existing block cannot be used, otherwise the face created
by rotation will be disconnected from the other block faces. After the single face has been created
by rotation, the creation of the block can be completed by a face expansion (Grid/Create
Block/Face Expansion menu item).
The following prompt is given to choose the rotation axis vector:
Rotation axis vector : (q)
>> 0 0 1
The following prompt is given to choose the anchor point of the axis:
Center of rotation : (q)
>> 1 0 0
The following prompt is given to choose the rotation angle in degrees:
Rotation angle -360...360 deg : (q)
>> 20
To exit this command, enter 'q' in the keyboard input area and press <Enter>.
9.22 CREATE FACE->COPY FACE
Grid/Create Face/Copy Face is used to copy the active face from another existing face. The
following prompt appears to specify the reference face from which to copy:
<1> to select a reference face, <2> to perform the copy <3> to quit.
The reference face is selected by left-clicking near an edge of the face. When several edges lie at
the same position, the left-click operation must be repeated until the proper face is selected
(highlighted in white).
The copy operation takes effect when middle-clicking the mouse and is performed in order to
obtain a common axis system for both faces (active and reference one). After the operation, the
active face has the same shape, same orientation and segment division as the reference face. All
the edges connected to the active face are automatically following the new position.
9.23 CREATE FACE->COPY FACE RANGE
Grid/Create Face/Copy Face Range... is used to copy part of a face grid onto another face or
patch, possibly with a different orientation. In the example shown in FIGURE 9.38, the face 4 of
block 1 is created and the face 1 of block 2 is created by copying a part of the face 4, with the
proper orientation.
FIGURE 9.38
Copying a face range onto another face
The dialog box shown in FIGURE 9.39 will appear:
FIGURE 9.39
Copy Face Range dialog box
The first thing to choose is a reference and a target face between which the copy will proceed.
They are selected by entering their indices (Block and Face indices) in the From and To boxes
respectively.
Then the reference face range which will be copied must be selected:
l The Patch box allows to choose an existing patch of the reference face to perform the copy.
The patch is automatically displayed in the graphics area. By default, the patch number is 0,
that is the patch corresponding to the entire reference face.
l Any range can also be selected by changing the limits of the reference face range borders.
Move the cursor to the desired border which is highlighted when the cursor is close enough.
Then left-clicking on it will open a box allowing to enter the new limits. See FIGURE 9.40:
FIGURE 9.40
Changing range limits
The new limits can be entered manually or modified using the scrollers. Pressing <Enter> applies
the new limits to the range. Pressing <Escape> cancels the limit modification.
Once the range is chosen, the orientation in which the copy will proceed must be selected. When
the reference and target faces have different origin and/or local axis orientation, as in our example,
the correspondence between the axis must be specified. It is done by assigning an expression
(such as "Ilow", "Khigh") for each axis of the reference face. These expressions are determined
as follows:
1. Take the first axis of the reference face.
2. Search the axis of the target face which has the same direction, that is to say X (where X is I, J
or K).
3. If the two axis have the same orientation, expression = "Xhigh", else expression = "Xlow".
4. Do the same with the second axis of the reference face to determine the second expression.
In the previous example, the relative orientation of the two faces is as indicated in FIGURE 9.41:
FIGURE 9.41
Orientation of the two faces
It can be seen that Face 1 axis I increasing corresponds to Face 4 axis K decreasing, while Face 1
axis J increasing corresponds to Face 4 axis I increasing. The correct relative orientation
specification should consequently be: "Klow", "Ihigh".
After pressing Apply, IGG™ checks whether the copy is possible or not. A warning appears if the
copy cannot be performed (i.e. if the number of points for the reference face range and the target
face is different).
9.24 CREATE BLOCK->LINEAR 2BND
Create Block/Linear 2Bnd menu item is used to create an algebraic block grid using two
opposite boundaries of the active block. The grid matches the point distributions on the active
boundary and its opposite. Other grid boundaries are computed by linear interpolation and the
internal grid points are distributed according to the user- defined point distributions between
opposite boundaries.
9.25 CREATE BLOCK->LINEAR 4BND
Create Block/Linear 4Bnd menu item is used to create an algebraic block grid using the four
boundaries of the active block. See FIGURE 9.42 .The grid matches the point distributions
defined on the four boundaries. The active face number determines the direction of interpolation
as follows:
Active face Direction Block faces for interpolation
1 or 2 K 1 + 2 + 3 + 4
3 or 4 J 3 + 4 + 5 + 6
5 or 6 I 1 + 2 + 5 + 6
FIGURE 9.42
The four boundaries used for interpolation
9.26 CREATE BLOCK->LINEAR 6BND
Create Block/Linear 6Bnd menu item is used to create an algebraic block grid using the six
boundary faces of the active block. The grid matches the point distributions defined on six
boundaries.This option can also be accessed through the Quick Access Pad/Grid/Generate
page.
9.27 CREATE BLOCK->SMOOTHING
Grid/Create Block/Smoothing menu item is used to smooth the active block using an elliptic
solver when clicking on Smooth button. The level of smoothing can be controlled through the
new popup window, shown in FIGURE 9.43 , by entering the Number of iterations. The
smoothing is applied on all grid points except the ones located on the faces of the block.
Furthermore, the smoother is keeping the cell size at the wall imposed by the clustering defined by
the user.
FIGURE 9.43
3D Smoother Control
9.28 CREATE BLOCK->ELLIPTIC->MULTIGRID
Grid/Create Block/Elliptic/Multigrid menu item is used to create an elliptic face or block grid
by solving a Poisson type quasilinear PDE (Partial Differential Equation) with the multigrid (MG)
technique, for the active face or block depending on the Viewing Scope. When this option is
repeated, the last created grid is taken as the initial solution and solved with the current values of
MG parameters. The number of iterations for convergence is also displayed in the status area.
This item can also be used to smooth the algebraic face or block grids within a user-defined area
of the block (local smoothing) or completely. Multigrid parameters can be controlled using the
Grid/Create Block/Elliptic/Multigrid Parameters menu item.
The following prompts are given to specify the smoothing area for 2D/3D surface and block
grids:
Smoothing area (0) or all (1) : (q)
>> 0
In case of local smoothing, the grid indices are specified as:
Smooth index 1 min,max 1 ... 65 (q)
>> 7 25
Smooth index 2 min,max 1 ... 41 (q)
>> 3 17
For 3D surface or block grids
Smooth index 3 min,max 1 ... 33 (q)
>> 15 33
After the initial number of user-specified iterations is completed the following prompt is given to
ask for more iterations, if the solution is not converged:
Iterate more ? ... 12 so far (q)
>> 8
9.29 CREATE BLOCK->ELLIPTIC->MULTIGRID
PARAMETERS
Grid/Create Block/Elliptic/Multigrid Parameters menu item is used to set the multigrid
parameters through a dialog box. See FIGURE 9.44.
The range of MG level is computed and displayed on the top line to enter the desired value from a
string input box. The coarse grid correction (CGC) is performed by the red-black point relaxation
and linear interpolation. The relaxation steps before and after the CGC can be specified
between 1 and 20. The number of MG cycles can also be set between 1 and 200. The tolerance
for the total error can be set within the range of 1e-10 to 1. The multigrid mode can be set to
normal or full MG and the type of cycles can be chosen as V or W cycles. The following options
are available to change the effect of control functions:
P, Q (R) : include both the effect of coordinate line spacing and angle control in each curvilinear
coordinate direction
P=0, Q (R) : exclude the effect of control functions for grid points on constant I lines.
P, Q=0 (R) : exclude the effect of control functions for grid points on constant J lines.
P=Q=(R)=0 : no effect of control functions.
FIGURE 9.44
MG Parameters dialog box.
9.30 CREATE BLOCK->ELLIPTIC->SLOR
Grid/Create Block/Elliptic/SLOR menu item is used to create an elliptic surface or block grid
by solving a Poisson type quasi linear PDE with the Successive Line Over Relaxation (SLOR)
technique, for active face or block depending on the Viewing Scope. When this command is
repeated, the latest created grid is taken as the initial solution and solved with the current values of
SLOR parameters. The active view is updated after each iteration to show the progress of the
generation process. The number of iterations for convergence is also displayed on the status area.
This item can also be used to smooth the algebraic surface or block grids within a user-defined
area of the block (local smoothing) or completely.
For 2D/3D surface grids, the control functions (CF) are computed by interpolation from the
edges. In Keyboard mode, the grid points on edges 3 and 4 are also shifted after the grid is
solved, to conform to the slopes of internal grid lines near the boundaries.
The following prompts are given to specify the smoothing area for 2D/3D surface and block
grids:
Smoothing area (0) or all (1) : (q)
>> 0
In case of local smoothing, the grid indices are specified as:
Smooth index 1 min,max 1 ... 65 (q)
>> 7 25
Smooth index 2 min,max 1 ... 41 (q)
>> 3 17
For 3D surface or block grids :
Smooth index 3 min,max 1 ... 33 (q)
>> 15 33
After the initial number of user- specified iterations is completed and if the solution is not
converged, the following prompt is given to ask for more iterations (ranging from 1 to 200). If a
value is indicated, the same prompt is repeated in a loop, after the additional iterations are
completed:
Iterate more ? ... 20 so far (q)
>> 4
9.31 CREATE BLOCK->BUTTERFLY
Create Block/Butterfly... opens the Create Butterfly dialog box which is used to automatically
create a butterfly topology in a block. Refer to Butterfly mesh for a complete description of this
dialog box and for information about the butterfly topology.
This tool can also be accessed through the Quick Access Pad/Grid/Create page.
9.32 CREATE BLOCK->CHANGE AXIS
Grid/Create Block/Change axis menu item is used to change the axis system of the active block,
for example to transform a left handed block into a right handed block. Only right handed blocks
can be created. The active block is simply deleted and a new one is created with the same points,
topology, the same name and number, but with a different axis system. This new block has the
same division in patches and patch naming than the old one. Moreover, all the connections are
kept (vertices, edges, segments and patches connections). However, the information on faces
generation (projection, smoothing,...) is lost. Therefore regenerating them will simply lead to a 4
Bnd interpolation.
When starting this tool, a message indicating that the block must be regenerated can appear. In
this case, if the block is not regenerated, the tool will be stopped. Then, the current axis system of
the block is displayed.
The following prompt will appear:
Place IJK Axis ( o = origin, s = orientation, <1> or <2> = set axis, <3> = abort)
Press <o> to change the origin of the axis system and 
 to change the orientation of the axis.
Then, press the left or middle mouse button to create the new block with a modified axis system.
Press the right mouse button or <q> to stop this tool without creating the new block and deleting
the old one.
9.33 CREATE BLOCK->SPLIT
Grid/Create Block/Split... menu item is used to split a block along a face mesh (I, J or K) in
order to obtain two new blocks.
The features and details about block splitting, as well as the limitations, are described here after.
The splitting operation will yield several new blocks with the same grid point coordinates as the
initial block and the topology of the new blocks will closely follow the one of the initial block (i.e.
if an additional vertex is present in the initial block, it will also be present in a new created block,
at the same position).
Upon successful splitting of a block, the new split blocks will be such that:
l The two split blocks are fully connected at their interface: vertices, edges, segments and
patches connection.
l All the topological connections with the adjacent blocks are recovered: vertices, edges and
segments.
l The periodicity of the original block is recovered.
l The division into patches, as well as their type, name and connection are recovered.
l When a patch overlaps the splitting region, it results into two segmented patches: one in the
first split block and the other in the second split block. If the original patch is connected (CON
or PER connection type), its connected patch is also divided, and the connection between
these segmented patches is established. For NMB and PERNM connection types, such a
division is not applicable and is not performed. Therefore the type of the original patch is set to
UND in this case.
l All the FNMB connections involving the block to be split are recovered.
Limitations
l Information about faces generation (projection, smoothing,...) is lost.
l A butterfly block (a parent block containing a butterfly topology) cannot be split.
l Block patches connected to a butterfly block are disconnected. The connection should be re-
established after splitting.
l As said before, the division of connected patches cannot be performed for NMB and PERNM
connections.
l It is up to the user to take care about multigrid levels. Indeed, no checks are done on block
and patch sizes that will be obtained. Therefore, even if the original block has several multigrid
levels, the split blocks can have no multigrid levels if indices of splitting are improperly
chosen.
This tool opens a dialog box allowing the selection of the face mesh where the block will be split.
If the active block is not generated or has been modified since the last generation (by moving a
vertex, for example), the message shown in FIGURE 9.45 will appear:
FIGURE 9.45
Message indicating that the block may be regenerated
It asks for block regeneration. If the block is not generated and that the no button is pressed, the
dialog box of the next figure will appear but without being able to do something except pressing the
Close button. If the block has been modified since the last generation (a block is not automatically
regenerated after modifications of its topology) and that the no button is pressed, the mesh that will
be interactively displayed may look quite strange.
FIGURE 9.46
Split block dialog box
The Block box allows to choose the active block which will be split. Next to this box, the active
block name and the grid points number in each direction are displayed.
The I, J and K scrollers allow to interactively sweep the grid along the three directions. While
scrolling, surface grids are displayed for each constant index direction.
When pressing the Split button, the selected block is split at the face mesh currently visible and the
dialog box is closed.
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.
9.34 CREATE BLOCK->SPLIT AT INTERNAL
FACES
Grid/Create Block/Split at internal faces menu item is used to split the active block along all its
internal faces. The splitting operation is performed until there is no remaining internal face in the
split blocks. Therefore more than two new blocks can be created at once.
The features and the limitations of this option are identical to the ones of the Grid/Create
Block/Split menu item and are described in the previous section.
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.
9.35 CREATE BLOCK->MERGE
Grid/Create Block/Merge menu item is used to merge two blocks having two faces fully
connected to obtain a new block. It shows Merge Blocks dialog box containing two options:
Topology Merging and Topology from Grid.
When Topology Merging option is selected, the two fully connected faces will be transformed.
Functions of both the options are almost same. The two fully connected faces will be transformed
in an internal face in the new block. " Fully connected " means that an entire face must be
completely connected to another face at all levels: vertices, edges, segments and patches must be
connected. This means that a face cannot be connected to only a part of another face.
The merging operation proceeds in two main steps:
l A re-orientation of the two blocks to be merged in order to obtain a same axis system for both
blocks.
l The merging of the two blocks having the same axis system.
The first mandatory procedure means that the axis system of the final merged block can be
different than the one of the two original blocks.
The features and details about blocks merging, as well as the limitations, are described here after.
Upon successful merging of the two blocks, the new block will be such that:
l All the topological connections with the adjacent blocks are recovered: vertices, edges and
segments.
l The division into patches, as well as their type, name and connection are recovered.
l All the FNMB connections involving the two blocks to be merged are recovered.
l The merging operation does not alter the block. This means that the final merged block does
not have to be regenerated after merging.
Limitations:
l The blocks to be merged cannot contain internal edges or faces aligned along the merging
direction.
l Information about faces generation (projection, smoothing,...) is lost.
l A butterfly block (a parent block containing a butterfly topology) cannot be merged.
l Block patches connected to a butterfly block are disconnected. The connection should be re-
established after merging.
l Block repetition is lost if the periodicity is different for the two blocks to be merged.
l The option is only available in 3D.
l Furthermore, when the Topology from Grid option is selected, it allows to merge two blocks,
which are only connected at patches level . The edges of the new block are
recreated from the two block meshes and all the vertices, fixed points,... are lost.
After selection in the Merge Blocks dialog box, the two fully connected faces 
indicating the blocks to be merged must be selected. The following prompt will appear:
Select Face (<1> to select - <2> to acknowledge - <3> to quit)
Left-click on the desired face and middle-click to confirm the selection. Then the connected face
is detected automatically and the merging will proceed. If the selected face is not fully connected
to another one, the message shown in FIGURE 9.47 will appear:
FIGURE 9.47
A fully connected face cannot be found for selected face
If one of the blocks to be merged is not generated or has been modified since the last generation
(by moving a vertex, for example), the message shown in FIGURE 9.48 will appear:
FIGURE 9.48
Message indicating that the block may be regenerated
It asks for block regeneration. If the no button is pressed, the merging will not be performed.
After the merging has proceeded, the following prompt will appear, allowing the selection of a
face to perform another merging operation:
Select a New Face to merge, <3> to quit
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.
The block merging can be replayed using a script only if the involved blocks are generated in 3D
before the merging.
9.36 CREATE BLOCK->SWEEPING
Grid/Create Block/Sweeping menu item is used to create a block grid by sweeping a base grid
(arbitrary face) along an arbitrary edge (sweep edge). The base face that will be swept must be a
boundary face (so an internal face cannot be swept) and must be active. When clicking on this
menu item, a sweep edge will appear in a default position for the active face (except for internal
faces, in which case a warning message will appear). The following prompt is given in the
message area:
Move sweep edge vertices ( <2> = sweep, q = quit)
The sweep edge is just like another one except that it exists and is visible only for the active face
used to create a block by sweeping. So, all operations commonly available can be performed on
this edge (vertices positioning, vertex insertion, control of the grid points distribution, pop-up
menus accessible,...).
The number of points and their distribution in the sweeping direction will be those of this sweep
edge. When this one is correctly positioned, press the middle mouse button. The following prompt
will appear, allowing to combine the sweeping with rotation or scaling:
T(1), TR(2), TS(3) or TRS(4) : (q)
>> 4
Simple sweeping is indicated as a translation (1). Combinations with rotation (2), scaling (3) or
both (4) require the following data:
Angle (-360...360 deg) : (q) (for 2 and 4)
>> 60
Scale factor (q) (for 3 and 4)
>> 0.5
The values of angle and scale factor are global values between the first and the last grid points of
the sweep edge, so that smaller rotations or scaling will be performed for each grid point of the
sweep edge. The rotation axis is the sweep edge tangent at each grid point and the origin for the
scaling is each sweep edge grid point.
During the sweeping, the boundary edges are created using the boundary grid nodes of the
generated block. The sweep edge can be placed in any position and must not necessarily be
perpendicular to the active face. On the other hand, some care must be taken when placing the
sweep edge and when entering the rotation and scaling values because some special
configurations can create distorted meshes.
Once a block has been created by sweeping, another use of this tool will display the active face
sweep edge as positioned during the previous creation of the block.
It is strongly recommended to be careful when using this tool because a lot of operations available
outside this tool can be done so that it can easily be forgotten that a sweeping is made. Look at the
message area to see the related prompt.
To quit this tool: if the middle mouse button has not been pressed yet, press <q>, else enter 'q' in
the keyboard input area and press <Enter>. The sweep edge will disappear.
This tool can also be accessed through the Quick Access Pad/Grid/Create page.
When selecting a face from a 3D block, the original block is removed when creating a new block
using Sweeping.
9.37 CREATE BLOCK->FACE EXPANSION
Grid/Create Block/Face Expansion menu item is used to create a block grid by expansion of
the active face with a user-specified distance. In fact, each grid point of the active face is
translated along the local normal to the face with the user-specified distance. The number of grid
points and their distribution in the expansion direction is set as follows:
l The parent block of the active face has only this face created (other faces are created by using
tools as this one or Grid/Create Block/Rotation,...): the number of grid points is the default
one (9) and the distribution is uniform.
l The parent block of the active face has all its boundary faces created: the number of grid points
and their distribution are those of the reference edge determined as follows:
Active face Reference edge
Faces 1 or 2 Face 3, Edge 3
Faces 3 or 4 Face 1, Edge 3
Faces 5 or 6 Face 1, Edge 1
During the expansion, the boundary edges can be created using the boundary grid nodes of the
generated block:
Edge creation (y/n)? (q)
>> y
The expansion distance is defined using the keyboard input area:
Translation distance : (q)
>> 1
To quit this command, enter 'q' in the keyboard input area and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Grid/Create page.
The original block is removed when creating a new block using Face Expansion.
When selecting a face from a 3D block, the original block is removed when creating a new block
using Face Expansion.
9.38 CREATE BLOCK->TRANSLATION
Grid/Create Block/Translation menu item is used to create a block grid by translating the active
face along an arbitrary vector (translation vector). The number of grid points and their distribution
in the translation direction is set as follows:
l The block to which the active face belongs has only this face created (other faces are created
by using tools as this one or Grid/Create Block/Rotation,...): the number of grid points is the
default one (9) and the distribution is uniform.
l The block to which the active face belongs has all its boundary faces created: the number of
grid points and their distribution are those of the reference edge determined as follows:
Active face Reference edge
Faces 1 or 2 Face 3, Edge 3
Faces 3 or 4 Face 1, Edge 3
Faces 5 or 6 Face 1, Edge 1
The translation vector is defined by using the keyboard input area. The translation (T) can be
combined with rotation (TR), scaling (TS) or both rotation and scaling (TRS).
During the translation, the boundary edges can be created using the boundary grid nodes of the
generated block:
Edge creation (y/n)? (q)
>> y
Translation (1) can be combined with rotation (2), scaling (3) or both (4) as follows:
T(1), TR(2), TS(3), TRS(4) (q)
>> 4
Translation vector (q)
>> 1 1.5 5
For rotation or scaling, the vector origin can be specified as:
Origin (q) ( for 2, 3 and 4)
>> 1 1 0
The rotation axis is equal to the translation vector. The rotation angle can be given as:
Angle (-360...360 deg) (q) ( for 2 and 4)
>> 60
The scale factor is given for all index directions as a single value:
Scale factor (q) ( for 3 and 4)
>> 0.5
Next, IGG™ will ask to create the geometry.
Create Geometry ? (y/n) (q)
>> y
This geometry consists of NURBS surfaces representing the lateral faces of the block. It is
strongly advised to create these surfaces so that any later modification of a vertex of the block will
automatically map the touched edges onto these surfaces. Without these surfaces, the touched
edges (or any new internal grid lines) would be drawn as straight lines.
After the creation of the block grid, it is possible to intersect a selected geometry surface and adapt
the new block according to the intersection. The following prompt is given to ask for intersection:
Intersect selected surface ? (y/n) (q) (only for 1)
>> y
The geometry surface must have been previously selected using the Geometry/Select/Surfaces
menu item to use this option.
To quit this command, enter 'q' in the keyboard input area and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Grid/Create page.
When selecting a face from a 3D block, the original block is removed when creating a new block
using Translation.
9.39 CREATE BLOCK->ROTATION
Grid/Create Block/Rotation menu item is used to create a block grid by rotating the active face
grid around a coordinate axis by a user-specified angle. Only the vertices of the block will be
mapped but the edges will not. This means also that the faces of the block on the generated
underlying geometry will not lie on the surfaces of revolution created when answering yes to the
question Create Geometry?.
Before using this option, the number of points in the theta direction can be increased in the dialog
box Topology Settings (Grid/Grid Settings). It is also possible afterwards to increase and to change
points distribution on segments and then reapply the creation by rotation which will take the number
of points and perpendicular distributions into account.
The required inputs are entered from the keyboard input area.
During the rotation, the boundary edges can be created using the boundary grid nodes of the
generated block:
Edge creation (y/n)? (q)
>> y
The following prompts are given to specify the rotation parameters:
Rotation axis : (x=0, y=1, z=2) (q)
>> 1
Angle (-360...360 deg) (q)
>> 60
Next, IGG™ will ask to create the geometry.
Create Geometry ? (y/n) (q)
>> y
This geometry consists of NURBS surfaces representing the lateral faces of the block. It is
strongly advised to create these surfaces so that any later modification of a vertex of the block will
automatically map the touched edges onto these surfaces. Without these surfaces, the touched
edges (or any new internal grid lines) would be drawn as straight lines.
After the creation of the block grid, it is possible to intersect a selected geometry surface and adapt
the new block according to the intersection. The following prompt is given to ask for intersection:
Intersect selected surface ? (y/n) (q)
>> y
The geometry surface must have been previously selected using the Geometry/Select/Surfaces
menu item to use this option.
To quit this command, enter 'q' in the keyboard input area and press <Enter>.
This tool can also be accessed through the Quick Access Pad/Grid/Create page.
When selecting a face from a 3D block, the original block is removed when creating a new block
using Rotation.
9.40 GRID DENSITY->CLUSTERING
Grid/Grid Density/Clustering... is used to modify the grid points clustering along the segments
defining the blocks. This option opens a dialog box providing different clustering schemes. It
allows also to define clustering groups which are groups of segments and for which the same
clustering is applied to all the segments contained in the group.
This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page. See
FIGURE 9.49.
At the opening, the dialog box will be updated according to the active segment. If this one is
contained in a group, the corresponding group name will be displayed in the Group area.
Otherwise "NONE" appears in this area. When changing the active segment, the settings in the
dialog box are also automatically updated to reflect the clustering currently defined.
A list of the existing clustering groups can be displayed by left-clicking on the arrow of the
Group area. Left-click on one of the groups to display its clustering information. The first
segment of the group is automatically activated and all the segments of the group are highlighted
in the IGG™ graphics area.
The dialog box contains in the left part a list of the different clustering types available. Left-click
on the desired one to select it. The right part of the box is automatically updated according to the
type and displays the necessary inputs. The chosen clustering will be applied on the active
segment or on its entire group by pressing respectively the Apply to seg or the Apply to group
button. This button is deactivated if the active segment is not contained in a group.
FIGURE 9.49
Clustering dialog box
When changing the active segment, if it is not contained in a group and that its clustering type is
uniform, the current clustering type and the clustering values of the dialog box are not changed to
be able to apply on the active segment the same clustering set previously. Therefore the same
clustering values do not have to be entered manually a second time. To indicate that the clustering
type of the active segment is different than the one displayed in the dialog box, the message
"Current distribution is uniform" appears at the bottom part.
The Active segment info area displays useful information about the active segment: its number of
points, its multigrid level and the maximum expansion ratio of its grid points distribution.
Moreover the Clustering info... button gives access to a dialog box allowing to calculate optimum
settings for the segment (distribution parameters, number of points, maximum expansion ratio).
This dialog box is described after in a specific section.
The following sections describe the different clustering types, how to define clustering groups, the
convergence of the clustering computation and how to calculate optimum settings for a segment.
Clustering types
Uniform
This type is used to obtain a uniform grid points distribution on the segment (grid points equally
spaced on segment).
Undefined
This type indicates that the segment has no specific distribution (for example when copying a
distribution from one segment to another). In fact this type is informative and obviously cannot be
applied explicitly to a segment or a group.
At Start
This type allows to impose the cell size at the beginning of the segment. The size of the first
segment cell is requested in absolute units. Other cells sizes will follow a geometric progression.
At End
This type allows to impose the cell size at the end of the segment. The size of the last segment cell
is requested in absolute units. Other cells sizes will follow a geometric progression.
At Both Ends
This type allows to impose the cell size at the beginning and at the end of the segment. The size of
the first segment cell, equal to the size of the last segment cell, is requested in absolute units. Other
cells sizes will follow a geometric progression.
At Both Ends 2
This type allows to impose the cell size at the beginning of the segment, the end or both with a
number of constant cells between the end points. The sizes of the first segment cell and of the last
segment cell are requested in absolute units. Enter 0 for the start spacing to impose only the size of
the last segment cell. Similarly enter 0 for the end spacing to impose only the size of the first
segment cell.
Hyperbolic Tangent
This type allows to impose the cell size at the beginning and at the end of the segment. The sizes
of the first segment cell and of the last segment cell are requested in absolute units.
The advantage of this type is that it always converges, even with nonsense values for specified
cell sizes. On the other hand the specified cell sizes are not exactly respected by the distribution.
Boundary Layer
This type is used when knowing an approximation of the boundary layers thickness (at the end
points of the segment), as well as the distance of the first cell (y+) in these layers and the desired
number of grid points in each layer. The distribution in the boundary layers will follow a
geometrical progression, while the distribution in the intermediate region will be made as smooth
as possible.
Curvature
This type is used to compute a clustering distribution function of the segment curvature. Two
parameters can be used to customize the clustering: the curvature weight and the maximal
curvature ratio . When the ratio of segment curvature extrema is higher than the maximum
curvature ratio, the grid points density is limited and is set to uniform. A value of 50 is advised.
The curvature weight is used to decrease or increase the influence of the segment curvature on the
grid points density.
Clustering groups
The features of this segment grouping are listed below:
l A segment will be contained only in one group (a segment has obviously only one
distribution). Therefore if a segment is already present in a group and is inserted in a new
group, it will be removed from the first group.
l In the same way, connected segments will be included in the same group (in the group of the
reference segment chosen). Therefore when inserting or removing a segment connected to
other ones, these will be automatically inserted/removed without need to select them.
l At a group creation, the initial clustering chosen for the whole group will be the one of the first
segment of the group.
l If a segment belongs to a group and that a clustering is applied only on this segment and not on
the whole group, the segment will be removed from the group.
The clustering groups are managed (created, modified and deleted) through a dedicated dialog
box shown in FIGURE 9.50, accessed by left-clicking on the Define/Edit group button of the
Clustering dialog box.
FIGURE 9.50
Clustering groups dialog box
This dialog box contains a list of the clustering groups defined in the current project. Each group
name is preceded by two buttons. Left-clicking on the first one toggles the segment list of the
corresponding group. Left-clicking on the second one toggles the segments of the group in the
graphics area. Each segment of a group is also preceded by a check button allowing to
individually show or hide the segment. Segment names are based on their Block, Face, Edge and
Segment indices.
Groups are managed through the buttons at the bottom of the dialog box or through pop-up
menus accessed by right-clicking on an item in the list.
The Create button allows to create a new group. An additional entry will be opened to enter the
group name. Then the group will be added to the list and its filling will proceed just as with the
Modify button, described below.
The Delete button allows to delete the selected group. A group is selected by left-clicking on its
name in the list. Several groups can be selected at once in the following ways:
l While holding the <Ctrl> key down, select the desired group in the list.
l While holding the <Shift> key down, select two groups delimitating a range of groups.
l While pressing the left mouse button, drag the mouse and release the left button to select a
range of groups.
The Modify button allows to modify the segment list of a group (addition or removal of segments).
After the selection of this option, all the segments of the selected group are highlighted and the
following prompt appears:
<1> Select segment, <2> Add, <d> Remove, <o> Orient = SAME, <3> Quit
Then select a segment by left-clicking on it in the graphics area. It is highlighted as well as its
parent block (to be able to distinguish segments lying in the same place).
l The group clustering can be applied on the segment with two orientations: same or reverse.
Select the desired one by pressing <o>. The prompt and the segment highlight are updated to
reflect it.
l To add the selected segment in the group, middle-click.
l To remove it from the group (if already contained), press <d>.
l To quit this tool, right-click.
Editing options can also be accessed by right-clicking on a group or on a segment in the dialog
box. See FIGURE 9.51.
FIGURE 9.51
Pop-up menus accessed through the dialog box
For a group, the active segment can be added, the group can be modified just as with the Modify
button previously described and the group can be deleted.
For a segment of a group, this one can be removed from the group and the clustering distribution
can be reversed.
Clustering convergence
In some cases, the computation of the grid points distribution on a segment, according to the
clustering type, cannot converge (for example, with a type At Start, there is no convergence if the
first cell size is greater than the segment length). Therefore the new clustering type cannot be
applied to the segment and a warning appears.
If a clustering is applied on a segment alone (Apply to seg button), the dialog box shown in
FIGURE 9.52 will appear:
FIGURE 9.52
No convergence on a segment
If a clustering is applied on a group (Apply to group button), the dialog box shown in FIGURE
9.53 will appear:
FIGURE 9.53
No convergence on segments of a group
It contains the list of group segments for which the distribution cannot converge. Moreover, these
ones are highlighted in the graphics area to easily localise them. Once this warning box is closed,
all the segments of the group keep the same clustering as previously (clustering unchanged).
Segment optimum settings
Optimum settings can be calculated for the active segment through a dedicated dialog box shown
in FIGURE 9.54, accessed by left-clicking on the Clustering info... button of the Clustering
dialog box.
FIGURE 9.54
Clustering info dialog box
The basic idea of this tool is to impose several independent parameters and to calculate from them
a dependent variable, which can be either the expansion ratio, the segment number of points or
the distribution parameters (start or end spacing). Before doing any calculation, the clustering type
that will be used must be chosen in the top of the dialog box. The clustering types have the same
name and meaning as the ones of the Clustering dialog box.
The dependent variable is selected by left-clicking on the corresponding radio button. Then other
parameters can be modified. The parameters not preceded by a radio button cannot be chosen as
dependent variable. Pressing < Enter> or the Compute button will recalculate the dependent
variable according to the new parameters. It is also recalculated when the active segment is
changed.
The following variables can be computed:
l Expansion ratio : it is simply the computation of the expansion ratio of the distribution
obtained from the other parameters.
l Number of points: the minimum segment number of points is calculated in order to satisfy the
specified expansion ratio and distribution spacing(s). For this variable, the multigrid level can
be chosen, leading to a calculated number of points with at least the selected multigrid level.
l Spacing at start/at end: the minimum spacing is calculated in order to satisfy the specified
number of points and expansion ratio.
For example, as shown in the previous figure, the minimum number of points can be calculated to
satisfy an imposed maximum stretching ratio of 2, with a "Hyperbolic tangent" clustering type
and a start - end spacing of 1e-5.
In some cases, the computation of the dependent variable, according to the clustering type, cannot
converge (for example, with a type " At Start", there is no convergence if the first cell size is
greater than the segment length). Therefore the message "Computation not converged" appears at
the bottom part of the dialog box.
It is important to note that this dialog box is not linked to the Clustering dialog box. It has to be
considered as an "information" box and therefore any modification of its parameters will have no
direct effect on the mesh or the segment clustering. Therefore a computed optimum parameter must
be applied externally (for example, to apply a computed spacing on a segment, the value must be
introduced manually in the "Clustering" dialog box).
9.41 GRID DENSITY->COPY
Grid/Grid Density/Copy... is used to copy the grid points distribution from a segment, an edge
or a face onto another one. If the target entity is connected, the copy is automatically repeated for
the connected segments. When selecting this option, the dialog box shown in FIGURE 9.55 is
opened.
FIGURE 9.55
Copy Distribution dialog box.
It allows to specify the reference (From) and target (To) entities by entering their block, face,
edge and segment indices.
By omitting the segment number in the From and To boxes, one can copy the distributions of a
complete edge onto another edge, even if they have different number of segments. By omitting
the segment and edge numbers in the From and To boxes, one can copy the distributions of a
complete face.
Examples:
l Specifying From: 1 3 2 2 and To: 2 1 2 1 will copy the distribution from segment (1 3 2 2) to
the segment (2 1 2 1).
l Specifying From: 1 3 2 and To: 2 1 2 will copy the distribution from the edge (1 3 2) to the
edge (2 1 2).
Copying distributions from an entity to an other is performed by copying the distribution function,
not the basic clustering type (as shown in the Clustering dialog box). This implies that the target
segments will automatically be assigned an Undefined type.
When copying a distribution onto a segment that is in a clustering group, the segment is automatically
removed from the group.
When specifying segments as reference and target entities, grid point distributions can be copied
in the same or reverse directions.
FIGURE 9.56
Copying with Reverse or Same orientation
It is also possible to specify the reference and target segments by selecting them interactively with
the mouse. Indeed, when opening the dialog box the following prompt appears:
<1> Select reference segment, <2> Acknowledge
Then, to specify the reference and target segments:
1. Select the desired reference segment with the left mouse button. When the proper segment is
selected, middle-click to take it as reference segment. Its indices will appear in the From box.
Then, the following prompt appears to select the target (To) segment:
<1> Select target segment, <2> Acknowledge
2. Repeat step 1 to select the target segment. When the middle button is pressed, the segment
indices will appear in the To box and the following prompt will appear:
<1> Press Apply or Select reference segment, <2> Acknowledge
3. Press the Apply button in the dialog box to perform the copy
or
4. proceed to a new segment selection by repeating the steps 1-2.
9.42 GRID DENSITY->CONTINUOUS
DISTRIBUTION
Grid/Grid Density/Continuous Distribution... allows to ensure a continuous distribution
between successive segments.
The segment list should be correctly ordered, i.e. one segment is connected to the next one in the list,
whatever their orientation.
The start spacing and end spacing allow to control the size of the first cell of the first segment
and the last cell of the last segment of the list.
When performing a planar face smoothing (Create Face->Planar Faces Smoothing), the smoother
will smooth the initial inner expansion ratios in the mesh but not the ones on the boundaries.
Therefore the clustering on the boundary segments should be correctly set to avoid too big
expansion ratios. To avoid this problem,
the segment groups defined for the planar face
smoothing will appear in the Segment continuous distribution dialog box to ensure a continuous
distribution.
CHAPTER 10.
VIEW MENU
The View menu options provide a set of display options to visualize the grid boundaries, surface and
block grids, repetition, hidden lines and rendered surfaces. The viewing parameters and projection, as
well as window attributes can also be modified interactively. Other options include the text insertion
and deletion. When dealing with projects with some kind of symmetry (i.e. mirror plane, rotating
symmetry,...) the grid needs to be generated for only one part of the geometry. IGG™ allows getting a
complete visual representation of the whole mesh by applying a repetition to the graphic objects of the
active view.
10.1 PATCH VIEWER
View/Patch Viewer... is used to visualize selected patches in wireframe or solid mode to produce
full rendered pictures of the grid. The dialog box provides control over the colour and
transparency.
FIGURE 10.1
Patch Viewer dialog box
Patch Browser
The patch browser lists all the patches in the grid, according to the current Block, Face, Patch or
Type filters. In this browser, one or more patches can be selected with the left mouse button.
It is possible to select several patches at once in the following way:
l While holding the <Ctrl> key down, select the desired patches in the browser.
l While holding the <Shift> key down, select two patches delimiting a range of patches.
l While pressing the left mouse button, drag the mouse and release the left button to select a
range of patches.
Filters
The different filters allow to display specific patches of a grid in the browser while hiding the
others. The Block, Face and Patch filters work together and allow to display patches by indices.
For example:
Block Filter: ’*’
Face filter: ’1 2’
Patch filter: ’*’
shows in the browser all the patches of faces 1 and 2 of all the blocks. ’*’ means ALL. The Face
filter allows also to select a boundary face by choosing imin, imax, jmin, jmax, kmin or kmax.
These items can be shown and selected by left-clicking on the Face filter arrow.
The Type filter is very useful to list all the patches of a given type (according to the other filters).
In particular it allows to easily identify the periodic and connected patches (PER, PERNM, CON,
NMB) and the patches that have not any type yet (UND).
Patch visualization
To assign a color to one or several patches:
1. Select the patches in the patch browser,
2. Select one color from the predefined colors or from customized colours (Ed. button),
3. Press the Show Grid (wireframe representation) or the (solid representation) button.
To hide the patches representation, proceed in the same way by pressing the Hide Grid or the
Hide Solid button.
It is possible to make some patches semi-transparent by specifying a transparency factor on the
selected patches. The transparency factor can vary from 0 (no transparency) to 1 (highly
transparent). By default, the transparency factor is only applied when pressing the Show Solid
button. This default may be overwritten by activating the Full Visibility option. In this case, the
transparency effect will be recomputed each time the transparency slider is moved.
Since the rendering of transparent patches is computationally intensive and may take up to several
minutes, it is not advised to use the Full Visibility flag on large grids.
10.2 SWEEP SURFACES
View/Sweep Surfaces... is used to scroll the constant grid index surfaces within 3D grid blocks.
If the active block is not generated or has been modified since the last generation (by moving a
vertex, for example), the following message will appear:
FIGURE 10.2
Message indicating that the block may be regenerated
It asks for block regeneration. If the block is not generated and that the no button is pressed, the
dialog box of the next figure will appear but without being able to do something except pressing the
Close button. If the block has been modified since the last generation (a block is not automatically
regenerated after modifications of its topology) and that the no button is pressed, the mesh that will
be interactively displayed may look quite strange.
Mesh sweeping is done through the Sweep Surfaces dialog box:
FIGURE 10.3
Sweep Surfaces dialog box
The Block box allows to choose the active block in which the surface grids will be scrolled. Next
to this box, the active block name and the amount of grid points in each direction (according to
the coarse grid levels selected) are displayed.
It is to be noticed that setting the Block to 0 allows to scroll the grid surface on all blocks.
The I, J and K scrollers allow to interactively sweep the surface grid along the three directions.
While scrolling, surface grids are displayed for each constant index direction.
10.3 SWEEP CELLS
View/Sweep Cells... is used to scroll the individual grid cells within 3D grid blocks. If the active
block is not generated or has been modified since the last generation (by moving a vertex, for
example),
the following message will appear: Block 1 is not generated or has been
modified. Generate ?
FIGURE 10.4
Message indicating that the block may be regenerated
It asks for block regeneration. If the block is not generated and that the no button is pressed, the
dialog box of the next figure will appear but without being able to do something except pressing the
Close button. If the block has been modified since the last generation (a block is not automatically
regenerated after modifications of its topology) and that the no button is pressed, some cells that will
be displayed may look quite distorted.
A dialog box is used to scroll in I, J and K index directions.
FIGURE 10.5
Sweep Cells dialog box.
10.4 SHOW UNMAPPED VERTICES
View/Show Unmapped vertices are used to show the vertices which are not mapped on any
geometry entity or which are mapped on curves automatically created by IGG™ (i.e. when
extruding a new block). It is useful for templates that must be successfully applied to similar
geometries, where the vertices of the blocks should be placed on the input curves and surfaces.
IGG™ cannot currently detect whether a curve or surface is imported from a CAD file or explicitly
created within IGG™. This tool will consequently not flag vertices lying on such entities.
Right-click to quit this tool.
10.5 COARSE GRID
View/Coarse Grid is used to set the active coarse grid levels of the active block or grid for all the
views. To select the scope (active block or grid), set the viewing scope  to Block or Grid mode. The active coarse grid levels are taken
into consideration while:
l displaying the block faces and BC patches on all active views,
l saving the block or face coordinates,
l scrolling the block surface grids or cells.
These graphical representations are automatically updated after each change to the coarse grid
levels.
The finest grid level is identified as 0. The smallest number of grid points for coarse levels is 2.
The coarsest level is computed and updated in each index direction separately. The keyboard
input area is used to enter the desired levels within available ranges.
A different coarse grid level can be specified in each grid direction. The following prompt is
given to specify the coarse grid levels:
Levels ( 0 / 3, 0 / 4, 0 / 2 ) (q)
>> 2 2 1
To quit this command, enter ’q’ and press <Enter>.
10.6 REPETITION
View/Repetition... allows to control the repetition of the blocks on the active view:
FIGURE 10.6
View Repetition dialog box
For each block, the number of repetition desired can be set in the Nb Repet entry. The repetition
of all blocks can be displayed or hidden respectively by pressing the Show or Hide button.
To perform a repetition, IGG™ takes the information about the periodicity of each block (angle,
rotation axis,...) in the Grid/Periodicity... menu. By default, the repetition is not displayed.
10.7 FACE DISPLACEMENT
The View/Face Displacement menu allows to adapt the view if interferences are appearing
between the grid lines and the shading.
When the block face grids are visualized, in both wireframe and solid modes (shading), visual
interference may be produced between the grid lines and the shading. For this reason, IGG™
slightly shifts the grid lines towards the user to get a correct picture.
This shift is controlled by the Face displacement. This parameter represents the amount by which
the grid is shifted along the view plane normal vector (normal to the screen), and is used to correct
the display when combining wireframe and solid representations.
The Face displacement dialog box will be opened so that users can define the face displacement
(higher or equal to 1).
FIGURE 10.7
Face displacement dialog box
Apply and Close to respectively apply the new parameter and close the window.
10.8 VIEW DEPTH
View/View Depth menu allows to control the view depth. This depth is used for all interactive
geometry editing operations with the mouse.
When using the option, the new depth for the active view is imposed by entering the coordinates
of the reference point:
New reference pt coordinates (q)
>> 0 0 0
All subsequent inputs with the mouse will be at z = 0. To quit this option, enter <q> and press
<Enter>.
10.9 PERSPECTIVE
View/Perspective is used as a toggle to switch between orthogonal and perspective projection in
the active view. By default, the orthogonal projection is used.
In perspective projection, the selection of curves and edges and the rendering of hidden surfaces may
not succeed.
10.10 HIDDEN LINES
View/Hidden lines are used to display the grid edges of all the mesh using hidden line - hidden
surface algorithms. By default, the hidden line removal flag is off. It is switched on/off after each
selection of this item. When hidden line removal is applied, the grid quality and solid model
representations (shading) are removed from the display to avoid any overlap of incompatible
graphical objects.
FIGURE 10.8
Representation using hidden line/surface
When the face grids are visualized, a visual interference may be produced with the grid lines. For
this reason, IGG™ slightly shifts the grid lines towards the user to get a correct picture.
This shift is controlled by the shift factor of the active view which can be changed. This
parameter represents the amount by which the grid is shifted along the view plane normal vector
(normal to the screen), and is used to get a correct display when combining wireframe and solid
representations. This parameter can be changed with the View/Face Displacement menu item.
10.11
INSERT TEXT
View/Insert Text can be used to insert a descriptive text in the active view. The position of the
text must be first specified by pressing the left mouse button at the desired position in the active
view. Then the following prompt allows to enter the text and to display it at the specified position:
Text description (q)
>> DLR F5 wing - coarse grid levels 1 1 1 - 129 x 33 x 25
Press <Enter> to validate and display the text. It can be erased from the view by using the
View/Delete Text menu.
To quit this option, enter ’q’ and press <Enter>.
10.12 DELETE TEXT
View/Delete Text is used to delete all the descriptive texts displayed in the graphics area.
CHAPTER 11.
TOOLS MENU
The Tools menu options provide tools to measure distance or angle in the graphics area.
In this section
11.1 Distance
11.2 Angle
447
448
11.1
DISTANCE
Tools/Distance is useful to measure the distance between two points or between a point and a
line. The distance tool dialog box will appear, showing the distances computed along principal
directions between the two points:
FIGURE 11.1
Distance tool dialog box
The following prompt appears, asking to enter the first point:
Enter first point (toggle selection: a = points, c = curves, s = surfaces, l =distance to line)
Once the first point (or line) is entered, a second prompt appears, asking to enter the second point:
Enter second point (toggle selection: a = points, c = curves, s = surfaces, l =distance to line)
To measure the distance between two points, simply select the points with the mouse or enter the
coordinates with the keyboard. For example, to measure the distance between (0,0,0) and (1,1,1),
enter the sequence ’0 0 0’ in the graphics area, followed by <Enter>. Then enter ’1 1 1’ followed
by <Enter>. The distance is indicated in the graphics area and in the information area.
To select an existing point, attraction features are available, allowing attraction to points, curves
and surfaces. To activate the attraction to points, press <a> in the graphics area, then move the
cursor to the desired point. Similarly, to activate the attraction to curves or surfaces, press
respectively <c> or 
, then move the cursor to the desired curve or surface. The attraction
works on:
l end points of the curves,
l visible Cartesian points,
l visible curves,
l visible surfaces,
l block vertices and fixed points.
In this last case, the attraction cannot be deactivated. When there is attraction, the corresponding
point is highlighted. Simply press the left mouse button to select it.
To measure the distance between a point and a line, press <l> in the graphics area. Then enter a
line origin (with the mouse or the keyboard) and direction (this one must be entered with the
keyboard). The attraction features are also available for the line origin.
Enter line origin (toggle selection: a = points, c = curves, s = surfaces)
Enter line direction (keyboard only)
>> 1 1 1
This option can be activated before or after having entered the first point. The distance is
measured perpendicularly to the line.
Once a distance is calculated, another distance can be measured by selecting other points.
To quit this tool, press <q> or the right mouse button.
11.2
ANGLE
Tools/Angle is useful to measure the angle between two points projected in a specified plane.
The following prompt appears, asking to enter the origin of the angle (origin of the plane):
Enter origin (o = (0,0,0))
The origin can be specified in the keyboard input area or by left-clicking in graphics area (with
attraction on curves, surfaces and edges) or with the shortcut <o> to impose origin at (0,0,0).
Once the origin is specified, a second prompt appears asking to enter the plane normal:
Enter normal (<1> = view plane normal; <x>,<y> or <z> to select axis)
The plane normal can be specified in the keyboard input area or by left-clicking in graphics area
(with attraction on curves, surfaces and edges) or with the shortcuts <x>, <y> or <z> to impose
normal respectively along X, Y or Z.
The following prompt appears, asking to enter the first point:
Enter start point
The point can be specified in the keyboard input area or by left-clicking in graphics area (with
attraction on curves, surfaces and edges).
Once the first point is entered, a last prompt appears, asking to enter the second point:
Enter end point
The point can be specified in the keyboard input area or by left-clicking in graphics area (with
attraction on curves, surfaces and edges).
The resulting angle is displayed in the graphics area and in the information area. The angle is
expressed in degrees in the range [0,180] and with a sign according to the normal direction (+
sign if moving first point on second point leads to a crossproduct of same direction as normal).
449
IGG™ 13.1 User Guide
CHAPTER 12.
INPUT & OUTPUT FILES
This chapter describes the file formats used in IGG™ or generated by IGG™. There are basically two
categories of files: files used to import and export a geometry or a grid (points, curves, surfaces or
blocks) and files used to save and reload an IGG™ project.
First the file formats used to import geometry and grid data are described. Then, the file structure of an
IGG™ project will be presented.
White spaces should be avoided in the file name.
In this section
12.1 Input Data Files
12.2 Grid File Format
12.3 PLOT3D file format
451
457
471
12.1
INPUT DATA FILES
importing geometries from CAD systems is to use the
The most common way of
File/Import/IGES - CATIA V5 - Parasolid menu option which provides a powerful browser to
inspect and import respectively IGES - CATIA V5 - Parasolid™ files. However, it is also
possible to import simple curves, surfaces and blocks defined by arrays of points by using the
simple IGG™ data file format. This section describes the format for curves, surfaces and blocks
importation in IGG™. By convention, IGG™ data files must have the ".dat" extension (or ".dst"
extension for combined curve and surface data files).
Curve data files
Curve data files are used to import geometry curves defined as a set of points. IGG™ uses these
points to create either a polyline or a C-spline curve. The curves always pass through the points.
The coordinate system in which the points are described can be Cartesian or cylindrical. The
general format is as follows:
curve name
coordinate_system [options]
number_of_data_points
data_point_coordinates
where:
l The first line is the curve name.
l The second line defines the coordinate system in which the points are described. Options may
follow on the same line. See description below.
l The third line contains the number of points.
l The following lines contain the points coordinates.
Coordinate System description
Possible keywords for the coordinate system are:
XYZ, RZ, ZR, THRZ, THZR, RTHZ, RZTH, ZRTH, ZTHR, R*THZ or ZR*TH
where:
l XYZ is used to define the points in cartesian coordinates,
l RZ or ZR are used to define 2D points by specifying their radius and z coordinate or vice-
versa,
l THRZ, THZR, RTHZ, RZTH, ZRTH or ZTHR are used to define points in cylindrical
coordinates. Each keyword indicates the order in which the r, theta and z values are defined.
For example ZRTH indicates that Z then R then TH are stored for each point,
l R*THZ or ZR*TH is used to define 3D points at a constant radius. For these keywords, the
radius value must be specified. For example:
l R*THZ R= 3.2
Options
The options must be written after the coordinate system keyword and are used to modify the
characteristics of the curve. The keywords can be one of the following:
l polyline: used to define a polyline curve (default is C-spline interpolation).
When the keyword polyline is not present, IGG™ creates a C-spline. However, when importing
the file using the File/Import/IGG Data, IGG™ uses no intermediate discretization points,
which will make the curve look like a polyline. The discretization can be changed using the menu
Geometry/Modify Curve/Discretization.
l degree: meaning that the angles are defined in degree (default is radian).
In all these systems, the rotation axis must be the Z direction of the coordinate system.
The coordinates of one point must be given on a single line.
A few examples of curve data file are shown below:
Example 1:
Simple_curve
XYZ
21
3.345 4.1234 .51234
3.435 4.1322 .54623
3. 01 4.813 1.21234
...
Example 2:
Simple_curve
ZR polyline
21
1.6 6.234
2.05 6.478
3. 01 7.01234
...
Example 3:
Simple_curve
RTHZ degree
4.5 290 4.1234
4.8 295.5 4.1322
5.1 299.234 4.813
...
Surface data files
Wireframe surfaces
Surface data files contain information about the coordinates of structured surfaces in Cartesian
coordinates and are used to export face grids from IGG™ ( File/Export/Face Coor... and
them to create block faces
File/Export/Patch Coor... menu items) or
(File/Import/External Grid... and File/Import/Face Grid... menu items). In the latter case, the
number of points defined in the surface data file must match the number of points of the face. An
example of such a file is shown below:
to import
Simple_surface
3 0 0
21 31
3.345 4.1234 .51234
3.435 4.1322 .54623
3. 01 4.813 1.21234
...
where:
l The first line is the surface name.
l The second line contains the three numbers 3 0 0 or 2 0 0 (for 2D surfaces where z is
omitted).The two zeros should be written as such and are reserved for future use.
l The third line contains the number of points in the I and J directions (21 and 31 in the
example).
l The following lines contain the grid point coordinates (x y (z)) written by using two nested
loops over J then I:
for J = 1 to Jmax
for I = 1 to Imax
write x y (z)
end I
end J
The z coordinate must be omitted when the second line is 2 0 0.
Multiple wireframe surfaces
Such files contain information about the coordinates of several structured surfaces in Cartesian
coordinates and are used to create block faces (File/Import/External Grid...). An example of
such a file is shown below:
# Airfoil mesh with 2 faces
21 31
15 17
3.345 4.1234 .51234
3.435 4.1322 .54623
3. 01 4.813 1.21234
...
where:
l The first line contains a comment, not interpreted by IGG™.
l The second line contains the number 3 or 2, describing the surface dimension (for 2D surfaces,
z coordinate is omitted).
l The third line contains the number of surfaces. This line must be omitted from the file if there
is only one surface.
l Then for each surface a line contains the number of points in the I and J directions (21 and 31
in the example for the first surface, 15 and 17 for the second one).
l The following lines contain the grid point coordinates (x y (z)) for each surface, written by
using two nested loops over J then I:
for J = 1 to Jmax
for I = 1 to Imax
write x y (z)
end I
end J
The z coordinate must be omitted when the second line is 2.
Lofted surfaces
This type of file format allows to import lofted surfaces defined as a set of "parallel" curves. An
example of such file is shown below:
Simple_lofted_surface
3 0 3 6 6 0
31
1 21
3.345 4.1234 .51234
3.435 4.1322 .54623
3. 01 4.813 1.21234
...
2 21
4.8 295.5 4.1322
5.1 299.234 4.813
...
3 11
...
where:
l The first line is the surface name.
l The second line always contains the six numbers 3 0 3 6 6 0 (cannot be changed, reserved for
future use).
l The third line contains the number of curves defining the lofted surface.
l For each curve the following information must be given:
l The curve number ID and the number of points defining the curve.
l The x, y, z coordinate of each point.
Combined curve and surface data files
This file format allows to import several geometry curves or surfaces at once. It must have the
".dst" extension. It contains in fact a list of files (identified by their name) which will be imported
into IGG™. Therefore their format must be compatible and can be one of the following: curve
data file, wireframe or lofted surface data file, and ".geom" files created by IGG™. An example
of such ".dst" file is shown below:
Tutorial geometry file
dif1.dat
test.dat
test.geom
where:
l The first line contains a comment, not interpreted by IGG™.
l The second line contains the number of files that will be imported.
l The following lines contain the file names. The corresponding files must be located in the
same directory as the ".dst" file.
Block data files
Block data files contain information about the coordinates of structured blocks in Cartesian
coordinates and are used to export blocks grid from IGG™ (File/Export/Block Coor... menu) or
to import external blocks generated by other grid generators ( File/Import/External Grid...
menu). An example of such a file is shown below:
Simple 3D Block Coords
3 0 0
21 31 9
3.345 4.1234 .51234
3.435 4.1322 54623
3.945 3.0623 1.5423
...
where:
l The first line contains a comment, not interpreted by IGG™.
l The second line always contains the three numbers 3 0 0 (cannot be changed).
l The third line contains the number of points in the I, J and K directions (21, 31 and 9 in the
example).
l The following lines contain the grid point coordinates (x y z) written by using three nested
loops over K then J then I:
for K = 1 to Kmax
for J = 1 to Jmax
for I = 1 to Imax
write x y z
end I
end J
end J
12.2 GRID FILE FORMAT
The grid file structure consists of five files and is used to save and reload an IGG™ project:
l a .geom file, containing the definition of geometry points, curves and surfaces.
l a .X_T (Windows) or .xmt_txt (Linux) file, containing the definition of Parasolid™ entities
referred in ".geom" file.
l a .igg file, containing the topology and grid information, such as number of blocks, number of
grid points, clustering, smoothing, projections...
l a .cgns file, containing the blocks coordinates.
l a .bcs file, containing the boundary conditions information required for the solver.
l a .config file containing the patches grouping.
The .geom, .X_T (.xmt_txt) and .igg files are required by IGG™. Without one of these, IGG™
will not be able to reload a mesh.
The .cgns file should normally always be present since it contains the blocks coordinates.
However if IGG™ cannot find it, it will still be able to read the project (geometry + topology).
The face and block grid will have to be manually regenerated.
The .bcs file is not read by IGG™. It is only used by external solvers.
The .config file is used to enhance the default grouping used in FINE™ GUI and for subprojects.
The .geom, .X_T (.xmt_txt) and .igg files are internal files to IGG™ and are not intended to be
read by the user. They are consequently not explained here. The two next sections describe the
.cgns and .bcs files.
12.2.1 CGNS file
The .cgns file is used to store block coordinates in binary format. The faces division into patches
and some related boundary conditions are also saved in this file but are not used by IGG™ except
when importing directly a ".cgns" file. All the boundary condition types can be saved in the
".cgns" file.
The .cgns file is a direct implementation of the standard CGNS format for aerodynamic data.
CGNS (CFD General Notation System) is becoming the de-facto standard for the exchange of
CFD data among heterogeneous CFD systems. More and more CFD systems directly support the
CGNS.
The CGNS provides an API to read and store CFD data onto disk. Reading and writing CGNS
compliant files becomes very easy since the user needs no care about the internals of reading and
writing to disk or about platform compatibility. The library supporting the implementation of the
API is freely accessible in source or compiled form. More information can be found on the
website http://cgns.sourceforge.net.
In the CGNS standard, zones, families, etc. are identified by a 32- characters label (name). Where
IGG™/AutoGrid5™ identifiers (names) exceed this length, alternative labels are used to fit within the
CGNS labeling standard, and then separate CGNS data items are used to store the original
IGG™/AutoGrid5™ name.
Bases
A CGNS base contains the information on the mesh blocks, their connectivity and boundary
conditions. IGG™/AutoGrid5™ can write several bases, they are described hereafter according
to their name. The first one is mandatory for a computation, the other ones are optional and not
always present.
l Base#1
This base is the main one and contains the useful information about the mesh to be run by the
solver.
l NumecaButterflyBase
This base contains mesh information for the parent block of a butterfly topology. Internal use
only.
l NumecaMeridionalMesh
For a turbomachinery mesh, contains a meridional mesh that will be used by FINE™/Turbo
for the computation initial solution. Internal use only.
l NumecaTools
This base contains information for post processing and some other
AutoGrid5™. Internal use only.
information for
Zones
A mesh block is called a "zone" in CGNS. Zones are defined in a base.
Zone numbering-ordering
There is no zone numbering in CGNS. The zone ordering (zone list) you can see for example in
CGNS interactive edition tool is probably done alphabetically according to the zone name.
Zone name
The zone name is a string and therefore is subject to the 32 characters limitation. If the block name
is lower than 32 characters it is used as the zone name, otherwise the zone name is defined as
"domainx", x being the block index in the grid generator.
In order to keep track of the original block name, a UserDefinedData_t node called "blockName"
is added in the zone node. It contains an array of characters called also "blockName" that
describes the original block name. The original block name is also saved in a Descriptor_t node
called "NumecaBlockName".
Family
Family is a mean of grouping in CGNS. They can be applied to blocks and boundary conditions
(CGNS nodes Zone_t and BC_t).
Zone
In order to introduce some block grouping, family names that will be assigned to blocks are
imposed manually or automatically within AutoGrid5™:
l A family name is created for each row.
l A family name is created for an inlet and/or outlet bulb.
l A family name is created for each ZR technological effect.
The Family names is assigned to each block of the corresponding entity (row, bulb or ZR effect).
In addition a UserDefinedData_t node called "Periodicity" is added to these Family_t nodes to
provide a second means to access the periodicity information in an easier way. Inside this family
node the number of blades of the block row is saved in one array DataArray_ t called
"BladeNumber".
Moreover a UserDefinedData_t node called "DynamicData" is also added to these Family_t
nodes. Inside this family node the rotation speed of the block is saved in one array DataArray_t
called "RotationSpeed".
the family blocks are considered as "rotating",
the Family_ t node will contain a
If
RotatingCoordinates_t node describing the rotation center and rotation axis (rotation speed is
derived from rotation axis magnitude).
Boundary condition (Patch)
In order to introduce some patch grouping, AutoGrid5™ creates several families that will be
assigned to patches. More details in the Family names section.
the family patches are considered as "rotating",
If
the Family_ t node will contain a
RotatingCoordinates_t node describing the rotation center and rotation axis (rotation speed is
derived from rotation axis magnitude).
Connectivity
Matching connections (CON or PER)
Matching connections are fully defined and saved under the node GridConnectivity1to1_t.
Non-matching connections (NMB or PERNM)
Non- matching connections are saved under the node GridConnectivity_ t with Abutting as
GridConnectivityType value.
Such connections in IGG™/AutoGrid5™ are defined as two face sub-ranges connected together,
both sub-ranges having possibly a different number of points, points being not coincident.
Under CGNS, according to the standard, one must specify: the sub-range of the reference patch, a
cell list and an interpolants list for the connected patch, identifying the location of each point of
the reference patch.
Under IGG™/AutoGrid5™, no cell list exists nor the interpolation factors. Only two integers are
used to determine how both patches connect (orientation), the interpolation being computed in the
flow solver.
Therefore the standard will be partially respected. A cell list is created but partially filled with
dummy values. The correspondence (the list filled) will be established for the two opposite
corners of the sub-range, plus one point, the first one along the first principal axis of the reference
sub-range. All other indices of the cell list will be dummy. As the interpolants list is additional it
will not be saved. This information is sufficient to retrieve the connected sub-range and its
orientation towards the reference sub- range. It offers the advantage of providing enough
information correctly for a solver which does not need the interpolation.
In addition, and to look like the "1to1" procedure, some user defined data is saved to provide a
second means to read the connection information in an easier way (node UserDefinedData_t
called "DonorPatch"). Inside this node the donor point range and the transformation matrix are
saved in two arrays DataArray_t called "DonorPointRange" and "TransformMatrix".
Moreover in order to provide a second easy means to read such connection, a node Descriptor_t
called "ConnectionId" is also added. Two descriptor values will be defined, "NMB_id_left" and
"NMB_ id_ right", one respectively for each side of the connection (NMB for non matching
boundary and id being an integer incremented for each connection).
Periodic connections (PER or PERNM)
described
before, matching
As
node
GridConnectivity1to1_t whereas non matching ones are saved under the node GridConnectivity_
t.
connections
periodic
under
saved
the
are
Within the corresponding entity, the periodicity information is added and saved under the node
GridConnectivityProperty_t.
Full non matching connections (FNMB)
Such connections in IGG™/AutoGrid5™ are defined as two abutting face sub-range (patch) lists
connected together, the only restriction on sub-ranges being that they should be abutting along the
connecting part.
These connections are saved under the node GridConnectivity_t, such a node being created for
each sub-range of the connection lists.
The format is the same as for non-matching connections , except that the user defined
node "TransformMatrix" will not be saved because it is nonsense for such kind of connection.
A node Descriptor_t "ConnectionId" is also added in the GridConnectivity_t node to describe
each patch involved in the connection. Two descriptor values will be defined, "FNMB_name_
left" and "FNMB_name_right", one respectively for each side of the connection, FNMB_name
being the name of the connection. Each patch on one side of the connection will therefore have a
ConnectionId node "FNMB_name_left" on its GridConnectivity_t node and each patch on the
other side "FNMB_name_right".
Patch averaging (rotor/stator connection)
This connection is saved under the node GridConnectivity_t. Within this entity, the averaging
information is saved under the node GridConnectivityProperty_t.
The format is the same as for non-matching connections , except that the user defined
nodes "TransformMatrix" and "ConnectionId" will not be saved.
Additionally a node BC_t of type FamilyName is created to describe each patch involved in the
connection. Two family names will be defined, one respectively for each side of the connection,
named "Rotor_stator_name_left" and "Rotor_stator_name_right", Rotor_stator_name being the
name of the connection. Two nodes Descriptor_t will also be added to the node. The first one
called "InterfaceType" which is set to "MixingPlane" and the second one "DonorFamily"
identifying the family name of the other side of the condition.
Note that simple rotor/stator defined in IGG™ by assigning type "ROT" to a patch, describing
that the patch data should be averaged, will not be saved in such structure because both sides of
the connection are not defined. Indeed the complete condition (left and right patches list defining
the interface) is in this case defined externally in the flow solver interface.
Boundary conditions
Boundary conditions are defined on patches and saved under the node BC_t called "bc_x", x
being an incremented index. If a family name is not defined for the patch, the BCType_t used
according to the IGG™/AutoGrid5™ patch type is the following one:
l UND: BCTypeUserDefined
l EXT: BCExtrapolate
l INL: BCInflow
l MIR: BCSymmetryPlane
l OUT: BCOutflow
l SNG: BCDegenerateLine
l SOL: BCWall
If a family name has been defined for the patch then BCType_t will be FamilySpecified and the
family name is written. See the next section for family name definition.
Such node is always added for patches involved in a rotor/ stator connections, see the dedicated
chapter.
Family names
Family names are a means to group boundary conditions in CGNS. They can be applied to blocks
and boundary conditions (CGNS nodes Zone_t and BC_t).
Patch name - family name distinction
Each IGG™/AutoGrid5™ patch has 2 different attributes, a name and a family name:
name: used in the FINE™/Turbo chain, not defined as such in CGNS file, therefore not saved in
CGNS. Unlimited string length.
family name: not used in FINE™/Turbo chain, only defined for grouping boundary conditions in
CGNS file and only saved in CGNS file. Limited to 32 characters (CGNS limitation).
Manual family name definition
The user can define manually a family name on patches in IGG™/AutoGrid5™ through a
dedicated dialog box (starting from version 8.9-3).
This manual definition has priority over a possible automatic family name definition, except for
rotor/stator connections for which automatic definition is always applied.
Automatic family name definition
AutoGrid5™ defines automatically, when saving a mesh, some family names for several entities:
rows, bulbs and ZR technological effects. This automatic family name definition depends on two
preferences Keep Row(s) Name and Export short family names.
The first one controls if the AutoGrid5™ row name or a generic name is used to build row family
names. The second one can be activated to create very short family names (lower than 14
characters). Automatic family name creation is detailed hereafter.
Family names when shorter name preference deactivated
If he shorter name preference is not activated, the family name will be defined as:
1. Row family names
row_name = 'ROW(<i>)' where i is the row number (if Keep Row(s) Name set to off)
= 'row name' (if Keep Row(s) Name set to on)
Row name cannot contain zr effect name or another row name.
blade_I_name = 'BLADE(<i>)' where i is the blade number (if Keep Row(s) Name set to off)
= 'blade name' (if Keep Row(s) Name set to on)
Block family name: row_name
Patches family name:
l Row Inlet: <row_name>+"_INFLOW"
l Row Outlet: <row_name>+"_OUTFLOW"
l Row Outlet 2 (bi-flux): <row_name>+"_OUTFLOW_BYPASS"
l Row Shroud End wall: divided into section defined by the Zcst lines:
Blading area: <row_name>+"_SHROUD"
Upstream area: <row_name>+"_SHROUD_UPSTREAM_"+<zcst-line-id>
Downstream area: <row_name>+"_SHROUD_DOWNSTREAM_"+<zcst-line-id>
l Row Hub End wall: divided into section defined by the Zcst lines:
Blading area: <row_name>+"_HUB"
Upstream area: <row_name>+"_HUB_UPSTREAM_"+<zcst-line-id>
Downstream area: <row_name>+"_HUB_DOWNSTREAM_"+<zcst-line-id>
l Row Blade: <row_name>+"_"+<blade_I_name>
l Row Periodic: <row_name>+"_PER1" & <row_name>+"_PER2", PER1 used for Numeca
patch periodic sign > 0
l Row RS: "Rotor_stator_"+<rs-id>+"_left" & "Rotor_stator_"+<rs-id>+"_right"
2. Bulb family names
bulb_name = "inlet_bulb" or "outlet_bulb"
Block family name: bulb_name
Patches family name:
l Bulb Inlet: <bulb_name>+"_INFLOW"
l Bulb Outlet: <bulb_name>+"_OUTFLOW"
l Bulb Hub End wall: <bulb_name>+"_HUB"
l Bulb Shroud End wall: <bulb_name>+"_SHROUD"
l Bulb Periodic: <bulb_name>+"_PER1" & <bulb_name>+"_PER2", PER1 used for Numeca
patch periodic sign > 0
3. ZR effect family names
effect_name = ZR effect name
Block family name: effect_name
Patches family name:
l Effect Inlet: <effect_name>+"_Inlet_"+<inlet-id>
l Effect Outlet: <effect _name>+"_Outlet_"+<outlet-id>
l Effect Solid wall: <effect name>+"_Solid_"+<solid-id>
l Effect Inlet rotating: <effect_name>+"_Inlet_"+<inlet-id>+"_rot"
l Effect Outlet rotating: <effect _name>+"_Outlet_"+<outlet-id>+"_rot"
l Effect Solid wall rotating: <effect name>+"_Solid_"+<solid-id>+"_rot"
l Effect Periodic: <effect_ name>+"_ PER1" & <effect_ name>+"_ PER2", PER1 used for
Numeca patch periodic sign > 0
l Effect RS: "Rotor_stator_"+<rs-id>+"_left" & "Rotor_stator_"+<rs-id>+"_right"
If RS becomes periodic condition :
l Effect Periodic 2: <effect_ name>+"_ PER3" & <effect_ name>+"_ PER4", PER3 used for
Numeca patch periodic sign > 0
l Effect Connection With Row matching: <effect_name>+"_CON_" +<row_name>
l Effect Connection With Row fnmb: <effect_name>+"_FNMB_" +<row_name>
4. Global family names:
For counter rotating fan or wind turbine, inlet and outlet conditions are replaced by external
conditions and a new family name "FAR_FIELD" is introduced to group the external boundary
of the domain.
Family names when shorter name preference activated
If shorter name preference is activated, family name will be defined as:
1. Row family names
row_name_block = 'ROW(<i>)' where i is the row number
row_name = 'R<i>' where i is the row number
blade_I_name = 'B<i>' where i is the blade number
Block family name: row_name_block
Patches family name:
l Row Inlet: <row_name>+"_INFLOW"
l Row Outlet: <row_name>+"_OUTFLOW"
l Row Outlet 2 (bi-flux): <row_name>+"_OUTFLOW_2"
l Row Shroud End wall: divided into section defined by the Zcst lines:
Blading area: <row_name>+"_SHROUD"
Upstream area: <row_name>+"_SHROUD_UP_"+<zcst-line-id>
Downstream area: <row_name>+"_SHROUD_DO_"+<zcst-line-id>
l Row Hub End wall: divided into section defined by the Zcst lines:
Blading area: <row_name>+"_HUB"
Upstream area: <row_name>+"_HUB_UP_"+<zcst-line-id>
Downstream area: <row_name>+"_HUB_DO_"+<zcst-line-id>
l Row Blade: <row_name>+"_"+<blade_I_name>
l Row Periodic: <row_name>+"_PER1" & <row_name>+"_PER2", PER1 used for Numeca
patch periodic sign > 0
l Row RS: "RS_"+<rs-id>+"_left" & "RS_"+<rs-id>+"_right"
2. Bulb family names
bulb_name_block = "inlet_bulb" or "outlet_bulb"
bulb_name = "i_bulb" or "o_bulb"
Block family name: bulb_name_block
Patches family name:
l Bulb Inlet: <bulb_name>+"_INFLOW"
l Bulb Outlet: <bulb_name>+"_OUTFLOW"
l Bulb Hub End wall: <bulb_name>+"_HUB"
l Bulb Shroud End wall: <bulb_name>+"_SHROUD"
l Bulb Periodic: <bulb_name>+"_PER1" & <bulb_name>+"_PER2", PER1 used for Numeca
patch periodic sign > 0
3. ZR effect family names
effect_name_block = ZR effect name
effect_name = 'ZR<i>' where i is the ZR effect number
Block family name: effect_name_block
Patches family name:
l Effect Inlet: <effect_name>+"_Inlet_"+<inlet-id>
l Effect Outlet: <effect _name>+"_Outlet_"+<outlet-id>
l Effect Solid wall: <effect name>+"_Solid_"+<solid-id>
l Effect Inlet rotating: <effect_name>+"_Inlet_"+<inlet-id>+"_r"
l Effect Outlet rotating: <effect _name>+"_Outlet_"+<outlet-id>+"_r"
l Effect Solid wall rotating: <effect name>+"_Solid_"+<solid-id>+"_r"
l Effect Periodic: <effect_ name>+"_ PER1" & <effect_ name>+"_ PER2", PER1 used for
Numeca patch periodic sign > 0
l Effect RS: "RS_"+<rs-id>+"_left" & "RS_"+<rs-id>+"_right"
If RS becomes periodic condition :
l Effect Periodic 2: <effect_ name>+"_ PER3" & <effect_ name>+"_ PER4", PER3 used for
Numeca patch periodic sign > 0
l Effect Connection With Row matching: <effect_name>+"_CON_" +<row_name>
l Effect Connection With Row fnmb: <effect_name>+"_FNMB_" +<row_name>
4. Global family names
For counter rotating fan or wind turbine, inlet and outlet conditions are replaced by external
conditions and a new family name "FAR_FIELD" is introduced to group the external boundary
of the domain.
12.2.2 Boundary Conditions file format
The boundary condition file (.bcs file) is used to export the boundary condition settings of each
patch of a grid, defined with the Grid/Boundary Conditions... menu. There exists one ".bcs" file
for each project. An example of a ".bcs" file is shown below:
Format description
The first line contains the number of blocks in the file (second field).
Each block is then described one after the other in the following way:
l Name of the block (name set in IGG™ - name used in ".cgns" file) - Type of the block
(FLUID).
l Number of points in the I, J and K directions.
l Periodicity information of the block set with the Grid/Periodicity... menu item. Periodicity
information is one of the following:
NONE no periodicity
TRANSLATIONtranslation_x translation_y translation_z
MIRRORmirror_axis_x mirror_axis_y mirror_axis_z origin_x origin_y origin_z
ROTATION rot_axis_x rot_axis_y rot_axis_z origin_x origin_y origin_z num_repet
num_mesh_channels
In our example, the first block has a translation periodicity with translation axis (0,0,1). The
second block has a rotating periodicity with origin (0,0,0), rotation axis (0,0,1) and 9
repetitions (9 blades).
l The next lines describe the patches information for each block face. The order in which faces
are described is the following: Imin Jmin Kmin Kmax Jmax Imax (faces 5 3 1 2 4 6).
For each face:
l The number of patches for the face (one line).
l Patches description (one line per patch). This information depends on the patch type and is
summarized below:
For each patch, the line contains the patch name, its type and its limits min1, min2, max1, max2 (1
and 2 are the two principal axes of the patch: [I, J], [J, K] or [I, K]). FIGURE 12.1 describes a
solid patch going from (1,9) to (41,49):
FIGURE 12.1
SOLID patch type information
For CON, NMB, PER and PERNM patches, the line contains in addition the indices of the
connected patch (three indices giving the number of the connected block, face and patch) and the
relative orientation of the two patches, described by the corner and orientation indices. Moreover
the end of the line contains the name of the connected block. This information is not mandatory
(connected block is described by its index) and is only present to make things clear. See FIGURE
12.2.
FIGURE 12.2
CON patch type information
The index of the connected face (4 in FIGURE 12.2) is not directly the face number in IGG™.
Instead the indices in the right column of FIGURE 12.3 are used (for historical reason):
FIGURE 12.3
Face index convention
The corner and orientation indices determine how the connected patch connects to the patch
currently described. The table shown in FIGURE 12.4 shows the eight possible configurations:
FIGURE 12.4
Standard notation for corner and orientation.
In this table, the left patch is always the connected patch and is taken as reference. The right patch is
the patch currently described.
For PER and PERNM patches, the line contains in addition a connection sign (+1 or -1) before
the connected block name. This sign indicates the sense of the periodic transformation for the
given patch (the periodicity information is given previously in the file for each block):
+1 means that the patch connects to the other by rotating (or translating) it according to the
periodic axis (clockwise).
- 1 means that the patch connects to the other by rotating (or translating) it in the opposite
direction as the periodic axis (counterclockwise).
This means that for two periodic patches, one will always have the sign +1 and the other -1.
After the information of each block, the full non matching connections are described. The
description is done for each connection between the two following lines: "NI_BEGIN FNMB_
CONNECTION" and "NI_END FNMB_CONNECTION"; it contains the following information:
l Fnmb connection name.
l General information for the connection (periodic or not, tolerance,...).
l List of left patches involved in the connection.
l List of right patches involved in the connection.
Each patch is identified by three indices determining the Block, Face and Patch number.
12.3 PLOT3D FILE FORMAT
IGG™ provides options for file input/output in PLOT3D format (File/Import/PLOT3D... and
File/Export/PLOT3D... menuitems). The PLOT3D file will have a ".g" extension.
The formats that can be read are the following:
l ASCII, Unformatted or Binary file.
l Little or big endian (for binary file).
l Single or multi-block.
l 3 dim (x, y and z coordinates are stored).
l Single or double precision.
l No blanking information.
l Data layout of type "whole". This means that for all the grid points of a block, all the x
coordinates are read firstly, then the y coordinates and finally the z coordinates.
ASCII files are simple text files that can be read using either Fortran or C. Unformatted type
stands for Fortran binary files and can normally be read using Fortran only whereas Binary type
stands for C binary files and can normally be read using C only. Little and big endian is
describing the bytes ordering for binary files.
The output PLOT3D file generated by IGG™ has the same available formats, except for ASCII
type which is always written in double precision.
This PLOT3D format only stores the blocks coordinates and should be used with the ".bcs" file
containing the boundary conditions.
Following is a simple FORTRAN routine used to extract grid data from a PLOT3D Unformatted
file with the format specified above. For ASCII files, change (UNIT) to (UNIT,*).
Single-block file
READ (UNIT) IDIM,JDIM,KDIM
READ (UNIT) (((X(I,J,K),I=1,IDIM),J=1,JDIM),K=1,KDIM),
C (((Y(I,J,K),I=1,IDIM),J=1,JDIM),K=1,KDIM),
C (((Z(I,J,K),I=1,IDIM),J=1,JDIM),K=1,KDIM)
Multi-block file
READ (UNIT) NGRID
READ (UNIT) (IDIM(IGRID),JDIM(IGRID),KDIM(IGRID),IGRID=1,NGRID)
DO 10 IGRID=1,NGRID
READ (UNIT)
C (((X(I,J,K),I=1,IDIM(IGRID)),J=1,JDIM(IGRID)),K=1,KDIM(IGRID)),
C (((Y(I,J,K),I=1,IDIM(IGRID)),J=1,JDIM(IGRID)),K=1,KDIM(IGRID)),
C (((Z(I,J,K),I=1,IDIM(IGRID)),J=1,JDIM(IGRID)),K=1,KDIM(IGRID))
10 CONTINUE
© NUMECA International, all rights reserved
EN201808281650

CONTENTS
TUTORIALS
TUTORIAL 1. GEOMETRY CREATION
1.1
Introduction
1.1.1
1.1.2
1.1.3
Introduction
Prerequisites
Preparation
1.2 Cartesian Point
Create Cartesian Point
1.2.1
1.2.2
Select Cartesian Point
1.2.3 Delete Cartesian Point
1.3 Curves
Create Curves
Select Curves
1.3.1
1.3.2
1.3.3 Visualize Curves
1.3.4 Modify Curves
1.3.5
1.3.6
1.4 Surfaces
1.4.1
1.4.2
1.4.3 Visualize Surfaces
1.4.4 Modify Surfaces
Edit/Copy Curves
Export Curves
Create Surfaces
Select Surfaces
1.5 Edit/Copy Surfaces
1.6 Export Surfaces
TUTORIAL 2. 2D NACA AIRFOIL
2.1
Introduction
2.1.1
2.1.2
2.1.3
2.1.4
Introduction
Prerequisites
Presentation
Preparation
2.2 Mesh Generation
2.2.1 Define Project Configuration
2.2.2 Define Geometry
Import Existing Geometry
A.
B. Create New Geometry
Create Blocks
2.2.3
2.2.4 Define Clustering
2.2.5 Generate Face Grid
2.2.6
Control Mesh Quality
2.2.7 Define Boundary Conditions
2.2.8
Save Project
IGG™ 13.1 Tutorials
11
12
13
14
15
16
16
19
20
20
21
21
22
22
23
23
24
25
26
27
27
28
28
36
40
42
TUTORIALS
The tutorials for IGG™ as listed below provide detailed step-by-step instructions for the entire mesh
generation process. Most of the tutorials are designed so as to limit use of computational resources but
some of them may require a significant amount of computational time assuming they are executed on
the finest mesh level.
"Geometry Creation" (p. 6)
"2D NACA Airfoil" (p. 22)
"Pipe to Pipe" (p. 48)
"Volute" (p. 79)
"Axisymmetric Seal Leakage" (p. 115)
Where to Find the Files Used in the Tutorials?
Each of the tutorials starts from mesh generation and uses an existing geometry. The appropriate
files (and any other relevant files used in the tutorial) can be downloaded from the following link:
IGG™ tutorial input files.
Some of the project files can also be found in the demo cases package dedicated to ready-to-run
demonstration cases and presented in the FINE™/Turbo Demo Cases section. This allows to
quickly start a calculation and observe the behavior of IGG™, without necessarily going through
all the steps of the tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry, either in a ".dat"
or CAD related format.
The sequence of actions to be executed are described through a step-by-step approach, in the form
of Arabic numbers.
Additional insight about some specific actions and/ or features is frequently added to illustrate the
tutorial further. This information is proposed for the purpose of clarity and completeness, and
should not be executed. It appears as a note with a light blue background.
The calculations executed to illustrate the behavior of the flow solver include a "reasonable"
number of grid points, so as to limit the computational resources required to complete the tutorials.
As a consequence, most of the underlying flow solutions must be considered as qualitative.
Additional mesh refinement may be required in some circumstances so as to obtain a more
quantitative picture.
Contact NUMECA local sales or support office for any question or information you may require. To
allow NUMECA local sales or support office to help you out within the shortest delays, please
provide a detailed description of the observed behavior and performed analysis.
TUTORIAL 1.
GEOMETRY CREATION
1.1
INTRODUCTION
1.1.1
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
This tutorial is particularly adapted to the creation and modification of geometrical entities. It
makes exclusive use of IGG™.
In this tutorial you will learn how to:
l create a Cartesian point,
l create and modify curve entities,
l create and modify surface entities,
l select and delete geometrical entities,
l group/ ungroup geometrical entities,
l save geometrical entities.
1.1.2
Prerequisites
This tutorial does not require any prior knowledge.
1.1.3
Preparation
Start IGG™
On Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows
1. click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or
in
Start/Programs/NUMECA Software/AutoGrid#.
2. alternatively IGG™ can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or
<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic
Installation section and # is the version (e.g. 131 ).
You are now ready to start creating and modifying geometrical entities!
The IGG™ graphical user interface by default provides a visualization of the geometry and mesh
of an internal or external test case in the 3D view. The access to main menu and controls is
provided through a menu bar and a quick access pad, and is complemented with a tool/icon
bar and a control area (including the keyboard input area).
1.2
CARTESIAN POINT
1.2.1
Create Cartesian Point
1. Open the Geometry/Create Points/Cartesian Point menu to initiate the creation of a
Cartesian point.
2. Type <1 1 0> into the keyboard input area and press <Enter>. This action will create a
Cartesian point (a black or white point will appear in the graphics area).
3. Open the Geometry/Create Points/Cartesian Point menu to initiate the creation of a second
Cartesian point.
4. Type <1 1 1> into the keyboard input area and press <Enter>. This action will create a second
Cartesian point (another black or white point will appear in the graphics area).
Cartesian points can also be defined as an intersection between two selected curves, between a selected
curve and a plane or between a selected curve and a surface (more details here).
1.2.2
Select Cartesian Point
5. Open the Geometry/Select/Cartesian Points menu to start selecting Cartesian points.
6. Move the mouse to the Cartesian point (1, 1, 1) and left-click it when it is highlighted in blue to
select it.
7. Right-click or press <q> in the graphics area to end the selection.
1.2.3
Delete Cartesian Point
8. Select Geometry/Delete/Cartesian Points to delete the selected Cartesian points (highlighted
in blue)
1.3
CURVES
1.3.1
Create Curves
The following section describes how to:
l create basic curves,
l use the keyboard or mouse to input points,
l use the attraction feature.
The below geometry, consisting of two polylines, one C-spline and one arc, will be created.
9. Define a polyline curve:
l Access the Geometry/Draw Polyline/Free menu (shortcut <p>) to initiate the creation of a
polyline.
l Type <1 0 0> into the keyboard input area and press <Enter>. This action will create the first
point on the polyline.
The keystrokes are automatically echoed in the keyboard input area.
l Enter a second point with coordinates <1.2 0.5 0> and press <Enter>.
l Move the mouse near the Cartesian point (1, 1, 0) defined earlier. When the mouse is close
enough, the mouse will be attracted to this point, if the attraction to points feature is enabled. If
there is no attraction, press <a> in the graphics area. Left-click to add this point to the polyline.
l Right-click or press <q> in the graphics area to end the polyline creation.
l Repeat the above steps to create another polyline passing through (0, 0, 0), (-0.2, 0.5, 0) and
(0, 1, 0).
10. Define a C-spline curve:
l Open the Geometry/Draw CSpline/Free menu (shortcut <c>) to initiate the creation of a C-
spline curve.
l Move the mouse near point (0, 0, 0) on the second polyline. When close enough, the mouse
will be attracted to this point, if the attraction to points feature is enabled. If there is no
attraction, press <a> in the graphics area. Left-click to add this point to the C-spline.
l Move the mouse somewhere between points (0, 0, 0) and (1, 0, 0). Left-click to add a point.
l Move the mouse near point (1, 0, 0) on the first polyline. When close enough, the mouse will
be attracted to this point, if the attraction to points feature is enabled. If there is no attraction,
press <a> in the graphics area. Left-click to add this point to the C-spline.
l Right-click or press <q> in the graphics area to end the C-spline creation.
11. Define a circular arc curve:
l Select
the Geometry/Circular Arc/Normal- Point- Point- Radius option to initiate the
creation of a circular arc. Several inputs will be requested to define the arc.
The circular arc can be created using different methods (more details here).
l Enter <0 0 1> and press <Enter> to define the arc's normal.
l Move the mouse near point (1, 1, 0). When close enough, the point will be highlighted (if there
is no attraction, press <a> in the graphics area). Left-click to define the arc's starting point.
l Move the mouse near point (0, 1, 0) on the second polyline. When close enough, the point will
be highlighted (if there is no attraction, press <a> in the graphics area). Left-click to define the
arc's endpoint.
l Type <0.6> and press <Enter> to define the arc's radius.
l Press <o> until the circle has the same shape as the one displayed in the above figure. Left-
click to create the arc.
Right-click or press <q> in the graphics area to end the arc creation.
1.3.2
Select Curves
The curve selection operation is used to activate one or more curves for subsequent operations in
geometry modeling or grid generation. When a curve is selected it is highlighted in yellow
(default). All the curves created in the previous steps are selected.
12. Select the Geometry/Select/Curves option to initiate curve selection.
The shortcut 
 can also be used to activate the option without accessing the menu.
13. Press <a> to unselect all the curves, which become unhighlighted (in blue).
14. Move the mouse over the C-spline, which is then highlighted. At the same time, the name,
type of curve and approximate arc length of the curve appear in the information area.
15. Left-click to select it.
16. Repeat the above step to select the first polyline.
17. Right-click to quit the selection.
Selection and deselection of all curves can be done by pressing <a> repeatedly (toggle option).
1.3.3
Visualize Curves
When importing complex models, many curves may be created and visualized in IGG™, making
the graphics unclear. It is possible to visualize only specific curves on the screen, hiding all others,
in the following way:
18. Select the Geometry/View/Curves... option. A curve chooser appears with the name of all
the curves. All the names are highlighted since all the curves are visible.
19. Select the C-spline in the chooser (left-click it) and press Apply. Only the C-spline curve is
now visible in the view.
20. Select the first polyline in the chooser (left-click it) while holding the <Ctrl> key. The polyline
is highlighted in the chooser, together with the C-spline. Press Apply to visualize both curves.
21. Select the first and last curve in the chooser while holding the <Shift> key. All the curves are
now selected. Press Apply to visualize them all.
22. Close the chooser.
After selecting the curves by using the Geometry/Select/Curves menu, the selected curves can
be investigated further in the following way:
23. Select Geometry/View/Curve Orientation. The default orientation of the selected curves is
shown. This orientation is important for other geometry modeling and grid generation operations.
These orientations can be hidden by accessing the command once again (toggle option).
24. Access Geometry/View/Control Points. The control points of the selected curves will now
appear. This option acts as a toggle (display on-off) on all selected curves.
25. Select Geometry/Select/Control Points. A control point must be selected. When moving the
mouse near a control point, the point becomes highlighted. Left-click a control point to display its
point coordinates in the information area.
26. Right-click to quit the option.
27. Select the Tools/Distance tool (
distance between the two points will be measured and displayed:
). A prompt window appears to select two points. The
l Press <c> to disable the attraction to curves (this can be verified by moving the cursor near the
start point of the C-spline. Normally, there is no attraction to the curve. Otherwise, press <c> a
second time).
l Move and attract the cursor over the starting point of the C-spline. If there is no attraction,
press <a>. Left-click curve to select the start point.
l When moving the mouse, the distance between the selected point and the cursor is indicated.
Move the mouse to the last point of the C-spline. The cursor is attracted to the point and the
distance is indicating "d=1".
l Left-click to fix the distance on the screen.
The above steps can be repeated to measure the distance between other points.
l Right-click to quit the option.
1.3.4 Modify Curves
Existing selected curves can be modified within IGG™ in the following way:
28. Select the Geometry/Modify Curve/Add Control Point option to add control points on the
selected curve by left-clicking on it.
29. Access the Geometry/Modify Curve/Remove Control Point option to remove a control
point on the selected curve by left-clicking the control point.
30. Select Geometry/Modify Curve/Modify Point On Surface to move an existing control
point on the selected curve (on surface) by left-clicking to select the point and left-clicking once
more after moving the control point.
31. Go to Geometry/Modify Curve/Set Name... to impose a user-defined name to the selected
entity (only one curve should be selected).
32. Select the Geometry/Modify Curve/Divide option to split the selected curve at a user-
defined location by left-clicking it (one curve should be selected).
33. Choose the Geometry/Modify Curve/Reverse option to reverse the curve orientation plotted
when selecting Geometry/View/Curve Orientation.
1.3.5
Edit/Copy Curves
Existing selected curves can be moved or copied within IGG™ in the following way:
34. Select Geometry/Select/Curves to select all the curves (highlighted in yellow).
35. Access the Geometry/Edit/Copy menu to copy all the selected entities and impose a
translation, rotation, scaling or mirror operation.
36. Type <new> and press <Enter> to impose a user-defined prefix to the geometrical entities that
will be created.
37. Type <t> and press <Enter> to select a copy with a translation.
38. Type <1 0 0> and press <Enter> to set the translation vector.
The menus Geometry/Edit/Translate , Rotate , Scale or Mirror allow the selected geometry to
move without copying.
1.3.6
Export Curves
It is possible to save the curves created in the previous steps. Only the curves selected are saved
into a file:
39. Select the Geometry/Select/Curves menu to select all the curves (highlighted in yellow).
40. Select File/Export/Geometry Selection... . A file chooser is opened asking the user to
specify the name of a ".dat" file (with corresponding Parasolid™ file "X_T" or "xmt_txt"). Such
a file can be using the File/Import/IGG Data... menu (
).
1.4
SURFACES
1.4.1
Create Surfaces
In this section simple surface creation is described, starting from a set of curves. A new session is
started, clearing all previous drawings.
41. Select File/New - yes to close the current project and open a new empty project.
Opening a new project closes the current project without automatic saving.
42. Define a lofted surface:
l Select File/Import/IGG Data... and choose the file "geometry_curves.dat" in the "Tutorial_1"
directory of the documentation package. Three curves are read and stored in the geometry
repository.
l Select the curves using Geometry/Select/Curves (shortcut 
) in the order indicated on the
figure.
l Verify that the curves are properly oriented using Geometry/View/Curve Orientation .
Otherwise, you need to reverse the orientation by using the Geometry/Modify
Curve/Reverse menu to impose the same orientation onto all three curves.
l Select the Geometry/Create Surface/Lofted menu. A NURBS surface, interpolating the
curves, is now created. Notice that two new curves, representing the surface boundaries, are
chooser
automatically
created
as well. These
appear
curves
curve
the
in
(Geometry/View/Curves) when it is opened.
43. Define a coons patch:
A Coons surface is a surface interpolating 4 boundary curves using a bilinear interpolation. To avoid
overlapping with the lofted surface, the selected curves are copied and translated.
l Select the four boundary curves (shortcut 
) of the lofted surface, in the order indicated in
the following figure.
l Access the Geometry/Edit/Copy menu in the Quick Access Pad . IGG™ offers the
possibility to translate, rotate, scale, mirror or perform no operation on the selection. To avoid
overlap with the existing curves and surface, a translation will be performed.
l Type <new> and press <Enter> to impose a userdefined prefix to the geometrical entities that
will be created.
l Type <t> and press <Enter> to copy and translate the selection.
l Type <1 1 1> <Enter> to impose the translation vector.
The selected curves are duplicated and the new curves are automatically selected (the other curves are
now unselected).
l Access the Geometry/Create Surface/Coons Patch menu. A new surface is created which
interpolates the four selected curves.
Notice that four additional curves have been created. These are curves following the parametric
directions of the surface and are used to provide a better visualization of the surface.
44. Define a surface of revolution:
A surface of revolution will be created by rotating a newly created curve around the Y-axis.
l First create a C-spline (Geometry/Curve/CSpline in the Quick Access Pad) between the
points (-0.5 ,-2 ,0.1), (-0.5 ,0 ,0.2) and (-0.5 ,2 ,0.1). These points are chosen such that the new
surface of revolution will intersect the lofted surface.
l Make this curve the only selected curve (Geometry/Select/Curves).
l Select the Geometry/Create Surface/Revolution menu to create a surface of revolution by
rotating this new curve around a line parallel to the Y-axis. The rotation origin is taken so that
the surface of revolution intersects the lofted surface.
l Type <0 1 0> and press <Enter> to select the rotation axis direction.
l Type <-0.5 0 -1> and press <Enter> to select the rotation axis origin.
l Type <300> and press <Enter> to select the angle of rotation.
Notice that the curve used for the rotation constitutes the first boundary of the surface. Three other
boundary curves are automatically created to indicate the other surface boundaries.
1.4.2
Select Surfaces
The surface selection operation is used to activate one or more surfaces for subsequent operations
in geometry modeling (i.e. surface-surface intersection) or grid generation (i.e. face grid mapping).
When a surface is selected, its boundary curves appear highlighted in red or yellow.
45. Select the Geometry/Select/Surfaces menu to initiate surface selection.
The <Ctrl-s> shortcut can also be used to activate the same option, without accessing the menu.
46. Press <a> to unselect all the surfaces (toggle option), which become unhighlighted (boundary
curves are unhighlighted).
47. Move the mouse over the lofted surface. The surface becomes highlighted in blue.
48. Left-click to select the surface. The boundary curves will remain displayed in red or yellow.
49. Repeat above steps to select the surface of revolution.
50. Right-click to quit the selection.
Selection and deselection of all the visible surfaces can be done by pressing <a> repeatedly (toggle
option).
1.4.3
Visualize Surfaces
Surfaces stored in IGG™ are by default visualized by displaying their boundaries. As soon as the
boundary curves of a surface are visible, the surface is considered visible. The following step
describes how to hide surfaces, and hence how to hide their boundaries.
51. Select the Geometry/View/Surfaces option. The surface chooser with the names of all the
surfaces in the geometry repository will appear. All surfaces in the chooser are highlighted since
they are all visible in the graphics area.
52. Select the lofted surface (left-click it) in the chooser and press Apply. The lofted surface
appears alone in the graphics area with all the previously created curves.
53. Select the surface of revolution (left-click it) in the chooser while holding the <Ctrl> key. The
surface of revolution is highlighted in the chooser together with the lofted surface. Press Apply to
visualize both surfaces. Notice that the surface of revolution is now unselected in the graphics
area (highlighted in blue).
54. Select the first and last surfaces (left-click them) in the chooser while holding the <Shift> key.
All surfaces are highlighted in the chooser. Press Apply to visualize them all in the graphics area.
55. Close the chooser.
1.4.4 Modify Surfaces
When manipulating parametric surfaces, it is possible to create curves in the parametric directions
of the surfaces. These curves can be used to better visualize the surfaces or for other geometry and
grid modeling operations.
56. After selecting a surface, select the Geometry/Modify Surface/Representation menu.
IGG™ requests the number of curves to be created in the u and v direction of each selected
surface:
l Type <15 15> <Enter> to plot 15 curves in both parametric directions of the selected surfaces.
l Repeat the previous step and specify 5 curves in each direction.
57. Select the Geometry/Modify Surface/Add uv Curves menu. Then a point must be selected
on the selected surfaces:
l Move the mouse inside the limits of the selected surfaces. Two orthogonal curves will appear
at the mouse position. The attraction feature can be enabled, if needed.
l Left-click to add the two curves in the geometry repository.
The curves created in the above steps are deleted when the surface is deleted, except if they are used
by other entities.
1.5
EDIT/COPY SURFACES
Existing selected surfaces can be moved or copied within IGG™ as presented on the curves
("Edit/Copy Curves" (p. 14)).
1.6
EXPORT SURFACES
It is possible to save the curves and surfaces created in the previous steps. Only the selected
curves and surfaces are saved into a file:
58. Select the Geometry/Select/Curves and Surfaces menu to select respectively the curves
(highlighted in yellow) and the surfaces (highlighted in red or yellow).
59. Select the File/Export/Geometry Selection... menu. A window is opened where the name of
the ".dat" file (with corresponding Parasolid™ file "X_T" or "xmt_txt") can be chosen. This type
of file can be imported by using File/Import/IGG Data... (
).
TUTORIAL 2.
2D NACA AIRFOIL
2.1
INTRODUCTION
2.1.1
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A C-type block grid around an airfoil is used to explain the basic features of the major topology
and grid generation modules within IGG™. The tutorial shows the successive steps that must be
followed to generate a 2D mesh and to define the boundary conditions required before starting a
solver:
l set up a 2D project,
l import/create geometry curves needed for meshing,
l define the topology before meshing,
l create/place blocks,
l specify the clustering,
l generate a face grid,
l check the mesh grid quality,
l define the boundary conditions.
2.1.2
Prerequisites
This tutorial does not require any prior knowledge, but it is strongly recommended for beginners
to perform the basic tutorial 1 first.
2.1.3
Presentation
A mesh around a 2D airfoil is created in this example case. The input geometry describing the
airfoil consists of the pressure and suction sides, provided as curves defined in two ".dat" files
("Where to Find the Files Used in the Tutorials?" (p. 4)).
Using the 2D option, only one face of a block (lying in the plane) will be generated, instead of six
as classically required when generating 3D blocks. During the saving of the mesh, IGG™ will
automatically generate the volume grid by extruding one cell in the orthogonal direction, to match
the requirement of the FINE™/Turbo flow solver.
Two blocks will be used to mesh around the airfoil. Obtaining a "C-type" grid using body-fitted
capabilities is done by deforming an initial square block around the airfoil as shown in the
following figure.
2.1.4
Preparation
Start IGG™
On Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows
1. click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or
in
Start/Programs/NUMECA Software/AutoGrid#.
2. alternatively IGG™ can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or
<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic
Installation section and # is the version (e.g. 131 ).
The IGG™ graphical user interface by default provides a visualization of the geometry and mesh
of an internal or external test case in the 3D view. The access to main menu and controls is
provided through a menu bar and a quick access pad, and is complemented with a tool/icon
bar and a control area (including the keyboard input area).
2.2 MESH GENERATION
Before running the IGG™ software, it is advised to make a sketch of the face in order to generate
and identify the grid boundaries, as well as the number and orientation of segments on each edge.
Conventionally in 2D, the face being generated is always Face 1 of the 3D block. For this face,
the topology selected for the airfoil is shown in the above figure.
In the topological space of the face, our boundary decomposition is as follows:
A few comments can be made from the previous figures:
l Edges 1 & 2 of Block 1 and Edges 3 & 4 of Block 2 have only one segment. The starting
point of the Block 1 - Edge 1 segment corresponds to the starting point of the Block 2 - Edge 3
segment.
l Edge 3 of Block 1 and Edge 1 of Block 2 are used to respectively model the pressure and
suction sides of the airfoil as well as the wake. It is decomposed into two segments to capture
the discontinuity in the wake and to facilitate the grid point distribution settings.
l Edge 4, opposite to Edge 3 of Block 1, and Edge 2, opposite to Edge 1 of Block 2, are
decomposed into 2 segments as well.
l Segment 1 of the Edge 3 of Block 1 and Edge 1 of Block 2 coincide geometrically.
2.2.1
Define Project Configuration
When launching IGG™, a 3D project is initialized by default. For this tutorial, the 2D option
needs to be activated.
1. Open the File/Project Configuration... menu: a dialog box is opened.
2. In the Dim area, left-click the 2D button.
3. Click Apply to validate the input: a dialog box will appear, asking for confirmation.
4. Answer yes.
5. Close the dialog box.
A new 2D project is now initialized and only the XY-plane is active. The depth of the view,
controlling the z-coordinate, is invariably set to 0. You are now ready to start meshing the airfoil
in 2D!
2.2.2 Define Geometry
The following steps describe the importation and creation of geometry curves needed to limit the
computational domain. The initial input data are the pressure and suction sides of the airfoil,
described as curves stored in two separate ".dat" files. ("Where to Find the Files Used in the
Tutorials?" (p. 4))
In order to place the four edges of both faces at a later stage, as sketched in previous figures,
additional curves indicating the external boundaries of the domain will be created as shown
below.
Notice the orientation of the curves that is used to localize the starting and end points of the
curves. These points will be used later to place the face boundaries.
A.
Import Existing Geometry
6. Select File/Import/IGG Data... (
). A file chooser is opened. Select the "suction.dat" file
("Where to Find the Files Used in the Tutorials?" (p. 4)). The curve is loaded into IGG™ and
displayed in the active view.
7. Now, import the "pressure.dat" file located in the same directory.
B. Create New Geometry
The missing curves will be now created using the IGG™ geometry modeling capabilities. For a
complete description on how to create basic curves refer to Tutorial 1 and the User Guide.
8. Create a polyline (Geometry/Curve/Polyline in the Quick Access Pad (QAP)) between the
points (5, 0, 0) and (1, 0, 0).
Since the line lies far from the airfoil, it will not be visible in the current view. The view must be
fitted to the curve sizes.
9. Left-click the Default orientation button (
) in the Viewing buttons area.
Next, the name of the curve will be modified. Naming a curve explicitly is required when using
template capabilities. It is done here as an exercise.
10. Select only the polyline (Geometry/Select/Curves or 
) if needed.
11. Select Geometry/Modify Curve/Set Name in the QAP and change the name of the curve to
"p1". Click Apply and Close the dialog box.
12. Create a polyline between the points (1, -10, 0) and (5, -10, 0) and name it "p2".
13. Create a polyline between the points (5, 10, 0) and (1, 10, 0) and name it "p3".
14. Create a circular arc ( Geometry/Circular Arc/Normal- Center- Point- Point menu) by
entering the normal to the arc (0, 0, 1), the center (normal anchor point) (1, 0, 0), the starting point
(1, 10, 0) and the end point (-9, 0, 0). Name the curve "a1".
15. Create a second circular arc by entering the normal (0, 0, 1), the center (anchor point) (1, 0,
0), the start point (-9, 0, 0) and the end point (1, -10, 0). Name the curve "a2".
2.2.3
Create Blocks
This section describes the creation of Block 1, around the airfoil. When dealing with a 2D project,
only one face must be manipulated (Face 1).
16. Left-click the Insert New Face icon (
square face will appear in the graphics area.
) in the Quick Access Pad/Grid/Create page. A
17. Move the cursor (representing the left corner of the rectangle) to the starting point of Polyline
p1 . Once the point is attracted, left-click to place the first point.
18. Enter the coordinates of the second point (opposite corner of the rectangle) from the keyboard:
<-8 8 0> and press <Enter>. The square face is now fixed and appears with a default orientation.
19. Left-click to accept this default orientation and to complete the face creation.
At this stage, the face is created. Its four edges appear as straight lines which still need to be
wrapped around the airfoil. The number of grid points along the I and J directions is currently 9
(default) and will be changed to (41x85), as described in the initial sketch.
20. The number of grid points is changed as follows:
l Select Grid/Grid Settings... . A dialog box appears.
l Specify the number of grid points in each direction. To do this, move the cursor to the Imax
box, type <41> and press <Enter>.
This setting takes effect immediately after pressing <Enter> and deletes any previously generated
grid.
l Specify in the same way that Jmax = <85> and press <Enter>. Notice that Kmax has a value
of 2 in the 2D option. This value cannot be changed.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow
multigrid process on minimum 3 grid levels within FINE™.
l Close the dialog box.
The initial mesh can be visualized by pressing the Toggle Face Grid icon (
Access Pad/View/Grid.
) under Quick
21. The face can now be positioned correctly around the airfoil:
l Move the cursor over the upper right vertex. When it is highlighted, left-click it to initiate the
placement. Move and attract the cursor to the start point of Polyline p3. Then, left-click to fix
the position of the vertex.
l To map Edge 4 onto Polyline "p3", an additional vertex must be inserted. Click the Insert
) in the Quick Access Pad/Grid/Insert/Edit page. Move the cursor near
Vertex icon (
Edge 4. A marker representing the vertex (square) will appear when it is close enough to the
edge. left-click to fix the vertex to the edge and place it (left-click) on the Polyline "p3"
endpoint.
l During this placement, the vertex was attracted to curves and curve end points. To be sure the
vertex is placed on the Polyline p3 endpoint, the attraction to curves can be deactivated. While
holding the <Ctrl> key, right-click the vertex to access a menu; drag the mouse over Attract
to Curves option (to deactivate the attraction) and left-click. To ease the attraction, the value
of the Pick Aperture, in the File/Preferences... menu under the thumbnail Tolerances, can
be increased to 0.3. This option controls how close the cursor needs to be to the curve before
being attracted.
l Now move again the vertex which will be attracted to the Polyline p3 endpoint but not to
Polyline p3 or other curves.
Use the shortcut <i> to activate the Insert Vertex function in a faster way.
l For the moment, Edge 4 contains only one segment. To divide it into several segments as in
the sketch made previously, a fixed point must be inserted. Move the cursor over the additional
vertex. When it is highlighted, right-click to access a menu. Drag the mouse over the Attach
Fixed Point item. This will merge a fixed point to the vertex. Once this is done, the square
shape of the vertex marker will be transformed into a diamond shape. The result of these
operations is shown in the following figure.
l Edge 3 will be used to capture the shape of the airfoil (suction side). A zoom can be performed
on the airfoil. To do this, left-click the Zoom Area button (
) in the Viewing buttons area.
Press and drag the left mouse button to select a rectangular region around the airfoil, then
release the left mouse button to perform the zoom.
l Insert one vertex (v5) onto Edge 3 and place it on the end point of the suction curve. Then, to
be sure to map Edge 3 on the suction curve and not on the pressure curve, insert another vertex
(v6) on Edge 3. Place it on the suction curve, roughly in the middle). Finally, place Vertex v4
(already existing) onto the starting point of the suction curve, as presented in the following
figure, and attach one fixed point to Vertex v5.
l Move the Vertex v3 (already existing) onto the arc "a1" endpoint to finish the blocking of
Block 1.
This section describes the creation of the Block 2 around the airfoil. When dealing with a 2D
project, only one face must be manipulated (Face 1).
22. Left-click the Insert New Face icon (
square face will appear in the graphics area.
) in the Quick Access Pad/Grid/Create menu. A
23. Move the cursor (representing the left corner of the rectangle) near the start point of Polyline
p1 . Once the point is attracted, left-click to place the first point.
24. Enter the coordinates of the second point (opposite corner of the rectangle) from the keyboard:
<-8 -8 0> and press <Enter>. The square face is now fixed and appears with a default orientation.
25. Left-click to accept this default orientation and to complete the face creation.
At this stage the face is created. Its four edges appear as straight lines which still need to be
wrapped around the airfoil. The number of grid points along the I and J directions is currently 9
(default) and will be changed to (85x41), as described in the initial sketch.
26. The number of grid points will be changed as follows:
l Select Grid/Grid Settings... . A dialog box is opened.
l Specify the number of grid points in each direction. To this end, move the cursor to the Imax
box, type <85> and <Enter>.
This setting takes effect immediately after pressing <Enter> and deletes any previously generated
grid.
l Specify in the same way Jmax = <41> <Enter>. Notice that Kmax has a value of 2 in the 2D
option. This value cannot be changed.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow
multigrid processes on minimum 3 grid levels within FINE™ .
l Close the dialog box.
The initial mesh can be visualized by pressing the Toggle Face Grid icon (
Access Pad/View/Grid menu.
) in the Quick
27. The face can now be positioned correctly around the airfoil:
l Move the cursor over the lower right vertex. When it is highlighted, left-click it to initiate the
placement. Move and attract the cursor to the end point of Polyline p2. Then, left-click to fix
the position of the vertex.
l To map Edge 2 onto Polyline p2, an additional vertex must be inserted. Left-click the Insert
Vertex icon (
) in the Quick Access Pad/Grid/Insert/Edit menu. Move the cursor near
Edge 2. A marker representing the vertex (square) will appear when it is close enough to the
edge. Left-click to fix the vertex to the edge and place it (left-click) on the Polyline p2 start
point.
l During this placement, the vertex was attracted to curves and curve end points. To be sure the
vertex is placed on the Polyline p2 endpoint, the attraction to curves can be deactivated. While
holding the <Ctrl> key, right-click the vertex to access a menu; drag the mouse over Attract
to Curves option (to deactivate the attraction) and left-click it.
l Now move again the vertex which will be attracted to the Polyline p2 starting point but not to
Polyline p2 or other curves.
Use the shortcut <i> to activate the Insert Vertex function in a faster way.
l For the moment, Edge 2 contains only one segment. To divide it into several segments as in
the sketch made previously, a fixed point must be inserted. Move the cursor over the additional
vertex. When it is highlighted, right-click to access a menu. Drag the mouse over the Attach
Fixed Point item. This will merge a fixed point to the vertex. The square shape of vertex
marker will be transformed into a diamond shape. The result of these operations is shown in
the following figure.
l Edge 1 will be used to capture the shape of the airfoil (pressure/suction side). A zoom can be
performed on the airfoil. To do this, left-click the Zoom Area button (
) in the Viewing
buttons area. Press and drag the left mouse button to select a rectangular region around the
airfoil, then release the left mouse button to perform the zoom.
l Insert one vertex (v5) on Edge 1 and place it on the endpoint of the pressure curve. Then, to be
sure to firstly map Edge 1 on the pressure curve and not on the suction curve, insert another
vertex (v6) on Edge 1, and place it on the pressure curve (about in the middle). Finally, place
Vertex 3 (v3) on the starting point of the pressure curve, as in the following figure, and attach
one fixed point to Vertex v5.
l Move the Vertex v4 on the arc "a1" end point to finish the blocking of block 2.
Now the faces are put in place and the segments are created according to the sketch made
previously. The mesh can be visualized (the face mesh is automatically generated) by pressing the
Toggle Face Grid icon (
) of the Quick Access Pad/View/Grid page. At this stage, the mesh
may look quite distorted because the fixed points indices have a default value, which still needs to
be adapted. So, the last thing to do is to set the correct fixed points indices.
28. See the current index of a fixed point by moving the cursor over it. The index is then
displayed.
29. Set the fixed points indices as in the following figure. To change the index, right-click the
fixed point to access a menu. Drag the mouse to the Change ... index item and left-click it. The
prompt "Enter new index:(q)" will appear.
30. Enter the new index in the keyboard input area and press <Enter>. The new index can be
visualized as explained before.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow
multigrid processes on minimum 3 grid levels within FINE™.
In some cases, the index will not be changed because the new value is higher than the index of the
next fixed point on the same edge. So, the index of the next fixed point must be changed first before
changing the one of the current fixed point.
Some problems may occur for the fixed points v5 because they lie in the same place so that indices
cannot be changed for both. Simply separate the fixed points by moving one of them to another
location, then change the indices. Once it is done, place the fixed points back to their original
position.
2.2.4 Define Clustering
Once the edges of the faces are set up, the next step consists of specifying the clustering of grid
points along each edge. This step is essential before proceeding to the face grid generation since
the location of the grid points at the boundaries (on the edges) is directly used to interpolate the
face grid.
Grid point clustering will be specified to capture:
l the boundary layer on the pressure and suction sides,
l the wake,
l the leading edge and trailing edges.
the following figure shows the segment numbering and orientation as defined in the next steps. I
and J constant grid lines are also outlined.
The boundary layers on the pressure and suction sides are controlled by modifying the grid point
distribution on segments s1 (segment 1 1 1 1), s2 (segment 2 1 3 1), s11 (segment 1 1 2 1) and
s12 (segment 2 1 4 1). Indeed, by setting more points near the start of these segments, the grid
lines parallel to the airfoil will tend to be closer to the airfoil. To modify the distribution
symmetrically on segments s1 and s2, a group containing the two segments will be created and
used to specify the clustering.
31. Select the Cluster Points icon (
dialog box for controlling the distribution is opened.
) in the Quick Access Pad/Grid/Insert/Edit menu. A
32. Click the Define/Edit group button to define a new group: a new dialog box is opened.
33. Click the Create button. The dialog box is extended to provide a field in which the name of
the group can be specified. Enter the name <group1> and press <Enter> (or the Create button).
The group is added to the list. Do not close the dialog box at this stage.
34. The segments will now be added to the group one by one in the following way:
l Click the Modify button
l Move the cursor to segment s1 (segment 1 1 1 1) and left-click to select it. When selected,
arrows appear on the segment and the parent block is highlighted. If this is not the proper
segment, repeat the step.
l Middle-click to add the segment to the list. The segment appears in the group in the dialog
box.
l Repeat the above steps to add segments s2 (segment 2 1 3 1), s11 and s12 to the group.
35. Close the dialog box or right-click in the graphics area to complete the group creation.
The group is now defined and can be used to specify the clustering of the four segments at once.
36. In the popup menu of the Clustering dialog box, select group name "group1" (it should be
the default).
37. Select distribution type At Both Ends 2 and set initial spacing at start to <1e-5>, the initial
spacing at end to <0> and the number of constant cells to <10>.
38. Press the Apply to group button to apply the clustering to each segment in the group.
The grid point distribution can be visualized by selecting the Quick Access Pad/View/Grid/Toggle
Grid Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing the
mesh using the Quick Access Pad/View/Grid/Toggle Face Grid (<Ctrl-z>) icon.
The grid point distribution in the wake can be controlled with segments s3 (segment 1 1 3 1) and
s4 (segment 2 1 1 1). Additionally, segments s5 (segment 1 1 4 1, opposite to 1 1 3 1) and s6
(segment 2 1 2 1, opposite to 2 1 1 1) should be modified in the same way, to keep the mesh as
regular as possible. For this purpose, two groups containing these segments will be created.
39. Click the Define/Edit group button and create a new group named "group2".
40. The segments will now be added to the group one by one in the following way:
l Select segment s3 (left-click) and add it to the group (middle-click).
l Select segment s4 and add it to the group.
41. Click the Close button in the dialog box or right-click in the graphics area to complete the
group creation.
Now the clustering can be easily applied to both segments at once.
42. Select the "group2" group in the combo box of the Clustering dialog box.
43. Select the distribution type At Both Ends 2 and set initial spacing at start to <0>, the initial
spacing at end to <0.005> and the number of constant cells to <10>.
44. Press the Apply to group button to apply the clustering.
45. Click the Define/Edit group button and create a new group named "group3".
46. The segments will now be added to the group one by one in the following way:
l Select segment s5 and add it to the group.
l Select segment s6 and add it to the group.
l Select the Close button in the dialog box or right-click in the graphics area to complete the
group creation.
Now the clustering can be easily applied to both segments at once.
47. Select the "group3" group in the combo box of the Clustering dialog box.
48. Select distribution type At Both Ends 2 and set initial spacing at start to <0>, the initial
spacing at end to <0.05> and the number of constant cells to <10>.
49. Press the Apply to group button to apply the clustering.
As an exercise, the clustering of the segments controlling the leading and trailing edges will be set
one by one with no group defined.
50. Select segment s7 (1, 1, 3, 2). This segment extends the grid points from the trailing edge to
the far field and allows to control the grid point distribution in the wake.
51. Select distribution type Hyperbolic Tangent and set initial spacing at start to <0.005>, and
the initial spacing at end to <0.001>.
52. Press the Apply to seg button to perform the clustering.
53. Select segment s8 (2, 1, 1, 2). This segment extends the grid points from the trailing edge to
the far field and is actually located at the same position in Block 2 as segment (1, 1, 3, 2) in Block
1 with the same orientation. Its distribution should consequently be the same.
54. Select distribution type Hyperbolic Tangent and set initial spacing at start to <0.005>, and
the initial spacing at end to <0.001>.
55. Press the Apply to seg button to perform the clustering.
56. Close the dialog box.
Finally, the clustering on segments s9 and s10 will be copied from segments s7 and s8,
respectively.
57. Open the Grid/Grid Density/Copy... menu to copy the grid points clustering of segment s7
to segment s9. Enter <1 1 3 2> in the From box and <1 1 4 2> in the To box then press the
Apply button to perform the copy.
58. In the same dialog box, enter <2 1 1 2> in the From box and <2 1 2 2> in the To box then
press the Apply button to copy the distribution from segment s8 to s10. Close the dialog box.
2.2.5
Generate Face Grid
This section describes the grid generation and orthogonality control of the mesh near the solid
wall.
) to access the
59. Select the item Quick Access Pad/Grid/Generate/Face Generation Tool (
dialog box dedicated to the face generation tools and press the Algebraic button. The grid is
created using a linear interpolation of the four edges of each block.
The orthogonality of the mesh to the pressure and suction sides could still be improved and must
be improved. To do this,
the cubic interpolation option (orthogonality control + algebraic
generation) will be used. Orthogonality will be enforced between Edges 3 and 4 of Block 1 and
Edges 1 and 2 of Block 2.
60. After having selected Block 1 (left- click one of its edges), select Edges: 3- 4 and
Orthogonality Control to set up the orthogonality control between Edge 3 and Edge 4. The
normals are displayed in black (or white) indicating the range and the level of orthogonality.
The normals are currently too large and must be reduced before regenerating the face.
61. Reduce the Ratio 1st Edge to <0.1> and the Ratio 2st Edge to <0.01> and press the
Algebraic button to regenerate the grid according to these values. Then unselect Orthogonality
Control.
62. After having selected Block 2 (left- click one of its edges), select Edges: 1- 2 and
Orthogonality Control to set up the orthogonality control between Edge 1 and Edge 2. The
normals are displayed in black (or white) indicating the range and the level of orthogonality.
63. Reduce the Ratio 1st Edge to <0.1> and the Ratio 2st Edge to <0.01> if not already done
and press the Algebraic button to regenerate the grid according to these values. Then unselect
Orthogonality Control.
64. After having selected Block 1, activate the Overlapping option to see the overlapping cells
near the trailing edge. Overlapping cells are highlighted using a small circle on the selected block.
65. After having selected Block 1, set the Face Range for smoothing: Index 1 min = <19>,
Index 1 max = <41>, Index 2 min = <15>, Index 2 max = <26>. The grid area that will be
smoothed is highlighted. Activate the Elliptic Smoothing option, then press the Smooth button
three times to remove the overlapping cells.
66. Close the dialog box.
The faces of the blocks are now completely created and generated.
2.2.6
Control Mesh Quality
67. Check for negative cells by clicking
.
68. Click Apply and press ok.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pushing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
69. Close the dialog box.
70. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
71. Select block number (0 for all).
72. Select quality criteria using the Type pull-down menu.
73. Left-click the Show chart button to visualize the distribution of selected criteria in the form of
a histogram. The histogram is drawn per block (0 = all blocks).
74. Left-click part of the histogram to plot the corresponding cells in the 3D view.
75. Left-click the More info button to obtain information about minimum and maximum values of
the selected criterion and block.
76. Close the dialog box.
2.2.7
Define Boundary Conditions
This section explains the division of a face into patches and the setting of a boundary condition
type for each patch.
As explained in the introduction, a 2D project consists of a 2D face grid extruded orthogonally to
yield a 3D block. Within the 2D project, boundary conditions are specified directly on this 3D
block. The extrusion is performed automatically by IGG™ when opening the dialog box for
boundary condition setting.
77. Select the Grid/Boundary Conditions... menu to open the dialog box. The 3D block is
automatically extruded and appears in a 3D view.
The boundary condition type for block Faces 1 and 2 is automatically set to MIR (mirror
condition) in 2D, which explains that these faces do not appear in the patch browser (because
their boundary condition type cannot be changed). Face 3 (1 3) is activated in the dialog box and
displayed in pink meaning that its boundary condition type is undefined.
78. For Face 3 (1 3), set Patch Type to EXT (external boundary condition). For this, left-click
Set Patch Type , drag the mouse to the EXT button and release the left mouse button.
79. Select Face 4 (2 5) in the dialog box (left-click on it) and set Patch Type to EXT.
80. Select patches (1 6) and (2 4) defining Face 6 (<Ctrl>+ left-click on it) in the dialog box and
set Patch Type to EXT.
Faces 5 and 8, corresponding to the face wrapping around the airfoil, must be divided into several
patches. These patches will be obtained by dividing successively existing patches into two.
81. Select Face 5 (1 5) and press the button Edit Patch >>. Right-click in the K-J domain,
activate the Divide Patch vertically option to divide Face 5 at index 21 (type <21> and press
<Enter> to validate the division). Set Patch Type of patch 2 of Face 5 (1 5 2) to SOL (solid
boundary condition).
82. Select Face 8 (2 3) and press the button Edit Patch >>. Right-click in the K-I domain,
activate the Divide Patch vertically option to divide Face 8 at index 21 (type <21> and press
<Enter> to validate the division). Set Patch Type of patch 2 of Face 8 (2 3 2) to SOL (solid
boundary condition). This last face is then divided in 2 patches.
Four patches remain undefined (UND). These patches should be connected to each other, since
they are located at the same position.
83. Press the Search button in the Connectivity (CON / NMB / PER / PERNM) area to
automatically set up the connection (CON) between patches 1 of Faces 5 and 8, and Faces 7 and
9.
84. Close the dialog box: the view is automatically set back to the projected XY-view.
2.2.8
Save Project
85. Go to File -> Save -> Save As ... <tutorial2> and press <Enter> to save mesh files.
The mesh files (6 files) contain the multiblock mesh topology, geometry, grid points and the
boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_ txt"), ".igg" and ".config". For more
information regarding these files, the user is referred to the User Guide.
TUTORIAL 3.
PIPE TO PIPE
3.1
INTRODUCTION
3.1.1
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
The tutorial consists of the mesh generation of intersecting pipes to explain the basic features of
the major topology and grid generation modules within IGG™.
The tutorial shows the successive steps that must be followed to generate a 3D mesh and to define
the boundary conditions required before starting a solver:
l create the geometry,
l create intersection,
l define the topology,
l create internal grid lines,
l project face grid onto a surface,
l create butterfly topology,
l check mesh quality,
l create full non-matching connection.
3.1.2
Prerequisites
This tutorial does not require any prior knowledge but it is strongly recommended for beginners to
perform the basic Tutorial 1 and Tutorial 2.
3.1.3
Presentation
A mesh in two intersecting pipes is created in this example case. The geometry consists of two
pipes with different diameters intersecting each other.
The final generated mesh is shown below:
3.1.4
Preparation
Start IGG™
On Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows
1. click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or
in
Start/Programs/NUMECA Software/AutoGrid#.
2. alternatively IGG™ can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or
<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic
Installation section and # is the version (e.g. 131 ).
The IGG™ graphical user interface by default provides a visualization of the geometry and mesh
of the internal or external test case in the 3D view. The access to main menu and controls is
proposed through a menu bar and a quick access pad, and is complemented with a tool/icon
bar and a control area (including the keyboard input area).
3.2 MESH GENERATION
3.2.1
Define Geometry
The geometry consists of two intersecting cylinders. The first cylinder is aligned with the Z-axis,
has its bottom part at Z = -100, its top part at Z = 100 and a radius = 25. The second cylinder is
aligned with the X-axis, has its bottom part at X = 0, its top part at X = 100 and a radius = 12. For
a complete description on how to create basic curves, the user is referred to Tutorial 1 and the
User Guide.
1. Create a polyline from (0, 25, -100) to (0, 25, 100) using the Geometry/Curve/Polyline menu
in the Quick Access Pad.
2. Based on this polyline, create a surface of revolution around the Z-axis (0, 0, 1) with rotation
center
from the Geometry/Create
Surface/Revolution menu.
(0, 0, 0) and a rotation angle of 360 degrees
3. Unselect all curves by going to Geometry/Select/Curves. Press the <a> key binding and right-
click to quit.
4. Create a polyline from (0, 0, 12) to (100, 0, 12) by going to Geometry/Curve/Polyline menu
in the Quick Access Pad. Select only the created polyline with the Geometry/Select/Curves
menu.
5. Based on this last polyline, go to Geometry/Create Surface/Revolution menu to create a
second surface of revolution around the X-axis (1, 0, 0) with rotation center (0, 0, 0) and a
rotation angle of 360 degrees.
6. Left-click the Default orientation button (
) in the Viewing buttons area.
7. Go to Geometry/Select/Surfaces to select both surfaces and compute the intersection from
Quick Access Pad/Geometry/Curve/Surf-Surf Inters; a new curve is created.
8. Go to Geometry/Select/Surfaces and press <a> key binding to unselect both surfaces and
right-click to quit.
9. A new small cylinder based on the intersection curve and the base circle of the small cylinder at
X = 100 needs to be generated:
l Select the two curves and go to Geometry/View/Curve Orientation to show their orientation.
They should normally have the same orientation. If this is not the case, the orientation of one
curve must be reversed before creating the new surface by going to Geometry/Modify
Curve/Reverse.
l Create a lofted surface from the Geometry/Create Surface/Lofted menu based on the two
curves. The new surface appears at the same location as the initial small cylinder.
l Select the original small cylinder surface and delete it using Geometry/Delete/Surfaces. After
that, select the curve used to create this surface and delete it using Geometry/Delete/Curves.
The new surface is shown in the following figure.
10. Save the project using the File/Save/Save menu. Alternatively, the geometry could be saved
using the File/Export/Geometry Selection menu after selecting curves and surfaces.
The geometry is now created!
3.2.2
Create & Control Blocks
This section describes the creation of the block used to mesh the big cylinder. This block will be
created by constructing an initial cube, specified by two opposing corners, and by snapping its
vertices to the boundary curves of the surface. During these operations, the edges of the blocks
will be automatically mapped onto the curves or surfaces.
11. Click the Insert New Block icon
.
12. Place the two opposite corners by attracting them to the two circles, as shown in the following
figure.
A local coordinate axis system IJK will appear at the location of the first vertex. The orientation will
be modified such that the K-axis points downward (along the Z-axis), as an example.
13. Press the 
 key. The orientation of the axis system is changed and the K-axis now points
downward. If this is not the case, press the 
 key again until the proper orientation is obtained.
14. Left-click to complete the block creation.
The block is now created and its eight vertices appear on the screen. The vertices lie close to the
circles. In the next steps, they will be moved and snapped to the circles.
15. Left-click one vertex and move the mouse around its original position.
The block is instantaneously updated to reflect the new vertex position.
16. Move the vertex near the closest circle. It gets attracted to the circle.
17. Left-click to fix the new vertex position.
The block edges are automatically mapped onto the circles.
18. Repeat the above steps for the other vertices and try to place the vertices as shown in the
following figure. Notice that the edges of "face 4" should be placed symmetrically around the
intersection curve and should not cross it.
At this stage, the initial mesh created by IGG™ can be visualized.
19. Access the Block or Grid scope in the Quick Access Pad/View/Grid page.
20. Click the Toggle Face Grid icon (
) to visualize the grid for the whole block.
The face grids are by default generated using a bilinear interpolation. These initial grids will be
projected onto the surfaces at a later stage.
21. Repeat the above step to remove the grid from the screen.
Now the number of points for the block can be defined.
22. Left-click segment '1 5 4 1' .
23. Right-click segment '1 5 4 1' to pop up a menu.
24. Select Segment/Set Number of Points.
25. Type <65> and press <Enter> in the Set Number of Points dialog box. Click Apply.
Increasing the number of points of a segment automatically affects the total number of points in the
associated direction. The total number of points along the K direction is consequently 65.
26. Repeat the above steps for segments '1 1 2 1' and '1 1 3 1' and increase their size to <33>. The
block size should now be 33 x 33 x 65, as shown in the bottom left.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processes on a minimum of 3 grid levels within FINE™.
27. Close the dialog box.
By default, all the faces of the block are generated using a bilinear interpolation. However, the
lateral faces should lie on the cylinder. A projection must be performed for these faces so that the
grid lies exactly on the surface.
Select
28.
surface
Geometry/Select/Surfaces.
the
corresponding
to
the
large
(vertical)
cylinder
using
29. Right-click and select one of the lateral faces (i.e. Face 4) by left-clicking one face segment
until the face edges are highlighted in white or black.
30. Click the Project Face icon (
dialog box to set the projection parameters.
) in the Quick Access Pad/Grid/Generate page. It opens a
31. Keep the default parameters: projection on Selected Surfaces - validation level 2 - boundary
projection Off, since the edges are already on the surface (automatic mapping feature) - entire
Face projection.
32. Click Apply to perform the projection of the active face.
33. Repeat the above steps for the other three lateral faces and Close the dialog box.
All the boundary faces of the block are now properly generated.
To mesh the small cylinder, a new block will be created by extruding a range of "Face 4" of the
first block. For the meshing to work properly, this face should cover the intersection curve
completely.
34. Activate "Face 4" of the first block by left-clicking one of its edges.
35. Click the Extrude Range icon (
dialog box to set the range of extrusion as well as the direction and magnitude of the extrusion.
) in the Quick Access Pad/Grid/Create page. It opens a
By default, the range corresponds to the complete face and is displayed in red in the graphics area.
36. Change the range by left-clicking each boundary of the small yellow square and entering the
appropriate values. These values should be such that the range fits the intersection curve as shown
in the following figure: the limits I = [13,21] and K = [29,37] have been selected.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processes on a minimum of 3 grid levels within FINE™.
37. Select the User Direction option and type <1 0 0> (direction of the small cylinder).
38. Change the Magnitude to <75> (size of the small cylinder).
39. Press the Apply button: a new block is created. Close the dialog box.
The extrusion automatically creates four internal edges in the active face of the first block. At each
intersection between two internal edges and between the internal edges and the boundary edges, a
vertex/fixed point is created (they can be visualized by pressing the Toggle Vertices icon of the
Quick Access Pad/View/Grid page). These internal edges are used as the basis for the creation
of the boundaries of the second block. During the creation of the new block, IGG™ automatically
connects the new block to the internal edges of the first block. The vertices at intersection of the
internal edges are consequently used by the new block.
When extruding a new block, IGG™ automatically connects the new block to the existing one by
connecting the vertices, the topological edges and the segments. A division into patches of the
reference face and a connection is also performed, if possible.
To allow for a connection with the second block, "Face 4" of the first block is automatically
divided into patches, as shown in the following figure (Grid/Boundary Conditions...). The
central patch is automatically connected to the adjacent patch of the second block (Block 2 Face
3).
The internal edges will now be deformed to capture the intersection curve of the two cylinders.
This is done by interactively moving the vertices and snapping them to the intersection curve.
40. Select the Block scope in the Quick Access Pad/View/Grid page.
41. Click the Toggle Vertices icon (
) to visualize the grid points for the whole active block.
42. Left-click one of the four vertices at the intersection of the internal edges.
43. Move and left-click the vertex to snap it to the intersection curve, as shown in the following
figure.
44. Repeat the above steps for the three other vertices.
IGG™ will automatically map the central segment of each internal edge to the intersection curve.
Notice also that the other segments are mapped onto the big cylinder.
45. Other vertices (intersecting the boundary edges of Block 1, Faces 5 and 6) have to be moved
to correctly map the surface. Otherwise, the edges are going straight as presented in the following
figure.
46. Select each vertex of Face 4 (Block 2, Face 4) and attract them to the circle at X=100 in order
to snap the face to the small circle at X=100.
47. Left-click segment '2 5 1 1' .
48. Right-click segment '2 5 1 1' to open a menu.
49. Select Segment/Set Number of Points.
50. Type <25> and press <Enter> in the Set Number of Points dialog box. Click Apply and
Close the menu.
51. Similarly to the first block (steps 30 to 33), the lateral faces of block 2 must be projected on
the small cylinder to ensure that their grid lies exactly on the cylinder. Select only the surface
corresponding to the small cylinder and project the lateral faces of the second block in the same
way as for the first block. In addition, the face of the second block connecting the first block must
be projected on the big cylinder. Select the surface corresponding to the big cylinder and project
the concerning face.
52. Click the Cluster Points icon (
dialog box for controlling the distribution is opened.
) in the Quick Access Pad/Grid/Insert/Edit menu. A
53. Select Define/Edit group to define a new group: a new dialog box is opened.
54. Click the Create button. The dialog is extended to provide a field in which the name of the
group can be specified. Enter the name <group-1> and press <Enter> (or click the Create
button). The group is added to the list. Do not close the dialog box at this stage.
55. The segments will now be added to the group one by one in the following way:
l Move the cursor to segment 1 4 5 1 and left-click to select it. When selected, arrows appear on
the segment and the parent block is highlighted. If this is not the proper segment, repeat the
step.
l Middle-click to add the segment to the list. The segment appears in the group in the dialog
box.
l Repeat above steps to add segments 1 4 7 1, 1 4 7 3, 1 4 8 1, 1 4 8 3, 1 4 5 3, 1 4 6 1 and 1 4 6
3.
l Left-click segment 1 4 7 3 in the clustering groups dialog box.
l Right-click and select Reverse orientation.
l Repeat the above steps for segments 1 4 8 3, 1 4 5 3 and 1 4 6 3.
56. Close the dialog box or right-click in the graphics area to complete the group creation.
The group is now defined and can be used to specify the clustering of all segments of the group at
once.
57. In the popup menu of the Clustering dialog box, select group name "group-1".
58. Set distribution type At End and set initial spacing to <1>.
59. Press the Apply to group button to apply the clustering to each segment in the group.
The grid point distribution can be visualized using the Quick Access Pad/View/Grid/Toggle Grid
Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing the mesh
using the Quick Access Pad/View/Grid/ Toggle Face Grid (<Ctrl-z>) icon.
60. Click the Define/Edit group button and create a new group named "group-2".
61. The segments will now be added to the group one by one in the following way:
l Select segment 2 1 4 1 (left-click) and add it to the group (middle-click).
l Select segment 2 2 4 1 and add it to the group.
l Select segment 2 1 3 1 and add it to the group.
l Select segment 2 2 3 1 and add it to the group.
62. Close the dialog box or right-click in the graphics area to complete the group creation.
Now the clustering can be easily applied to these segments at once.
63. Select group "group-2" in the combo box of the Clustering dialog box.
64. Set distribution type At Start and initial spacing to <1>.
65. Press the Apply to group button to apply the clustering.
66. Close the dialog box.
3.2.3
Generate Block Grid
Before generating the block grids, a check must be done to ensure that the faces still lie on the
input geometry. This might not be the case anymore if an operation has been performed on the
block faces, for example adjusting a vertex interactively. In that case, IGG™ performs a default
algebraic 4 boundary interpolation to keep the face grids inline with the boundaries.
This regeneration can be done straightforwardly by replaying the generation of the face grids.
67. Use the Regenerate Faces icon in the Quick Access Pad/Grid/Generate page. A dialog box
is opened to select the face(s) to regenerate.
68. Select the All Blocks Faces option.
69. Click Apply to fully regenerate all face grids of all the blocks in the project.
70. Close the dialog box.
71. Click the Block 6 Bnd icon (
box is opened to select the block(s) to generate.
) in the Quick Access Pad/Grid/Generate page. A dialog
72. Select the All option.
73. Click Apply to generate the grid in the two blocks.
74. Close the dialog box.
3.2.4 Define Butterfly Topology
In order to improve the mesh quality at block corners, a butterfly topology will be created in each
block.
75. Activate the first block and click the Create Butterfly icon (
) of the Quick Access
Pad/Grid/Create page. It opens the following dialog box and displays a default butterfly
topology in Block 1.
76. Keep K as Preferential direction (axial direction of the pipe).
The IJK coordinates of the block can be plotted by right- clicking the
buttons. This button acts as a toggle.
icon in the Viewing
77. Remove the buffer blocks at Faces 1 and 2 by left-clicking the corresponding buttons 1 & 2 in
the General variables frame. The shape of the butterfly topology is automatically updated in the
first block.
78. In the Section control frame, activate Straight radial edges and set the Radial depth to
<30> for the first section (Section number ID = 0). The four control points of the section are now
closer to the cylinder center.
79. Now the parameters of the second control section will be copied from the first one:
l Activate the second section by setting the Section number ID to <1>.
l Press the Copy from section button.
l Select Face 1 (upward face where Section ID 0 locates) of the first block by left-clicking one
of its segments.
l Middle-click to perform the copy: control points of the second section are now positioned in
the same manner as those of the first section.
l Right-click to stop the procedure.
80. In the Clustering frame, keep Number of radial points set to 9.
81. Left-click the Radial clustering button and set the clustering as presented in the following
figure.
82. Activate the option Clustering reciprocity parent -> inner.
If the button Clustering reciprocity parent->inner is activated, the clustering of the parent block
is copied to the inner block, destroying the optimized clustering. Moreover, both clusterings (on
parent and inner blocks) will be linked, meaning that each modification of the parent block clustering
will be applied automatically to the inner block.
83. Create the butterfly topology in the first block by pressing the Create/update button.
Similarly, a butterfly topology can be created in the second block.
84. Type <2> in the Block entry to select the second block. This block will be automatically
activated.
85. Set the Preferential direction to the axis of the small cylinder, J. A confirmation dialog box
will appear. Confirm the change by pressing the yes button. Control sections of the butterfly
topology are automatically updated.
Now, the topology of the mesh must be chosen. Indeed a buffer block can be associated to the Face 3
of Block 2, leading to a matching connection between patches of the two cylinders. Otherwise, if Face
3 has no buffer block associated, it leads to a full non-matching connection with the first block. This
latter topology is chosen in order to illustrate the FNMB connection and to have a better mesh
quality.
86. Remove the buffer blocks at Faces 3 and 4 by pressing the corresponding buttons 3 & 4.
87. In the Section control frame, activate Straight radial edges and set the Radial depth to
<30> for the first section (Section number ID = 0). The four control points of the section are now
closer to the cylinder center.
88. Activate the second section and to copy the parameters from the first one:
l Activate the second section by setting the Section number ID to <1>.
l Press the Copy from section button.
l Select Face 3 of the second block by left-clicking one of its segments.
l Middle-click to perform the copy: control points of the second section are now positioned in a
same manner as those of the first section.
89. In the Clustering frame, keep Number of radial points set to <9>.
90. Left-click the Radial clustering button (if menu not already extended) and set the clustering
as presented in the following figure.
91. Activate the Clustering reciprocity parent -> inner option.
92. Create the butterfly topology in the second block by pressing the Create/update button.
Close the dialog box.
3.2.5
Control Mesh Quality
94. Check for negative cells by clicking
.
95. Click the Apply button and press Ok.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pushing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
96. Close the dialog box.
97. Check for grid quality by clicking
.
A detailed analysis of mesh quality on a 3D mesh can only be performed once the 3D mesh has been
generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window by using the Type pull-down menu.
98. Select block number (0 for all).
99. Select quality criteria using the Type pull-down menu.
100. Left-click the Show chart button to visualize the distribution of selected criteria in the form
of a histogram. The histogram is drawn per block (0 = all blocks).
101. Left-click part of the histogram to plot the corresponding cells in the 3D view.
102. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
103. Close the dialog box.
3.2.6 Define Boundary Conditions
104. Go to Grid/Boundary Conditions... to open the dialog box.
Note that only the parent block patches appear in the lists of the dialog box. Consequently,
connections are performed between parent block patches. Therefore these ones are visualized instead
of the butterfly block patches.
Face 1 of Block 1 is activated in the dialog box and displayed in pink meaning that its boundary
condition type is undefined.
105. For Block 1 Face 1, set Patch Type to OUT (outlet boundary condition). To do this, left-
click the Set Patch Type menu, drag the mouse to the OUT button and release the left mouse
button.
106. Select Block 1 - Face 2 in the dialog box (left-click it) and set Patch Type to INL (inlet
boundary condition).
107. Select the patches defining Block 1 Faces 3, 5 and 6 (<Ctrl> + left-click) in the dialog box
and set Patch Type to SOL.
108. Select all the patches defining Block 1 - Face 4 (<Ctrl> + left-click) except patch 5 (the
patch connected to Block 2) in the dialog box and set Patch Type to SOL.
109. Select the patches defining Block 2 - Faces 1, 2, 5 and 6 (<Ctrl>+ left-click) in the dialog
box and set Patch Type to SOL.
110. Select the patch defining Block 2 - Face 4, set Patch Type to INL (inlet boundary
condition).
Two patches remain undefined (UND ). These patches should be connected by a full non-
matching connection, since they are located at the same position.
3.2.7
Define Full Non-Matching Connection
In this section, the full non-matching connection between the two blocks will be defined.
111. Press the Define... button in the Full Non Matching frame (Boundary Conditions dialog
box). It opens a dialog box controlling the FNMB connections.
112. In the left patches list, select UND in the Type filter.
113. Left-click the first patch 1 4 5. It is highlighted in the graphics area in yellow.
114. In the right patches list, select UND in the Type filter.
115. Left-click patch 2 3 1. It is highlighted in the graphics area in blue.
116. In the Connection Name entry, type <connection> and press <Enter>.
117. Create the FNMB connection by pressing the Create/update button. The new connection
appears in the list at the right of the dialog box.
The type of the patches involved in the connection is automatically changed from UND to SOL*.
118. Press the Compute & Show button to compute and visualize the triangulation of the
connection on grid level 0 by default. The result is shown in the following figure. Calling this
item is optional in IGG™.
119. Close the Full Non Matching Connections dialog box.
120. Close the boundary conditions dialog box.
3.2.8
Save Project
121. Go to File -> Save -> Save As <tutorial3> and press <Enter> to save mesh files.
The mesh files (6 files) contain the multiblock mesh topology, geometry, grid points and the
boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg" and ".config". The meaning of
these files is detailed in the User Guide.
TUTORIAL 4.
VOLUTE
4.1
INTRODUCTION
4.1.1
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
The tutorial consists of the mesh generation of a volute to explain the basic features of the major
topology and grid generation modules within IGG™.
The tutorial shows the successive steps that must be followed to generate a 3D mesh and to define
the boundary conditions required before starting a solver:
l import an existing geometry,
l define the topology,
l create internal grid faces,
l project face grid onto a surface,
l check mesh quality,
l create full non-matching connection.
4.1.2
Prerequisites
This tutorial does not require any particular prior knowledge but it is strongly recommended for
beginners to perform the basic Tutorial 1, Tutorial 2 and Tutorial 3.
4.1.3
Presentation
A mesh in a volute is created in this example case. The volute consists of a scroll limited by two
planes completed by curves and surfaces that will be used to map the structured grid blocks on the
geometry. The final generated mesh is shown below.
4.1.4
Preparation
Start IGG™
On Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows
1. click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or
in
Start/Programs/NUMECA Software/AutoGrid#.
2. alternatively IGG™ can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or
<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic
Installation section and # is the version (e.g. 131 ).
The IGG™ graphical user interface by default provides a visualization of the geometry and mesh
of the internal or external test case in the 3D view. The access to main menu and controls is
provided through a menu bar and a quick access pad, and is complemented with a tool/icon
bar and a control area (including the keyboard input area).
4.2 MESH GENERATION
4.2.1
Load Geometry
The next steps describe the importation of geometry curves and surfaces needed to delimitate the
computational domain. ("Where to Find the Files Used in the Tutorials?" (p. 4))
1. Open File/Import/IGG Data... (
The curve is loaded into IGG™ and displayed in the active view.
). A file chooser is opened. Select the "volute.dat" file.
2. Create geometry groups to organize geometrical data:
l Click Create group in the View/Geometry Groups page of the Quick Access Pad.
l Type <main> and press <Enter> to set a name for the first group, which will contain the
curves and surfaces defining the scroll.
l Repeat the above steps to create a second group <outlet> that will contain the curves and
surfaces defining the volute exit.
3. Add selected geometry to each group:
l Select Geometry/Select/Curves and Geometry/Select/Surfaces to select curves or surfaces
respectively.
l Left-click a geometrical entity to select it (selected curves highlighted in yellow and selected
surfaces highlighted in red or yellow). Select the curves and surfaces as illustrated in yellow
and red in below figure.
A group of curves/surfaces can be easily selected by left-clicking and moving the mouse over the
screen without releasing the mouse button. All the curves/surfaces included in the specified region,
will be selected when the mouse button is released.
l Right-click the "main" group name.
l Select Add Selection to add the selected geometry in the selected group.
l Repeat above steps, selecting now all the remaining curves and surfaces. Check carefully that
all the remaining curves and surfaces are selected. Add the selected geometries to the "outlet"
group.
4. Left-click a group name to toggle the display of the corresponding geometry group.
The geometry is now organized.
4.2.2
Create & Control Blocks
This section describes the creation of the blocks used to mesh the full volute. In general, a first
block is used to mesh the scroll, a second block to mesh the volute exit and a third block to
control the mesh in the nozzle area. These blocks will be created by constructing an initial cube,
specified by two opposite corners, and by snapping their vertices to the boundary curves of the
surface. During these operations, the edges of the blocks will be automatically mapped on the
curves or surfaces.
5. Left-click the Insert New Block icon (
).
6. Place the first vertex as presented in the following figure at the desired location and left-click to
validate its position.
7. Place the second opposite vertex as presented in the following figure and left-click to validate
its position.
A local coordinate axis system IJK will appear at the location of the first vertex. Its orientation can
be modified so that the K-axis points in the flow direction, as an example.
8. Choose the block axes:
l Press the <o> key to change the axis origin if necessary.
l Press the 
 key to change the axis orientation if necessary.
l Left-click to validate the axis choice.
Right-click will abort the block insertion.
9. Move vertices to map the block onto the geometry:
l Move the mouse to the desired vertex.
l Left-click it when highlighted in yellow to pick it.
l Move to mouse to place the vertex on the geometry.
l Left-click to fix the vertex position (edges are automatically mapped onto the geometry when
the vertices used by the edge are on the same curve or surface).
10. Visualize your block with the wireframe and shading grid viewing option.
11. Extend the block along the scroll:
l Left-click the Extend block icon (
).
l Left-click the face (face edges highlighted in white or black) to extend the block as shown in
the following figure.
l Middle-click to expand the block.
l Move the mouse and left-click to fix the extended block face.
12. Move the block vertices to map the extended block edges as shown below.
The block extension automatically creates an internal face. The internal face divides the
perpendicular edges into two segments (initial segment and an extended segment).
13. Repeat the above steps to cover the full volute scroll as presented in figure below.
Vertices can be added to map the blocks onto the geometry if necessary by clicking the Insert
Vertex icon (
). Vertices are visualized in your block with the vertices grid viewing option.
By default, the extended segments have only two grid points.
14. Increase the number of grid points along the "extended" segments:
l Left-click the segment to select it (the selected segment is highlighted in yellow).
l Right-click and select Segment/Set Number of Points.
l Type for example <13> and press <Enter> in the Set Number of Points dialog box. Click
Apply.
l Repeat the above steps to set the number of points as presented in figure below.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
l Close the dialog box.
15. Control the clustering along segments:
l Left-click a segment to select it (the selected segment is highlighted in yellow).
l Click the Cluster Points icon (
) in the Quick Access Pad/Grid/Insert/Edit menu. A
dialog box appears which can be used to control the distribution.
16. Select Define/Edit group to define a new group: a new dialog box appears.
17. Click the Create button. The dialog is extended to provide a field in which the name of the
group can be specified. Enter the name <group-1> and press <Enter> (or the Create button). The
group is added to the list. Do not close the dialog at this stage.
18. The segments will now be added to the group one by one in the following way:
l Move the cursor to one of the segments to define a block section and left-click to select it.
When selected, arrows appear on the segment and the parent block is highlighted. If this is not
the proper segment, repeat the step.
l Middle-click to add the segment to the list. The segment should appear in the group in the
dialog box.
l Repeat the above steps to add all the segments defining the section of the block as presented in
figure below.
l Close the dialog box or right-click in the graphics area to complete the group creation.
The group is now defined and can be used to specify the clustering on all segments at once.
19. In the popup menu of the Clustering dialog box select group name "group-1" (it should be
the default).
20. Select distribution type At Both Ends and set initial spacing to <0.01>.
21. Click Apply to group to apply the clustering to each segment in the group.
The grid point distribution can be visualized by selecting the Quick Access Pad/View/Grid/Toggle
Grid Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing the
mesh using the icon Quick Access Pad/View/Grid/Toggle Face Grid (<Ctrl-z>).
22. Close the dialog box.
By default, all the faces of the block are generated using a bilinear interpolation. However, the
curved faces should lie on the surfaces defining the scroll. A projection must be performed for
these faces so that the grid exactly points on the surface.
23. Select the surfaces corresponding to the scroll (Geometry/Select/Surfaces item or select
"main" under View/Geometry group).
24. Select one of the curved faces by left-clicking a face segment until the face edges are
highlighted in white or black.
25. Click the Project Face icon (
dialog box to set the projection parameters.
) in the Quick Access Pad/Grid/Generate page. It opens a
26. Keep the default parameters: projection on Selected Surfaces - validation level 2 - boundary
projection Off, since the edges are already on the surface (automatic mapping feature) - entire
Face projection.
27. Click Apply to perform the projection of the active face.
28. Repeat the above steps for the other curved face and Close the dialog box.
29. Repeat step 9 to move the face close to the nozzle as presented in the following figure to
ensure a good quality of the mesh when adding a new block around the nozzle.
Vertices can be added to map the blocks onto the geometry if necessary by left-clicking the Insert
Vertex icon (
).
Before generating the block grids, a check must be performed to ensure that the faces still lie on
the input geometry. This might not be the case anymore if an operation has been performed on the
block faces, for example adjusting a vertex interactively. In that case, IGG™ performs a default
algebraic 4 boundary interpolation to keep the face grids inline with the boundaries.
This regeneration can be done in a straightforward way by replaying the generation of the face
grids.
30. Select the Regenerate Faces item in the Quick Access Pad/Grid/Generate page. A dialog
box is opened to select the face(s) to regenerate.
31. Select All Blocks Faces.
32. Click Apply to fully regenerate all face grids of all the blocks in the project.
33. Close the dialog box.
All the boundary faces of the block are now properly generated.
To mesh the area around the nozzle a new block will be created by its 8 vertices.
34. Left-click the Insert New Block by picking vertices icon (
) in the Quick Access Pad.
35. Move the mouse to the desired location and left-click to place the first vertex.
36. Repeat the above steps to place the other three vertices defining the first face.
When the first four vertices are placed, a 3D block appears following the mouse cursor. You can lock
the movement in one direction by pressing one of the following key: <x >, <y >, <z> to lock the
movement in the specified axis directions, <n> to lock the movement perpendicular to the first face,
<v> to lock the movement in a user-defined direction and <u> to unlock.
37. Repeat the above steps to place the other four block vertices defining the opposite face.
A local coordinate axis system IJK will appear at the location of the first vertex. Its orientation can
be modified so that the K-axis points in the flow direction, as an example.
38. Choose the block axes:
l Press the <o> key to change the axis origin if necessary.
l Press the 
 key to change the axis orientation if necessary.
l Left-click to validate the axis choice.
39. Insert an internal grid face to control the face grid generation and/or to allow a connection
between blocks:
l Left-click the block edges to select the block as presented in figure below.
l Left-click the Insert Internal Face icon (
) in the Quick Access Pad.
l Left-click yes to confirm the block 2 generation.
l Set the Sweep along J to <2>: the internal grid face appears in red.
l Click Save.
l For the second face set the Sweep along J to <3>: the internal grid face appears in red.
l Click Save.
l Close the dialog box.
Each internal face is composed of four edges and four vertices (diamond).
40. Modify the location of the internal faces vertices and add an additional vertex to control the
mapping if necessary:
l Go to Geometry/Draw Polyline/Free to create a polyline to map the vertices of the internal
grid faces as presented in next figure.
l Move the face vertices to the desired location (step 9).
l Add a new vertex to control the mapping by left-clicking the Insert Vertex icon (
) and
left-clicking the desired edge to add the vertex on it. Move the new vertex to the desired
location (step 9).
96
IGG™ 13.1 Tutorials
41. Increase the number of grid points along the segments:
l Left-click segment to select it (the selected segment is highlighted in yellow).
l Right-click and select Segment/Set Number of Points.
l Type <25> and press <Enter> in the Set Number of Points dialog box. Click Apply to
confirm.
l Repeat the above steps to set the number of points as shown in the following figure.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
l Close the dialog box.
42. Control the clustering along the segments:
l Left-click segment to select it (the selected segment is highlighted in yellow).
l Click the Cluster Points icon (
) in the Quick Access Pad/Grid/Insert/Edit menu. A
dialog box appears which can be used to control the distribution.
l Select the distribution type as presented in figure below.
l Press the Apply to seg button to apply the clustering to the selected segment.
l Adapt the clustering in block 1 if necessary to ensure a good quality between the block used
for the scroll and the block used for the nozzle.
l Left-click the segment to select it (the selected segment is highlighted in yellow).
l Select the distribution type as presented in figure below.
l Press the Apply to seg button to apply the clustering to the selected segment.
l Close the dialog box.
By default, all the faces of the block are generated using a bilinear interpolation. However, the
curved faces should lie on the surfaces defining the nozzle. A projection must be performed for
these faces such that the grid lies exactly on the surface.
43. Select the surfaces corresponding to the nozzle (Geometry/Select/Surfaces item or select
"main" in View/Geometry group).
44. Select one of the faces by left-clicking a face segment until the face edges are highlighted in
white or black.
45. Click the Project Face icon (
box which is used to set the projection parameters appears.
) in the Quick Access Pad/Grid/Generate page. A dialog
46. Keep the default parameters: projection on Selected Surfaces - validation level 2 - boundary
projection Off, since the edges are already on the surface (automatic mapping feature) - entire
Face projection for the faces of block 1 or define Range projection for the face of block 2 (left-
click the limit of the yellow square, type the values as presented in below picture and press
<Enter>).
47. Click Apply to perform the projection of the active face.
48. Repeat the above steps to project the other two faces onto the surfaces.
To mesh the volute exit, a last block will be created by extruding a range of the nozzle block face.
In order to make sure that the meshing works properly, this face should cover the volute exit
completely.
49. Click the Extrude Range icon (
dialog box to set the extrusion range as well as the direction and magnitude of the extrusion.
) in the Quick Access Pad/Grid/Create page. It opens a
By default, the range corresponds to the complete face and is displayed in red in the graphics area.
50. Change the range by left-clicking each boundary of the small yellow square and enter the
appropriate values. These values should be such that the range fits the volute exit, as shown in the
above figure: the limits I = [1,25] and J = [37,61] have been selected.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
51. Select the User Direction option and type <0 -1 0> (direction of the volute exit).
52. Change the Magnitude to <55> (size of the volute exit).
53. Click Apply a new block is created. Close the dialog box.
When extruding a new block, IGG™ automatically connects the new block to the existing one by
connecting the vertices, the topological edges and the segments. A division into patches of the
reference face and a connection is also performed, if possible.
54. Select the Block or Grid scope in the Quick Access Pad/View/Grid page.
55. Select the Toggle Vertices icon (
) to visualize the grid for the whole block.
56. Left-click one of the four vertices.
57. Move and left-click to snap this vertex to the volute exit, as shown in the following figure.
58. If necessary, add a new vertex to control the mapping by clicking the Insert Vertex icon (
) and left-clicking the desired edge to add the vertex on it. Move the new vertex (step 9) to the
desired location .
59. Repeat the above steps for the three other vertices.
60. Increase the number of grid points in the flow direction:
l Left-click a segment to select it (the selected segment is highlighted in yellow).
l Right-click and open the Segment/Set Number of Points menu.
l Type <25> and press <Enter> in the Set Number of Points dialog box. Click Apply.
61. Control the clustering along segments:
l Left-click a segment to select it (the selected segment is highlighted in yellow).
l Click the Cluster Points icon (
) in the Quick Access Pad/Grid/Insert/Edit menu. A
dialog box appears which can be used to control the distribution.
l Select the distribution type as presented in the following figure.
l Press the Apply to seg button to apply the clustering to the selected segment.
l Close the dialog box.
By default, all faces of the block are generated using a bilinear interpolation. However, the faces
should lie on the surfaces defining the volute exit. A projection must be performed for these faces
such that the grid lies exactly on the surface.
62. Select the surfaces corresponding to the volute exit (use Geometry/Select/Surfaces or select
"outlet" in View/Geometry group).
63. Select one of the faces by left-clicking a face segment until the face edges are highlighted in
white or black.
64. Click the Project Face icon (
dialog box to select projection parameters.
) in the Quick Access Pad/Grid/Generate page. It opens a
65. Keep the default parameters: projection on Selected Surfaces - validation level 2 - boundary
projection Off, since the edges are already on the surface (automatic mapping feature) - entire
Face projection.
66. Click Apply to perform the projection of the face.
67. Repeat the above steps to project the other faces.
68. Close the dialog box.
4.2.3 Generate Block Grid
Before generating the block grids, a check must be made to ensure that the faces are still lying on
the input geometry. This might not be the case anymore if an operation has been performed on the
block faces, such as adjusting a vertex interactively. In that case, IGG™ performs a default
algebraic 4 boundary interpolation to keep the face grids inline with the boundaries.
This regeneration can be done straightforwardly by replaying the generation of the face grids.
69. Choose Regenerate Faces in the Quick Access Pad/Grid/Generate page. A dialog box is
opened to select the face(s) to regenerate.
70. Select All Blocks Faces.
71. Apply to fully regenerate all face grids of all the blocks in the project.
72. Close the dialog box.
In case the Regenerate Faces results in an undesired projection, select the problematic faces and go
to Show Historyin the Quick Access Pad/Grid/Generate page. Delete all steps except the last
one, close the dialog box and choose Regenerate Faces again.
73. Click the Block 6 Bnd icon (
box is opened to select the block(s) to generate.
) in the Quick Access Pad/Grid/Generate page. A dialog
74. Select the All option.
75. Click Apply to generate the grid in the three blocks.
76. Close the dialog box.
4.2.4
Control Mesh Quality
77. Check for negative cells by clicking
.
78. Press Apply and click Ok in the dialog box.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh using the View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the
number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before a calculation can be started.
79. Close the dialog box.
80. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
81. Set block number (0 for all).
82. Select quality criteria using the Type pull-down menu.
83. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
84. Left-click part of the histogram to plot the corresponding cells in the 3D view.
85. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
86. Close the dialog box.
4.2.5 Define Boundary Conditions
87. Go to the Grid/Boundary Conditions... menu to open a dialog box.
In this example Block 1 - Face 3 is activated is activated in the dialog box and displayed in pink,
meaning that its boundary condition type is undefined.
88. For Block 1 - Face 3, set Patch Type to INL (inlet boundary condition). To do this, left-click
Set Patch Type, drag the mouse to the INL button and release the left mouse button.
89. For the patch presented in the following figure, the patch needs to be split:
l Left-click the patch in the list.
l Left-click the Edit Patch >> button.
l Right-click and choose Divide Patch horizontally.
l Type <21> and press <Enter> to divide the patch in two.
l Left-click the << button.
90. Select the patches in the dialog box (left-click it) and set the Patch Type to INL or SOL or
OUT as presented in the following figure.
91. Click the Search button in the Connectivity frame. Two patches, originating from the
extrusion of the nozzle block to create the volute exit block, are automatically defined as perfectly
matching (CON). Four patches are defined now as non-matching (NMB). These patches should
be connected by full non-matching connections, since they are located at the same position.
Before doing that, set all these patches to UND.
4.2.6 Define Full Non-Matching Connection
In this section, the full non-matching connection between the two blocks will be defined.
92. Click the Define... button in the Full Non Matching frame (boundary conditions dialog box).
It opens a dialog box controlling the FNMB connections.
93. In the left patches list, select UND in the Type filter.
94. Left-click the first patch "1 1 1". It is highlighted in the graphics area in yellow.
95. In the right patches list, select UND in the Type filter.
96. Left-click the patch "2 2 1". It is highlighted in the graphics area in blue.
97. In the Connection Name entry, type <connection-1> and press <Enter>.
98. Create the FNMB connection by pressing the Create/update button. The new connection
appears in the list at the right of the dialog box.
The type of the patches involved in the connection is automatically changed from UND to SOL*.
99. Repeat the above steps for patches "1 2 1" and "2 1 1" and name it "connection-2".
100. Left-click a connection in the connection list area.
101. Press the Compute & Show button to compute and visualize the triangulation of the
selected connection on grid level 0 by default. Both results are shown in the following figure.
Calling this item is optional in IGG™.
102. Close the Full Non Matching Connections dialog box.
103. Close the boundary conditions dialog box.
4.2.7
Save Project
104. Go to File -> Save -> Save As <tutorial4> and press <Enter> to save the mesh files.
The mesh files (6 files) contain the multiblock mesh topology, geometry, grid points and the
boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_ txt"), ".igg" and ".config". For more
information regarding these files, the user is referred to the User Guide.
TUTORIAL 5.
AXISYMMETRIC SEAL LEAKAGE
5.1
INTRODUCTION
5.1.1
Introduction
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
The tutorial shows the successive steps that must be followed to generate a mesh of an
axisymmetric geometry (i.e. seal leakage) and to define the boundary conditions required before
starting a solver:
l set up an axisymmetric project,
l import curves needed for meshing,
l define the topology before meshing,
l create/place blocks,
l specify the clustering,
l generate a face grid,
l check the mesh grid quality,
l define the boundary conditions.
5.1.2
Prerequisites
This tutorial does not require any prior knowledge but it is strongly recommended for beginners to
perform the basic Tutorial 1, Tutorial 2 and Tutorial 3.
5.1.3
Presentation
A mesh of an axisymmetric seal leakage is created in this example case. The input geometry
describing the seal leakage consists of the curves defined in a ".dat" file. ("Where to Find the Files
Used in the Tutorials?" (p. 4))
Using the axisymmetric option, only one face of a block (lying in the plane) will be generated
instead of six, as classically required when generating 3D blocks. During the saving of the mesh,
IGG™ will automatically generate the volume grid by rotating one cell along the Z-axis, to match
the requirement of the FINE™/Turbo flow solver.
5.1.4
Preparation
Start IGG™
On Linux
igg -niversion # -print <Enter> where # refers to the version (e.g.131 or autogrid131 ).
On Windows
1. click on the IGG-AutoGrid5 icon in Start/Programs/NUMECA Software/Fine# or
in
Start/Programs/NUMECA Software/AutoGrid#.
2. alternatively IGG™ can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\iggx86_64.exe <Enter> or
<NUMECA_INSTALLATION_DIRECTORY>\autogrid#\bin64\iggx86_64.exe <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in the Basic
Installation section and # is the version (e.g. 131 ).
The IGG™ graphical user interface by default provides a visualization of the geometry and mesh
of the internal or external test case in the 3D view. The access to main menu and controls is
provided through a menu bar and a quick access pad, and is complemented with a tool/icon
bar and a control area (including the keyboard input area).
5.2 MESH GENERATION
Before running the IGG™ software, it is advised to make a sketch of the face to be generated and
to identify the grid boundaries, as well as the number and orientation of segments on each of the
edges.
Conventionally in axisymmetric configurations (2D), the face being generated is always Face 1 of
the 3D block. For this face, the topology selected for the seal leakage is shown in the following
figure.
5.2.1
Define Project Configuration
When launching IGG™, a 3D project is initialized by default. For this tutorial, the axisymmetric
option needs to be activated.
1. Access the File/Project Configuration... menu: a dialog box is opened.
2. In the Dim area, left-click the axisym button.
3. Keep the axis of rotation along Z.
4. Click the Apply button to validate the input: a confirmation is asked.
5. Choose yes to confirm.
6. Close the dialog box.
A new axisymmetric project is now initialized and only the XZ-plane is active. The depth of the
view, controlling the y-coordinate, is invariably set to 0. You are now ready to start to mesh the
axisymmetric seal leakage in 2D!
5.2.2
Import Geometry
7. Go to File/Import/IGG Data... (
). A file chooser is opened. Select the "seal-leakage.dat"
file ("Where to Find the Files Used in the Tutorials?" (p. 4)). The curves are loaded into IGG™
and displayed in the active view.
8. Left-click the Default orientation button (
) in the Viewing buttons area.
5.2.3
Create & Control Blocks
9. Left-click the Insert New Face icon (
square face will appear in the graphics area.
) in the Quick Access Pad/Grid/Create page. A
10. Move the cursor (representing the left corner of the rectangle) near the inlet polyline . Once the cursor is attracted to the top left corner, left-click to place the first point.
11. Move the cursor (representing the right corner of the rectangle) near the outlet polyline . Once the cursor is attracted to the bottom right corner, left-click to place the second
point. The square face is now fixed and should appear with a default orientation.
12. Left-click to accept the default orientation and to complete the face creation.
At this stage, the face is created. Its four edges appear as straight lines which still need to be
mapped onto the seal leakage geometry.
13. Move vertices to map the block on the geometry:
l Move the mouse to the desired vertex.
l Left-click the vertex when highlighted in yellow to pick it.
l Move the mouse to place the vertex on the geometry.
l Left-click to fix the vertex position (edges are automatically mapped onto the geometry when
the vertices used by the edge are on the same curve or surface).
The number of grid points along the I- and J-directions is currently 9 (default) and will be
changed to (25x61).
14. The number of grid points will be changed as follows:
l Left-click the left segment to select it (the selected segment is highlighted in yellow).
l Right-click and select Segment/Set Number of Points.
l Type <25> in the Set Number of Points dialog box, press <Enter> and click Apply.
l Repeat the above steps to set the number of points to 61 for the top segment.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
l Close the dialog box.
The initial mesh can be visualized by pressing the Toggle Face Grid icon (
Access Pad/View/Grid page.
) in the Quick
15. Map the seal leakage geometry as presented in the following figure (repeat step 9 to step 14).
16. Insert a vertex with a fixed point attached to the edge to ensure a matching connection:
l Left-click the Insert Vertex icon (
) in the Quick Access Pad/Grid/Insert/Edit page.
l Move the mouse to the desired edge (figure below): a square marker representing the vertex
will appear when the cursor is close enough to the edge.
l Left-click to fix the vertex to the edge and place it (left-click).
l Move the mouse to the additional vertex.
l Right-click it when highlighted in yellow and select Attach Fixed Point: a diamond marker
representing the vertex with attached fixed point will be highlighted in yellow when moving
the mouse over it.
l Right-click the marker when highlighted in yellow and select Change ... index.
l In the keyboard input area, type <13> and press <Enter> to change the grid point attached to
the vertex.
17. Fill the seal leakage geometry as presented in the following figure (repeat step 9 to step 14).
Additional vertices have to be inserted (empty square in above figure) in blocks A, B, C and D
respectively.
You can also use the shortcut <i> to activate the Insert Vertex function.
18. Fill the seal leakage geometry as presented in the following figure (repeat step 9 to step 14).
19. Insert a vertex with a fixed point attached to the edge to ensure a matching connection as
presented in the above figure (repeat step 16).
20. Insert an internal grid line to control the grid generation and/or allow a connection between
blocks:
l Left-click the block edges to select the block as presented in the figure below.
l Click the Insert Internal Grid Line icon (
) in the Quick Access Pad.
l Move the mouse cursor over the active face. When moving the cursor over a grid line, the grid
line is highlighted and its index appears on the screen.
l Press <i> or <j> to enable grid line selection in a preferred direction. To disable it, press <u>.
l Left-click to create the internal grid line as presented in the following figure ("I = 17").
l Select no when asked to create the underlying geometry (underlying geometry is not necessary
if you want to place the internal grid line on existing geometry entities).
l Repeat the above steps to create a second internal grid line at "I = 45".
21. Modify the location of the vertices to control the mapping and to ensure the connections:
l Move the mouse to the desired vertex and left-click to select it.
l Place the vertex to the new desired location and left-click again to fix it to the new position.
22. Insert internal grid lines (repeat step 20) used to control the face grid generation and/or to
allow a connection between the blocks as presented in the following figure at "I = 13", "25",
"37", "49", "61", "73", "85", "97".
23. Modify the location of the vertices to control the mapping and ensure connections:
24. If needed, the vertices added in step 17 on block A have to be removed first (right-click the
vertex when highlighted in yellow and select Delete Vertex) in order to correctly place the
internal grid lines. Afterward, the vertices have to be inserted again in block A.
25. Insert an internal grid line to control the inlet block as presented in the following figure (repeat
step 20).
26. Modify the location of the vertices to control the mapping and to ensure connections.
Once the edges and internal grid lines of the faces are set up, the next step consists of connecting
the faces to ensure the connection between the blocks and to ease the clustering.
27. Left-click the Whole Grid button in the Quick Access Pad/Grid/Connect page: a popup
window appears.
28. Consecutively left-click Vertices, Orphan Vertices, Edges and Grid Points to connect the
whole grid. The selected entities which are connected will be highlighted in green, or red if
already detected.
5.2.4 Define Clustering
Once the edges of the face are set up, the next step is to specify the clustering of grid points along
each edge. This step is essential before proceeding to the face grid generation since the location of
the grid points at the boundaries (on the edges) is directly used to interpolate the face grid.
Grid point clustering will be specified here to capture the boundary layer on the solid walls.
the following figure shows the boundary conditions of the seal leakage and presents the solid
walls on which the boundary layer needs to be captured (cell width of 1e-5 [m]).
29. Click the Cluster Points icon (
dialog box appears which can be used to control the distribution.
) in the Quick Access Pad/Grid/Insert/Edit page. A
30. Select Define/Edit group to define a new group: a new dialog box is opened.
31. Press the Create button. The dialog is extended to provide a field in which the name of the
group can be specified. Enter the name <group1> and press <Enter> (or the Create button). The
group is added to the list. Do not close the dialog box at this stage.
32. The segments will now be added to the group one by one:
l Move the cursor to one of the segments defining a block section and left-click to select it.
When selected, arrows appear on the segment and the parent block is highlighted. If this is not
the proper segment, repeat the step.
l Middle-click to add the segment to the list. The segment appears in the group in the dialog
box.
l Repeat the above steps to add all segments defining the section of the block as presented in the
following figure.
l Close the dialog box or right-click in the graphics area to complete the group creation.
The group is now defined and can be used to specify the clustering on all segments at once.
33. In the popup menu of the Clustering dialog box, select the group name "group1" (it should
be the default).
34. Select distribution type At Both Ends and set Initial spacing to <1e-5>.
35. Click Apply to group to apply the clustering to each segment in the group.
The grid point distribution can be visualized by clicking the Quick Access Pad/View/Grid/Toggle
Grid Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing the
mesh, using the Quick Access Pad/View/Grid/Toggle Face Grid icon (alternatively, use <Ctrl-
z>).
The clustering on the segments can also be set one by one, with no group defined.
36. Select the segment presented in the following figure by left-clicking it (highlighted in yellow).
37. Select distribution type At Both Ends and set Initial spacing to <1e-4>.
38. Press the Apply to seg button to perform the clustering.
39. Repeat the above steps to impose the clustering on all segments of the mesh as presented in
the figures below.
134
IGG™ 13.1 Tutorials
40. Close the dialog box.
The face of the block is now completely created and generated.
5.2.5
Control Mesh Quality
41. Check for negative cells by clicking
.
42. Click Apply and press Ok in the dialog box.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by clicking the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
43. Close the dialog box.
44. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
45. Set block number (0 for all).
46. Select quality criteria using the Type pull-down menu.
47. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
48. Left-click part of the histogram to plot the corresponding cells in the 3D view.
49. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
50. Close the dialog box.
5.2.6 Define Boundary Conditions
This section explains the division of a face into patches and the setting of a boundary condition
type for each patch.
As explained in the introduction, an axisymmetric project consists of a 2D face grid rotated along
the Z-axis to yield a 3D block. Within the axisymmetric project, boundary conditions are specified
directly on this 3D block. The rotation is performed automatically by IGG™ when opening the
dialog box to set the boundary conditions.
51. Select the Grid/Boundary Conditions... menu to open the dialog box. The 2D face grids are
automatically rotated and appear as 3D blocks in the 3D view.
The boundary condition type for Faces 1 and 2 for all blocks are automatically set to PER
(periodic matching condition) in 2D, which explains why these faces do not appear in the patch
browser (because their boundary condition type cannot be changed). Face 3 is activated in the
dialog box and displayed in pink meaning that its boundary condition type is undefined.
52. For Face 3 of Block 1, set Patch Type to INL (inlet boundary condition). To do this, left-
click Set Patch Type, drag the mouse to INL and release the left mouse button.
53. Select Face 4 in the dialog box (left-click it) and set Patch Type to OUT (outlet boundary
condition).
54. Select Face 6 in the dialog box and set Patch Type to SOL (solid wall).
Face 5, which corresponds to the top of the block must be divided into several patches. The
patches will be obtained by dividing the existing patch into three smaller ones.
55. Select Face 5 (1 5) and press the button Edit Patch >>. Right-click in the K-J domain and
select the Divide Patch vertically option to divide Face 5 at indices 17 and 45 (type <17> and
press <Enter>, then type <45> and press <Enter> to validate the divisions). Set Patch Type of
patches 1 and 3 of Face 5 (1 5 1 and 1 5 3) to SOL (solid boundary condition).
56. Repeat the above steps to divide the four patches presented in the figures below.
57. Set the Patch Type to SOL (solid boundary condition) or INL (inlet boundary condition) as
presented in the following figure. To do this. select the right patch in the list, left-click Set Patch
Type, drag the mouse to SOL or INL and release the left mouse button.
Some patches remain undefined (UND ). These patches should be connected, since they are
located at the same position.
58. Click the Search button in the Connectivity (CON / NMB / PER / PERNM) area to
automatically set up the connection (CON) between the undefined patches.
59. Select UND in the Type pull-down menu and check that there are no patches in the patch list
that are still set to an undefined type.
60. Close the dialog box: the view is set automatically back to the projected XZ-view.
5.2.7
Save Project
61. Go to File -> Save -> Save As <tutorial5> and press <Enter> to save the mesh files.
The mesh files (6 files) contain the multiblock mesh topology, geometry, grid points and the
boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_ txt"), ".igg" and ".config". For more
information regarding these files, the user is referred to the User Guide.
© NUMECA International, all rights reserved
EN201808281649

CONTENTS
NEW FEATURES IN V13
0.1 Flexlm based security ID updated to v18
0.2
0.3 General upgrade in package
Improve administration wizard
NEW FEATURES IN V13
This document provides a description of the new capabilities and major improvements included in
IGG™ v13 as well as statements outlining main customer benefits and known limitations.
The following is a detailed list of new capabilities and enhancements in IGG™ v13:
All Products:
"Flexlm based security ID updated to v18 " (p. 3)
"Improve administration wizard" (p. 4)
"General upgrade in package " (p. 5)
0.1
FLEXLM BASED SECURITY ID UPDATED TO
V18
(New in IGG™ v13.1)
(All Products)
IGG™ requires FlexLM based license keys for execution. In IGG™ v13, the security ID has
been upgraded from v17 to v18 thus requiring the delivery of new license keys for execution
Customer Benefits
None
Known Limitations
None
0.2
IMPROVE ADMINISTRATION WIZARD
(New in IGG™ v13.1)
(All Products)
The user-friendliness of the license management and diagnostics of the administration wizard is
improved:
l License Management>Product (de)activation: Deactivate button to return all fulfillment and all
servers on the machine.
l License Management>Trusted storage: check-box to return a fulfillment and refresh button to
refresh the fulfillment status if needed.
l License Management>License server: control and display the status of the known servers and
the list of all the features deserves by the selected server.
l Diagnostics: Support request button to generate a file containing the results from the checks
performed.
Customer Benefits
More user-friendly tool to diagnose and manage licensing.
Known Limitations
None
0.3 GENERAL UPGRADE IN PACKAGE
(New in IGG™ v13.1)
(All Products)
General upgrade is made in the package:
l Use of Datakit 2017.3 (for Catia V5 file import).
Customer Benefits
CATIA R26 support.
Known Limitations
None
© NUMECA International, all rights reserved
EN201808281652

New Features in v13
This document provides a description of the new capabilities and major improvements included in FINE™/Design3D v13, as well as statements outlining main customer benefits and known limitations. 
The following is a detailed list of new capabilities and enhancements in FINE™/Design3D v13:
All Products:
Flexlm based security ID updated to v18

Improve administration wizard

General upgrades in package

 
FINE™/Design3D:
Various usability improvements

Integration of FINE™/Marine package

 
Finally, the following is a detailed list of existing capabilities and enhancements included in FINE™/Design3D but still requiring additional calibration.
List of existing BETA capabilities

Ability to extract stresses in specific surfaces
Ability to output principal stresses
Integration of scaled sensitivities
Support for strict constrains in design space
Reduction of the design space based on the Principal Component Analysis (PCA) (New in FINE™/Design3D v13.1)


Flexlm based security ID updated to v18
(New in FINE™/Design3D v13.1)
		
(All Products)
FINE™/Design3D requires FlexLM based license keys for execution. In FINE™/Design3D v13, the security ID has been upgraded to v18, thus requiring the delivery of new license keys for execution.
Customer Benefits

None
Known Limitations

None


Improve administration wizard
(New in FINE™/Design3D v13.1)
		
(All Products)
The user-friendliness of the license management and diagnostics of the administration wizard is improved:

License Management>Product (de)activation: Deactivate button to return all fulfillment and all servers on the machine.
License Management>Trusted storage: check-box to return a fulfillment and refresh button to refresh the fulfillment status if needed.
License Management>License server: control and display the status of the known servers and the list of all the features deserves by the selected server. 
Diagnostics: Support request button to generate a file containing the results from the checks performed.

 
Customer Benefits

More user-friendly tool to diagnose and manage licensing.
Known Limitations

None


General upgrades in package
(New in FINE™/Design3D v13.1)
		
(All Products)
General upgrades are made in the package:

Use of Datakit 2017.3 (for Catia V5 file import);
Upgrade flow solver compilers on LINUX: PGI v17.10.

 
Customer Benefits


CATIA R26 support.
Solution time can be significantly reduced.

Known Limitations

Various usability improvements
(New in FINE™/Design3D v13.1)
		
Several usability improvements have been implemented in FINE™/Design3D v13.1.
These improvements include:

Possibility to generate the computation file (.run) in batch;
Possibility to switch the order of execution between the CFD and the FEA chains;
Possibility to define the generation of mutliple design samples from FINE™/Design3D GUI;
Possibility to rename the external solver templates within FINE™/Design3D GUI;
Support for relative path for the coupling script(s) used in external mode.
 

Customer Benefits

Enhanced usability
 
Known Limitations

None


Integration of FINE™/Marine package

		
		
		With the integration of FINE™/Marine and the C-Wizard, FINE™/Design3D further extends its scope to marine applications.	
	The user is now able to perform ship hull optimization with the most advanced algorithms and unique post-processing and data-mining capabilities.	
 
Customer Benefits

Optimize a ship hull in a dedicated optimization chain.
Known Limitations



	Only the Resistance mode of the C-Wizard is currently supported.
	The automatic post processing of pictures is not included inside of the GUI of FINE™/Design3D.
	FINE™/Marine computations are started one by one for each speed, in case of resistance curve in the C-Wizard.
	For uncertainty quantification, only geometrical uncertainties are supported. Any physical quantities including boundary conditions are not supported.

FINE™/Design3D
FINE™/Design3D is an integrated environment for the design and optimization of turbomachinery channels and blades. To get started with the use of FINE™/Design3D the links in the following paragraphs can be of good use.
Installation
Consult the System requirements  prior to installation on the hardware of choice.
Installation of FINE™/Turbo with FINE™/Design3D.
What's New?
The release note: New Features in v13 details what is new in the latest release of FINE™/Design3D.
For AutoBlade™ also a list of New Features in v13 is provided.
Getting Started with FINE™/Design3D
To get started with the use of FINE™/Design3D the following material is available:
User Guide,
Tutorial.

Tutorials

The tutorials for FINE™/Design3D as listed below provides detailed step-by-step instructions for the entire simulation process. 
The available tutorials:
Axial Compressor Rotor37 - Internal mode

Axial Compressor Rotor37 - External mode


Where to Find the Files Used in the Tutorials?
 The appropriate files (and any other relevant files used in the tutorials) can be downloaded from the corresponding link: FINE-Design3D-Tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process. 
Inputs required to execute the tutorials are most often restricted to the geometry definition.
The sequence of actions to be executed are described through a step-by-step approach, in the form of Arabic numbers.
Additional insight about some specific actions and/ or features is frequently added to illustrate the tutorial further. This information is proposed for the purpose of clarity and completeness, and should not be executed. It appears as a note with a light blue background.
The calculations executed to illustrate the behavior of the flow solver include a "reasonable" number of grid points, so as to limit the computational resources required to complete the tutorials. As a consequence, most of the underlying flow solutions must be considered as qualitative. Additional mesh refinement may be required in some circumstances so as to obtain a more quantitative picture.
Contact NUMECA local sales or support office for any question or information you may require. To allow NUMECA local sales or support office to help you out within the shortest delays, please provide a detailed description of the observed behavior and performed analysis.

TUTORIAL 2. Axial Compressor Rotor37 - External mode

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Create a new Design3D project

Screening

Create new SCREENING computation

Define CFD loop

Save project and launch computation

Post processing

Database Generation

Create new DATABASE_GENERATION computation

Define bounds of free parameters

Set database generation parameters

Save project and launch computation in TaskManager

Post processing

Optimization

Create new OPTIMIZATION computation

Check CFD loop

Set optimization parameters

Save project and launch computation

Post processing


Introduction
Introduction
In order to re-design and optimize existing blades to reach better design goals, NUMECA has developed a unique integrated environment for the design and optimization of three dimensional turbomachinery blades. This environment consists of the following components:

a modern parametric blade modeler for turbomachinery blades, AutoBlade™,
an automatic coupling between AutoBlade™  and CFD package,
a very efficient design and optimization environment for turbomachinery blades.

All these components are included into the NUMECA Graphical User-Interface (GUI) FINE™.
This tutorial is particularly adapted to the optimization of a single axial compressor blade. It makes use of the external mode in FINE™/Design3D and describes the whole optimization process.
In this tutorial, you will learn how to:

activate External mode;
set up a screening computation;
set up a database generation computation;
generate database in parallel mode;
check database generation results;
set up an optimization computation;
analyze the optimization results.

Prerequisites
This tutorial assumes that you are familiar with the FINE™/Turbo chain, so that you can understand how the provided scripts work.
Problem Description
The problem to be considered is shown schematically below (meridional view). The Rotor37 test project is an isolated axial-flow compressor wheel designed and experimentally analyzed at the National Aeronautics and Space Administration (NASA) Lewis Research Center. In this tutorial, a simplified Rotor37 geometry with 3 blade sections will be used and optimized.


The Rotor37 is characterized by the following representative values:



number of blades
36


inlet hub-to-tip diameter ratio
0.7


blade aspect ratio
1.19


tip relative inlet Mach number
1.48


hub relative inlet Mach number
1.13


tip solidity
1.29


blade airfoil sections
multiple circular arc (MCA)


rotational speed (RPM)
17188


total pressure ratio
2.106


polytropic efficiency (%)
88.9



Preparation

Copy the provided files "Tutorial_2" located in the archive FINE-Design3D-Tutorials to your working directory.
Start the NUMECA Graphical User-Interface (GUI) FINE™  v13.1:
							For Linux systems, you can access the FINE™  GUI with the following command line:fine -niversion 131 -printFor Windows systems, you can access the FINE™  GUI from the Start menu going to \Programs\NUMECA software\Fine131\FINE.


Click on the button Cancel to close the Project Selection dialog box.

Create a new Design3D project
In this section, a new FINE™/Design3D project will be created.
1. Select the menu Modules/Design 3D and click on the button Ok to start the Design3D GUI.


The FINE™/Design3D graphical user interface includes several sections that allow to set the various project parameters required before starting the computation. Access to the main menu and controls is provided through a menu bar and a left-tree, and is complemented with a tool bar.
2. Select the menu File/ New.
3. Select your directory of choice to store the project. Enter the project name in the dialog box as <Tutorial_2> , Click Save to create a new FINE™/Design3D project.
Screening
In this section, an Screening computation will be created step by step in external mode. The Screening module allows to do a CFD computation for a certain AutoBlade™ parametric geometry in an automatic way (from mesh generation to post processing).
Create new "SCREENING" computation
4. Enter Name as <Screening>, keep Run Mode as SCREENING, then click twice on the button Ok to confirm.


Define CFD loop
5. Go to the Simulation Tasks/Computation Management page, set all steps to External.


FINE™/Design3D allows to couple with FINE™/Turbo or external CFD software. The user can also mix the steps between internal/ external mode.
6. Under the section External Mode File Management: 

Set External parametric project extension to <par>,
Set External geometry extension to <geomTurbo>,
Set External grid extension to <igg>,
Set External solution extension to <run>,
Keep all others to default.



The extension will be used in the argument pairs passed to the script.
7. Go to the Simulation Tasks/Parametric Model page:

Keep Parametric Modeler Executable as Embedded interpretor (python).
Click on the button  to import the provided Parametric Modeler Script ("FINE-Design3D-Tutorials/Tutorial_2/scripts/ext_modeler_autoblade.py").
The geometry modeler script calls AutoBlade™ to generate the geometry. The script may need some modifications to take into account the version being used and the location of the installation folder. The user can open the script in any text editor to learn how the script works. Under Windows, FINE™/Turbo is expected to be installed under "C:\NUMECA_SOFTWARE\".
If the option Import script is not activated, the geometry modeler script will not be copied to the computation folder. 
				If the user moves the project to another machine, the project may not work if the path to the geometry modeler script is not valid anymore. 
			It is therefore advised to activate the option in order to enable the automatic copying of the script inside the computation folder. 
Click on the button  to import the provided Parametric Modeler Project ("FINE-Design3D-Tutorials/Tutorial_2/Rotor37_fitting.par"). Activate the option  Import script.

The imported parametric modeler project is copied in the computation directory with the name: "<projectname>_external_model_generator_template.#". Where the # is the extension imposed in the Simulation Tasks/Computation Management page.
Keep name_value in the entry Exchange parametric format, as well as free_dependent in Exchange parametric filter. More information about these two features can be found in the External Geometry Modeler page of the User Guide.


8. Select Expert Mode to access the advanced settings.



9. Select the button External Check to activate the geometry modeler check process.


Enabling the External Check option simply tells FINE™/Design3D to read the associated check file (argument -checkfile) in order to get the status of geometry modeler. It is the user's responsibility to write the check file in the geometry modeler script.
10. Go to the Simulation Tasks/Mesh Generation page,

Keep Mesh Generator Executable as Embedded interpretor (python)
Click on the button  to import the provided Mesh Generator Script ("FINE-Design3D-Tutorials/Tutorial_2/scripts/ext_mesh_ag5.py"). Activate the option  Import script.
The mesh generator script calls AutoGrid5™ to generate the mesh. The user can open the script in any text editor to learn how the script works. Under Windows,  FINE™/Turbo is expected to be installed under "C:\NUMECA_SOFTWARE\".
If the option Import script is not activated, the mesh generator script will not be copied to the computation folder. 
				If the user moves the project to another machine, the project may not work if the path to the geometry modeler script is not valid anymore. 
			It is therefore advised to activate the option in order to enable the automatic copying of the script inside the computation folder. 
Click on the button  to import the provided Mesh Generator Template ("FINE-Design3D-Tutorials/Tutorial_2/Rotor37.trb").

The imported mesh generator template is copied in the computation directory with the name: "<projectname>_external_mesh_generator_template.#". Where the # is the extension imposed in the Simulation Tasks/Computation Management page.
Select the button External Check to activate the check process for the  mesh generation.


11. Go to the Simulation Tasks/Simulation Settings page to impose all settings for the flow solver:

Keep Solver Executable to Embedded interpretor (python).
Keep Number of Configurations to 1.

The user may define multiple configurations in order to perform a multi-point optimization.

Click on the button  to import the provided Solver Script 1 ("FINE-Design3D-Tutorials/Tutorial_2/scripts/ext_solver_euranus.py"). Activate the option  Import script.

The solver script calls the FINE™/Turbo solver to launch the computation. The user can open the script in any text editor to learn how the script works. Under Windows, FINE™/Turbo is expected to be installed under "C:\NUMECA_SOFTWARE\".
If the option Import script is not activated, the solver script will not be copied to the computation folder. 
			If the user moves the project to another machine, the project may not work if the path to the geometry modeler script is not valid anymore. 
		It is therefore advised to activate the option in order to enable the automatic copying of the script inside the computation folder. 

Click on the button  to import the provided Solver Template 1 ("FINE-Design3D-Tutorials/Tutorial_2/Tutorial_2_110k.run").

The imported solver template is copied in the computation directory with the name: "projectname_solvertemplatename.#". Where the # is the extension imposed in the Simulation Tasks/Computation Management page.

Select the button External Check to activate the check process for the flow solver convergence.



12. Go to the Simulation Tasks/Post-Processing page to impose all settings for the post processing:

Keep Post-Processor Executable to Embedded interpretor (python)
Click on the button  to import the provided Post-Processor Script ("FINE-Design3D-Tutorials/Tutorial_2/scripts/ext_post_cfv.py"). Activate the option  Import script.

The post processor script calls CFView™ to perform the post processing. The user can open the script in any text editor to learn how the script works. Under Windows, FINE™/Turbo is expected to be installed under "C:\NUMECA_SOFTWARE\".
If the option Import script is not activated, the post-processing script will not be copied to the computation folder. 
			If the user moves the project to another machine, the project may not work if the path to the geometry modeler script is not valid anymore. 
		It is therefore advised to activate the option in order to enable the automatic copying of the script inside the computation folder. 

Click the button Import New Macro to import the provided macro file "FINE-Design3D-Tutorials/Tutorial_2/macros/cfv_efficiency.py".
Select the quantity "cfv_efficiency" in the list and click the button Activate Selected Macro to activate the macro "cfv_efficiency.py".
Click the button Import New Macro to import the provided macro file "FINE-Design3D-Tutorials/Tutorial_2/macros/cfv_massflow.py".
Select the quantity "cfv_massflow" in the list and click the button Activate Selected Macro to activate the macro "cfv_massflow.py".

The imported macro files are copied in the computation directory under the folder "macro_CFV". The name of the quantity is the name of the macro without the last extension.

Select the button Submit a single job.

When activating the option Submit a single job, FINE™/Design3D will merge all imported macro files into one. So that the post processor just needs to be executed once. In this case, a special treatment is needed in the script, for more details see also: FINE™/Design3D User Guide.


13. Go to the Simulation Tasks/Processor Management page, keep all the settings.


In case of multi-point computation, it is possible to launch several tasks concurrently by creating several configurations for flow solver and post processing. 
Save project and launch computation
14. Select the menu File/Save to save the project.
15. Select the menu Process/Start to launch the "Screening" computation.
Post processing
16. Once the computation is finished, go to the Solution Monitor/Simulation Results page, check the post-processing results under the tab User defined.


This page contains the numerical result, corresponding to the imported macros in the Simulation Tasks/Post-Processing page.
Database Generation
In this section, a database containing blade geometries with their associated CFD computations will be generated step by step. The database is mandatory to initialize the optimization process.
Create new "DATABASE_GENERATION" computation
17. Click on the button New in the computation management area to create a new computation



18. Enter the name <Database>, set the run mode to DATABASE_GENERATION using the button , then click on the button Ok to confirm.


The new computation "Database" is created based on the existing computation "Screening". All the settings in the Simulation Tasks menu and the imported parametric file (.par) in the computation "Screening" are copied into the new computation.
Define bounds of free parameters
19. Select the Parametric Model page in the Simulation Tasks.
In order to re-define the bounds of free parameters, the file containing the parametric variables must be imported. For that purpose, left-click on the button Import project parameters, and import the provided parametric file  ("FINE-Design3D-Tutorials/Tutorial_2/Tutorial_2_parameters_list.param"). 
After importing the parametric variables, perform the following actions:

Click on the button Reset all to freeze all the parameters to their initial values.
Enter the reference value <0.001> <Enter> for all parameters S#_TSS_$ and S#_TPS_$ that control the suction side surface and pressure side surface of the blade, where # is the index of the sections and $ is the index of the control points.
Keep the key <Ctrl> pressed, then click on all the parameter S#_TSS_$ and S#_TPS_$ to select all of them, right-click on the selected parameters and select the menu Increase bounds. 
Click on Ok.



In this tutorial, only the parameters that control the suction side surface and pressure side surface of the blade will be optimized. The menu Increase bounds can be used several times to have a bigger range.
Set database generation parameters
20. Go to to the Database Settings/Settings page,

In the Design of experiments section, keep the option Latin hypercube.
In the Parameters section, set the Number of Samples to <30> <Enter>, keep all other settings.



Save project and launch computation in Task Manager
21. Select the tab Processor Management in menu Simulation Tasks. Check the option Run in parallel, and set Number of designs to process in parallel to <6>.

Keep PVM selected (or adapt the selected option according the local queuing system). More information regarding the queuing systems are available on the page Processor Management.
Keep Active design configuration to <1>. In the section Design3D processor, select the machine on which the master process will be launch. By default, select the current workstation.
In the section CFD Mesh Generator, CFD Solver and CFD Post-Processor, select localhost in Selected Processors. The machines listed by default can be modified by clicking and on the left and right arrows.



22. Select the menu File/Save to save the project and select the menu File/Save Run Files to save the run file.
Post processing
23. Select the menu Modules/Design 3D and OK to switch back to FINE™/Design3D.
24. After the computation is finished, go to the Solution Monitor/Simulation Results page, check the post-processing results under the tab User defined.


This page contains the numerical results, corresponding to the imported macros in the Simulation Tasks/Post-Processing page.
25. Open the HTML report ("Tutorial_2/Tutorial_2_Database/_dbs/Turorial_2_db.html") to check the status of the database generation.


The status of the database generation is listed in this HTML report in detail. In case of some samples failed, a restart of the database generation with additional samples can be performed. 
Optimization
In this section, the optimization process will be shown step by step.
Create new "OPTIMIZATION" computation
26. Select the computation "Database" in the computation management area, click on the button New to create a new computation.



27. Enter the name <Optimization>, set the run mode to OPTIMIZATION using the button , then click on the button Ok to confirm.


Check CFD loop
28. Check the settings in the Simulation Tasks pages, keep all the settings.
The new computation "Optimization" is created based on the existing computation "Database". All the settings in the Simulation Tasks pages and the imported parametric file (.par) in the computation "Database" are copied into the new computation. 
Set optimization parameters
29. Go to the Optimization Settings/Optimization page to define the training database, neural network and optimization algorithm.



In the Current Training Database File section, Click on the button Import a Database to import the generated database in the computation "Database",
Locate and select the file "Tutorial_2/Tutorial_2_Database/_dbs/Tutorial_2_train.dat", then click on the button Open (or Ok on LINUX) to confirm,
Click on the button Load Training Database to load the imported database into the computer memory,

Loading the training database into the computer memory offers the possibility to verify the database statistics in the Optimization Settings/Objectives and Constraints page. 

In the Neural Network section, keep all the settings,
In the Optimization Algorithm section, select Single objective, keep the ratio button Coarse selected.

30. Go to the Optimization Settings/Objectives and Constraints page to define the penalty.

Under the Objectives tab, click on the button Create to create the penalty "cfv_efficiency",
Left-click on created objective "HUB_Z1_EQUALITY" in the list to select it,
Set the option Quantity extracted from to Tutorial_2_110k using the button ,
Keep the Penalty Type as EQUALITY,
Set the Imposed Value to  <1> <Enter> to reach the best efficiency.



31. Go to the Optimization Settings/Design Iterations page, keep the Number of Design Iterations set to 10.


Save project and launch computation
32. Select the menu File/Save to save the project.
33. Select the menu Process/Start to start the optimization process.
The computation will be launched in sequential mode on the local machine.

The optimization technique used in FINE™/Design3D is based on the concept of function approximation (using Artificial Neural Network). The purpose of the approximate model is to have a fast method able to evaluate the blade aerodynamic performance. This method requires the existence of a database containing several blade geometries and their associated aerodynamic performances. These database samples are used to construct the approximate model as shown below:
 
 
Then, an optimization algorithm is used to compute the optimum of the approximate model and, only for this sample, a CFD computation is launched. The geometrical parameters and CFD results of this new sample are stored into the database and the process goes on. As the number of samples in the database grows after each design cycle, the approximate model will become more accurate and better blade shapes will be found rapidly.

Post processing
34. After the computation is finished, go to the Solution Monitor/Simulation Results page, check the post-processing results under the tab User defined.


These pages contain the numerical results  of the computation "Optimization", corresponding to the imported macros in the Simulation Tasks/Post-Processing page. In this case, the best sample is the ninth one. The efficiency is increased from 0.848499 to 0.849778.
35. Go to the Solution Monitor/Compare Blade Geometries page to compare the blade geometries between different samples.

Set the Number of Files to <2>,
Locate and select the first parametric file "Tutorial_2/Tutorial_2_Screening/_trk/_flow/autoblade.par" using the button , which is the original fitted blade geometry.
Locate and select the second parametric file "Tutorial_2/Tutorial_2_Optimization/_opt/_design_000009/autoblade.par" using the button , which is the Design 9 and the best one.
Select "SECTION_1_DMR_TH" in the List of 2D Views section to compare the blade sections.



36. Go to the Optimization Monitor/Design Convergence History page, select the quantity "Tutorial_2_110k_cfv_efficiency" to check its convergence.



In this tutorial, only the blade surfaces (both suction side and pressure side) are optimized. Several other parameters or elements can be changed in order to improve the optimization:

Increase the bounds of the free parameters,
Execute a fine optimization algorithm,
Use a higher number of samples in database,
Increase the number of optimization cycles.
Free other parameters,
Use the grid level 000 in the FINE™/Turbo computation instead of 111,
......

TUTORIAL 1. Axial Compressor Rotor37 - Internal mode

Introduction

Introduction

Prerequisites

Problem Description

Preparation

Blade fitting

Create new AutoBlade™  project

Define target model

Define initial model

Pre-fitting

Fitting 

Save project 

Screening

Create new SCREENING computation

Import parametric file

Define CFD loop

Save project and launch computation

Post processing

Database Generation

Create new DATABASE_GENERATION computation

Define bounds of free parameters

Set database generation parameters

Save project and launch computation in TaskManager

Post processing

Optimization

Create new OPTIMIZATION computation

Check CFD loop

Set optimization parameters

Save project and launch computation

Post processing


Introduction
Introduction
In order to re-design and optimize existing blades to reach better design goals, NUMECA has developed a unique integrated environment for the design and optimization of three dimensional turbomachinery blades. This environment consists of the following components:

a modern parametric blade modeler for turbomachinery blades, AutoBlade™,
an automatic coupling between AutoBlade™  and CFD package,
a very efficient design and optimization environment for turbomachinery blades.

All these components are included into the NUMECA Graphical User-Interface (GUI) FINE™.

This tutorial is particularly adapted to the optimization of a single axial compressor blade. It makes use of FINE™/Design3D and describes the whole optimization process.
In this tutorial, you will learn how to:

fit the existing blade geometry to create a parametric blade model;
make an Autoblade™/Screening computation;
set up a database generation computation;
generate a database in parallel mode;
check database generation results;
set up an optimization computation;
start the optimization computation;
analyze the optimization results.

Prerequisites
This tutorial assumes that you are familiar with the whole FINE™/Turbo chain, so that you can set up a FINE™/Turbo project correctly. This tutorial will start from an existing FINE™/Turbo project. Some steps in the setup of a FINE™/Turbo project will not be shown explicitly.
Problem Description
The problem to be considered is shown schematically below (meridional view). The Rotor37 test project is an isolated axial-flow compressor wheel designed and experimentally analysed at the National Aeronautics and Space Administration (NASA) Lewis Research Center. In this tutorial, a simplified Rotor37 geometry with 3 blade sections will be used and optimized.


The Rotor 37 is characterized by the following representative values:



number of blades
36


inlet hub-to-tip diameter ratio
0.7


blade aspect ratio
1.19


tip relative inlet Mach number
1.48


hub relative inlet Mach number
1.13


tip solidity
1.29


blade airfoil sections
multiple circular arc (MCA)


rotational speed (RPM)
17188


total pressure ratio
2.106


polytropic efficiency (%)
88.9



Preparation

Copy the provided project "Tutorial_1" located in the archive FINE-Design3D-Tutorials to your working directory.
Start the NUMECA Graphical User-Interface (GUI) FINE™  v13.1:
                                            
       
            For Linux systems, you can access the FINE™  GUI with the following command line:fine -niversion 131 -printFor WINDOWS systems, you can access the FINE™  GUI from the Start menu going to \Programs\NUMECA software\Fine131\FINE


Click on the button Open an Existing Project, locate and select the copied project "FINE-Design3D-Tutorials/Tutorial_1/Tutorial_1.iec".
Launch the flow solver by clicking on menu Solver/Start... and Start Flow Solver button.
Click on the menu File/Save to save the project after the computation is finished.

Blade fitting
In this section, the existing Rotor37 blade geometry will be fitted and parametrized. The fitting process is an optimization process that consists of minimizing the distance between the parametric model and the target geometry. Several fitting steps may be needed during a blade fitting.


Create new AutoBlade™ project
1.  Select the menu Modules/AutoBlade and then click the button OK to start the AutoBlade™  module.




Alternatively, the AutoBlade™  module can be started directly from command without the need to access the FINE™  GUI, more details in the User Guide.
The AutoBlade™  graphical user interface includes several sections that enable the simultaneous visualization of the designed or fitted blade geometry. Access to the main menu and controls is provided through a menu bar and a quick access pad (QAP), and is complemented  with a tool/icon bar.


2. Click on the button Create a new project to create a new AutoBlade™  project. 


4. Select the button Start from scratch and click on the button Ok to confirm.


5. Select a directory ("FINE-Design3D-Tutorials/Tutorial_1/Blade_fitting/" in this tutorial) and enter the project name <Rotor37_fitting>, then click on the button Save (or OK on LINUX) to confirm.


Define target model
6.  Click on Target Settings in the QAP to expand it, then click on the button  to specify a target geometry file.


7. Go to the directory "FINE-Design3D-Tutorials/Tutorial_1/_mesh/" and select the geometry file "Rotor37.geomTurbo" in the dialog box, click on the button Open (or Ok on LINUX) to confirm.


The target geometry to be loaded must be defined in the ".geomTurbo" format.
8. Activate the button Reverse orientation to reverse the theta orientation of the blade.


Define initial model
9. Click the button  in the tool bar to import a predefined template.
10. Click on the button  and select "axial compressor" in the list to import the predefined axial compressor template, click on the button Ok to confirm.


Before the initialization and fitting processes take place, a starting model must be defined with topological settings that are well adapted to the target geometry. It is usually advised to load a template or an existing parametric model close to the target geometry. Then the user should review all design steps and modify the settings if necessary.
11. Review all the design steps under the Model Editor in the QAP, keep the settings.

Improper settings will result in poor fitted models. Check all the design steps to be sure:

use suitable topology,
use an adequate number of parameters.

A new pre-fitting is required each time the topology and/or the number of parameters are modified.

Pre-fitting
12. Click on Fitting Control in the QAP to expand it, then click on the button Adapt model to start the pre-fitting process.



Once the target and initial models are defined, a pre-fitting process must be performed.
The pre-fitting process will do:

Guess values for parameters that defines prescribed curves and laws (endwalls, sweep laws and camber curves,...).
Find the best traces for planar, cylindrical and conical stream surfaces.
Change the amount of primary sections and their spanwise locations.
Freeze some parameters that are unlikely to improve the model in the fitting process.
Initial the lower and upper bounds of the parameters of the geometrical model.

The pre-fitting process will NOT do:

Make suitable choices for the topology definition.
Capture special shapes for edges (including sharp ends).
Check that pressure and suction sides coincide with the legend of 2D views.

Pre-fitting remains an approximation and a fitting should always be executed afterwards.

13. Click on the button Ok to confirm.


14. Click on the button Yes in the warning message dialog box to start the pre-fitting process.



15. After the pre-fitting process is finished, activate the button Show projection in the QAP > Target Settings to check the difference between the target geometry and the parametric geometry in the "MERIDIONAL" view and the "B2B" view.



16. Click on the button  in the tool bar and select "section 3" to compare the difference of the section 3 in the B2B view. Click on the button   to zoom in/out the B2B view.


Fitting
17.  Click on the button Fit model in the QAP > Fitting Control to start the first fitting process.


18. Keep the default settings and click on the button Ok to confirm, then click on the button Yes to start a coarse fitting process.


The first fitting process is usually a coarse process because the topological settings could be wrong or bounds of some parameters are reached early. In such a case, a fine fitting process is useless.
19. After the fitting process is finished, click on the button   in the QAP > Fitting Control to access the fitting graph window.
20. Choose "M_RTHETA_SECTION" for Category and "SECTION_3_SPAN_100"  for Selection using the button  to compare the parametric geometry (fitted result) and the target geometry of the section 3.


21. Click on the button Close to close the fitting graph window.
22. Click on the button   in the QAP > Fitting Control to access the convergence graph window.
23. Select "5" for Fitting step and "S1_LE_RADIUS" for Graph to view the convergence history of the parameter "S1_LE_RADIUS" in the fitting step 5.


24. Click on the button Close to close the convergence graph window.
25. Select the menu Analysis/Parametric report..., four free parameters are blocked.


The number of the free blocked parameter should always be checked before launching next fitting process. This number should be 0, so that the next fitting process is able to further improve the value of the parameters.
26. Click on the tab Free, the blocked parameters are listed: "S1_LE_RADIUS", "S2_LE_RADIUS", "S2_TE_RADIUS" & "S3_LE_RADIUS". click on the button Close to close the parametric analysis window.
27. Select the menu View/Show parameter status to display the status in the parameter list window.
28. Select the menu Geometry/Parameter list... to check and modify the bounds and the current value of the parameters:

select "section1" for Group using the button ,
set the Lower bound of the parameter "S1_LE_RADIUS" to <1E-5><Enter>,
set the Upper bound of the parameter "S1_LE_RADIUS" to <0.0003><Enter>,
set the Lower bound of the parameter "S1_TE_RADIUS" to <1E-5><Enter>,
set the Upper bound of the parameter "S1_TE_RADIUS" to <0.0003><Enter>,


select "section2" for Group using the button ,
set the Lower bound of the parameter "S2_LE_RADIUS" to <1E-5><Enter>,
set the Upper bound of the parameter "S2_LE_RADIUS" to <0.0003><Enter>,
set the Lower bound of the parameter "S2_TE_RADIUS" to <1E-5><Enter>,
set the Upper bound of the parameter "S2_TE_RADIUS" to <0.0003><Enter>,


select "section3" for Group using the button ,
set the Lower bound of the parameter "S3_LE_RADIUS" to <1E-5><Enter>,
set the Upper bound of the parameter "S3_LE_RADIUS" to <0.0003><Enter>,
set the Lower bound of the parameter "S3_TE_RADIUS" to <1E-5><Enter>,
set the Upper bound of the parameter "S3_TE_RADIUS" to <0.0003><Enter>,


click on the button Ok to confirm.



29. Click on the button Fit model in the QAP > Fitting Control. Keep the default settings and click on the button Ok to confirm, then click on the button Yes to start a second coarse fitting process.
30. Select the menu Analysis/Parametric report..., the invalid parameters and free blocked parameters are 0, click on the button Close.


31.  Click on the button Fit model in the QAP > Fitting Control to start the third fitting process.
32. Select the button Fine for Accuracy, click on the button Ok to confirm, then click on the button Yes to start a fine fitting process.
33. After the fitting process is finished, click on the button   in the QAP > Fitting Control to access the fitting graph window.
34. Choose "M_RTHETA_SECTION" for Category and "SECTION_3_SPAN_100"  for Selection using the button , click once in the graph, move the cursor and click again to zoom in the blade section, compare the fitted geometry and the target geometry.


The radius at the leading edge or the trailing edge can be difficult to capture. The fitting can be improved by imposing the value of the radius manually, see step 37.
35. Click on the button Close to close the fitting graph window.
36. Select the menu Analysis/Parametric report..., the invalid parameters and free blocked parameters are 0, click on the button Close.
37. Select the menu Geometry/Parameter list... to check and modify the current value of the parameters:

select "section1" for Group using the button ,
set the Value of the parameter "S1_LE_RADIUS" to <5E-5><Enter>,
set the Value of the parameter "S1_TE_RADIUS" to <5E-5><Enter>,
select "section2" for Group using the button ,
set the Value of the parameter "S2_LE_RADIUS" to <5E-5><Enter>,
set the Value of the parameter "S2_TE_RADIUS" to <5E-5><Enter>,
select "section3" for Group using the button ,
set the Value of the parameter "S3_LE_RADIUS" to <5E-5><Enter>,
set the Value of the parameter "S3_TE_RADIUS" to <5E-5><Enter>,
click on the button Ok to confirm. 

38.  Click on the button Fit model in the QAP > Fitting Control to start the fourth fitting process.
39. Select the button Fine for Accuracy, click on the button Ok to confirm, then click on the button Yes to start a final fine fitting process.
40. After the fitting process is finished, click on the button   in the QAP > Fitting Control to access the fitting graph window, check the fitted geometry and the target geometry of the leading edge in section 3.
The fitting process can be launched several times, until the fitted geometry is close enough to the target geometry.
Save project
41. Select the menu Geometry/Export options....
42. Click on the tab geomTurbo on the Export settings dialog box, activate the buttons Exchange sides and Reverse theta orientation, click on the button Ok to confirm.


Since the theta orientation is reversed in step 8, the theta orientation has to be reversed back when generating .geomTurbo file. Thus, the .geomTurbo file generated from the fitted blade will have the same theta orientation with the original target geometry. And the mesh template file .trb for the target geometry can be directly used for the fitted blade.
43.  Select the menu File/Save to save the project and the parametric model.
The fitted parametric model is saved in the project folder ("Tutorial_1/Blade_fitting/" in this tutorial) and named as "Rotor37_fitting.par".
Screening
In this section, a "Screening" computation will be created step by step. The Screening module allows to do a CFD computation for a certain AutoBlade™  parametric geometry in an automatic way (from mesh generation to post processing).
Create new "SCREENING" computation
44. Select the menu Modules/Design 3D and click on the button Ok to start the Design 3D module.




The FINE™/Design3D graphical user interface includes several sections that allow to set the various project parameters required before starting the computation. Access to the main menu and controls is provided through a menu bar and a left-tree, and is complemented with a tool bar.
45. Enter Name as <CFD_screening>, keep Run Mode as SCREENING, then click on the button Ok twice to confirm.


Import parametric file
			
46. Click on the button  in the tool bar to import the fitted AutoBlade™  parametric file (.par).


47. Locate the AutoBlade™  fitting project folder "FINE-Design3D-Tutorials/Tutorial_1/Blade_fitting/" and select the file "Rotor37_fitting.par", then click on the button Open (or Ok on LINUX) to confirm.
48. Click on the button  in the tool bar to switch to AutoBlade™. Go to the menu Geometry/Parameter list..., keep all the settings. Click on Ok.


Define CFD loop
49. Click on the button  in the tool bar to switch back to FINE™/Design3D. Go to the Simulation Tasks/Computation Management page, keep the radio button 3D Associated Computation and all other settings.



FINE™/Design3D allows to couple FINE™/Turbo or external CFD software. Different options are available when coupling with FINE™/Turbo:

3D Associated Computation: uses the existing FINE™/Turbo project as input for the flow solver.
Multi-mesh: allows to optimize a row defined by different configurations. For example, an optimization of a hydraulic turbine runner presenting a guide vane with different angular positions. In the multi-mesh mode, several computations will be performed based on different meshes.


50. Go to the Simulation Tasks/Mesh Generation page, click on the button  to import the mesh template file (.trb).


51. Locate and select the provided mesh template file (FINE-Design3D-Tutorials/Tutorial_1/_mesh/Rotor37.trb), then click on the button Open (or Ok on LINUX) to confirm.

				52. Go to the Simulation Tasks/Simulation Settings page, keep all the settings.


The turbomachinery type should be defined correctly in order to have the right definition of some quantities for post processing, such as the efficiency.
53. Go to the Simulation Tasks/Post-Processing page, keep the Notebook selection as Quantities, then select the quantities Isentropic Total to Total, Mass flow and Abs. total pressure ratio under the tab Global Performances.


54. Go to the Simulation Tasks/Processor Management page, keep all the settings.
In case of multi-point or multi-mesh optimization, it is possible to launch several tasks at the same time by defining several configurations for mesh generation, flow solver and post processing. For the flow solver, if the number of selected processors is larger than 1, the flow solver will be launched in parallel mode. 
Save project and launch computation
55. Select the menu File/Save to save the project.
56. Select the menu Process/Start to launch the "CFD_screening" computation.
Post processing
57. Once the computation is finished, go to the Solution Monitor/Simulation Results page, check the post-processing results under the Global quantities tab.



These pages contain the numerical results and images, according to the selected quantities and pictures from the Simulation Tasks/Post-Processing page.
In this case, the global performance of the fitted blade geometry is quite close to the original one. The fitting process is successful.

A HTML report is generated at the end of each computation. It includes the presentation and the results of the computation. The report can be found in "FINE-Design3D-Tutorial_1/Tutorial_1_CFD_screening/_trk/_flow/_results/HTML_report/index.html". 
Database Generation
In this section, a database containing blade geometries with their associated CFD computations will be generated step by step. The database is mandatory to initialize the optimization process.
Create new "DATABASE_GENERATION" computation
58. Click on the button New in the computation management area to create a new computation


59. Enter the name <Database>, set the Run Mode to DATABASE_GENERATION using the button , then click on the button Ok to confirm.


The new computation "Database" is created based on the existing computation "CFD_screening". All the settings in the Simulation Tasks menu and the imported parametric file (.par) in the computation "CFD_screening" are copied into the new computation.
Define bounds of free parameters
60. Click on the button  in the tool bar to switch to AutoBlade™. Go to the menu Geometry/Parameter list... in order to re-define the bounds of free parameters.

Select "all" under the option Group using the button .
Click on the button Reset all to freeze all the parameters to their initial value.
Enter the reference value <0.001><Enter> for all parameters S#_TSS_$ and S#_TPS_$ that control the suction side surface and pressure side surface of the blade, where # is the index of the sections and $ is the index of the control points.
Keep the key <Ctrl> pressed, then click on all the parameter S#_TSS_$ and S#_TPS_$ to select all of them, right-click on the selected parameters and select the menu Increase bounds. 
Click on Ok.



In this tutorial, only the parameters that control the suction side surface and pressure side surface of the blade will be optimized. The menu Increase bounds can be used several times to have a bigger range. 
Set database generation parameters
61. Click on the button  in the tool bar to switch back to FINE™/Design3D. Go to the Database Settings/Settings page, 

In the Design of experiments section, keep the option Latin hypercube.
In the Parameters section, set the Number of Samples to <30><Enter>, keep all other settings.



Save project and launch computation in Task Manager
62. Select the menu File/Save to save the project and select the menu File/Save Run Files to save the run file.
63. Select the menu Modules/Task Manager to switch to Task Manager.



Click on the button New Task to create a new task.
Click on the button New to create a subtask.
Change the subtask type to "design3d" using the button .
Locate and select the saved run file "Tutorial_1/Tutorial_1_Database/_dbs/Tutorial_1.run" using the button .
Keep the option Run After Previous Subtask.
Click on the button Design3D parallel settings, set the Number of designs to process in parallel to <6>, keep all other settings, click on the button Ok to confirm.


Click on the button Start to launch the database generation computation.


The computation will be launched in parallel mode (6 geometries at the same time) on the machine "tornado".
Alternatively, the computation can be launched directly in FINE™/Design3D using the menu Process/Start. In this case, the computation will be run in serial mode.

Post processing
64. Select the menu Modules/Design 3D and OK to switch back to FINE™ /Design3D.
65. After the computation is finished, go to the Solution Monitor/Simulation Results page, check the post-processing results under the Global quantities tab.
These pages contain the numerical results and images of the computation "Database", according to the selected quantities and pictures from the Simulation Tasks/Post-Processing page. 
66. Open the HTML report "FINE-Design3D-Tutorials/Tutorial_1/Tutorial_1_Database/_dbs/Turorial_1_db.html" to check the status of the database generation.


The status of the database generation is listed in this HTML report in detail. In case of some samples failed, a restart of the database generation with additional samples can be performed. 
Optimization
In this section, the optimization process will be shown step by step.
Create new "OPTIMIZATION" computation
67. Select the computation "Database" in the computation management area, click on the button New to create a new computation.


68. Enter the name <Optimization>, set the Run Mode to OPTIMIZATION using the button , then click on the button Ok to confirm.


Check CFD loop
69. Check the settings in the Simulation Tasks page, keep all the settings.
The new computation "Optimization" is created based on the existing computation "Database". All the settings in the Simulation Tasks menu and the imported parametric file (.par) in the computation "Database" are copied into the new computation. 
Set optimization parameters
70. Go to the Optimization Settings/Optimization page to define the training database, neural network and optimization algorithm.



In the Current Training Database File section, Click on the button Import a Database to import the generated database in 
			the computation "Database",
Locate and select the file "FINE-Design3D-Tutorials/Tutorial_1/Tutorial_1_Database/_dbs/Tutorial_1_train.dat", then click on the button 
			Open (or Ok on LINUX) to confirm.


Click on the button Load Training Database to load the imported database into the computer memory,

Loading the training database into the computer memory offers the possibility to verify the database statistics in the Optimization Settings/Objectives and Constraints page. 

In the Neural Network section, keep all the settings,
In the Optimization Algorithm section, select Single objective, keep the ratio button Coarse selected.

71. Go to the Optimization Settings/Objectives and Constraints page to define the penalty.

Under the Objectives tab, click on the button Create to create the first penalty "efficiency",
Left-click on created objective "HUB_Z1_EQUALITY" in the list to select it, 
Set the option Quantity extracted from to 110k using the button ,
Set the Imposed Value to  <1> <Enter> to reach the best efficiency.



72. Go to the Optimization Settings/Design Iterations page, keep the Number of Design Iterations to 10.


Save project and launch computation
73. Select the menu File/Save to save the project.
74. Select the menu Process/Start to start the optimization process.
The computation will be launched in serial mode on the local machine.

The optimization technique used in FINE™/Design3D is based on the concept of function approximation (using Artificial Neural Network). The purpose of the approximate model is to have a fast method able to evaluate the blade aerodynamic performance. This method requires the existence of a database containing several blade geometries and their associated aerodynamic performances. These database samples are used to construct the approximate model as shown below:


Then, an optimization algorithm is used to compute the optimum of the approximate model and, only for this sample, a CFD computation is launched. The geometrical parameters and CFD results of this new sample are stored into the database and the process goes on. As the number of samples in the database grows after each design cycle, the approximate model will become more accurate and better blade shapes will be found rapidly.

Post processing
75. After the computation is finished, go to the Solution Monitor/Simulation Results page, check the post-processing results under the Global quantities tab.
These pages contain the numerical results and images of the computation "Optimization", according to the selected quantities and pictures from the Simulation Tasks/Post-Processing page. In this case, the best sample is the tenth one. The efficiency is increased from 0.853023 to 0.853512.
76. Go to the Solution Monitor/Compare Blade Geometries page to compare the blade geometries between different samples.

Set the Number of Files to <2>,
Locate and select the first parametric file "FINE-Design3D-Tutorials/Tutorial_1/Tutorial_1_CFD_screening/Tutorial_1.par" using the button , which is the original fitted blade geometry.
Locate and select the second parametric file "FINE-Design3D-Tutorials/Tutorial_1/Tutorial_1_Optimization/_opt/Tutorial_1_best.par" using the button , which is the Design 8 and the best one.
Select "SECTION_1_DMR_TH" in the List of 2D Views section to compare the blade section 1.



77. Go to the Optimization Monitor/Design Convergence History page, select the quantity "110k_C_ISEN_EFF_TOT2TOT" to check its convergence.



In this tutorial, only the blade surfaces (both suction side and pressure side) are optimized. Several other parameters or elements can be changed in order to improve the optimization:


Increase the bounds of the free parameters,
Execute a fine optimization algorithm,
Use a higher number of samples in database,
Increase the number of optimization cycles.
Free other parameters,
Use the grid level 000 in the FINE™/Turbo computation instead of 111,
etc.

Design Steering


In the Optimization Settings / Design Steering page, the user can define the global parameters for the optimization iteration. 


FIGURE 14 Design steering window
The Number of Design Iterations is used to set the number of global design iterations (FIGURE 14 (a)). A design iteration includes the neural network learning, the genetic algorithm optimization and the CFD/FEA computation.

A restart could be performed if the optimization stopped. To perform a restart, the new database with the optimized samples, which is in the "_opt" directory in the computation directory, should be imported. Then, the restart should be activated by clicking on the Activate restart button (FIGURE 14 (b)). By default, the history file is the one of the computation. If the restart is activated, Design3D will reproduce the evolution of the move limit factor. The move limit factor makes Design3D concentrate in the space where the artificial neural network has good prediction. This space is always included in the range of variation of parameters. If the accuracy of the artificial neural network increases, that means artificial neural network has well predicted the behavior of the objective function: the space increases. If the accuracy of the artificial neural network decreases, the space reduces.
In the expert mode, the user can activate and set the merit parameters. The merit function is a technique that allows to force the optimization process to scan the whole design space before converging to the best optimum candidate. This technique consists in adding to the global objective function a penalty term based on the minimum distance between the current geometry and all the database geometries. 


FIGURE 15 Merit function window
The merit function is used in the first part of the optimization process to favour exploration of unknown design space regions. Then after a number of optimization cycles, the merit function is not used any more but only the true objective function to better find the current optimum candidate. See Merit Function for more details on the parameters of the merit function. In general, the default values are appropriate.

External FEA Solver


FIGURE 42 External FEA solver settings
In external mode, two types of solver executable can be used: 


Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is used as the solver executable.
User-defined: in this case, the user must specify the full path to executable. The user can rename the script from FINE™/Design3D GUI by changing the name displayed in the entry and pressing <Enter>.

The user may define multiple solver configurations (Number of Configurations). For each configuration, a solver script and a solver template should be specified.
The following command line is used to launch each external solver configuration:
<solver executable>  <solver script>  <arguments>
FINE™/Design3D  passes the following argument pairs to the solver script:

-runfile file_name: is the solver template file used by the FEA solver. This file is copied in the project directory under the name: "projectname_external_solver_template.fea#.<extension>". Then it is copied in each computation directory under the name "projectname.fea#.<extension>".
-solutionfile file_name: is the file containing the FEA solution and is written by the FEA solver. This file name is written in a computation directory with the name "external_solver_template.fea#".
-gridfile file_name:  is the mesh file generated by the mesh generator. 
-checkfile file_name: is a solution check file (only pass when enabling Quality Check) where the user should write the solver convergence/run status.
-job_design3d file_name:  is a small log file containing the solver output that is usually sent to the shell. This file is sometimes useful to check various details of the solver run process.

In Expert Mode, the user may activates the External Check to check the solver convergence/run status. The  check is not submitted as a separate job.  Instead, enabling the "External Check" option simply tells Design3D to read the associated check file (argument -checkfile) and read the flag for success or failure.  It is the user's responsibility to write the check file in the proper format.   If the "External Check" option is enabled the path to the check file will be passed to the solver script following the flag "-checkfile".      The file should contain the following line:
For failure:  CHECK_STATUS 0
For success:  CHECK_STATUS 1

Simulation Task
This menu defines the coupling between AutoBlade™ and the CFD package. The GUI is identical to the one available in the Screening module with an additional option under license to include uncertainties in the process (Simulation Tasks/Computation Management page) to run a robust design optimization. As for the Screening, the following files must be available before starting the database generation project:

The AutoBlade™ input file (".par"),
The mesh template files (".trb" when AutoGrid™ is used for the coupling).


It should be avoided to use Z constant lines at R=constant or Z=constant in the .trb file, because Z constant lines may move during the database generation or optimization and FINE™/Design3D may create samples that are in conflict with the values of R=constant or Z=constant.
Compared to the setup procedure described in the previous chapter, one additional task must be performed which consists in defining the lower and upper limits for the variation of the AutoBlade™ geometrical parameters. See Access and manage parameters on how to change the bounds of the parameters.
The determination of the variation limits for the AutoBlade™ parameters is a compromise between the following two topics:

The variation must be as large as possible in order to explore as much as possible a large design space during the optimization phase.
On the contrary, the variation must be limited to some extend in order to avoid an unrealistic combination of blade parameters that might lead to robustness problems in AutoBlade™, AutoGrid™, the flow solver or CFView™.

Guidelines for every parameters are presented hereafter. The reader can refer to the AutoBlade™ user manual for the definition of the parameters.
Endwall Parameters
B-spline or Bezier with n Control Points
For this type of curves, the parameters represent directly the coordinates Z (Axial) and R (radial) of control points in the meridional view. These parameters should vary for a fraction of the distance between two consecutive points. This type of variation will make sure that no loops will appear in the curves representing the endwalls (FIGURE 1).
The first and last control points are usually kept equal to the initial value because their position is very often imposed by the upstream and downstream components in which the present blade is inserted. This is performed by setting the lower and upper bounds equal to the parameter values.


FIGURE 1 Realistic - unrealistic endwall curves
Bezier with 4 Control Points
The two extreme control points are usually kept constant for the same reason as mentioned above. The 2 lengths (L1 and L2) are non-dimensional parameters and can be varied with +/- 0.2. The angles are defined in degrees and can be varied with +/- 5 to 10 degrees.
Endwalls having an almost radial part must be treated very carefully because they might have a part with decreasing Z (axial) when going from inlet to outlet which might create problems to AutoBlade™.
2D Blade Parameters
Suction & Pressure Side Mode
In this mode, the angles (γ, β1, β2, δ) can be varied with +/- 1 to 2 degrees. The leading edge radius can vary with +/- 25% of its value. The TSS and TPS parameters can vary with +/- 0.1 except the first one close to leading edge where it should be limited to +/- 0.05 in order to avoid too distorted leading edge shape.
The optimum trailing edge radius is well known and is simply the minimum radius that can be manufactured. The variation limits of the trailing edge radius are therefore usually set equal to the minimum manufacturable value of the trailing edge radius.
Camber & Thickness Mode
The camber can be defined by specifying the wrap angle (θ) or the blade angle (β). The wrap angle is specified in radians and can vary with +/- 0.05. The blade angle is specified in degrees and can vary with +/- 5 degrees.
The blade thickness is defined in meters. A variation of +/- 25 % is possible. However, the blade thickness distribution can be set to the minimum manufacturable thickness as for the trailing edge radius (see above).
Blade Meridional Location
Usually, the angles can vary with +/- 10 degrees. When the Bezier-Line-Bezier law is used, the parameters C and P are usually kept unchanged to 0.2 and 0.5 respectively.
In some situations, it is possible to have a too large variation of the sweep angles which will result in a 3D blade moving upstream the inlet boundary or downstream the outlet boundary. This will of course create trouble to the mesh generator and therefore this case must be prevented.
When a stacking law is used, the hub stacking point is placed at a given value of the Z(axial) or R(radial) coordinate. This parameter is usually kept unchanged during the optimization. The blade chord can be varied with +/- 5 to 10 %.
When the leading and trailing edge traces are chosen, the Z or/and R coordinates of the leading / trailing edges at hub / shroud is a parameter. These coordinates can vary of a few percent of the length of the blade chord. The angles for these laws can vary with a range of +/- 10 degrees.
Tangential Location
The range guidelines are the same as the ones for the stacking sweep law presented here above.
Number of Blades
The number of blade should not vary with more than 10% of the initial number of blades.
The lower and upper variation limits must be checked very carefully before launching the database generation process because improper limits can results in unrealistic blade geometries and therefore might result in the impossibility of performing the CFD computation.
FINE™/Design3D allows to optimize integer parameters. For example, to allow only integer value for the number of blades during the optimization process.

Multiversion Environment

When using the FINE™/Marine coupling, the user must install FINE™/Marine with the C-Wizard in a multi-version environment.

In the Multiversion Environment page, the Automatic version selection is activated by default. If the option Automatic is unchecked, then all available FINE™/Marine versions installed in the same installation directory with FINE™/Design3D are listed. 
An icon in front of the version indicates the compatibility between the current FINE™/Design3D and the listed versions of FINE™/Marine. The compatibility can be Compatible, Incompatible, or Unknown. the compatible versions appear first, followed by incompatible and unknown versions. For each type of version list, the available versions are sorted alphabetically.
If the option Automatic is selected, the first compatible version is chosen. If there is no compatible version, the first incompatible version is chosen. If there is no incompatible version, the first unknown version is chosen. 
If the option Automatic is unselected, the user should choose any version from the list by selecting it.

Simulation Settings
In the Simulation Settings page, after specifying the C-Wizard template file, the user does not have to take care of the solver settings.

External Software Coupling
In the Computation Management page under the tab FEA, the user can select the External  mode. In this case, all the executables should be defined by the user.



In the External  mode, the user is also able to select which part of the FEA loop (from geometry generation to post processing) Design3D will execute.
In the section External Mode File Management, extensions for four different intermediate files can be customized. If template files (either for mesh generation or for solver) are active in the project, the files are automatically renamed. Clicking on the button Reset default will reset the customized extension to the default one.


		
				Note that for each of the computation step selected, the user has the possibility to import the script used for the coupling inside the computation folder (in a directory called "_script") with the checkbox Import script. This option is located next to the entry enabling to select the script.



			The checkbox becomes disabled after the activation of the option to prevent multiple copy. The copy is perform when saving the .run associated to the computation.

			If the option is activated, the script’s name is displayed in the entry. Otherwise, the absolute path is shown.
		If the project is saved in another located with the option Save as, the folder "_script" will also be copied. The same apply when duplicating a computation.
		If different scripts have the same name and need to be used in the same computation (for example, in multi-configuration cases), the scripts will be copied as script_name<index>.py, where <index> is an integer ranging in ascending order depending on the loading order of the scripts. The names displayed in the GUI correspond to the name given to the copied scripts.

Manual Structure
The FINE™/Design3D user guide presents step-by-step what the user needs to know to use FINE™/Design3D rapidly and efficiently. It contains the following chapters:

Chapter 2: Screening. This chapter presents the interface which integrates into a single environment AutoBlade™ coupled to the CFD/FEA package.
Chapter 3: MINAMO Database & Optimization. This chapter presents the features associated to the MINAMO database and optimization run modes integrated into FINE™/Design3D.
Chapter 4: Database Generation. This chapter summarizes how to generate a database before performing optimization.
Chapter 5: Optimization. This chapter summarizes the features of the optimization method. It then presents the various functionalities available for the design and optimization of turbomachinery blades.
Chapter 6: Uncertainty Quantification. This chapter summarizes the introduction of operational and geometrical uncertainties in the screening process in order to improve the predictive reliability of the process.
            
Chapter 7: TaskManager. This chapter describes the use of the TaskManager, where the user can launch multiple Design3D computations at the same time, in sequential or in parallel.

Simulation Settings


In the Simulation Tasks / Simulation Settings page, the user can create one computation for each mesh configuration (multi-mesh computation). The user can also create multiple computations for each mesh configuration (multi-mesh and multi-point computation). The user can create or remove a computation through the Create or Remove buttons. The name of the selected computation can be modified in the Euranus Templates section.

For each computation, the user must input a .run file that corresponds to the specified mesh. The computation properties in FINE™/Design3D are directly inputted from the specified .run file. Please refer to the FINE™/Turbo manual for more informations about how to define a computation and save .run file.
The defined computations are not common to all mesh configurations. One computation is linked to one mesh specified in the Euranus Templates section.
The type of turbomachinery should also be defined to have the right definition of some quantities, such as efficiency.


FIGURE 21 Flow Generation window of Multi-mesh

Mesh Generation



For the mesh generation, a ".trb" file from AutoGrid4™ or AutoGrid5™ should be imported. This ".trb" file must correspond to the current blade model, see Getting Started on how to import and define blade model in FINE™/Design3D. 


FIGURE 8 3D Associated Computation mesh window
The 3D associated computation mode allows the user to optimize one blade row in the frame of multistage project management. Selecting Activate multistage will activate the multistage mode. In this case, an IGG™ script must be imported. 
Here is an example of the script:
igg_script_version(1)
open_igg_project("/home/mesh/stator1.igg","stator1")
patch("stator1_flux_1_Main_Blade_downStream",2,1).set_type("ROT")
import_igg_project("/home/mesh/rotor.igg","rotor")
patch("rotor_flux_1_Main_Blade_inlet",1,1).set_type("ROT")
patch("rotor_flux_1_Main_Blade_up",1,1).set_type("ROT")
patch("rotor_flux_1_Main_Blade_down",2,1).set_type("ROT")
patch("rotor_flux_1_Main_Blade_outlet",2,1).set_type("ROT")
patch("rotor_flux_1_Main_Blade_up",2,1).set_type("ROT")
patch("rotor_flux_1_Main_Blade_down",1,1).set_type("ROT")
import_igg_project("/home/mesh/stator2.igg","stator2")
patch("stator2_flux_1_Main_Blade_inlet",1,1).set_type("ROT")
save_project("/home/mesh/all.igg")
This script imports the meshes of stator1, rotor and stator2, changes the inlet/outlet as rotor-stator interface ("ROT"), and save the merged mesh as "all.igg". 
When importing this script, all files used to generate the multistage mesh (indicated by open_igg_project and import_igg_project) are copied into the "_mesh" folder under the computation directory. The list of meshes imported in the script is displayed, as shown in FIGURE 8. The highlighted blocks correspond to the mesh which will be generated by AutoGrid™ 4 or AutoGrid™ 5 during the Design3D process and will be replaced in the multistage script. The user can select which block will be replaced in the list. Note, the replaced block must correspond to the current blade model.
The 3D associated computation mode also allows to optimize multiple blade rows in the frame of multistage project management, see next section (Multistage Management) for more details.
If the option Reference GeomTurbo file is activated, the user has to select a reference geomTurbo file using the file chooser. Once selected, the file is copied to the computation directory and named as $PROJECT_NAME_ref.geomTurbo. FINE™/Design3D will create a new .geomTurbo file that replaces the geometry in the reference .geomTurbo file by the one generated by AutoBlade™. The user can also specify an angle (in degrees) to apply a rotation for the selected blade.


FIGURE 9 Expert parameters of mesh generation
In the expert mode, the user can control the license check and specify the version of the AutoGrid5™.
If few seats of the mesh generator AutoGrid5™ are available in the license file, it may happen that the Screening process will stop because there is no more licence available. To avoid that the processing stops, the Screening process will try to launch the mesh generation several times (Max number of attempts) at a given time interval (Delay between attempts).
The Version flag is used to customize the AutoGrid5™ version. A different version than the current FINE™/Design3D version can be used. To customize the AutoGrid5™ version, enter the following argument: -niversion <version>. For example, the argument -niversion 90_3 will generate the mesh using AutoGrid5™ v9.0-3. Note, the customized AutoGrid5™ version must be installed in the machine.

Post Processing - CFView™ Coupling




FIGURE 13 Computational domain boundaries
The Flow Solver Output Files
The NUMECA flow solver generates 3 types of solution:

.mf file: it contains global performance data computed using the results along the inlet and exit boundaries of the computational domain (FIGURE 13)
.me.cfv solution: this is the meridional solution, that means the azimuthal averaged solution. This solution file is generated when at least one averaged output quantity is selected in the FINE™/Turbo interface.
.cgns solution: this is the 3D solution file containing the whole 3D solution field.

For more information about these solution files, please refer to the FINE™/Turbo User Manual.
How to Couple with CFView™
Press on Simulation Tasks/Post Processing page. This page permits selection of macro files that will be post-processed automatically after the CFD simulation. On the left, a list of active computations is displayed. Macro selection will be applied to the active computation only. Several computations could be selected at the same time by clicking with left button and <Ctrl> button, for not continuous selection, or <Shift> button, for continuous selection. This means that the post-processing could be different according to the active computation.

Various macros, developed for the NUMECA CFView™ visualization software, are pre-defined in FINE™/Design3D. They are only selectable when the coupling with FINE™/Turbo is selected. These macros are independent of the mesh topology (O4H / H&I / HOH/...) and independent of the number of grid points. Various macros are available for incompressible / compressible fluids, for rotating / stationary blades and for turbine / compressor blades. Therefore, the user must first specify the type of turbomachinery (compressor or turbine), the type of flow (compressible or incompressible) and rotating / stationary blade. 
When no inlet/outlet are available in the mesh (only external boundary conditions), in the post-processing quantities, no inlet, outlet and most global performances are not available except the Partial Torque, P_min in the whole domain, P_min of main blade, P_min of splitter blade.
When no inlet/outlet are available in the mesh (only external boundary conditions), in the post-processing pictures, 3D and blade-to-blade views are available while meridional views are only available if in the project ".run" file the meridional patches have been defined correctly in the Outputs/Azimuthal Averaged Variables page in the Expert Parameters area of FINE™ GUI. 
When the coupling with an external CFD package is selected, the pre-defined CFView™ macros are of course not available. In this case, the user has the possibility to define its own user-defined macro.
Global Performances
Efficiency & Loss Coefficients
These performances are computed correctly for perfect gases and incompressible fluids, using the Static / Total, Pressure / Temperature values read from the ".mf" file at inlet / outlet boundaries of the domain. Here are the available definitions.
TABLE 1  Efficiency/Loss coefficients definitions









 


Compressors 


Turbines 




Isentropic


Polytropic


Isentropic


Polytropic






Total to Total (Compressible)
























Total to Static (Compressible)
























Static to Static (Compressible)
























Total (Incompressible)














Static (Incompressible)














Entropy














Enthalpy Loss


Not available









Pressure Loss














Expressions involving the Torque in TABLE 1 need the option Compute axial force and Torque in the Boundary Conditions page devoted to solid surfaces of the FINE™/Turbo project.
Efficiency of incompressible fluid in a multistage case could be wrong since the definition of the efficiency could not be applied because of the rotation speed used.
FIGURE 14 shows an example of pre-defined macros available for computing the efficiency.


FIGURE 14 Global performances menu 
Global Quantities.
Global quantities can be extracted from the CFD computation: mass flow, torque and partial torque.
Mass flow and torque are read from the ".mf" file, and the partial torque is extracted from the ".wall" file.
The partial torque is the torque computed on the whole blade if the limits are set from 0 to 1 (0 stands for hub and 1 stands for shroud) or on part of the blade if the limits are for example from 0 to 0.5 (0.5 stands for mid-span).



FIGURE 15 Partial Torque definition
The limits 0 to 1 are defined along the J-direction by default (the expert parameter IFRCTO is set to 2 in the FINE™ GUI) because in AutoGrid5™, the J-direction corresponds to the spanwise direction.
The value of the torque will only be available if the option Compute axial force and Torque in the Boundary Conditions page of the FINE™/Turbo project has been correctly defined.
Pressure
The static or total pressure rise or ratio can be extracted. The pressure rise is available when the fluid is incompressible and the pressure ratio is available with compressible fluids. These quantities are read from the flow solver output ".mf" file.
Additional quantities can be extracted using CFView™:

the minimum static pressure along the blade walls,
the minimum static pressure in the whole domain,
the diffusion along the blade walls defined as the difference between the minimum static pressure along the suction side and the averaged outlet static pressure.

Inlet/Outlet Quantities
Various quantities can be extracted at the inlet and/or outlet boundaries of the computational domain. Two types of quantities are available:

spanwise distributions of pitchwise averaged quantities,
pitchwise and spanwise averaged quantities.

Spanwise Distributions of Pitchwise Averaged Quantities
This page offers the possibility to extract about 25 different quantities (FIGURE 16). These quantities are extracted from the azimuthal averaged solution file provided by the flow solver.


FIGURE 16 Inlet spanwise distribution menu
Pitchwise & Spanwise Averaged Quantities
Various pitchwise and spanwise averaged quantities can be extracted in the inlet and outlet of the computational domain (FIGURE 17). These quantities are extracted from the ".mf" file.


FIGURE 17 Outlet averaged quantities menu
User-Defined Macro
Macro Definition
Various pre-defined macros are available which can provide all the major performances and quantities required for turbomachinery blades. However, Screening also provides the possibility to use user-defined macro files. When the FINE™/Turbo package is used, only the macro file must be selected. The macro will be copied in the directory "macro_CFV". The macro will be copied in this directory and a "u_" will be added to the beginning of the user-defined macro file. The name of the quantity extracted will be set to U_QUANTITY_NAME to avoid interaction with predefined macros. The data file will be set automatically to "u_quantity_name.dat" in the directory "_result" of the computation.
The macro file must be written by respecting some conventions that will allow a smooth and safe run processing. 
The data file created by the post processor must respect the file format.


FIGURE 18 User-defined macros menu
User-defined macro selection is also applied to the highlighted computation. A green circle means that the macro is activated for the highlighted computation while a red cross means that it is not activated.
Pictures Generation
The Screening product also allows to automatically generate various images of the flow field solution. Five types of view can be generated:
Meridional views: the azimuthal averaged solution is generated.
Meridional Cartesian plot: prints a Cartesian plot of the selected quantity at the inlet or at the outlet of the meridional view.
Blade to blade view: prints a picture of the quantity in the blade to blade view at any spanwise position.
Blade to blade Cartesian plot: prints the static pressure distribution along both sides of the blade at 20%, 50% or 80% of the blade span.
3D views: prints a 3D picture of the mesh or of static pressure on blades and hub.
Examples of pictures are given in the Results Visualization section.

FINE™/Marine coupling


 Each step in the FINE™/Marine coupling is explained in the following sections. 
First of all, the coupling will be done thanks to the C-Wizard only. Hence, it is strongly recommended to set up the first simulation directly inside FINE™/Marine package to verify the CFD process. 
The following limitations apply to the FINE™/Marine coupling:


The automatic post processing of pictures is not included inside of the GUI of FINE™/Design3D. The user has to create the pictures by himself or use a macro to generate them for all computations.


Only the Resistance mode of the C-Wizard is currently supported.


FINE™/Marine computations are started one by one for each speed, in case of resistance curve in the C-Wizard.


C-Wizard .input file should specify the speed value exactly as C-Wizard formats it in the computation name. The C-Wizard rounds off the speed after two digits  (e.g. 2.247 will become 2.25 in the computation name).




For uncertainty quantification, only geometrical uncertainties are supported. Any physical quantities including boundary conditions are not supported.

Getting Started
PVM Daemons

The Task Manager is based on the PVM library. It allows FINE™/Design3D to control processes and communication between processes on all the machines available by the user. PVM works with a virtual machine managed through a pvm daemon. In this section the way PVM daemons are working and its limitations under Windows are described.
What PVM Daemons Do
If a user starts the FINE™/Design3D interface on a given computer where no PVM daemon is running, FINE™/Design3D will start the process pvmd on this machine that becomes the virtual machine server for the user. When adding a host in the Task Manager  (on the Hosts definition page) a pvmd is started on the remote computer that is added to the virtual machine. If after that the user logs on the second computer and starts the FINE™/Design3D interface this second computer belongs also to the virtual machine whose server is the first pvmd started.
If after that the user logs on a third computer on which no pvmd is running and starts the FINE™/Design3D interface, FINE™/Design3D will start a pvmd that becomes the server of a new virtual machine. When trying to add a host belonging the first virtual machine (containing the two first computers), a warning message will be shown that it is not possible to connect to the virtual machine because a pvmd is already running.
If the user wants to have the three computers in the same virtual machine, one of the virtual machines must be shut down (on the Hosts definition page) and add the corresponding computers from the second one.
Limitation under Windows
On windows only one pvmd can run and hence, only one single user can connect to the virtual machine. If another user wants to use the NUMECA software on the PC as server or as client, the first one needs to shut down the pvm daemons on this machine. To shut down go to the Hosts definition page and click on Shutdown button. This will close the interface and it will remove all the pvm daemons on the machine. Remove the files pvml.<userID> and pvmd.<userID> from the directory defined by the PVM_TMP (by default C:\tmp).
Multiple FINE™/Design3D Sessions
During a FINE™/Design3D session all the tasks defined by the user are stored in the tasks file in the NUMECA tmp directory. This is the .numeca/tmp directory in the home directory of the user. On Linux the home directory corresponds to the HOME environment variable. This is also true on Windows if this variable is defined and, if it is not the case, it is set to the concatenation of HOMEDRIVE and HOMEPATH environment variables.
When FINE™/Design3D is started more than once at the same time, a warning indicates to the user that FINE™/Design3D is already running and can enter in conflicts with the other FINE™/Design3D sessions. The user can define tasks in both interfaces but the task definitions saved when exiting FINE™/Design3D will be overwritten by the other sessions. Therefore, it is not advised to open multiple FINE™/Design3D sessions when the Task Manager is used.
Machine Connections
The Task Manager allows the user to control processes on all the machines connected to the network. The rsh command is used by the PVM library to access the machines. Before using the Task Manager, the following actions must be done:

On Windows platforms the Numeca RSH Daemon has to be started. The user is referred to the installation note for more details.
Modify the .rhosts file in the home directory (on Linux) or the rhosts.txt file in C:\WINDOWS (on Windows) in all the machines which can be used by the Task Manager. i.e.: if the machines machine1 and machine2 will be used by the users tasks from machine_master, the file in machine1 and machine2 must be modified as follows:
line1: machine_master <login1>
where machine_master is the host name. login1 is optional. If the login on machine_master is different from login1, the user in machine_master will be asked to supply a password when connecting to machine1 and machine2.
The rhosts file needs to be ended by a blank line.
The file permission must be set to 'rw' (on Linux: chmod 600 ~/.rhosts).
Test the rsh command on the desired machine: an external check that the .rhosts file is set correctly is to enter the following command line:
% rsh remote_host ls <Enter> when the remote host is Linux or rsh remote_host dir <Enter> when the remote host is on Windows.
where remote_host is the name of the machine to connect to. If the login on the remote host is not the same, ensure that the .rhosts file contains the line:
remote_host local_login
and in this case the command line is:
% rsh remote_host -l local_login ls when the remote host is Linux or rsh remote_host -l local_login dir <Enter> when the remote host is on Windows.
If the rhosts file is set up correctly, a listing of the files is shown on the remote host.
On Windows, the rsh.exe executable is located in	 <NUMECA_INSTALLATION_DIRECTORY>/fine#/bin/
The ssh command can be used instead of the rsh command on Linux. To use this command, the user has to define an environment variable NI_RSHCMD in the shell before starting FINE by typing the following:

for csh or tcsh:
setenv NI_RSHCMD ssh
for bash or ksh:
export NI_RSHCMD = ssh
Of course the settings of the NI_RSHCMD can be added to the ".cshrc", ".tcshrc", ".bashrc" or ".profile" file of the user. 


Due to a limitation of the PVM library, FINE™/Design3D can not be connected to a machine where FINE™/Design3D has already been started. When PVM tries to establish the connection, it detects that a server FINE™/Design3D is already running and/or pvm daemons are still running and finally refuses the connection with a warning. To solve this problem, the PVM daemons must be stopped on the machine on which FINE™/Design3D must be connected:

Log on the machine where the connection must be established.
Start FINE™/Design3D and open the Task Manager through Modules/Task Manager and use the button Shutdown of the page Hosts definition. The button Shutdown can be used to switch off all the PVM daemons of all the machines connected to FINE™/Turbo. This action will stop all the daemons on all the machines connected, kill all the tasks and finally exit FINE™/Design3D.
On Linux: remove all the /tmp/pvmd.<userID> and /tmp/pvml.<userID> files. On Windows these files should be removed from the directory defined by PVM_TMP (by default this directory is C:\tmp).
Repeat this operation for all the machines on which the problems appear.
The script cleanpvmd located in <NUMECA_INSTALLATION_DIRECTORY>/fine#/COMMON/, provided with the NUMECA software, will automatically perform steps 2 and 3 on all machines listed in the .rhosts file. This script is only available for Linux platforms. Performing the script cleanpvmd will kill all the PVM daemons on every computer in the .rhosts file. This means that it will also kill the running computation that are connected to these PVM daemons.
If PVM still has a problem to get the connection, it will print an error message either to the screen, or in the log file /tmp/pvml.<userID> (on Linux) or in the directory defined by the environment variable PVM_TMP (by default C:\tmp) in the log file called: pvml.<userID>. Please send this log file to our local support office.
All these operations apply to the users daemons and users files. Multiple users can use the Task Manager simultaneously. No interaction appears between PVM daemons and PVM log files of different users.
On Windows, when the user stops the pvmd on a remote host (using Remove Host button on the Hosts definition page) and immediately tries to restart it (using the Add Host... button), a message will appear stating that it is not possible to connect. This problem does not occur in general since there is no need to remove a host and add it immediately after. When it occurs the only solution is to wait until the host is available again (after 5 to 10 minutes). More details are available in the installation note.
From time to time, when a user tries to connect on a remote host, an error message can appear very briefly: "Can not connect to RSH Port!!!" This may happen on Windows connecting to a host, disconnecting, and trying to reconnect again to the same host. There is a socket release time parameter which keeps the connection for some time. 

Remote Copy Features on Linux
All the tasks defined by the user are associated with files used or created by the NUMECA's software. When the files are not visible from the machine on which the task must be launched (i.e. the files are on the local disk of the host where FINE™/Design3D is running), the user can use the remote copy feature proposed in the Task Manager. All the files needed by the tasks will be transferred into a directory (specified by the user) of the remote machine and at the end all the created or modified files are transferred back to the host machine from which the task has been launched. By default, the available remote directories are "/tmp". The user can also specify any other directory, as long as it is visible from the remote host and has writing permissions. This feature uses the rcp Linux command. Before using the remote copy feature, it is advised to first check if the rcp command works correctly between the machines:

First try the rsh command (see Machine connections).
Type the command: touch test;rcp -p -r test destination_machine:/tmp/test. If no error is returned by the system, the remote copy works between the local host and the destination_machine. Errors may appear if the .cshrc file contains an stty command. In order to be able to use the remote copy feature, remove all the stty commands from the .cshrc file.
If the login on the local host is different from the login on the remote host, type the command: touch test;rcp -p -r test remote_login@destination_machine:/tmp/test.

Remote Copy Features on Windows
As files located on the local disk are not visible from a Linux machine, this feature is proposed to be able to launch tasks on remote Linux platforms. The principle is the same as the one described in the previous section: local files are copied in the remote directory specified by the user, then the task starts. When it terminates, all results files are transferred in the original directory. This feature uses the rcp.exe Windows command. Before using the remote copy feature, it is advised to first check if this command works properly:

First try the rsh.exe command (see Machine connections).
Create a file test, then type the command: rcp -b test destination_machine:/tmp/test. If no error is returned by the system, the remote copy works between the local host and the destination_machine. Errors may appear if the .cshrc file contains an stty command. In order to be able to use the remote copy feature, remove all the stty commands from the .cshrc file.
If the login on Windows is different from the login on the remote host, type the command:	 rcp -b test destination_machine.remote_login:/tmp/test

rcp.exe is provided with FINE™/Turbo & FINE™/Design3D and is located in the same directory as rsh.exe.

Mesh Generation
When using the FINE™/Marine coupling, FINE™/Design3D will only use the Marine C-Wizard to set up automatically the mesh.


In the Mesh Generation page, the user is only asked to set up the C-Wizard parameters: 

C-Wizard input file (.input): Here, the user must specify the full path to C-Wizard template file.

The user can only use C-Wizard resistance template cwizard_resistance.input

Post Processing
The Flow Solver Output Files
The FINE™/Open flow solver generates 2 types of solution:

.mf/.xmf file: it contains global performance data computed using the results along the inlet and exit boundaries of the computational domain.
.cgns/.cfview solution: this is the 3D solution file containing the whole 3D solution field.

For more information about these solution files and the definition of the quantities, please refer to the FINE™/Open User Guide.
XMF quantities
The Simulation Tasks/Post Processing page allows the user to select global quantities or define macros for post processing.
 On the left side of the page, a list of active computations is displayed. Several computations could be selected at the same time by clicking with left button and <Ctrl> button, for not continuous selection, or <Shift> button, for continuous selection. This means that the post-processing could be different according to the active computation.
Under the tab XMF quantities, all the available global quantities and average quantities at inlet/outlet are listed. These quantities are extracted from the .xmf. To select a quantity, simply select it from the left side and move it to the right side by clicking on the button . 


User Defined Macro
Screening also provides the possibility to use user-defined macro files. A new macro file can be imported by clicking the button Import New Macro and then specify the macro file.  The macro will be copied in the folder "macro_CFV" and renamed with a prefix "u_".  The data file will be set automatically to "u_quantity_name.dat" in the directory "_result" of the computation. After importing the macro file, the file can be activated for post processing by clicking on the button Activate Selected Macro. If a macro is not used anymore, it can be deleted by using the button Remove Selected Macro.


FIGURE 23 User-defined macros menu
User-defined macro selection is also applied to the highlighted computation. A green circle means that the macro is activated for the highlighted computation while a red cross means that it is not activated.

External Geometry Modeler


FIGURE 29 External geometry modeler settings
In external mode, two types of parametric modeler executable can be used: 


Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is used as the geometry modeler executable.
User-defined: in this case, the user must specify the full path to executable. The box Full path to executable appearing under the combo box enables to perform this operation.

The following command line is used to launch the external geometry modeler:
<geometry modeler executable>  <geometry modeler script>  <arguments>
The inputs  required by FINE™/Design3D to allow the coupling with an external geometry modeler tool are:

 The python script guarantying the appropriate conversion of the external geometry modeler data into a format readable by FINE™/Design3D. The entry “Parametric Modeler Script” should be used to select this script.
The initial project file generated in the external tool to be coupled with FINE™/Design3D. The entry “Parametric Modeler Project” should be used for that purpose.

FINE™/Design3D  passes the following argument pairs to the geometry modeler script:

-projectfile file_name(input):  is the path to the reference project file (.par in AutoBlade™ for example). 
-paramfile file_name(input):  is the path to the parametric file (.param in AutoBlade™ for example).
-geomfile file_name(output):  is the path to the geometry file.
-checkfile file_name(optional - output): is the path to the geometry check file (Only present if the "External Check" option is selected in the FINE™/Design3D).

Further details can be found in the script enabling to couple FINE™/Design3D and AutoBlade™ as external tool in the input folder of the Axial Compressor Rotor37 - External mode.
The formatting of the data exchanged between  FINE™/Design3D and the external geometry modeler tool can be piloted in the entry “Exchange parametric format”. Three different formats are proposed to the user:
			full: each parametric variable is identified by its name, its value, its lower, upper value and integer flag ("FALSE"/"TRUE" - these three arguments are optionnal), and its expression (if defined in this way).name_value: each parametric variable is identified by its name and its value.name_expr_value: each parametric variable is identified by its name, its expression and its value.
The default option "name_value" is advised; if the external modeler is AutoBlade, the option
		"name_expr_value" might be applicable, if some expressions need replacement.
Depending on the geometric modeler, some non-controllable interdependencies can occur between the parametric variables, leading to incorrect geometries. In order to cope with this behavior, the entry "Exchange parametric filter" allows to export some or all of the parametric variables from the parametric layer to the special parametric file (.param). The following options are available:

"free": transfer only the free parameters 
"free_dependent" (default): transfer all the free parameters, as well as those being dependent to the free variables. This option is required for the external modeler if some parameters depend on at least one free parameter, as the free option is not sufficient to ensure a correct update of the model in such a case.
"all": transfer all the parametric variables

The  parametric layer is exposed to the user after importing the file (text input file) containing the parametric variables via the button "Import project parameters".


Within the FINE™/Design3D interface, the user has then the possibility to: 

Set up complex dependencies between parameters as in AutoBlade™ , with math expressions or regular functions (abs, sin, ...).
Define bounds
Export a list of parameters in text  format

The buttons "Erase all parameters" and "Update layer" enable respectively to erase all the current parametric variables loaded into FINE™/Design3D, and to perform a check over the definition of the parametric variables. If the setup is correct, the message "The parametric layer is valid" should appears in green below the button; otherwise, a message colored in red will appear and indicate which variable is incriminated. New variables can be defined via the button "Add"; the name of the new variable needs to be specified first. Similarly, the "Remove" button enables to delete a variable after selecting it in the combo-box on the right of this button.
The definition of expressions, the export of the parameter list and the automatic modification of the parameter values via the button below the parameters list, can be done as in AutoBlade™ ; more information can be found in Parameter List.
In Expert Mode, the user may activates the External Check to check the status of the geometry generation. The  check is not submitted as a separate job.  Instead, enabling the "External Check" option simply tells FINE™/Design3D to read the associated check file (argument -checkfile) and read the flag for success or failure.  It is the user's responsibility to write the check file in the proper format.   If the "External Check" option is enabled the path to the check file will be passed to the parametric modeler script following the flag "-checkfile".      The file should contain the following line:
For failure:  CHECK_STATUS 0
For success:  CHECK_STATUS 1
Note that when saving the project on this particular page, the list of variables will disappear. The prior modifications performed on the variables are however still effective. To re-access the list of parametric variables, the user must double-click on the tab "Parametric Model" in the left-tree menu.

Simulation Task - FEA Chain

The Screening module in FINE™/Design3D allows the user to perform an automatic FEA simulation, from the mesh generation to post-processing. The FEA computation is using the solid body defined in AutoBlade™, see the AutoBlade™ user manual on how to define a solid body.
Only one FEA run is allowed in Screening.
Double-clicking on Simulation Tasks/Computation Management page, the window displayed in FIGURE 33 appears under the tab FEA. The section Task Selection allows the user to select which part of the FEA loop (from geometry generation to post processing) Design3D will execute. 
For the FEA simulation, the user can use the integrated internal mode, which uses the NUMECA mesh generator HEXPRESS™/Hybrid and the multiphysics FEA solver Oofelie developed at Open-Engineering S.A.. The user can also use the External mode. In this case, all the executables should be defined by the user.


FIGURE 33 Selection of CFD package
Note that the execution of the CFD and the FEA chains can be reversed by activating the option "Run FEA before CFD" (option available in Expert mode).
		
		FIGURE 34 Reverse CFD and FEA chains

Getting Started


Welcome to the FINE™/Design3D User Guide - a presentation of the NUMECA Design and Optimization Environment for turbomachinery blades and channels.
FINE™/Design3D is included into the FINE™ interface and is linked to the NUMECA CFD package FINE™/Turbo (including the mesh generator AutoGrid™, the flow solver and the post-processor CFView™). This user guide provides information that is specific to the FINE™/Design3D product. Additional information concerning FINE™/Turbo and the other NUMECA products can be obtained in their respective user guides.
This chapter presents the basic concepts of the FINE™/Design3D product and its interface.

Results Visualization
After running a process, the CFD results can be examined in two ways:

directly in the interface with the Solution Monitor,
using the HTML report which is automatically generated for every computation.

Theory
Introduction

The optimization technique used in FINE™/Design3D is based on the concept of function approximation. The purpose of the approximate model is to have a fast method able to evaluate the blade aerodynamic performance. This evaluation process must be as fast as possible and as accurate as possible to mimic correctly the real blade performances predicted by the accurate model (the CFD package). 
This method requires the existence of a database containing several blade geometries and their associated aerodynamic and geometrical performances. These database samples are used to construct the approximate model. 

In case of single objective optimization shown in FIGURE 20, the optimization algorithm is used to compute the optimum of the approximate model (circle) and, only for this sample, a CFD computation is launched. The geometrical parameters and CFD results of this sample (triangle), are stored into the database and the process goes on.
In case of multiple objectives optimization, the optimization algorithm is used to construct the pareto front of the approximate model. The user specifies the number of candidates. Then, the candidates (samples) will be selected from the pareto front for accurate evaluation. The geometrical parameters and CFD results of the selected samples are stored into the database and the process goes on.

As the number of samples in the database grows after each design cycle, the approximate model will become more and more accurate and better blade shapes will be found rapidly.


FIGURE 20 Approximate model philosophy
Artificial Neural Network
FINE™/Design3D uses an Artificial Neural Network to construct the approximate model. An artificial neural network schematically depicted in FIGURE 21, is composed of several elementary processing units called nodes. These nodes are arranged in layers and joined with connections of different intensity, called connection weight, in order to form a parallel architecture. A network is generally composed of several layers: an input layer, one or several hidden-layers and one output layer. Each output has its own artificial neural network to avoid interaction during the training.
Each element of the input vector is connected to each node in layer 1 through a connection weight matrix. A node performs the summation of the weighted inputs and bias to form its own scalar output. The result is then processed through the transfer function F1, which is a sigmoidal function. The signal is propagated in the same way through the next layer up to the output layer.


FIGURE 21 Artificial Neural Network
The learning process consists in finding the connection weight matrices (W) and the bias (b) in order to make the actual output vector coincide with the prescribed output vector. Pairs of input/ output vectors must be available in a training database that the network will learn to predict.
Trained networks tend to give reasonable answers to inputs that they have never seen. Therefore, it is possible to train a network on a representative set of input/ output pairs and get good results without training the network on all possible input/output pairs.
The most widespread learning algorithm is called "Learning by back-propagation of the errors". The first step is to initialize the weight and bias factors using small random values. Then the input vector of the first training sample is presented at the network input. Next the signal is propagated until the output layer. Generally, the output vector provided by the network does not correspond to the desired output vector associated with this input vector. The error between the real and the desired output vector is back-propagated until the network input and this error is used to adjust the connection weights in order to minimize the error. To realize the learning process, a set of input/ output vectors must be available that will be sequentially presented at the network input. This process of input/ output vectors presentation and weight update is repeated for each training set until the convergence is reached.
The weight updates are under-relaxed with a factor which is called learning factor. The learning factor is set to 0.5 by default in the interface. A momentum term (default value = 0.8) is used to accelerate the convergence of the learning process. Finally a decay factor is used to avoid too big value of weight and bias that would make saturate the sigmoidal function and give a very bad approximation.
The learning by back-propagation of the error is an iterative process. One learning iteration consists in presenting and adjusting the connection weights on all the training samples. This number of iterations is set to 100,000 by default in the interface and is usually sufficient. Nevertheless, at the end of the training process, the convergence level is checked and if it is higher than the acceptable convergence level, another train will be performed with increasing the learning factor and removing the momentum factor. At the end of this new training, if the convergence level is still not satisfied, another train is performed. This new train uses, as an initial solution, the opposite weights. At the end, the artificial neural network training which gave the lower level of error is selected.
The accuracy of the neural network is measured by computing the error between the output predicted by the neural network and the target output extracted from the training database. The most commonly used criterion for convergence makes use of the quadratic measure:

,
where:
Erms(l) is the error for the output node l over all the training samples
l             is the output node index
d            is the desired output.
a            is the neural network predicted output.
Nt          is the number of training samples
The global training error will be:

,
where:
Erms is the global neural network error based on the training database,
No     is the number of neural network outputs.
Optimization
Available Techniques for single objective optimization
In FINE™/Design3D, four types of optimization are available:

Random Walk: from the best sample found in the database, the algorithm steps from the original point to another point in a random way. If the sample found is better than the original point, the algorithm goes to this point. Otherwise, another direction is tried. After a number of unsuccessful attempts, the perturbation amplitude is reduced.
Gradient Method: this method is based on the computation of the gradient of the global objective function with respect to all the design parameters. Then a small step in the direction opposed to the gradient is performed. This process is repeated a number of times and usually ends when a stable optimum has been found.
Genetic Algorithm: this algorithm mimics natural behavior in terms of biological evolution in order to reach the best possible solution to a given problem. An initial population is generated and pairs of individuals are selected from this population based on their performances Weak individuals tend to die before reproducing while stronger ones lives longer and bear many offspring.

Population size: determines the number of individual generated during the process.
Number of reproduction cycles: determines on many times, the population will reproduce.
Truncation rate: determines the number of sample which are allowed to reproduce. The default is 20 that means only the 20 best samples could be selected to create a new sample in the next generation.
Elitism: determines the number of individuals that are directly transmitted to the next generation. By default, this value is 1, that means only the best sample of the generation is transmitted to the next generation without any modification
Extrapolation range: determines the modification amplitude between parent and child. If it is set to 0, the parameters will be a random value between parents. If not, it will be a value close to the best parent but could not be between parents.
Search interval: determines the amplitude range of the mutation. If set to 0, there is no mutation (default value). If not, FINE™/Design3D adds or substracts (randomly with a probability of 0.5 for each casse) this value multiplied by the difference between the actual parameter value with the boundary, lower for substraction and upper for addition)
Precision coefficient: determines the coefficient which controls the amplitude of the mutation by using the coefficient 2-kα where α is generated randomly and k is the precision coefficient. So the higher the value is, the lower the mutation amplitude will be. So the mutation amplitude is described as followed, with a probability of 0.5 for each case:


Pnew=P+Search_interval*(Pmax-P)*2-kα
Pnew=P-Search_interval*(P-Pmin)*2-kα

Simulated Annealing: this algorithm is based on the analogy of the simulation of the annealing of solids. The algorithm is similar to the random walk method but has a more sophisticated method to decrease amplitude of the random perturbation steps.

Initial temperature: determines the initial temperature of the algorithm
Final temperature: determines the temperature at the end of the algorithm.
Temperature Reduction factor: determines the coefficient which will be multiplied with the current temperature so it has to be lower than 1. The number of iteration could deduced using the following formula: (Tini-Tend)/Tred.
Number of steps: determines the number of steps performed before the temperature reduction.
Search interval: determines the convergence level of optimization. If the algorithm reaches the final temperature or the convergence level specified, the algorithm will stop.


Available Techniques for multiple objectives optimization
Three algorithms are available:

NSGA-II: First, initial population P_0 is created randomly and evaluated. At any generation t, the offspring population Q_t is created by using the parent population P_t of size pop and the usual genetic operators (mutation and crossover). Thereafter, the two populations are combined together to form a new population R_t. Population R_t is classified into different non-dominated fronts with non-dominated sorting. Then, the new population is filled by points of different non-dominated fronts, one at a time. The filling starts with the first non-domination front, continues with the second, and so on. Since population R_t is larger than the new population, not all fronts can be accommodated in available slots of new population. The remaining fronts are being deleted. When the last allowed front is being considered, there may exist more points in the front than the remaining slots in the new population. Only the points with highest values of crowding distance metric are accepted.
Next, the non-dominated sorting is introduced. For each solution p of population R_t two entities are calculated: domination count n_p, the number of solutions which dominate the solution p, and S_p, a set of solutions that the solution p dominates. All solutions in the first non-domination front will have their domination count as zero. Now, for each solution p with n_p = 0, each member q of the set S_p is visited and its domination count is reduced by one. If for any member q the domination count becomes zero, it is put in a separate list. These members belong to the second non-domination front. This procedure is repeated on the second front and the third front is identified, and so on. The time complexity is O(m |R_t|^2), where |R_t | is a size of population and m is number of objectives.
To get an estimate of the density of solutions in one front a crowding distance metric is used. For each solution the average Euclidean distance of two points on either side of this point along each of the objectives is calculated. This quantity serves as an estimate of the perimeter of the cuboid formed by using the nearest neighbours as the vertices. The crowding distance operator has time complexity of O(m |R_t | log |R_t |).
The population R_t is sorted based on the front in which they are located in an increasing order. If many population members lay in the same front, they are sorted based on the crowding distance in a decreasing order. The best pop members form a new parent population P_t+1.
In case NSGA-II is selected, the following parameters can be set:

Population size - size of algorithm's main population. It affects convergence and distribution of samples. Larger size gives faster convergence and better distribution but slows down the computation time.
Nb of reproduction cycles - number of generations. It affects the quality of final population. More generations usually give better convergence.
Truncation rate - size of parent population. Larger number ensures higher spread over the search space while smaller number ensures better convergence. Usually it equals Population size / 2.
Crossover probability - probability of SBX crossover operator. It affects the share of information hidden in population. It should be an expert parameter.
Crossover mu - SBX crossover parameter. Rename to "Crossover parameter". It should be an expert parameter.
Mutation probability - probability of polynomial mutation operator. It affects the occurrence of new variable values in samples. It should be an expert parameter.
Mutation mu - polynomial mutation parameter. Rename to "Mutation parameter". It should be an Expert parameter.



SPEA2: The main difference with NSGA-II is in use of the archive population A_t and an evaluation of points of population with a fitness function. First, a new population P_t is formed with genetic operators. The parents are taken from the archive A_t. The new population and archive are joined and the fitness function of all the members is computed. Next, a new archive A_t+1 is formed with all the non-dominated members of the joined population. If the new archive is too small, the dominated points with small fitness function values are added. Otherwise, if the archive is too big, the points with largest fitness function value are eliminated one by one. Each time a new fitness function for all the remaining points is computed anew since the value depends on the whole archive.
Only one fitness function is used instead of non-dominated sorting and crowding distance. Hence, new metrics such as strength value, raw fitness and density are defined. The strength value of point p is a number of other points that are dominated by p. The raw fitness R(p) is the sum of strength values of all points that dominate point p. Note that the points of the non-dominated front have their raw fitness set to zero. With evolution the population members become non-dominated. Therefore, another information about their diversity is needed. This is density defined as D(p) = 1/(δ_p + 2), where δ_p is the Euclidean distance to the k-th closest point to p (k is a constant). The fitness function is then computed as F (p) = R(p) + D(p). The idea is to minimize this value. This procedure has the time complexity of O(L^2 log L), where L = |Pt | + |At |.
In case SPEA2 is selected, the following parameters can be set:

Population size - size of algorithm's main population. It affects convergence and distribution of samples. Larger size gives faster convergence and better distribution but slows down the computation time.
Nb of reproduction cycles - number of generations. It affects the quality of final population. More generations usually give better convergence.
Truncation rate - size of parent population. Larger number ensures higher spread over the search space while smaller number ensures better convergence. Usually it equals Population size / 2.
Archive size - size of algorithm's archive population. It represents final set of solutions. Usually it equals Population size
Crossover probability - probability of SBX crossover operator. It affects the share of information hidden in population. It should be an expert parameter.
Crossover mu - SBX crossover parameter. Rename to "Crossover parameter". It should be an expert parameter.
Mutation probability - probability of polynomial mutation operator. It affects the occurrence of new variable values in samples. It should be an expert parameter.
Mutation mu - polynomial mutation parameter. Rename to "Mutation parameter". It should be an Expert parameter.



DEMO-NS: DEMO-NS uses the concept of Differential Evolution instead of classic crossover and mutation. Each candidate c is generated with the following procedure. The procedure receives a point p and chooses three different points from the population, p1 , p2 , p3. The candidate c is then computed as c = p1 + F · (p2 − p3 ) and modified by binary crossover with its parent p. Factor F is called a scaling factor and is a constant.
The procedure of DEMO is almost the same as the one of NSGA-II. The only difference is the formulation of the offspring population. For each parent p a candidate c is generated and evaluated. If the candidate dominates its parent, it replaces it in the population. Otherwise, if a parent dominates the candidate, the candidate is rejected. If they are mutually non-dominated, the candidate is added in the population. The population which has the size between pop and 2 pop is then truncated to its preset size pop with NSGA-II or SPEA2 selection operators.
In case DEMO-NS is selected, the following parameters can be set:

Population size - size of algorithm's main population. It affects convergence and distribution of samples. Larger size gives faster convergence and better distribution but slows down the computation time.
Nb of reproduction cycles - number of generations. It affects the quality of final population. More generations usually give better convergence.
Differential evolution probability - probability of differential evolution operator. It affects the share of information hidden in population. 
Differential evolution parameter



Merit Function
The merit function adds a penalty term to the objective function based on the minimum distance between the current geometry and all the database geometries. This penalty is defined by the following expression



Where O is a generated geometry, in the optimization algorithm, and M, M1 and M2 are geometries from the database. The maximum of the penalty is reached when the geometry is exactly one from the CFD database. The minimum of the penalty is reached when the geometry is very far from database samples. The ρ value is defined with the following equation:



The current optimization iteration is i, Nb design loop is the number of optimization iteration and ρrange is a number between 0 and 1. ρrange assumes that the merit function is applied during a given percentage of the number of design cycles. ρdesign controls the amplitude of the merit function.

FINE™/Turbo coupling - Multi-mesh
In the 3D Associated Computation mode, the screening will generate one mesh, whatever the simulation is (single-point or multi-point). In some cases, for example a hydraulic turbine runner, the user may want to optimize it in the environment presenting a guide vane with different angular positions. In this case, the Multi-mesh mode should be used. The user can also create multiple flow computations for each mesh to make a multi-mesh and multi-point computations.


FIGURE 19 Computations management

Computation Management
When using the FINE™/Marine coupling, the Parametric Geometry Modeler should be set to "External", the Mesh Generator should be set to "FINE/Marine - C-Wizard", the Solver should be set to "FINE/Marine" and the Post-Processor should be set to "FINE/Marine". 
When one CFD step is set to "External", a new section External Mode File Management appears below the Task Selection. There, the user may find what extensions are used for each CFD step.


FIGURE 24 Task selection
In the section External Mode File Management, extensions for six different intermediate files can be customized. If template files (either for geometry modeler, mesh generation or for flow solver) are active in the project, the files are automatically renamed. Clicking on the button Reset default will reset the customized extension to the default one. 
Using the FINE™/Marine coupling, the external mode will be used for the Parametric Geometry Modeler. Hence, the user is asked to only modify the External parametric project extension and the External geometry extension.


FIGURE 25 External mode file management

Mesh generation


Several mesh definitions can be defined in the Mesh selection region. The user can create or remove a mesh definition through the Create or Remove buttons.

For each selected mesh configuration, the settings to generate the mesh is accessible in the Mesh Generation Editing region. The user can change the name of the selected mesh. A ".trb" file from AutoGrid5™ should be imported. This ".trb" file must correspond to the current blade model, see Getting Started on how to import and define blade model in FINE™/Design3D.


FIGURE 20 mesh generation window of Multi-mesh
The multi-mesh mode also supports multistage mesh and reference geomTurbo file, see Mesh Generation for more details.

Tasks Definition



A task is a collection of subtasks, where a subtask is one of the programs with its arguments (".run" file for the FINE™/Design3D solver). The different subtasks of a given task can be run simultaneously if the output of one subtask is not needed by other ones.
Task List
In this section, the user can visualize the defined tasks and their status. To create a task, just click on New Task button. The defaults task name can be modified by clicking on Rename Task button. The selected task can be removed by clicking on Remove Task button.


FIGURE 3 Task List with Delay window to start a task at a later moment
After a subtask is defined, the Save button can be used to save all necessary files to start a parallel computation in batch mode. When a queuing system is used, a set of default templates is available in order to submit the job to the queue.
Once a task is created and defined, it can be started or killed just by clicking respectively on the Start or Kill button.
The user can delay the start of a computation by clicking on Delay button. A dialog box will appear where the user can set a task that will be launched at the specified date and time or after another specified task has finished. After the user clicks on the button Apply, a little watch in the task list indicates that the task is scheduled. The delayed task can be disabled using the button Cancel.


When setting a task that will be launched after another specified task has finished, the reference task should not be a computation launch from the FINE™/Design3D GUI. Otherwise the delayed task will not start.
Task Definition
In this section the subtasks of the selected task are listed. A subtask is defined by its type (euranusTurbo for the FINE™/Turbo solver, autogrid for AutoGrid™ 5, cfview for CFView™ or design3d for  FINE™/Design3D), its status and the host on which they are launched. To add a FINE™/Design3D subtask, click on the New button in Task Definition area. Select the executable type design3d and the host on which the process should be started (master host), from the two available lists. The host name list contains the hosts that are in the virtual machine. They are set in the Host definition page.
Subtask Arguments
Definition of Input
Once a FINE™/Design3D subtask is created, the input files must be defined. The FINE™/Design3D solver require one argument file: the name of the ".run" file. This files is created using the menu File/Save Run Files in the FINE™/Design3D GUI.


Simultaneous or Sequential Mode
Moreover, a process can be executed simultaneously with the other subtasks (by selecting Run Simultaneously with Previous Subtask) or sequentially (by selecting Run After Previous Subtask). In sequential mode, the process waits until the previous subtask is finished before starting the next one. Only a certain amount of tasks can be performed at the same time depending on the available licenses.
Remote Copy
The Remote copy to option allows the user to specify that the files are not visible from the remote machine and must be transferred.
Design3D Parallel Settings
In the Task Manager interface, when clicking on button Design3D parallel settings (after selecting the ".run" file), the user will find all machine configuration he specified in his Design3D ".run" file.

In case of Screening, the Design3D parallel settings window is shown as FIGURE 4. The user selects the processors on which computations will be run. The master processor will generate geometries. The specified Design3D processors will launch mesh generator, solver and post processing.



FIGURE 4 Design3D parallel settings of Screening

In case of Database Generation, the Design3D parallel settings window is shown as FIGURE 5. Compared to the parallel settings for Screening, three additional dialog boxes are available:

The Number of geometry to launch in parallel specifies how many geometries will be launched simultaneously.
The Active processor configuration permits to scroll the machine configuration of each geometry.
The user can select on which processor (Design3D process) the database generation will be run. The Design3D processor generates geometries and sends values of free parameters to other slave processors which launch mesh generator, solver and post processing. Then, once the computation is finished, the slave processors send values of parameters and of quantities to the Design3D process which writes them into the database.




FIGURE 5 Design3D parallel settings of database generation

In case of optimization, the Design3D parallel settings window is the same as shown in FIGURE 5 for database generation.

Message Window
When a task is started, a Task Manager process is launched to take care about the task management: process communication, automatic launching of the sequential and parallel subtasks. A message window linked to the Task Manager is opened. In this window the user can follow the evolution of the status of all the subtasks of the current task.
At the bottom of the Task Manager window a Refresh Rate can be chosen. This rate determines how frequently the Task Manager window is updated. A higher refresh rate will update the information in the window more frequently but will use more of the available CPU.


FIGURE 6 Task Manager information window
If the user quits FINE™/Design3D, all the message windows will stay open and the tasks will continue. Closing the message window will immediately kill all the subtasks of the corresponding task.

Outputs
At the end of the database generation process, a "_train.dat" and a "_summary.dat" files are created. The "_train.dat" file is used to train the Artificial Neural Network. The "_summary.dat" file includes information on sample validity, list of free parameters and output quantity values of all generated samples 



FIGURE 7 Database summary file

In the _dbs folder, a database report file project_db.html is provided. This file contains the status of all computations of all samples. The user can easily check the failure of the computations. An example of the html report is shown below.



FIGURE 8 Database report

External Mesh Generator


FIGURE 41 External mesh generator settings
In external mode, two types of mesh generator executable can be used: 


Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is used as the mesh generator executable.
User-defined: in this case, the user must specify the full path to executable.

The following command line is used to launch the external mesh generator:
<mesh generator executable>  <mesh generator script>  <arguments>
FINE™/Design3D  passes the following argument pairs to the mesh generator script:

-trbfile file_name:  is the mesh template file specified in the interface. This file is copied in the project directory under the name: "projectname_external_mesh_template.fea.trb".
-geomfile file_name:  is the geometry written by AutoBlade™ in the ".xmt_txt" file (see AutoBlade™ User Manual in Export as '.geomTurbo'). This file is written in the directory of the present computation with the name: "projectname.xmt_txt".
-gridfile file_name:  is the mesh file generated by the mesh generator. This file name is written in a sub-directory "_mesh.fea" of the present computation with the name: "projectname.msh"
-checkfile file_name: is a mesh quality check file (only pass when enabling Quality Check) where the user should write the mesh generation status.
-job_design3d file_name:  is a small log file containing the mesh generator output that is usually sent to the shell. This file is sometimes useful to check various details of the mesh generation process.

In Expert Mode, the user may activates the External Check to check the mesh quality. The  check is not submitted as a separate job.  Instead, enabling the "External Check" option simply tells Design3D to read the associated check file (argument -checkfile) and read the flag for success or failure.  It is the user's responsibility to write the check file in the proper format.   If the "External Check" option is enabled the path to the check file will be passed to the mesh generator script following the flag "-checkfile".      The file should contain the following line:
For failure:  CHECK_STATUS 0
For success:  CHECK_STATUS 1

Project Directory Structure
Input

In FINE™/Design3D, the directory structure is similar to the one used in FINE™/Turbo. The main directory contains the project definition and input files:

the file defining the project parameters has the extension ".iec",
the parametric blade representation is saved in a file with extension ".par",

For each run mode, one file representing the blade (".par") is saved in the computation directory. A different parametric geometry file (".par") is stored for each computation. This means that the blade geometry is not transferred when switching from one computation to the other. For example, when switching from an optimization to a database generation, the blade geometry is not transferred.
There are other inputs specific to a certain run mode (e.g. the flow solver input file and the mesh template):

mesh template (".trb" or "_external.trb" when using an external CFD package),
run file ("_external.run", for external CFD package only),
database as input for optimization ("_train".dat when the database is generated with the run mode DATABASE_GENERATION, "_final".plan when the database is generated with the run mode DATABASE_GENERATION_MINAMO or ADAPTIVE_DATABASE_MINAMO).
the user-defined macro files are stored in a directory "computation_directory/macro_CFV/*.py". User-defined macro files are only used in the AutoBlade™ Screening, database generation and optimization.

White spaces should be avoided in the file name.
Output
In the computation directory, "_trk" for Screening, "_dbs" for database generation or "_opt" for an optimization contain the output of the FINE™/Design3D project.
For MINAMO computations, the outputs are located in the folder "_mdb" for the run mode DATABASE_GENERATION_MINAMO, "_mad" for the run mode ADAPTIVE_DATABASE_MINAMO, and "_mop" for the run mode OPTIMIZATION_MINAMO.

3D Wizard - HexpressHybrid & Oofelie
In the 3D Wizard mode, the user will be guided to set the parameters for both the mesh generation and the FEA solver.

FINE™/Design3D User Guide
Welcome to the FINE™/Design3D User's Guide, a presentation of NUMECA's integrated environment for the design and optimization of turbomachinery channels and blades:

Post Processing - 3D Wizard Coupling


In case of coupling with HEXPRESS™/Hybrid and Oofelie, the results can be post-processed by CFView™ or obtained directly from the Oofelie summary file.


FIGURE 38 Computational domain boundaries
The FEA Solver Output Files
The FEA solver generates 2 types of solution:

.cfv solution: The file is located in the Oofelie solution folder _run.fea/. This file contains the links to the solutions outputted by Oofelie, and can be post-processed directly in CFView™.
fea_disp_max.dat and fea_stress_max_vm.dat: these files are located in the folder _results/. The files contains the post-processed results by Oofelie.

Post-processing by CFView™
When post-processing by CFView™, the user is able to get Quantities results and also Pictures results. If the Quantities is selected, the following quantities can be selected under the Global Quantities tab:

Maximum Von Mises: the maximum value of the Von Mises stress.
Maximum Resultant: the maximum value of the displacement.
Maximum DR: the maximum value of the displacement in the R direction.
Maximum DT: the maximum value of the displacement in the θ direction.
Maximum DZ: the maximum value of the displacement in the Z direction.
Sector Volume: the volume of the sector body.

The tab User defined Macro provides the possibility to use user-defined macro files. After the macro is imported, the macro will be copied in the directory _trk/macro_CFV/. The macro will be copied in this directory and a "u_" will be added to the beginning of the user-defined macro file. The name of the quantity extracted will be set to U_QUANTITY_NAME to avoid interaction with predefined macros. The data file will be set automatically to "u_quantity_name.dat" in the directory "_result" of the computation.


FIGURE 39 User-defined macros
When post-processing by CFView™, AutoBlade™/CFD SCREEDNING also allows to automatically generate various images of the FEA solution. 


FIGURE 40 Pictures output
Currently, the pictures output is limited to the contour on the sector body in the projection along the R/θ/Z direction.
Post-processing by Oofelie 
When post-processing by Oofelie, the user is only able to get Quantities results under the Global Quantities tab:

Maximum Von Mises: the maximum value of the Von Mises stress.
Maximum Resultant: the maximum value of the displacement.

FINE™/Turbo coupling - 3D Associated Computation

In the 3D Associated Computation mode, a FINE™/Turbo project should be created first. Then, when switching to FINE™/Design3D and selecting the 3D Associated Computation mode, the FINE™/Turbo project will be linked to the current FINE™/Design3D project. All the parameters defined in the FINE™/Turbo project will be used as input for the flow solver in FINE™/Design3D. Please refer to the FINE™/Turbo manual for more informations about how to define a computation. 
The 3D Associated Computation mode allows the user to perform a simulation in the frame of single row or multi-row environment. The simulation can be performed in single-point or multi-point mode. When selecting the 3D Associated Computation mode, all the computations defined in the FINE™/Turbo project will be listed. If the user wants to add or remove a computation, the user should switch back to FINE™/Turbo. By default, one computation is selected. The user can select multiple computations in order to perform a multi-point computation. 
To select a computation, the user just needs to click on it with the left mouse button. To select several computations, <Ctrl> and <Shift> button could be used in addition to select, respectively, not continuous or continuous computations. In the following picture, all three computations will be used during the process.


FIGURE 7 Computations management

Objective Function


Overview
In order to measure the quality of the optimized solution, the concept of objective function is used. For the geometrical quantities or CFD/FEA results, a penalty is computed which is a scaled difference from the desired result. In case of single objective optimization, the objective function is simply the summation of penalty terms. In case of multi-objective optimization, each penalty is one objective function. The goal of the optimization is now to find the geometry with the lowest possible objective function, getting the closest to the desired results. For example, a goal of the optimization may be to increase the efficiency. In such a case a penalty can be put on the efficiency with a desired value of 1. The optimization will then result in a geometry with an efficiency as close to 1 as possible.
The penalties are constructed as follows:
 ,
where Qimp is the value of the imposed quantity, Q is the computed quantity and Qref is a reference value used to non-dimensionalize the penalty term. k is the exponent of the penalty term which is usually 2. The variable W is a weight factor which allows to scale up or down the influence of a penalty term in the global objective function.
Different types of penalties can be used: Lower Bound Value, Upper Bound Value, Equality Value:

The Lower Bound Value penalty penalizes geometries having quantities which have a lower value than the one imposed. 
The Upper Bound Value penalty penalizes geometries having quantities which have a larger value than the imposed one.
The Equality Value penalty penalizes geometries having quantities that are not equal to the imposed value.

It is also possible to impose both a lower and an upper penalty on the same quantity. This allows to have a zero penalty value on a range of variation of the quantity (see FIGURE 10).
The next figure give examples of the different available penalty types.


FIGURE 9 Different penalty types


FIGURE 10 Definition of penalties to allow a range of values
When uncertainties on the input are considered (more details in Uncertainty Settings), the objective function can be set as non-deterministic to compute a robust design optimization. It means it can concerns quantities that are no longer deterministic but that can be either a statistical moment (mean or standard deviation). Each of these objectives has an influence on the probability distribution of an output. The mean value will minimize the averaged value of a distribution and has no impact on its wideness. On the other hand, an objective on the standard deviation will affect the wideness of a distribution while not changing its averaged value (Influence of the different objectives on a probability distribution).


FIGURE 11 Influence of the different objectives on a probability distribution
Objective Function Settings
The objective function page is shown in FIGURE 12. To create a penalty, the user should:

click on the button Create (FIGURE 12 (a)). Default parameters will appear in the right window.
select the group from which the quantity will be extracted (FIGURE 12 (b)).
select the quantity on which the penalty will be defined (FIGURE 12 (c)). The available quantities are AutoBlade™ parameters, AutoBlade™ computed quantities and the post-processor quantities selected in the input/output neural network selection menu. 
select the type of penalty (lower bound, upper bound or equality) (FIGURE 12 (d)). The name of the penalty will be set automatically to "P_selected_quantity_name_type_of_penalty". For example, the name of a lower bound penalty on the mass flow will be P_MASS_FLOW_MIN. 
select the type of statistical moment (deterministic, mean or standard deviation) (FIGURE 12 (e)). The name of the penalty will be set automatically to "P_selected_quantity_name_type_of_penalty_type_of_statistical_moment" when mean or standard deviation type. For example, the name of a lower bound penalty with a standard deviation statistical moment on the mass flow will be P_MASS_FLOW_MIN_STD_DEVIATION. 
enter the imposed value (FIGURE 12 (f)).
if necessary, modify the penalty expert parameters in the Expert Mode. These expert parameters are the penalty weight, the penalty reference value and the penalty exponent (FIGURE 12 (g)).

The reference value is set automatically to the imposed value. If a null value (for an angle for example) is imposed, the reference value has to be changed manually.
Identical penalties will be removed from the penalty list.
In case of single objective, weights and exponents on penalties allow to refine the importance of each component for the global objective. 
In case of multiple objectives, the expert settings are not necessary. Instead, it is advised to click the button Adapt penalties to ensure that all penalties are scaled similarly (approximately match the range [0-10]). This will increase the chances that the optimization algorithm captures the pareto front(s). It will affect all weights and exponents of the penalties based on the input from the database. 

The button Adapt penalties is available only when:

multiple objectives optimization is enabled.
at least two penalties are defined.
the database must be loaded.




FIGURE 12 The Objective function page
The Database statistic area (FIGURE 12 (h)) is available to set up the imposed values. This information consists of the quantity values of the samples contained in the CFD/FEA database. This information can be accessed by loading the CFD/FEA database. This button is not available if a CFD/FEA database was not yet selected on the Optimization page. After the loading of the database, the minimum, the maximum and the averaged value of the quantity and of the penalty in the database are shown. Using the Sample number text box allows to monitor these values for each sample in the database. 
Moreover, by switching to Graphics (FIGURE 12), it is possible to plot some quantities function of some others. For example, it is possible to monitor the evolution of the objective function according to the variation of one parameter. Blue squares are valid samples while red squares are invalid ones. The blue dot lines show the averaged variation while the two red lines show the maximum and the minimum value of the averaged variation. By pressing the key 
, for samples, the samples numbering corresponding to the nearest point from the cursor are displayed. By pressing the key <d>, for data, the coordinates of the nearest point from the cursor are displayed.


FIGURE 13 Graphical statistic
Finally, a penalty can be removed by first selecting it in the left list and then clicking on the button Remove (FIGURE 12 (i)). 
The list of selected penalties is updated at each change (FIGURE 12 (j)).

Simulation Task - CFD Chain
Double-clicking on Simulation Tasks/Computation Management page, the window displayed in FIGURE 5 appears under the tab CFD.

The task selection window allows to select which part of the CFD loop (from geometry generation to post processing) FINE™/Design3D will execute. This is particularly useful, for example, when a quantity has been forgotten: instead of launching again the whole loop, only necessary steps could be selected.
 The user has the choice between FINE™/Turbo, FINE™/Open and External software coupling for each CFD step. Alternatively, the user can mix the steps with different software coupling. For more details of each step, see the following sections.

FINE/Turbo: FINE™/Turbo will be used for the CFD simulation from mesh generation to post-processing.

3D associated computation - the user should provide a mesh template for the mesh generation (by AutoGrid™5). The flow solver parameters will be copied from the linked FINE™/Turbo project.
Multi-mesh - allows to optimize one row defined by different configurations. The user should provide a mesh template for each mesh configuration and provide a .run file for each computation point.

FINE™/Open : In this mode, AutoGrid5™ will be used to mesh the blade model. Then, the AutoGrid5™ mesh will be converted into HEXPRESS™ format and combined with the specified upstream/downstream domain meshes. The FINE™/Open solver will be used in the solver step.
External : the user should define an external CFD package used for the CFD simulation from mesh generation to post-processing.



FIGURE 5 Selection of CFD package
 Alternatively, the user can mix the steps with different software coupling. For more details of each step, see the following sections.
Note that the execution of the CFD and the FEA chains can be reversed by activating the option "Run FEA before CFD" (option available in Expert mode).
		
		FIGURE 6 Reverse CFD and FEA chains

Task Management in Batch

Launch FINE™/Design3D in batch mode
FINE™/Design3D can be launched by command in shell. Before launching the FINE™/Design3D solver, a .run fine must be saved. This can be done either from FINE™/Design3D GUI  by using the menu File/Save Run Files, or with the following command lines:

on Linux: design3d -niversion <version> -project <pathtoproject>/project_name.iec -index computation_index 
on Windows: <NUMECA_INSTALLATION_DIRECTORY>\fine\bin64\design3dx86_64.exe -project <pathtoproject.iec> -index computation_index 

In order to launch FINE™/Design3D, the following command should be executed:

On Linux platforms: 
design3d# -run <run_path>/project.run -print <Enter> 
where # is the version number to be used. A .run file must be specified.
On Windows platforms: 
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\design3dx86_64.exe -run <run_path>\project.run -print <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the installation directory chosen by the user and # is the number corresponding to the version to be used.

Getting Started


FIGURE 1 Interface for a Screening Computation
Accessing Screening
The Screening can be accessed by selecting it when creating the new computation. 
Under this Run Mode, the left tree will guide the user through the CFD/FEA turnkey procedure. The left tree is composed of the following specific folders:

Simulation Tasks: includes the definition of the CFD/FEA loop, from mesh generation to post processing of results, that will be run: 

computation management
parametric model
mesh generation
multistage management
simulation settings
post-processing
derived quantities.
processor management

Solution Monitor: provides various solution results such as overall performance, mass averaged performances, a graphical comparison of different blade shapes and various pre-defined graphical images.

The procedure and guidelines required to perform a rapid blade screening are given below.
Defining AutoBlade™ Topology
Define parametric model

A parametric model should be imported in FINE™/Design3D in order to perform the CFD/FEA computation, which can be done in FINE™/Design3D or in AutoBlade™.
Import parametric model in FINE™/Design3D
Clicking on the button  in the FINE™/Design3D tool bar opens a file chooser and prompts for a location where to select the parametric file.


FIGURE 2 Menus in FINE™/Design3D
Import and modify parametric model in AutoBlade™


FIGURE 3 Menus in AutoBlade™ tool bar
AutoBlade™ can also be used to set up and manage the parametric model.

Switch to AutoBlade™ Module by clicking on  in the FINE™/Design3D tool bar.
Open the AutoBlade™ import window by clicking on the  button (FIGURE 3).
Select an AutoBlade™ template that is similar to the blade geometry to study or load an existing AutoBlade™ parametric model by pressing the button Import a parametric file.
Close the import window by clicking on the Accept button.
Optional actions:

Open the topology window by clicking on the Topology button,
Adapt the topological settings to the specific features of the blade to build 
Close the topological settings by pressing on the Accept button,
Open the parameter list window by pressing on the Parameter list button (FIGURE 3),
Adapt the value of the parameters in order to modify the blade shape,
Close the parameters window.
For more information about the use of AutoBlade™, please refer to the AutoBlade™ User Guide.

Go back to Design3D Module (FIGURE 3).

Access and manage parameters


After importing the parametric model into FINE™/Design3D, the user can access and manage all parameters of the current blade through the Parametric Model page, as shown in FIGURE 4.


FIGURE 4 Parameter list
The parametric model page is a simplified version of the parameter list in AutoBlade™. This page allows the designer to access the whole list of the parameters defining the current model. Most parameters can be read and changed interactively in the graphical views. So this page is especially useful for the advanced user who will be able to quickly modify several parameters without the need to switch to AutoBlade™. The main objective of this page is to allow the user to quickly free or freeze some parameters used for the database generation / optimization.
In the parametric model page, the user can:

check and change the value of the parameters,
check and change the bounds of the parameters,
check the status of the parameters.

To access the full version of the parameter list, the user should switch to AutoBlade™ by clicking on  in the FINE™/Design3D tool bar.

Optimization


This chapter describes the Optimization module of FINE™/Design3D, which provides a very efficient optimization environment dedicated to turbomachinery blades. The current version of the optimization module uses the NUMECA parametric geometry modeller AutoBlade™ coupled to a CFD/FEA package (Screening). This chapter supposes that the AutoBlade™ and Screening modules are well known for the reader.
The optimization process is based on the following principle (FIGURE 1):

step 1: a database is built using a DOE approach (see Generate Database);
step 2: an approximate (surrogate) model is built using the DOE points in order to construct an analytical relationship between the design parameters and the simulation responses;
step 3: an optimization algorithm is used to find the optimum using the surrogate model to evaluate the objective and constraints functions (cost functions);
step 4: the accurate simulation is used to evaluate and verify the real objective function and constraint values. This new simulation result (geometrical and CFD results) is added to the database. The improved database with the new design points will lead to an improved approximate model;
step 5: restart the process from step 2 until the maximum number of design iterations (Optimization Settings/Design Iterations page) specified by the user is reached.



FIGURE 1 Optimization principle
During a robust design optimization, the collocation points coming from the uncertainties on the input are computed (with the CFD solver). The result of the computation for each collocation point is used in order to reconstruct the statistics of the solution. 
For each optimum search (step 3), the statistics are evaluated on the surrogate. Therefore, the surrogate must be accurate in order to determine accurately the different statistics.
For each update (step 4), a full UQ CFD simulation must be performed to determine accurately the statistics of the optimal solution and update the surrogate model. Using a single computation for each update is insufficient as it won’t be possible to obtain a uncertainty quantification (UQ) result based on CFD with this kind of update. Therefore, a UQ update is performed for each candidate found during the optimization.


FIGURE 2 Robust design optimization principle
The procedure to setup the optimization is detailed hereafter.

Create a new project
Create a new computation with the Optimization run mode selected
Then the left tree is composed of the following specific folders that are described in detail in the next sections:

Simulation Tasks: encapsulates all the processes that will be run to compute the flow around the blade geometry: the mesh generator, the solver and the post-processor.
Uncertainty Settings: gives access to the parameters specific to the uncertainty quantification (see Uncertainty Settings). Only available when Advanced Modules/Include Uncertainties option is active in the Simulation Tasks/Computation Management page.
Optimization Settings: gives access to the parameters specific to the optimization algorithm like the browser to select the CFD database, the artificial neural network settings and optimization algorithms (see Setting up Optimization Parameters).
Solution Monitor: allows to visualize in the interface various CFD numerical results and images, provides a graphical comparison tool of any number of AutoBlade™ geometries.
Optimization Monitor: allows to visualize the design convergence history and the optimization algorithm convergence history.


If the project is named "project", creating a "project.stop" file under the computation subfolder "_opt" will safely stop the optimization and prevent the corruption of files.

Hosts Definition



The Hosts definition page shows the host name, the operating system, the connection status and the queuing system supported by FINE™/Design3D if any. For an explanation of the virtual machine see FIGURE 1. If the connection is not OK, it means that the corresponding computer is not in the virtual machine anymore. This may occur for example if the computer has been rebooted.


FIGURE 1 Hosts definition page
Add Host
When the user clicks on the Add Host... button, the interface asks for a host name and a login name. The login name is optional. It is needed only if the login of the user on the local and remote host are different.
When the user accepts (Accept), the host name appears in the host list, with type of operating system and its connection status. At this point, the host is in the virtual machine, and is ready to receive a task.


FIGURE 2 Add a Host
If the connection can not be established, check for more details in Getting Started and Machine Connections.
It is impossible to add a host on Fedora 3 and Windows Vista operating systems.
Remove Host
When the user clicks on the Remove Host button, the selected host is removed from the list, and is not in the virtual machine anymore. This operation is not allowed when a task is running on the host, to be removed, or when the selected host is the local one.
Shutdown
When the user clicks on the Shutdown button, all hosts in the virtual machine are removed. FINE™/Design3D exits and the virtual machine halts. All running tasks are killed. This option is useful when the user wants to change the machine on which FINE™/Design3D is running.

Mesh Generation

When using the FINE™/Open coupling, the user may combine one AutoGrid5™ mesh and maximum 2 additional HEXPRESS™ or HEXPRESS™/Hybrid meshes.


In the Mesh Generation page, the turbo mesh should always be included (Include turbo mesh). When coupling with FINE™/Open, the turbo mesh is generated by using the 3D associated computation mode in the FINE™/Turbo coupling. For the setting of IGG/AutoGrid Templates and Multistage Definition, please refer to mesh generation.
Two additional meshes can be provided, which can be located in the upstream or downstream of the turbo mesh. First, the user should specify the Number of meshes/projects. Then, the user should select the Type of mesh and provide the Mesh file for each selection (Current selection). Currently, two types of meshes are supported: HEXPRESS™ and HEXPRESS™/Hybrid.
The specified additional mesh file will not be copied into to project folder. This means, if the user moves the FINE™/Design3D project to another machine, the user must adapt the path to the mesh file in order to make the project working.


In the expert mode, the user can control the license check and specify the version of the AutoGrid5™ used to generate the turbo mesh.
If few seats of the mesh generator AutoGrid5™/HEXPRESS™ are available in the license file, it may happen that the Screening process will stop because there is no more license available. To avoid that the processing stops, the Screening process will try to launch the mesh generation several times (Max number of attempts) at a given time interval (Delay between attempts).
The Version flag is used to customize the AutoGrid5™ version. A different version than the current FINE™/Design3D version can be used. To customize the AutoGrid5™ version, enter the following argument: -niversion <version>. For example, the argument -niversion 90_3 will generate the mesh using AutoGrid5™ v9.0-3. 
The customized AutoGrid5™ version must be installed in the machine.

Multistage Script

In FINE™/Design3D, the user can optimize multiple blade rows at the same time through script. The approach in FINE™/Design3D is to define parameter links between the current modelled blade and the other blades. The parameters of the current blade will be managed by FINE™/Design3D. The parameters in the other blade models will be updated according to the links. Then, the other blade geometries are updated by running AutoBlade™ in batch mode.
Here is an example of a multistage script running on both Linux and Windows. In this example, three rows are optimized at the same time. The rotor is managed by FINE™/Design3D. The stator1 and stator2 are managed by the script. In both stators, the camber gamma (S#_CAMBER_GAMMA) and beta (S#_CAMBER_BETA#) angle parameters are used for optimization. The script does the following actions:

Create a mapping between the master (in this case, rotor) and slave (in this case, stator1 and stator2) parametric files.
Assemble the three separate meshes in IGG™ and sets the appropriate boundary conditions and names automatically.
Run Autoblade™ for the slave rows in order to create the geometry.

 

igg_script_version(1)
######################################################################
#
#                    Import python modules
#
######################################################################
import os           # manipulate files/dir
import sys          # System info
import string       # manipulate strings
import shutil       # copy/move/delete files & dirs
import re           # regular expressions
import time         # sleep
import subprocess   # Subprocess / external calls
######################################################################
#
#                    Special variables used by Design3D parser
#
######################################################################
#BEGIN D3D_MULTISTAGE_PRIVATE
D3D_MULTISTAGE_BLOCK_NAME = dict() # do not change
######################################################################
#
#                    Startup
#
######################################################################
print "======================================="
print "Multistage script"
print "======================================="
# Detects platform
platform = "unkown"
if   sys.platform.startswith('win'):    # 'win32'

platform = "windows"

elif sys.platform.startswith('linux'):  # 'linux2'

platform = "linux"

print "[info] host os is " + platform
# Check arguments for version number or set default version
software_version = "unknown"
isnext = 0
for arg in sys.argv:

if isnext:

software_version = arg
isnext = 0

elif arg == "-niversion":

isnext = 1


if software_version != "unknown":

print "version detected = '" + str(software_version) + "'"

else:

software_version = "relgm"
print "[warning] no version flag detected - using default hard coded version '" + str(software_version) + "'"

success = 1
#END D3D_MULTISTAGE_PRIVATE
 
######################################################################
#                                                                    #
#                    USER DATA (CAN/SHOULD BE MODIFIED)              #
#                                                                    #
######################################################################
# Special variable to tell Design3D which software to launch
#   Use 'IGG' for pure igg commands, 'AUTOGRID5' otherwise
#   Default is igg if not present
D3D_MULTISTAGE_MESHER           = "AUTOGRID5"
# Add an entry to special D3D_MULTISTAGE_BLOCK dictionary for each
# mesh to manage:
# - key:    name/prefix (in double quotes, support for spaces)
# - value:  full path name (in double quotes, support for spaces)
#           but the extension is NOT taken into account
D3D_MULTISTAGE_BLOCK_NAME["stator1"]  = "stator1.igg"
D3D_MULTISTAGE_BLOCK_NAME["rotor"]    = "rotor.igg"
D3D_MULTISTAGE_BLOCK_NAME["stator2"]  = "stator2.igg"
# Default inputs (allows the script to run outside Design3D)
D3D_MULTISTAGE_SLAVE_DIR        = "multistage"
D3D_MULTISTAGE_SLAVE_NAMES      = ["stator1", "stator2"]
D3D_MULTISTAGE_MASTER_DIR       = "multistage"
D3D_MULTISTAGE_MASTER_NAME      = "rotor"
D3D_MULTISTAGE_OUTPUT_DIR       = "multistage"
D3D_MULTISTAGE_OUTPUT_NAME      = "full"
# Directory where fixed files are stored
slave_dir       = D3D_MULTISTAGE_SLAVE_DIR
slave_names     = D3D_MULTISTAGE_SLAVE_NAMES # is a list
# Directory & name of the master mesh
master_dir      = D3D_MULTISTAGE_MASTER_DIR
master_name     = D3D_MULTISTAGE_MASTER_NAME
# Directory & name of the mesh
output_dir      = D3D_MULTISTAGE_OUTPUT_DIR
output_name     = D3D_MULTISTAGE_OUTPUT_NAME
#####################_MULTISTAGE_OUTPUT_NAME
########## correspondance of parameters
# Row 2 (row 1 param -> row 2 param)
rotor_to_stator1 = dict()
#BEGIN D3D_MULTISTAGE_MAPPING
rotor_to_stator1["STATOR_1_P1"] = "S1_CAMBER_GAMMA"
rotor_to_stator1["STATOR_1_P2"] = "S1_CAMBER_BETA1"
rotor_to_stator1["STATOR_1_P3"] = "S1_CAMBER_BETA2"
rotor_to_stator1["STATOR_1_P4"] = "S2_CAMBER_GAMMA"
rotor_to_stator1["STATOR_1_P5"] = "S2_CAMBER_BETA1"
rotor_to_stator1["STATOR_1_P6"] = "S2_CAMBER_BETA2"
#END D3D_MULTISTAGE_MAPPING
# Row 3 (row 1 param -> row 3 param)
rotor_to_stator2 = dict()
#BEGIN D3D_MULTISTAGE_MAPPING
rotor_to_stator2["STATOR_2_P1"] = "S1_CAMBER_GAMMA"
rotor_to_stator2["STATOR_2_P2"] = "S1_CAMBER_BETA1"
rotor_to_stator2["STATOR_2_P3"] = "S1_CAMBER_BETA2"
rotor_to_stator2["STATOR_2_P4"] = "S2_CAMBER_GAMMA"
rotor_to_stator2["STATOR_2_P5"] = "S2_CAMBER_BETA1"
rotor_to_stator2["STATOR_2_P6"] = "S2_CAMBER_BETA2"
#END D3D_MULTISTAGE_MAPPING
#BEGIN D3D_MULTISTAGE_PRIVATE
if platform == "windows":

autoblade_executable = "C:\\NUMECA_SOFTWARE\\Fine" + software_version + "\\bin\\autoblade "

else:

autoblade_executable = "autoblade -niversion " + software_version + " "

########## optional cleanup
# setting the flag to 1 allows to remove tmp files after use
# in order to save some space (_mesh subdirectory only...)
cleaning_flag = 1
########## python script used to build the multistage mesh defined as a function
def multistage_script_assembly (row1_mesh , row2_mesh , row3_mesh, final_mesh):

a5_tclCommand("switch_to_igg")
rs_id_inlet  = "10"
rs_id_outlet = "20"
import_igg_project(row1_mesh)
increment_block=0
for b in range(increment_block,num_of_blocks()):

blockPtr = block(b+1)
for f in range(6):

facePtr = blockPtr.face(f+1)
for p in range(facePtr.num_patches()):

patchPtr   = facePtr.patch(p+1)
patch_type = patchPtr.get_type()
patch_name = patchPtr.get_name()
if patch_type == "INL":

new_name = patch_name + "_rotor-stator_id(" + rs_id_inlet + ")"
print "renaming patch '" + patch_name + "' as '" + new_name + "'"
patchPtr.set_name(new_name)
patchPtr.set_type("ROT")

elif patch_type == "OUT":

new_name = patch_name + "_rotor-stator_id(" + rs_id_outlet + ")"
print "renaming patch '" + patch_name + "' as '" + new_name + "'"
patchPtr.set_name(new_name)
patchPtr.set_type("ROT")




increment_block=num_of_blocks()
rs_id_outlet = "10"
import_igg_project(row2_mesh)
print "row2_mesh=",row2_mesh
for b in range(increment_block,num_of_blocks()):

print "b=",b
blockPtr = block(b+1)
for f in range(6):

facePtr = blockPtr.face(f+1)
for p in range(facePtr.num_patches()):

patchPtr   = facePtr.patch(p+1)
patch_type = patchPtr.get_type()
patch_name = patchPtr.get_name()
print "patch_type=",patch_type


if patch_type == "OUT":

new_name = patch_name + "_rotor-stator_id(" + rs_id_outlet + ")"
print "renaming patch '" + patch_name + "' as '" + new_name + "'"
patchPtr.set_name(new_name)
patchPtr.set_type("ROT")




increment_block=num_of_blocks()
rs_id_inlet = "20"
import_igg_project(row3_mesh)
for b in range(increment_block,num_of_blocks()):


blockPtr = block(b+1)
for f in range(6):

facePtr = blockPtr.face(f+1)
for p in range(facePtr.num_patches()):

patchPtr   = facePtr.patch(p+1)
patch_type = patchPtr.get_type()
patch_name = patchPtr.get_name()
if patch_type == "INL":

new_name = patch_name + "_rotor-stator_id(" + rs_id_inlet + ")"
print "renaming patch '" + patch_name + "' as '" + new_name + "'"
patchPtr.set_name(new_name)
patchPtr.set_type("ROT")





save_project(final_mesh)

######################################################################
#
#                    Helper functions
#
######################################################################
##########    Generate function
def generate_parameters_file (file_name, names_dict, parameters_file):

'''

Retrieves the values for a list of parameters (the values stored in dictionary names_dict)
input   file_name       :   the full path name of the parametric file to read
input   names_dict      :   dictionary of parameters for extraction (input_name  -> output_name)
output  parameters_file :   the full path name of the file containing modified parameters
return                  :   success flag (0/1)

'''
print "[info] retrieving parameters from parametric file '" + file_name + "'"
input_names = names_dict.keys()
nb_params = len(input_names)

if nb_params < 1:

print "generate_parameters_file - error"
print "  No parameters to retrieve!"
return values_dict


# parse parametric file
try:

ab_params = dict()
with open(file_name) as f:

is_param_block = False
for line in f:

words = line.split()
if (len(words) == 2):

if (str(words[0]) == "NI_BEGIN") and (str(words[1]) == "PARAMETER"):

is_param_block = True
name  = ""
value = ""

elif (str(words[0]) == "NI_END") and (str(words[1]) == "PARAMETER"):

ab_params[name] = value
is_param_block = False
print 'Parameter "{}" found with value {}'.format(name,value)

elif is_param_block == True:

if str(words[0]) == "NAME":

name = str(words[1])

elif str(words[0]) == "VALUE":

value = str(words[1])






except shutil.Error:

print "generate_parameters_file - error"
print "  Failed to open parametric file '" + file_name + "'"
return 0

try:

out_file = open (parameters_file,'w',-1)

except shutil.Error:

print "generate_parameters_file - error"
print "  Failed to open file '" + parameters_file + "' for writing"
return 0

count = 0
for name in ab_params.keys():

if name in input_names:         # matching name

output_name = names_dict[name]
value = ab_params[name]           # value field
print '[info] found value', str(value), 'for parameter (' + name + ' -> ' + output_name + ')'
line = str(output_name) + "\t" + str(value) + "\n"
out_file.write(line)
count+=1


#####################values_dict[output_name] = value
out_file.close()
if count != nb_params:

print "generate_parameters_file - error"
print "  Not all parameters were retrieved!"
print " count=", count
print " nb_params=", nb_params
return 0

return 1

######################################################################
#
#                    Set the name of different files
#
######################################################################
##########    Sample dir (flow/design)
# Go down one level from master dir...
flow_dir = os.path.dirname (master_dir)
print "master_dir         = '" + str(master_dir) + "'"
print "flow_dir         = '" + str(flow_dir) + "'"
##########    Trb files
row1_trb    = flow_dir  + os.sep + output_name + ".trb"
row2_trb    = slave_dir + os.sep + slave_names[0] + ".trb"
row3_trb    = slave_dir + os.sep + slave_names[1] + ".trb"
##########    Current par file of each row
row1_par    = flow_dir  + os.sep + output_name    + ".par"
row2_par    = slave_dir + os.sep + slave_names[0] + ".par"
row3_par    = slave_dir + os.sep + slave_names[1] + ".par"
row1_geom   = flow_dir  + os.sep + output_name    + ".geomTurbo"
row2_geom   = master_dir + os.sep + slave_names[0] + ".geomTurbo"
row3_geom   = master_dir + os.sep + slave_names[1] + ".geomTurbo"
##########    AB job files
row2_param  = master_dir + os.sep + slave_names[0] + ".param"
row3_param  = master_dir + os.sep + slave_names[1] + ".param"
row2_ab_job = master_dir + os.sep + "job_ab_row2"
row3_ab_job = master_dir + os.sep + "job_ab_row3"
##########    Mesh file of each row
row2_mesh_path = master_dir + os.sep + slave_names[0]
row3_mesh_path = master_dir + os.sep + slave_names[1]
row1_mesh = master_dir + os.sep + master_name    + ".igg"
row2_mesh = row2_mesh_path + ".igg"
row3_mesh = row3_mesh_path + ".igg"
##########    Multistage mesh file
mesh_file   = output_dir + os.sep + output_name + ".igg"
mesh_report = output_dir + os.sep + output_name + ".qualityReport"
row1_report = master_dir + os.sep + master_name + ".qualityReport"
print "mesh_file        = '" + str(mesh_file)   + "'"
print "mesh_report      = '" + str(mesh_report) + "'"
##########    Trb files
if os.access(row2_trb,os.R_OK) == False:

print "[error] Failed to read template file '" + row2_trb + "'"
success = 0

if os.access(row3_trb,os.R_OK) == False:

print "[error] Failed to read template file '" + row3_trb + "'"
success = 0

######################################################################
#
#                        Geometry generation
#
######################################################################
# Redirection flag/operator for output
if platform == "windows":

redirect1 = " > "
redirect2 = " 2>&1 "
#redirect1 = " -job_design3d "
#redirect2 = ""

else:

redirect1 = " >& "
redirect2 = ""

######   Row 2
if not generate_parameters_file (row1_par, rotor_to_stator1, row2_param):

print "[error] Failed to generate parameters file for row2"
success = 0

else:

ab_cmd = autoblade_executable + " -batch"   + " -print"   + " -par "    + row2_par + " -iparam " + row2_param + " -ogeom "  + row2_geom + redirect1 + row2_ab_job + redirect2
p = subprocess.Popen(ab_cmd, shell=True)
p.wait() # force the script to wait for the end of the process
if os.access(row2_geom,os.R_OK) == False:

print "[error] Failed to update geomety file for row2!"
print "   AutoBlade command was '" + ab_cmd + "'"
success = 0

else:

print "---------------------------------------"
print "  Replacements in row 2 - done"
print "---------------------------------------"


######   Row 3
if not generate_parameters_file (row1_par, rotor_to_stator2, row3_param):

print "[error] Failed to generate parameters file for row3"
success = 0

else:

ab_cmd = autoblade_executable + " -batch"   + " -print"   + " -par "    + row3_par + " -iparam " + row3_param + " -ogeom "  + row3_geom + redirect1 + row3_ab_job + redirect2
p = subprocess.Popen(ab_cmd, shell=True)
p.wait() # force the script to wait for the end of the process
if os.access(row3_geom,os.R_OK) == False:

print "[error] Failed to update geomety file for row3!"
print "   AutoBlade command was '" + ab_cmd + "'"
success = 0

else:

print "---------------------------------------"
print "  Replacements in row 3 - done"
print "---------------------------------------"


# Wait for security on remote file systems
time.sleep(1)
######################################################################
#
#                        Mesh generation
#
######################################################################
if success:

######   Row 2
a5_open_template(row2_trb)
a5_import_and_replace_geometry_file(row2_geom)
select_all()
a5_start_3d_generation()
a5_save_mesh(row2_mesh)
a5_save_project(row2_mesh_path)
time.sleep(1) # wait for safety
if os.access(row2_mesh,os.R_OK) == False:

print "[error] Mesh file '" + row2_mesh + "' for row 2 not present!"
success = 0

else:

print "---------------------------------------"
print "  Row 2 processed"
print "---------------------------------------"

######   Row 3
a5_open_template(row3_trb)
a5_import_and_replace_geometry_file(row3_geom)
select_all()
a5_start_3d_generation()
a5_save_mesh(row3_mesh)
a5_save_project(row3_mesh_path)
time.sleep(1) # wait for safety
if os.access(row3_mesh,os.R_OK) == False:

print "[error] Mesh file '" + row3_mesh + "' for row 3 not present!"
success = 0

else:

print "---------------------------------------"
print "  Row 3 processed"
print "---------------------------------------"


######################################################################
#
#                        Multistage mesh generation
#
######################################################################
#####   Copy report for row 1 as global report
if success:

multistage_script_assembly (row1_mesh, row2_mesh, row3_mesh, mesh_file)
time.sleep(1) # wait for safety
if   os.access(mesh_file,os.R_OK) == False:

print "[error] Final merge failed - mesh file '" + mesh_file + "' cannot be read!"
success = 0


#####   Copy report for row 1 as global report
if success:

try:

shutil.copy (row1_report, mesh_report)

except OSError:

print "[error]\tfailed to copy file '" + row1_report + "' '" + mesh_report + "'"
success = 0


if success:

print "---------------------------------------"
print "  Mesh has been merged!"
print "---------------------------------------"

######################################################################
#
#                        Final operations
#
######################################################################
#####   Cleanup
if success and cleaning_flag:

for slave in slave_names:

p1 = re.compile(slave)
for filepath in os.listdir (master_dir):

match = 0
if   p1.search (filepath):

match = 1

if match:

fullpath = master_dir + os.sep + filepath
try:

os.remove (fullpath)

except OSError:

print "[error]\tfailed to delete file '" + fullpath + "'"




print "Temporary data removed"

print "Multistage script for torque converters -=- end -=-"
#END D3D_MULTISTAGE_PRIVATE

Image Visualization in FINE™ GUI



Click on Solution Monitor folder.
Open CFD Images page by double clicking on it.
Select the type of view by clicking on the name (FIGURE 51).
Select the view in the list.



FIGURE 51 CFD picture results for rotor37 case
These pictures are stored in the sub-directory "_pictures" of the directory "_results". 
If the files do not exist, the name of the picture will not appear in the menu. 
If no picture is available in the type of view selected, "Not Available" will be displayed in the picture selection menu.
If several CFD computations or the FEA computation have been launched, computation selection is available. When the active computation is modified, displayed pictures are modified.
The Screening product allows to automatically generate different types of images of the solution. Here are some examples of pictures for each available view.
Meridional views: the azimuthal averaged solution is generated. For example, in the picture beside, the static pressure is represented for an axial compressor.


Meridional Cartesian plot: prints a Cartesian plot of the selected quantity at the inlet or at the outlet of the meridional view. For example, in the picture beside the static pressure distribution at inlet is represented.


Blade to blade view: prints a picture of the quantity in the blade to blade view at any spanwise position. In the picture beside, the static temperature is represented at 50% of spanwise direction.


Blade to blade Cartesian plot: prints the static pressure distribution along both sides of the blade at 20%, 50% or 80% of the blade span. In the picture beside, the static pressure distribution around the blade is displayed at 50% of spanwise distribution.


3D views: prints a 3D picture of the mesh or of static pressure on blades and hub. In the picture beside, the 3D mesh is represented.


FEA result: prints a 3D picture of the contour on the sector body in the projection along the R/θ/Z direction.

Post Processing - CFView™ Coupling


The Post-Processing page in the multi-mesh  mode is the same as the one in the 3D associated computation mode, see Post Processing - CFView™ Coupling for the details.
Various quantities can be selected in the screening and later in the optimization environment. See Post Processing - CFView™ Coupling for more information.

Geometry Modeler
When using the FINE™/Marine coupling, the external mode for the geometric modeler should be used.


FIGURE 26 External geometry modeler settings
In external mode, two types of parametric modeler executable can be used: 


Embedded interpreter (Python): in this case, the Python integrated in FINE™/Design3D is used as the geometry modeler executable.
User-defined: in this case, the user must specify the full path to executable. The box Full path to executable appearing under the combo box enables to perform this operation.

The following command line is used to launch the external geometry modeler:
<geometry modeler executable>  <geometry modeler script>  <arguments>
The inputs  required by FINE™/Design3D to allow the coupling with an external geometry modeler tool are:

 The Python script guaranteeing the appropriate conversion of the external geometry modeler data into a format readable by FINE™/Design3D. The entry “Parametric Modeler Script” should be used to select this script.
The initial project file generated in the external tool to be coupled with FINE™/Design3D. The entry “Parametric Modeler Project” should be used for that purpose.

FINE™/Design3D  passes the following argument pairs to the geometry modeler script:

-projectfile file_name(input):  path to the reference project file (.par in AutoBlade™ for example). 
-paramfile file_name(input):  path to the parametric file (.param in AutoBlade™ for example).
-geomfile file_name(output): path to the geometry file.
-checkfile file_name(optional - output): path to the geometry check file (Only present if the "External Check" option is selected in the FINE™/Design3D).

Further details can be found in the script enabling to couple FINE™/Design3D and AutoBlade™ as external tool in the input folder of the Axial Compressor Rotor37 - External mode.
The formatting of the data exchanged between  FINE™/Design3D and the external geometry modeler tool can be piloted in the entry “Exchange parametric format”. Three different formats are proposed to the user:
			full: each parametric variable is identified by its name, its value, its lower, upper value and integer flag ("FALSE"/"TRUE" - these three arguments are optionnal), and its expression (if defined in this way).name_value: each parametric variable is identified by its name and its value.name_expr_value: each parametric variable is identified by its name, its expression and its value.
The default option "name_value" is advised.
Depending on the geometric modeler, some non-controllable interdependencies can occur between the parametric variables, leading to incorrect geometries. In order to cope with this behavior, the entry "Exchange parametric filter" allows to export some or all of the parametric variables from the parametric layer to the special parametric file (.param). The following options are available:

"free": transfer only the free parameters 
"free_dependent" (default): transfer all the free parameters, as well as those being dependent to the free variables. This option is required for the external modeler if some parameters depend on at least one free parameter, as the free option is not sufficient to ensure a correct update of the model in such a case.
"all": transfer all the parametric variables

The  parametric layer is exposed to the user after importing the file (text input file) containing the parametric variables via the button "Import project parameters".


Within the FINE™/Design3D interface, the user has then the possibility to: 

Set up complex dependencies between parameters, with math expressions or regular functions (abs, sin, ...).
Define bounds
Export a list of parameters in text  format

The buttons "Erase all parameters" and "Update layer" enable respectively to erase all the current parametric variables loaded into FINE™/Design3D, and to perform a check over the definition of the parametric variables. If the setup is correct, the message "The parametric layer is valid" should appears in green below the button; otherwise, a message colored in red will appear and indicate which variable is incriminated. New variables can be defined via the button "Add"; the name of the new variable needs to be specified first. Similarly, the "Remove" button enables to delete a variable after selecting it in the combo-box on the right of this button.
In Expert Mode, the user may activates the External Check to check the status of the geometry generation. The  check is not submitted as a separate job.  Instead, enabling the "External Check" option simply tells FINE™/Design3D to read the associated check file (argument -checkfile) and read the flag for success or failure.  It is the user's responsibility to write the check file in the proper format.   If the "External Check" option is enabled the path to the check file will be passed to the parametric modeler script following the flag "-checkfile".      The file should contain the following line:
For failure:  CHECK_STATUS 0
For success:  CHECK_STATUS 1
NUMECA can provide an external coupling script for Grasshopper™ integrated with Rhino's 3-D modeling tools. For more information, please contact your account manager.

Computation Management
When using the FINE™/Open coupling, the Mesh Generator should be set to FINE/Open, the Solver should be set to FINE/Open and the Post-Processor should be set to CFView.


FIGURE 22 Computations management

Numeric Results Visualization in FINE™ GUI



Click on Solution Monitor folder.
Open Simulation Results page by double clicking on it.

A notebook similar to the notebook in the window CFD package is proposed (FIGURE 50).
This notebook allows the visualization of all the selected quantities: global performances, quantities at inlet & outlet, user-defined quantities. The values of all selected macros are displayed. If a value doesn't exist, "N.A.", which stands for "Not Available", is displayed meaning that a problem occurred during the CFD process (generation of a mesh with negative cells, no convergence of the CFD flow solver...).
These results are obtained by reading files generated by the process. If these files or directories are removed, the results will no longer be available.
If several CFD computations or the FEA computation have been launched, computation selection is available. When the active computation is modified, the results are modified.


FIGURE 50 CFD results window
When running a multistage computation, it is possible that the inlet or outlet boundary is not represented in the meridional view (for instance if there is a volute at the inlet or/and outlet). In such a case, the spanwise distribution of quantities at the inlet or outlet and the cartesian plot at the inlet or outlet will not be available.

Task Manager


Using the Process menu in FINE™/Design3D, computations can be started or stopped. For basic task management these menu items are sufficient.
The Task Manager provides more advanced features for the management of (multiple) tasks. Especially, it allows to launch a database generation in parallel (generate multiple samples at the same time). It also allows to launch multiple database generations at the same time.
Before using the Task Manager for the first time it is important to read the next section first. This section provides important information for getting started with the Task Manager. Read this section carefully to fully benefit of the capabilities of the Task Manager.
From FINE™/Design3D, the Task Manager can be accessed through the Modules/Task Manager menu item.

FINE™/Design3D GUI
Accessing FINE™/Design3D
The FINE™/Design3D product is integrated in the NUMECA product FINE™/Turbo. To use FINE™/Design3D, FINE™/Turbo should be installed according to the guidelines in the installation note. 
First, the FINE™/Turbo interface should be launched by the following command:
On Linux
fine<version> -print <Enter> where the version is 131 for the latest release.
On Windows
Click on the FINE™/Turbo icon in Start/Programs/NUMECA software/Fine<>version>/FINE. Alternatively FINE™/Turbo can be launched from a dos shell by typing:
	<NUMECA_INSTALLATION_DIRECTORY>\Fine<version>\bin64\finex86_64.exe <Enter> 
Then, click on the menu item Modules/Design 3D to access the FINE™/Design3D  interface. The interface will ask a computation name and an active run mode. The run mode could be, according to licence file: Screening, Database generation, Optimization and Uncertainty quantification.
FINE™/Design3D Interface
The layout of the FINE™/Design3D interface is divided into 5 areas as shown in FIGURE 2:

The Quick Access Pad (QAP) Design3D computations manager permits to create, rename or delete Design3D computations
The QAP Design3D opens a tree allowing the user to select a page and set the corresponding parameters in the parameter area.
The menu bar contains three pull down menus named File, Process and Modules:

The File menu provides the user with basic project management tools and allows the user to access the last 5 opened projects:

New - create a new project
Open - open an existing project
Save - save the current project
Save As - copy the current project to a new project
Save Run Files - save the Design3D run file
Quit - quit the Design3D interface

The Process menu allows the user to launch/stop a computation task (launch the design process).

Start - launch the design process
Suspend - save and stop the design process

The Modules menu allows to switch from Design3D to other NUMECA modules such as AutoBlade™, FINE™/Turbo or the Task Manager.
The Run Mode box displays the current "Run Mode" which could be: AutoBlade™ Screening, Database generation, Optimization. Each of these run modes is described in the next chapters.

The icon bar contains icons which allow loading, saving, creating a project and which allow to customize the interface layout.

 The New Project icon is a shortcut for the menu item File/New.

 The Open Project icon is a shortcut for the menu item File/Open.

 The Save Project icon is a shortcut for the menu item File/Save.

 The Save RUN Files icon is a shortcut for the menu item File/Save Run Files.

 The Save RUN Files icon is a shortcut for the menu item File/Save Run Files.
The user mode selection box allows to choose between the Standard Mode and Expert Mode. In standard user mode, only the most common parameters of a Design3D project are accessible. In expert mode, additional parameters are available. Modifications of these expert parameters are in general not required.
The Parameters area displays the parameters related to the selected item in the QAP Design3D.



FIGURE 2 The FINE™/Design3D interface

Required Licenses
Basic use of the FINE™/Design3D package as an optimization tool requires the following licenses:

Screening: allows automatic coupling of a parametric blade representation to a CFD or FEA chain to perform computations at several working point.
Multipoint computation: allows to select several computations and launch them during one process (see Simulation Task - CFD Chain).
Database generation: allows to create a database of CFD computations for a variation of parameters representing a 3D blade (see Database Generation).
Optimization: allows to find a geometry with optimized performance (see Optimization).

For Screening, database generation and optimization the required licenses for FINE™/Turbo package should be obtained to allow the use of the mesh generator, flow solver and post processor. Alternatively an external CFD package can be used which requires a separate license as mentioned below.
When creating a new computation, the Run Mode selection list displays only the run modes for which a license is available.
The following optional licenses are available:

MINAMO Database & Optimization: allows the use of the latest technologies through new run modes for design space exploration  and efficient nonlinear surrogate models. It also includes new post-processing and data-mining capabilities.
The MINAMO license is provided for free by your local sales office upon request, provided that a FINE™/Design3D license is already active.

External CFD package: allows to use an external CFD package, other than FINE™/Turbo in AutoBlade™ screening, database generation and optimization.
HEXPRESS™/Hybrid: allows to run mesh generator when launching a FEA computation.
Oofelie: allows to run the FEA solver Oofelie when launching a FEA computation.

                Uncertainty Quantification: allows to introduce operational and geometrical uncertainties.

Results Files Management
An AutoBlade™/ Screening project has the following directory structure: 



"impeller" is the root project directory,
"impeller.iec" is the main project file,
"impeller_computation_1" corresponds to the default name of the FINE™/Turbo computation,
"impeller_screen" corresponds to the Screening computation 
"_trk" is the sub-directory containing the CFD turnkey results (geometry + CFD solution),
"_flow" is the sub-directory containing the CFD solution files,
"_mesh" is the sub-directory containing the generated mesh,
"_results" is the sub-directory containing the post-processing results including the HTML report, the data files generated by the post processor macros,
 "_pictures" is the sub-directory containing all the ".png" pictures generated by CFView™,
"HTML_report" is the sub-directory containing the HTML report of the computation.

Multiversion Environment

When using the FINE™/Open coupling, the user must install the FINE™/Open with OpenLabs™ package and the FINE™/Turbo package in a multi-version environment (in the same NUMECA_INSTALLATION_DIRECTORY):

For FINE™/Turbo with FINE™/Design3D: Windows or Linux


In the Multiversion Environment page, the Automatic version selection is activated by default. If the option Automatic is unchecked then all available FINE™/Open versions are listed. An icon in front of the version indicates the compatibility between the current FINE™/Design3D and the shown FINE™/Open. The compatibility can be Compatible, Incompatible, or Unknown. the compatible versions appear first, followed by incompatible and unknown versions. For each type of version list, the available versions are sorted alphabetically.
If the option Automatic is selected, the first compatible version is chosen. If there is no compatible version, the first incompatible version is chosen. If there is no incompatible version, the first unknown version is chosen. 
If the option Automatic is unselected, the user may choose any version from the list.

Solution Monitor
For Simulation Results, Simulation Images and Compare Blade Geometries, please refer to Results Visualization. Three other types of convergence history are available under Optimization Monitor:
Design Convergence History




FIGURE 16 Objective function evolution in case of single objective optimization
In case of single objective optimization, many plots show the convergence of the design cycles (FIGURE 16). The interface displays the objective function, the penalties and the evolution of quantities along design iterations. Three colors are used to represent the best sample found so far (green), the CFD computation results (blue) and the Artificial Neural Network prediction (red). Parameter evolution plots show the maximum value (green), the minimum value (red) and the evolution as a function of design iteration (blue).
These plots are very useful for the user since it rapidly shows if a parameter has reached the boundary of variation. 
In case of multiple objectives optimization, two lists allow to choose the abscissa and ordinate among free parameters, derived quantities and penalties. The plots shows all accurate sample corresponding to the database at the current iteration number. The samples are grouped in

dominated accurate samples at previous step (do not belong to the pareto front)
non dominated accurate samples at previous step (belong to the pareto front)
candidate ANN samples (selected approximate samples)
candidate accurate samples (after accurate simulation)

A red link is drawn between the surrogate and accurate samples obtained during the active step. It represents the error of the ANN. These segments tend to be shorter with higher iteration numbers if the surrogate model is suitable.
When the mouse pointer is close to a sample in the graph, it is highlighted and details are shown on the upper right of the screen.


FIGURE 17 Convergence history page in case of multiple objective optimization
If invalid samples have been generated during the multi-objective optimization, the user has the possibility to hide them by clicking on "Hide invalid samples".
In case of robust design optimization, information regarding first and last collocation points corresponding to the selected design is displayed instead of sample and location on disk. A button Export Parametric Model allows to export a “.par” file that can be imported for a further uncertainty quantification run mode. When exporting the browser is by default at the level of the project. The exported parametric model contains the deterministic value of the

		parameters linked to the selected design.


FIGURE 18 Convergence history page in case of multiple objective robust design optimization
Optimizer Convergence History


In case of single objective optimization, the plots show the convergence of the optimization inside every design cycle (FIGURE 19). The user can see the objective function, penalty or quantity value evolution during the optimization based on the artificial neural network approximation. If the solution is still decreasing, the user should change some optimization parameters (increasing the number of optimization iterations, the number of reproduction cycles for a genetic algorithm,...) to have the best optimum of artificial neural network approximation. 


FIGURE 19 Objective function convergence during a Genetic Algorithm in case of single objective optimization
In case of multiple objectives optimization, the page displays the three criteria processed and used to determine the candidates to select after an single run of the optimizer as well as determine if the algorithm is converged and stop it automatically.


Non domination
Non-domination measures the presence of suboptimal designs in a population. The range of the criterion is [0,1]. The last population of the optimizer should only contain non-dominated samples corresponding to a zero value for this metrics while the very first populations might produce values close to 1.0. If the value is not very close to zero, the optimizer has most probably failed.
The non-domination metrics is defined as



where:
P is the population and |P| its size,
Pnd the sub-population of non-dominated individuals in population P and |Pnd| its size.
Distance
Distance is defined as the average distance of the population samples to the origin in the objective space relative to the worst sample. The range of variation is [0,1] and convergence is reached when all samples are at a distance of the same order of magnitude, leading to a low discrepancy and the criterion should be close to 1.0 in case of similar scaling of the objectives.
Low values of the criterion probably mean that the objectives have either a different order of magnitude or that the optimizer did not converge to the pareto front(s). If not close to unity, the value of the criterion should remain stable at the end of the run.



where
P is the population and |P| its size,
d(p) is the euclidian distance of the sample to the origin in the objective space.
dmax(p) is the highest euclidian distance among samples of population P.
Spacing
Spacing reflects the ability of the optimizer to collect non-dominated samples spread over the whole front. If the last population only contains non-dominated samples, these samples should be uniformly distributed along the front(s) in the objective space.
The spacing criterion is defined as 



the special spacing distance as



and the average spacing distance as



where

 is the value of the objective o for sample p

 is the maximum value of objective o over samples in P

 is the minimum value of objective o over samples in P
This criterion is also defined over the range [0,1] and, in case of large populations perfectly spread, should tend to zero in the last populations. If successful, the optimizer should produce low values of S(P).
Optimizer Populations
This page is available only in case of multiple objectives optimization. The page displays the initial and final population of each run of the optimizer. If successful, the final population contains only or almost only non dominated samples spread along the pareto front(s).
Controls are similar to the design convergence history page, but no details can be displayed for the samples.

External Mesh Generator


FIGURE 30 External mesh generator settings
In external mode, two types of mesh generator executable can be used: 


Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is used as the mesh generator executable.
User-defined: in this case, the user must specify the full path to executable.

The following command line is used to launch the external mesh generator:
<mesh generator executable>  <mesh generator script>  <arguments>
FINE™/Design3D  passes the following argument pairs to the mesh generator script:

-trbfile file_name:  is the mesh template file specified in the interface. This file is copied in the project directory under the name: "projectname_external_mesh_template.trb".
-geomfile file_name:  is the geometry written by AutoBlade™ in the ".geomTurbo" file (see AutoBlade™ User Manual in Export as '.geomTurbo'). This file is written in the directory of the present computation with the name: "projectname.geomTurbo".
-gridfile file_name:  is the mesh file generated by the mesh generator. This file name is written in a sub-directory "_mesh" of the present computation with the name: "projectname.msh"
-checkfile file_name: is a mesh quality check file (only pass when enabling Quality Check) where the user should write the mesh generation status.
-job_design3d file_name:  is a small log file containing the mesh generator output that is usually sent to the shell. This file is sometimes useful to check various details of the mesh generation process.

In Expert Mode, the user may activates the External Check to check the mesh quality. The  check is not submitted as a separate job.  Instead, enabling the "External Check" option simply tells Design3D to read the associated check file (argument -checkfile) and read the flag for success or failure.  It is the user's responsibility to write the check file in the proper format.   If the "External Check" option is enabled the path to the check file will be passed to the mesh generator script following the flag "-checkfile".      The file should contain the following line:
For failure:  CHECK_STATUS 0
For success:  CHECK_STATUS 1

Screening

This Screening mode allows to do a CFD/FEA computation for a certain AutoBlade™ geometry in an automatic way: automatic generate the blade geometry, automatic generate the mesh, automatic launch the solver and automatic perform post processing after the computation has finished.
This chapter describes the Screening, that provides the blade designers with a completely integrated three-dimensional blade geometry generation and CFD/FEA analysis package. Screening integrates, in a user-friendly interface, the NUMECA parametric blade modeller (AutoBlade™) and an easy coupling with:

the NUMECA CFD package FINE™/Turbo or an external CFD package for the CFD chain.
the NUMECA mesh generator HEXPRESS™/Hybrid and Open Engineering FEA solver Oofelie or an external FEA package for the FEA chain.

This product allows to rapidly open an existing AutoBlade™ geometry / create an AutoBlade™ geometry / modify an existing AutoBlade™ geometry and rapidly run the CFD/FEA chain (mesh generation / solver / post-processor) in order to get the aerodynamic/structure performances of the AutoBlade™ geometry. Screening allows to run a single CFD computation, a single FEA computation or a combined CFD/FEA computation.
The Screening process is composed of four main steps:

The process starts with the definition of the three-dimensional blade geometry. This is performed by the NUMECA AutoBlade™ modeller for turbomachinery blades.
Then, the mesh generator is launched by Screening with several arguments among which the geometry file created in step 1 by AutoBlade™ and the template mesh created by the specific mesh generator used.
Next, the flow/structure solver is launched by Screening with several arguments among which the mesh file created in step 2 and the flow/structure solver parameter input file created for the specific flow/structure solver. This process can be launched in parallel or sequential mode.
Finally, the post processor is launched by Screening with as arguments the project file and the macro file. The post-processor is launched as many times as there are macro files. This process can be launched in parallel or sequential mode.

HTML Report
An automatic HTML report is generated at the end of each computation. This report has the following structure: a presentation page, an index, computation report and annex.
The index contains links to the corresponding paragraphs and images. The annex contains all parameters of AutoBlade™. The next two pages show an example of HTML report, the turbomachinery is an axial compressor, NASA rotor 37.
The sub-directory "_results" contains all the necessary files for the HTML report. As a consequence, the whole "_results" directory can be sent to another user who will be able to visualize the report.

Limitations

The task manager have some limitations due to the current PVM and MPI libraries:
The remote copy works only if there is enough disk space on the remote machine. Currently, no check is performed to identify the available disk space and the flow solver crashes with "undefined reason".
Parallel computation with distributed memory are only available on homogenous Linux/Windows platforms.

The directory installing FINE™/Turbo & FINE™/Design3D must be the same in order to be able to run distributed memory parallel computation with OpenMPI.

What is FINE™/Design3D?
FINE™/Design3D is a unique integrated environment for the design and optimization of three-dimensional turbomachinery blades. This environment integrates:

a modern parametric blade modeller for turbomachinery blades: AutoBlade™, 
an automatic coupling between AutoBlade™ with a CFD package,
an automatic coupling between AutoBlade™ with a FEA package,
a very efficient design and optimization environment for turbomachinery blades.

All these components are included into the NUMECA Graphical User-Interface (GUI) FINE™.
With FINE™/Design3D the user can create a completely new blade design or redesign and optimize existing blades to reach new or better design goals, which can not be attained by means of traditional design methods. FINE™/Design3D provides the user with a completely integrated blade geometry design environment and flow-field evaluation system. This design environment provides to the user all the necessary tools needed to create or optimize three-dimensional blade geometries while staying in the same graphical user-interface. Therefore, it releases the user from various non-design engineer tasks like opening different software and transferring files between various numerical codes.
Screening allows to perform automatic CFD/FEA analysis for an AutoBlade™ model. The CFD chain contains AutoBlade™, an automatic coupling to the NUMECA CFD package FINE™/Turbo or any other external CFD package. The FEA chain contains AutoBlade™, an automatic coupling to the unstructured mesh generator HEXPRESS™/Hybrid and the FEA solver Oofelie, or any other external FEA package.
The design and optimization environment adds a fast and efficient design algorithm, with a flexible definition of the design objective. Starting from FINE™/Design3D v12.1, MINAMO run modes have been integrated, extending the capabilities of FINE™/Design3D. This new optimization/post-processing kernel uses the most advanced genetic algorithms, powerful design of experiments techniques and efficient nonlinear surrogate models.  It also includes new post-processing and data-mining capabilities. For more details about MINAMO, please refer to the chapter MINAMO Database &  Optimization.
A robust design optimization extends the classical deterministic optimization capabilities by taking into consideration the inputs uncertainties. It provides two additional responses types to be defined as optimization objectives and/or constraints:

the mean value of the computed quantities instead of the deterministic values;
the variability (e.g. standard deviation) of the quantities with respect to the inputs uncertainties.

By minimizing the outputs variability, the robust optimum is less sensitive to the input uncertainties (operational and/or geometrical). As depicted in the Deterministic optimum vs. robust design optimum, with the same input uncertainty variation (same range in abscissa), the variability of the output is smaller for the robust optimum (narrower green PDF in ordinate).


FIGURE 1 Deterministic optimum vs. robust design optimum

Processor Management


FIGURE 45 Processor management systems
FINE™/Design3D supports both PVM and queuing systems. Depending on the system where FINE™/Design3D is launched, different options are available in the Processor Management page:

PVM: all the steps of the computation will be launched on the PVM system.
SGE/PBS/LSF: all the steps of the computation will be launched on the queuing system SGE (Sun Grid Engine), PBS (Portable Batch System) or LSF (Load Sharing Facility).
Mixed: if this option is selected, the steps of the computation can be distributed into different systems. For example, when launching a Screening computation on a cluster with SGE, the mesh generator and post-processing steps can be put on the PVM system, while the solver step can be put on SGE. When the option Mixed is selected, one option Selected system appears in each step. The user can choose a system from the list for the current step.

PVM


FIGURE 46 PVM process management settings - CFD


FIGURE 47 PVM process management settings - FEA
On PVM systems, the processor settings for each step should be defined as follows:

Launch the runs in the current step In succession or Concurrently. This option is used in case of multi-mesh and/or multi-point computations. For example, in a multi-point computation, if the user wants to launch the multiple working points concurrently, the user must define the same number of configurations as the computations, as explained in step 2.
At the left side of each step, the user may create a New configuration, Reset the selected configuration to its default setting or Remove the selected configuration. Each configuration corresponds to one run. For example, if there are 3 working points (multi-point) and the user wants to launch the flow solver concurrently, the user could specify 2 or 3 configurations. With 3 configurations, the three runs will be launched concurrently. With 2 configurations, the 2 first runs will be launched concurrently and the third one will wait until one of the 2 first runs finishes. 
At the right side of each step, the user should select the processors from the Available processors list. By default, the localhost (the machine where FINE™/Design3D GUI is launched) is used. If the number of the selected processors is larger than 1, the run will be launched in parallel mode. Note, the settings are applied only to the highlighted configuration.

The following settings/limitations are dedicated to special steps:

For CFD mesh generation, one processor should be defined because AutoGrid5™ does not support distributed memory parallel mode. The option Number of Threads allows to specify the number of processors (threads) to run the AutoGrid5™ mesh generation in shared memory parallel mode.
When coupling with the FINE™/Turbo chain and the flow solver is run in parallel mode (the number of selected processors is larger than 1), the user should define the Load balancing and Memory estimation.

FINE™/Design3D allows the user to launch the computation in parallel mode or parallel partitioned mode provided by the flow solver. When setting the load balancing to Automatic, the load balancing is defined automatically and the computation is launched in parallel mode. When setting the load balancing to Partitioned automatic, the load balancing is defined automatically and the computation is launched in parallel partitioned mode. When setting the load balancing to User defined, the load balancing can be defined by the user through a taskfile (see Taskfile Format) and the computation is launched in parallel mode.
The memory estimation can be Automatic or defined by the user (User defined).
In case of parallel mode, the parallel processing relies on the block structure of the mesh. As a consequence, the number of processors cannot exceed the number of blocks in the mesh. However, in case of parallel partitioned mode, this limitation is removed and the user can use any number of processes.
In case that the load balancing is defined by a taskfile, the number of processors specified in the taskfile should be the same as the number of processors selected in the configuration. 
When coupling with the FINE™/Turbo chain  and the flow solver is run in parallel mode, the specified processors are used only as slave nodes and a master process will be automatically added. As a consequence, the final number of processors is the defined number plus 1 (as master node). See FINE™/Turbo user guide for more details.
All the processors selected for the FEA mesh generator must be on the same machine/node, because HEXPRESS™/Hybrid does not support distributed memory parallel mode. The option Number of Threads allows to specify the number of processors (threads) to run the HEXPRESS™/Hybrid mesh generation in shared memory parallel mode. When the option is set to 0, the mesh generation is launched with the number of cores available on the machine.
When CFView™ is used as the post processing tool, one processor should be defined because  CFView™ can only be run in sequential mode.

SGE, PBS and LSF


FIGURE 48 SGE process management settings - CFD


FIGURE 49 SGE process management settings - FEA
On queuing systems, the processor settings for each step should be defined as follows:

Select a Parallel environment into the available environments (i.e. openmpi).
Select a System queue into the available queues (i.e. compute.q). 
Select a Queuing template which will be used to generate the submission script. The following templates are provided by default:

d3d_cfd_mesh: template used for the CFD mesh generation when coupling with the FINE™/Turbo or the FINE™/Open with OpenLabs™ chain.
d3d_cfd_solver: template used for the CFD flow solver when coupling with the FINE™/Turbo or the FINE™/Open with OpenLabs™ chain.
igg_for_design3d: template used for the FINE™/Turbo CFD mesh generation.
euranus_for_design3d: template used for the FINE™/Turbo CFD flow solver.
d3d_hh: template used for the FEA mesh generation.
d3d_oofelie: template used for the FEA solver.
cfview_for_design3d: template used for the FINE™/Turbo CFD/FEA post processing.
d3d_external_mesh: template used for the CFD mesh generation in external mode.
d3d_external_cfd: template used for the CFD flow solver in external mode.
d3d_external_post: template used for the CFD post processing in external mode.

Define the Number of configurations. This option is used in case of multi-mesh and/or multi-point computations. For example, if there are 3 working points (multi-point) and the user wants to launch the flow solver concurrently, the user could specify 2 or 3 configurations. With 3 configurations, the three runs will be launched concurrently. With 2 configurations, the 2 first runs will be launched concurrently and the third one will wait until one of the 2 first runs finishes. 
On queuing system, all configurations have the same processor settings.
Define the Number of processors.  If the number of the selected processors is larger than 1, the run will be launched in parallel mode.

The following settings/limitations are dedicated to special steps:

For CFD mesh generation, one processor should be defined because AutoGrid5™  can only be run in sequential mode.
When coupling with the FINE™/Turbo chain and the flow solver is run in parallel mode (the number of selected processors is larger than 1), the user should define the Load balancing and Memory estimation.

FINE™/Design3D allows the user to launch the computation in parallel mode or parallel partitioned mode provided by the flow solver. When setting the load balancing to Automatic, the load balancing is defined automatically and the computation is launched in parallel mode. When setting the load balancing to Partitioned automatic, the load balancing is defined automatically and the computation is launched in parallel partitioned mode. When setting the load balancing to User defined, the load balancing can be defined by the user through a taskfile (see Taskfile Format) and the computation is launched in parallel mode.
The memory estimation can be Automatic or defined by the user (User defined).
In case of parallel mode, the parallel processing relies on the block structure of the mesh. As a consequence, the number of processors cannot exceed the number of blocks in the mesh. However, in case of parallel partitioned mode, this limitation is removed and the user can use any number of processes.
In case that the load balancing is defined by a taskfile, the number of processors specified in the taskfile should be the same as the number of processors selected in the configuration. 
When coupling with the FINE™/Turbo chain  and the flow solver is run in parallel mode, the specified processors are used only as slave nodes and a master process will be automatically added. As a consequence, the final number of processors is the defined number plus 1 (as master node). See FINE™/Turbo user guide for more details.
All the processors selected for the FEA mesh generator must be on the same node, because HEXPRESS™/Hybrid does not support distributed memory parallel mode.
When CFView™ is used as the post processing tool, one processor should be defined because  CFView™ can only be run in sequential mode.

Simulation Settings
The type of turbomachinery should be defined to have the right definition of some quantities, such as efficiency.




FIGURE 11 Turbomachinery type window 
In the expert mode, the user can control the license check, the convergence level and so on.


FIGURE 12 Expert parameters
If few seats of the flow solver are available in the license file, it may happen that the CFD process will stop because there is no more licence available. To avoid that the processing stops, the Screening process will try to launch the CFD components several times (Max number of attempts) at a given time interval (Delay between attempts).
In case of multiple working points or multiple meshes simulation, the option Action when a job fails allows the user to kill and cancel other CFD computations when one of the CFD computations fails (defined by Level of stopping error),:

If the value continue is selected (default), all the running CFD computations will continue and all the waiting CFD computations will be launched until they stop naturally.
If the value kill is selected, all the running CFD computations will be killed and all the waiting CFD computations will be canceled.

After each CFD computation finished, the status of the computation will be checked. The status could be:

not started: the computation is not started.
successful: the computation finished and converged.
crashed: the computation blew up or crashed.
not converged: the computation finished but not reach the convergence criteria.
failed: negative cells are detected.


When the user sets the Action when a job fails to kill, the user has to select the Level of stopping error. The default value critical allows FINE™/Design3D to stop the computations on all abnormal results (not started, crashed, failed). The value any will stop the computations in any status except successful.
The option Euranus requested convergence level is used to set the convergence criteria of the flow solver. If the CFD computation does not reach the specified convergence criteria, the sample won't be added to the database. The default value is -3. If the computation is not initialized from file, the value should be decreased, such as -4 or -5.
In case of multi-point computations, the type of turbomachinery and the expert parameters are common to all the computations.

Setting up CFD/FEA chain in Optimization Project

To perform an optimization the following items need to be defined for the CFD/FEA chain under Simulation Tasks in the FINE™/Design3D GUI:

The boundaries of variation for the geometrical parameters. See Simulation Task for advice on the variation of the boundaries. To make full use of the generated database it is strongly recommended to use the same boundaries as used in the database generation. If other boundaries are used, it may occur that an optimization is performed in a region for which no information is present in the database. This can cause problems in the optimization process.
The mesh generation.  The mesh can be defined using the CFD wizard or an AutoGrid™ template. In either way it is recommended to use the same mesh definition as the one used in the database generation. If the mesh is sufficiently fine to have no influence on the CFD result the used mesh template would not be important. However, in general there is some mesh dependency and the use of a different mesh definition could perturb the database and cause problems in the optimization process.
The CFD/FEA solver input variables.  It is strongly recommended to use the same input variables as used for the generation of the database. For example, the use of different boundary conditions would perturb the created database and therefore cause problems in the optimization. It is possible to perform an optimization based on a database with different input variables if those input variables are stored in the database for each sample. Note that the execution of the CFD and the FEA chains can be reversed. Please refer to this page for more information.
The post processing quantities. Like for the database generation, it is important to select all the post processing quantities that are needed in the optimization. It is recommended to select all quantities that were selected for the database generation.

Multistage Management



Currently, the blade modeller AutoBlade™ can model only one blade row. That means FINE™/Design3D can only optimize one blade row in the frame of single/multiple rows environment. In order to optimize multiple blade rows at the same time, an approach in FINE™/Design3D is to define parameter links between the current modelled blade and the other blades. The parameters of the current blade will be updated by FINE™/Design3D. The parameters in the other blade models will be updated according to the links. Then, the other blade geometries are updated by running AutoBlade™ in batch mode. This process must be done through script.


FIGURE 10 Flow chart of multistage management
The existing multistage option introduced in the Mesh generation is enhanced to support advanced scripts. An example running on Windows can be found in the Multistage Script section. The following new keywords are introduced to allow more general scripting:

Private sections
In the script, two special commands defined as comments are introduced. All lines located between '#BEGIN D3D_MULTISTAGE_PRIVATE' and  '#END D3D_MULTISTAGE_PRIVATE' are left untouched by Design3D.
AutoGrid5™ mode
If the line 'D3D_MULTISTAGE_MESHER = "AUTOGRID5"' exists in the script, the executable igg will be launched with option -autogrid5 and the script will be run in AutoGrid5™ module. If this line is not present or replaced by 'D3D_MULTISTAGE_MESHER = "IGG"', the script is supposed to only contain igg commands.
Blocks
Each mesh should be defined as an entry in the dictionary 'D3D_MULTISTAGE_BLOCK_NAME' as shown in the samples below. Each mesh has a representation as (key,value) where the key is the name of the block (or row) and the value is the full path name to the mesh file. The extension is supposed to be .igg, but is not taken into account by the parser. None of key and value fields can be empty.
D3D_MULTISTAGE_BLOCK_NAME["stator1"]  = "C:\\Aachen\\IGG_AutoGrid\\stator1.igg"
D3D_MULTISTAGE_BLOCK_NAME["rotor"]    = "C:\\Aachen\\IGG_AutoGrid\\rotor.igg"
D3D_MULTISTAGE_BLOCK_NAME["stator2"]  = "C:\\Aachen\\IGG_AutoGrid\\stator2.igg"
When read, those fields are used to check the files and copy them to the project.
Directories and names of files
The following keywords, except if used on the left side of a command, are automatically replaced by Design3D before the script is run. These keywords are supposed to be used by the script and therefore, should always be present.

D3D_MULTISTAGE_SLAVE_DIR: Directory where the untouched rows are read
D3D_MULTISTAGE_SLAVE_NAMES: List of untouched row names
D3D_MULTISTAGE_MASTER_DIR: Directory where the generated master mesh can be read
D3D_MULTISTAGE_MASTER_NAME: Name of the master mesh
D3D_MULTISTAGE_OUTPUT_DIR: Output directory where the final mesh should be written by the script
D3D_MULTISTAGE_OUTPUT_NAME: Output name for the final mesh

Define parameter links
The name of the rows should be used to define parameter links. In the following example, the parameters in the rows "rotor"/"stator2" will be updated according to the parameters of the row "stator":
stator1_to_rotor = dict()
#BEGIN D3D_MULTISTAGE_MAPPING
stator1_to_rotor["UDF_S1_TE_RADIUS"] = "S1_TE_RADIUS"
#END D3D_MULTISTAGE_MAPPING
stator1_to_stator2 = dict()
#BEGIN D3D_MULTISTAGE_MAPPING
stator1_to_stator2["S1_CAMBER_GAMMA"] = "S1_CAMBER_GAMMA"
#END D3D_MULTISTAGE_MAPPING
The parameter links can be defined directly in the script between the keywords #BEGIN D3D_MULTISTAGE_MAPPING and #END D3D_MULTISTAGE_MAPPING, as show above. The links can also be defined in the GUI. If the example above appears in the script, the Multistage Management page will be displayed as below.


The left side shows all the parameters of the rows "rotor"/"stator2". For each parameter in the left side, a link can be build by selecting a parameter from the row "stator". Note, at least one link should be defined in the script.

The Task Manager Interface
The Task Manager subpanel is composed of the following pages:

Simulation settings


Currently, the FEA model will only include the centrifugal (rotational) loading. All the thermal and force loadings from the fluid are ignored.
In the Material Properties section, the material properties of the solid sector should be defined. In the Loading section, the rotation speed of the solid sector should be defined (in RPM).


FIGURE 37 FEA solver settings
In the Expert Mode, the user is able to control the license check and customize the Oofelie solver.
In case that the license seats are not enough, the Screening process will try to launch the FEA solver several times (Max number of attempts) at a given time interval (Delay between attempts) in order to avoid that the processing stops.
Note, the Oofelie license is provided by Open Engineering. Please contact your local NUMECA support or Open Engineering to get an Oofelie license.
In case of multiple working points or multiple meshes simulation, the option Action when a job tails allows the user to kill and cancel other FEA computations when one of the FEA computations fails (defined by Level of stopping error):

If the value continue is selected (default), all the running FEA computations will continue and all the waiting FEA computations will be launched until they stop naturally.
If the value kill is selected, all the running FEA computations will be killed and all the waiting FEA computations will be canceled.

After each FEA computation finished, the status of the computation will be checked. The status could be:

not started: the computation is not started.
successful: the computation finished and converged.
crashed: the computation blew up or crashed.
not converged: the computation finished but not reach the convergence criteria.
failed: negative cells are detected.

When the user sets the Action when a job fails to kill, the user has to select the Level of stopping error. The default value critical allows FINE™/Design3D to stop the computations on all abnormal results (not started, crashed, failed). The value any will stop the computations in any status except successful.

A default Oofelie launch script has been integrated in FINE™/Design3D. The user may also customize the Oofelie Launch Script and define the Oofelie Arguments. Please refer to the Oofelie manual on how to use Oofelie.
To minimize the size of the FEA simulation, a sector solid body model from AutoBlade™ is used. The periodic boundary condition is used to ensure continuous displacement and stress fields along the periodic boundaries. This boundary condition supports non-matching grids on the periodic faces with an integration scheme. With highly non-matching boundaries it may be necessary to increase the integration level to ensure proper treatment of the periodic boundary. The integration level (Periodic BC Integration Level) is automatically set to 5 by FINE™/Design3D, but may be modified by the user.
A default tolerance defined in the FEA solver Oofelie for the periodic symmetry treatment. If a node is not exactly projected on the periodic face, or if a curved region of the periodic face is coarsely meshed, it is possible that some nodes along the face will not be included in the periodic symmetry treatment. In this case the following error message will be shown (with a number less than 100%):
**INFO: Percentage of surface taken into account: 9.997008e+01%

This introduces a potentially catastrophic amount of error into the treatment and should be avoided at all costs. If this information appears, the user should try to refine the mesh. When tuning the mesh generation is insufficient, the tolerance of the Oofelie periodic BC treatment may be overwritten. This is done by modify the value of Periodic BC Max Distance. A value of 0 indicates that the FEA solver Oofelie will use its internal default values while a value greater than zero overrides the default.

Taskfile Format

The Processor Management page allows the user to launch Screening, Database Generation and Optimization. The user select one or several computers, which have been added into the Task Manager, and he can import a taskfile file as presented below and Design3D will replace the names of computers by the one that the user has selected. 
NAME                  task 7 
      EXECUTABLE            taskManager
      HOSTNAME              hamilton
      REMOTETMPDIR          /tmp
      REMOTELOGIN           
      CHILDRENID            262898
      STATUS                2
      STARTING_DATE         -1
      ENDING_DATE           -1
      WAITING_task          1
      INTEGER_SIZE          1000000
      REAL_SIZE             1000000
      NI_BEGIN process_arguments             
          NI_BEGIN process_argument
      TYPE               -task
      VALUE              /home/user/.numeca/tmp//taskfile6
          NI_END process_argument  
          NI_BEGIN process_argument
      TYPE               -niversion
      VALUE              _devel_branch
          NI_END process_argument  
          NI_BEGIN process_argument
      TYPE               -parendId
      VALUE              262893
          NI_END process_argument  
      NI_END process_arguments             
      NI_BEGIN load_balancing             
         PARALLEL           0
         PROCESS_NAME       0
         NB_SGE_PROCESSOR   1
         SGE_ACTIVATED   0
         AUTOMATIC_LOAD_BALANCING_ACTIVATED   1
         SGE_PE   Undefined
         BLOCK_ID           0
      NI_END load_balancing             
      TEMPORARY 0
      NI_BEGIN subtask             
      NAME                  Flow
      EXECUTABLE            euranusTurbo
      HOSTNAME              hamilton
      REMOTETMPDIR          /tmp
      REMOTELOGIN           user
      STATUS                5
      STARTING_DATE         -1
      ENDING_DATE           -1
      WAITING_task          1
      INTEGER_SIZE          1000000
      REAL_SIZE             1000000
      NI_BEGIN process_arguments             
          NI_BEGIN process_argument
      TYPE               none
      VALUE              /home/user/test_cases/test_70_3/runner_casetrk/runner_casetrk_MNN/_trk/_flow/computation_2/computation_2.run
          NI_END process_argument  
          NI_BEGIN process_argument
      TYPE               -taskmanager
      VALUE              none
          NI_END process_argument  
          NI_BEGIN process_argument
      TYPE               -steering
      VALUE              /home/user/test_cases/test_70_3/runner_casetrk/runner_casetrk_MNN/_trk/_flow/computation_2/computation_2.steering
          NI_END process_argument  
          NI_BEGIN process_argument
      TYPE               -niversion
      VALUE              _devel_branch
          NI_END process_argument  
      NI_END process_arguments             
      NI_BEGIN load_balancing             
         PARALLEL           1
         PROCESS_NAME       2  hamilton  ampere
         NB_SGE_PROCESSOR   1
         SGE_ACTIVATED   0
         AUTOMATIC_LOAD_BALANCING_ACTIVATED   1
         SGE_PE   test_user
         BLOCK_ID           10  0  0  0  0  0  0  0  1  1  0
         DESIGN_GENERATION           2
  hamilton  ampere
         MESH_GENERATION           2
  hamilton  ampere
         FLOW_SOLVER_GENERATION           2
1    hamilton
1    ampere
         POST_TREATMENT_GENERATION           2
1    hamilton
1    ampere
      NI_END load_balancing             
      NI_END subtask

External Post-Processor


FIGURE 32 External post processor settings
In external mode, two types of post processor executable can be used: 


Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is used as the post processor executable.
User-defined: in this case, the user must specify the full path to executable.

The following command line is used to launch the external post processor:
<post processor executable>  <post processor script>  <arguments>
FINE™/Design3D  passes the following argument pairs to the post processor script:

-resfile file_name:  is the file containing the data extracted by the post-processor and is written by the post-processor. The format of this data file is: "macroname_without_last_extension.dat". For example, a macro called mass_flow.me.py must write its results in mass_flow.me.dat. 
-solutionfile file_name:  is the CFD solution file managed by FINE™/Design3D and written by the Flow_Solver_Executable above.
-macrofile file_name: is a macro file provided by the user through the graphical user-interface. The macro is copied in "project_directory/computation_directory/macro_CFV/". The name of the quantity is the name of the macro without the last extension. For example, if a macro called "mass_flow.me.py" is imported, the name of the associated quantity will be "mass_flow.me". Here is the suggested format of a macro. In this example, the data file name can be self-replaced by the macro.
 
#------------------- [ INTERFACE PART ] ---------------------------------
project_file  = 'project_file_name'    # 'project_file_name' should be replaced by the Post_Pro_Executable
data_filename = 'data_file_name'     # 'data_file_name' should be replaced by the Post_Pro_Executable
solution_file = '3D'
quantity_name = 'TOTAL_PRESSURE_DROP'
entry_type    = 'REAL_ENTRY'
 
# Rebuild data file name
macro_filename = 'cfv_pressuredrop.dat'
if not data_filename.count (macro_filename):
    run_filename = os.path.split(project_file)[1]
    prefix = os.path.splitext(run_filename)[0]
    full_path = os.path.split(data_filename)[0]
    data_filename = full_path + os.sep + prefix + '_' + macro_filename
    print "\trebuilt name of result file as '" + str(data_filename) + "'"
 
#------------------- [ PROCESS PART ] ----------------------
 
# Add you code here!
 
pressure_drop = ...
 
#------------------- [ SAVE PART ] ---------------------------------
f = open (data_filename, 'w', 0)
 
f.write ('PARAMETER\n')
s = 'NAME          %s\n'        %(quantity_name)
f.write (s)
s = 'TYPE          %s\n'        %(entry_type)
f.write (s)
s = 'VALUE         %12.6f\n'    %(pressure_drop)
f.write (s)
 
f.close ()
By default, FINE™/Design3D launch each macro as one process. This could be quite time consuming if multiple macros are defined. FINE™/Design3D allows to submit all macros as only one job (Submit a single job in expert mode).
If the recommended macro is run in the usual way (Without activating Submit a single job), the specific variables are replaced by Design3D and the conditional part is not taken into account. On the contrary, in merged mode (Activating Submit a single job), only the first macro is treated with replacements and all other macros are appended without change. This means that, from second to last macro, the conditional part is always processed and the next macro overrides the modifications by restoring the variables.

The data file created by the post processor must respect the file format 
A list of external computations is displayed. The selection of macro corresponds to the highlighted computations. This means that each computation could have different post-processing according to the macro selection. A green circle means that the macro is activated for the highlighted computation instead a red cross means that the macro is not activated.

External Post-Processor


FIGURE 43 External post processor settings
In external mode, two types of post processor executable can be used: 


Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is used as the post processor executable.
User-defined: in this case, the user must specify the full path to executable.

The following command line is used to launch the external post processor:
<post processor executable>  <post processor script>  <arguments>
FINE™/Design3D  passes the following argument pairs to the post processor script:

-resfile file_name:  is the file containing the data extracted by the post-processor and is written by the post-processor. The format of this data file is: "macroname_without_last_extension.dat". For example, a macro called mass_flow.me.py must write its results in mass_flow.me.dat. 
-solutionfile file_name:  is the FEA solution file managed by FINE™/Design3D and written by the FEA_Solver_Executable above.
-macrofile file_name: is a macro file provided by the user through the graphical user-interface. The macro is copied in "project_directory/computation_directory/macro_CFV/". The name of the quantity is the name of the macro without the last extension. For example, if a macro called "mass_flow.me.py" is imported, the name of the associated quantity will be "mass_flow.me". Here is the suggested format of a macro. In this example, the data file name can be self-replaced by the macro.
 
#------------------- [ INTERFACE PART ] ---------------------------------
project_file  = 'project_file_name'    # 'project_file_name' should be replaced by the Post_Pro_Executable
data_filename = 'data_file_name'     # 'data_file_name' should be replaced by the Post_Pro_Executable
solution_file = '3D'
quantity_name = 'TOTAL_PRESSURE_DROP'
entry_type    = 'REAL_ENTRY'
 
# Rebuild data file name
macro_filename = 'cfv_pressuredrop.dat'
if not data_filename.count (macro_filename):
    run_filename = os.path.split(project_file)[1]
    prefix = os.path.splitext(run_filename)[0]
    full_path = os.path.split(data_filename)[0]
    data_filename = full_path + os.sep + prefix + '_' + macro_filename
    print "\trebuilt name of result file as '" + str(data_filename) + "'"
 
#------------------- [ PROCESS PART ] ----------------------
 
# Add you code here!
 
pressure_drop = ...
 
#------------------- [ SAVE PART ] ---------------------------------
f = open (data_filename, 'w', 0)
 
f.write ('PARAMETER\n')
s = 'NAME          %s\n'        %(quantity_name)
f.write (s)
s = 'TYPE          %s\n'        %(entry_type)
f.write (s)
s = 'VALUE         %12.6f\n'    %(pressure_drop)
f.write (s)
 
f.close ()
By default, FINE™/Design3D launch each macro as one process. This could be quite time consuming if multiple macros are defined. FINE™/Design3D allows to submit all macros as only one job (Submit a single job in expert mode).
If the recommended macro is run in the usual way (Without activating Submit a single job), the specific variables are replaced by Design3D and the conditional part is not taken into account. On the contrary, in merged mode (Activating Submit a single job), only the first macro is treated with replacements and all other macros are appended without change. This means that, from second to last macro, the conditional part is always processed and the next macro overrides the modifications by restoring the variables.

The data file created by the post processor must respect the file format 
A list of external computations is displayed. The selection of macro corresponds to the highlighted computations. This means that each computation could have different post-processing according to the macro selection. A green circle means that the macro is activated for the highlighted computation instead a red cross means that the macro is not activated.

Mesh Generation


The mesh used for FEA is generated by HEXPRESS™/Hybrid. The user can use the Wizard mode or import a user-defined template (.conf file).


FIGURE 35 Mesh definition through wizard

In the Wizard mode, the mesh parameters can be set automatically. Three levels of accuracy are available: Coarse, Medium and Fine. FINE™/Design3D will detect the geometry and adapt the mesh settings automatically. The user could also customize the mesh settings in the section Configuration File Settings by selecting Custom. Then, the section Configuration File Settings becomes accessible and the user can modify the parameters. It is strongly suggested to select one of the automatic modes and then select the Custom mode. Thus, the configuration file settings are already adapted by FINE™/Design3D. The user just needs to make the necessary change.
FINE™/Design3D automatically checks the element quality and projection accuracy for all samples. The following criteria are checked. If the mesh fails to meet all of the criteria, the associated sample will be reported as invalid. 

Zero negative cells.
Zero negative jacobians.
Element equiangular skewness.
Cell vertex projection accuracy on periodic faces.
Cell vertex projection accuracy on other faces.
Cell center projection accuracy on periodic faces.
Cell center projection accuracy on other faces. 

By default, the target projection accuracy is estimated automatically. The following defaults are set:

Maximum Equiangular Skewness < 0.95
General Face Accuracy < Global Element Size / 10.0
Periodic Face Accuracy < Global Element Size / 10.0

The user may set the quality criteria manually. Deselecting the option Automatic Projection Check will allows the user to set the values of General Face Accuracy and Periodic Face Accuracy. Please note that the mesh projection accuracy is prescribed in the same unit as the AutoBlade™ geometry, which is not necessarily the same as the final mesh units (meters).
In the expert mode, the user must specify the unit used in AutoBlade™ geometry. After mesh generation, the mesh will be scaled and saved in meter. A wrong unit can lead to the crash of the Oofelie solver.
In case that the license seats are not enough, the Screening process will try to launch the mesh generation several times (Max number of attempts) at a given time interval (Delay between attempts) in order to avoid that the processing stops.
The Version flag is used to customize the HEXPRESS™/Hybrid version. A different version than the current FINE™/Design3D version can be used. To customize the HEXPRESS™/Hybrid version, enter the following argument: -niversion <version>. For example, the argument -niversion 31_3 will generate the mesh using HEXPRESS™/Hybrid v3.1-3. Note, the customized HEXPRESS™/Hybrid version must be installed in the machine.


FIGURE 36 Mesh generation through template
The user may also directly import a template for HEXPRESS™/Hybrid. To import a template, select External Template, then a template can be specified in the External Conf Template section. All the mesh parameters should be defined in the template. In the External Template mode, the mesh quality check is the same as the one in the Wizard mode.

Setting up Optimization Parameters

The optimization parameters can be accessed under Optimization Settings in the FINE™/Design3D GUI.

Uncertainty Quantification

Nowadays, the analysis and design methods in aeronautical industry, particularly the aerodynamic simulation tools relying on CFD and their multidisciplinary extensions are based on simulations with a unique set of input data and model variables. In spite of that, the actual operating conditions are a superposition of numerous operational and geometrical uncertainties, under which the industrial products operate, representing a major source of risk in the design decision process.
New methodologies are therefore required to incorporate the presence of uncertainties at the level of the simulation tools in order to improve the predictive reliability of the simulation process. This means that the simulation tools become non deterministic.

FINE™/Turbo provides an  uncertainty quantification (UQ) module, which uses the Non-Intrusive Probabilistic Collocation Method (NIPCM) introduced by Loeven, 2010 and is able to manage operational uncertainties. In order to account for geometrical uncertainties, the geometry must be parameterized (as for design optimization). The NIPCM method is then applied to the design parameters of the parametrized geometry and their values are automatically modified following the imposed uncertainty law. FINE™/Design3D generates the whole CFD chain, from mesh generation to post processing, in an automatic way.
A new module for Uncertainty Quantification has been introduced in FINE™/Design3D, which allows the user to treat both operational and geometrical uncertainties.
The limitations for the uncertainty quantification module are:

Only compatible with FINE/Turbo mode / 3D associated computation.
When selecting an UQ computation and creating a new UQ computation, a new FINE™/Turbo computation will be created and automatically linked to the new UQ computation.
In case an UQ computation is stopped unexpectedly, the user should manually launch the remaining FINE™/Turbo computations or completely relaunch the UQ computation.
A mesh will be generated for each FINE™/Turbo computation.



Uncertainty Quantification in FINE™/Design3D

Simulation Tasks

Uncertainty Settings

Solution Monitor - UNCERTAINTIES MONITOR


Uncertainty Quantification in FINE™/Design3D
To set up a non deterministic computation in FINE™/Design3D, the user should follow the steps below:

Create a FINE™/Turbo project and launch the computation. The FINE™/Turbo computation is used as the deterministic computation. The results will be used during the post processing of non deterministic results in FINE™/Design3D. 
Switch to FINE™/Design3D, create a new computation with the Run Mode Uncertainty Quantification.
In the QAP Simulation Tasks, set  the CFD chain, from mesh generation to post processing.
In the QAP Uncertainty Settings, choose the geometrical and/or operational uncertainty entries, then set the uncertainty definition for each selected uncertainty entry.
Launch the non deterministic computation from the menu Process / Start.
In the QAP Solution Monitor and Uncertainties Monitor, visualize various CFD numerical results and images, and check the non deterministic results.

The QAP Simulation Tasks, Uncertainty Settings, Solution Monitor and Uncertainties Monitor are included in the left tree of the interface and are  described in detail in the next sections.
Simulation Tasks
To perform an uncertainty quantification computation, the following items need to be defined for the CFD chain under Simulation Tasks in the FINE™/Design3D GUI. This section explains only the specific settings required by the uncertainty quantification module. For the detailed explanation of the CFD chain, refer to 3D Associated Computation.

Import parametric model

Before setting up the CFD chain, the user should fit the blade geometry used in the deterministic computation in FINE™/Turbo. Then, import the resulted parametric file  into FINE™/Design3D. Refer to fitting for how to fit a blade in AutoBlade™.
Computation Management.


The UQ module is compatible only with the FINE/Turbo mode and 3D Associated Computation. In the Computation Management page, all the CFD steps should be set to non external mode.
Parametric Model



In the Parametric Model page, all the parametric parameters are listed. When a parameter is selected as uncertainty entry, it does not need to be free (it can remain frozen) because it is changed during the process according to the imposed uncertainty defined into the Uncertainty Definition page.
Mesh Generation

It is suggested to use the same mesh template as the one used for the deterministic computation in FINE™/Turbo.  If the mesh is sufficiently fine to have no influence on the CFD result, the used mesh template would not be important. However, in general there is some mesh dependency and the use of a different mesh template could introduce inconsistency between the deterministic computation and the non deterministic computation.
Simulation Settings

The UQ module is using the 3D Associated Computation. All the solver inputs are taken from the linked FINE™/Turbo computation (deterministic computation).
Post Processing 

The user may select some post processing quantities in the Post Processing page and check the results in the Simulation Results page after launching the computation. However, these selected quantities will not be used in the non deterministic post processing. 
Uncertainty Settings
Uncertainty Selection
In the Uncertainty Selection page, two tabs are available: the tab Geometrical lists all available parameters for geometrical uncertainty and the tab Operational lists all available parameters for operational uncertainty.  A button uncertainty appears at the right side of each parameter. Checking the uncertainty button will select the corresponding parameter as uncertainty entry. The user may select only geometrical uncertainties or only operational uncertainties or both of them.




At least, one uncertainty should be selected.

Uncertainty Definition
After selecting the uncertainties in the Uncertainty Selection page, all selected uncertainties will appear in the Uncertainty Definition page under the corresponding tab.


Before setting the uncertainty entries, the Cubature rule should be defined first. The cubature rule corresponds to a multi-dimensional version of a quadrature rule, which controls how the collocation points are calculated. The uncertainty propagation method used here being the Non-Intrusive Probabilistic Collocation Method (Loeven, 2010),  the collocation points are selected by means of the Golub-Welsch algorithm (introduced by Golub and Welsch in 1968) for quadrature of general probability density function (PDF) shapes. In order to combine several simultaneous uncertainties the quadrature must be brought to the multi-dimensional case. Several strategies are available in FINE™/Design3D via the cubature rule. 

Full tensorization:  computing the tensor product of the maximal quadrature of each uncertainty.


Sparse grid:  associating different tensor product based on different quadrature levels. The number of points per uncertainty as a function of the level can have a:Linear growth rate: The number of points is equal to ''.Exponential growth rate:The number of points is equal to ''.

For more theory of the cubature rule, please see Uncertainty Quantification. In general, the sparse grid is more efficient than the full tensorization for high number of uncertainties. the following table gives an overview of  the number of collocation points in a given level and dimension, where all uncertainty entries have a Gauss distribution. From the table, if a given accuracy (for example 7 points per direction) is requested, the sparse exponential growth requires  the lowest number of points (red highlighted columns).


In the Uncertainty Definition page, both Geometrical and Operational tabs display three major frames. The left frame lists all the selected uncertainties. The middle frame lists all the parameters for the selected uncertainty entry. The user has to set the parameters for each uncertainty entry.
The Level is used to control the accuracy of the uncertainty quantification.  The number of collocation points depends on the used level and the cubature rule:

For Full tensorization, the number of points for 1D quadrature is (Level+2). The total number of points is the product of the number of points for 1-D quadrature of each uncertainty.
For Sparse linear growth, the number of points for 1D quadrature is (2*Level+1).
For Sparse exponential growth, the number of points for 1D quadrature is ().

If the mean and variance are needed for any output quantity a level 1 produces sufficient accuracy. If the skewness and kurtosis (For example the output PDF reconstruction) are needed a level 2 is recommended.
Then the user should select the uncertainty type and set the corresponding parameters. Four uncertainty types are available:

Gauss: the Gaussian distribution is used to compute the collocation points.

In case that the uncertainty entry is a constant, two parameters need to be specified, one is the mean of the distribution (Average Value) and one is the Variance.
In case that the uncertainty entry is a profile, only one parameter, Variance, needs to be specified. For each point of the profile, the variance is common while the mean of the distribution (Average Value) is set to the value of the point.



Truncated Gauss: the truncated Gaussian distribution is used to compute the collocation points.

In case that the uncertainty entry is a constant, two parameters need to be specified, one is the mean of the distribution (Average Value) and one is the Variance.
In case that the uncertainty entry is a profile, only one parameter, Variance, needs to be specified. For each point of the profile, the variance is common while the mean of the distribution (Average Value) is set to the value of the point.



Beta: the Beta distribution is used to compute the collocation points. Three parameters need to be specified, the Minimum Value, the Maximum Value and the Most Likely Value.

In case that the uncertainty entry is a constant, three parameters need to be specified, the Minimum Value, the Maximum Value and the Most Likely Value.
In case that the uncertainty entry is a profile, only two parameters need to be specified, the Minimum Value and the Maximum Value. The Minimum Value and the Maximum Value must be defined relative to a Most Likely Value of 0. For each point of the profile, the Minimum Value, the Maximum Value and the Most Likely Value will be shifted based on the value of the point.



User defined: the user inputs a probability density function (PDF), which is used to compute the collocation points. The format of the probability density function file can be found into the FINE™/Turbo User Guide (User defined PDF).

In case that the uncertainty entry is a constant, the imported PDF is directly used to compute the collocation points.
In case that the uncertainty entry is a profile, the imported PDF must be defined relative to a reference value of zero. Then, for each point of the profile, the PDF will be shifted based on the value of the point. The shifted PDF is used to compute the collocation points of the point of the profile.


The specified uncertainty probability density function will be plotted at the right side of the page. The user can export the probability density function into a file by using the button export PDF.
At the bottom of the page, a bar named as Collocation Points shows the number of the collocation points that will be created, which corresponds to the number of simulations that need to be run. 
Solution Monitor - UNCERTAINTIES MONITOR
The Solution Monitor/Simulation Results page allows to check the numerical results selected in the Post Processing page of all collocation points, see Simulation Results for more details.
The Solution Monitor/Simulation Images page allows to check the image results selected in the Post Processing page of all collocation points, see Simulation Images for more details.
The Uncertainties Monitor/Non Deterministic Results page allows to access the results of the non deterministic computation. The page is shown below.


At the left frame of the upper part, all available quantities are listed. The user can choose the quantities and add them to the right frame. The option Selection Filter is used to select multiple quantities at once by using their common string or select all quantities by using the wildcard '*'. At the right frame, for all selected quantities, FINE™/Design3D will show their Value from the deterministic computation, their Mean Value, Variance, Skewness and Kurtosis from the non deterministic computation. In case that part of the computations are re-run, the button Recompute can be used to refresh the non deterministic results. When selecting a quantity from the list of selected quantities, an estimation of its probability density function (PDF) is shown in the right-bottom frame. This PDF is reconstructed  by using the first four moments of the selected quantity. The user can export the probability density function into a file by using the button export PDF. In order to get a good PDF reconstruction, a minimum level of 2 is recommended.
Only some type of distributions (Pearson distribution type I to VII) can be adequately reconstructed. In other cases, the reconstructed PDF will be an approximation based on the first four moments.
In some cases, the reconstruction based on the first four moments may fail.
At the left frame of the lower part, the .mf file of the deterministic computation is shown. 
The deterministic results are taken from the computation created/ launched in FINE™/Turbo, which is linked to the non deterministic computation in FINE™/Design3D.

External Flow Solver


FIGURE 31 External flow solver settings
In external mode, two types of solver executable can be used: 


Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is used as the solver executable.
User-defined: in this case, the user must specify the full path to executable. The user can rename the script from FINE™/Design3D GUI by changing the name displayed in the entry and pressing <Enter>

The user may define multiple solver configurations (Number of Configurations). For each configuration, a solver script and a solver template should be specified.
The following command line is used to launch each external solver configuration:
<solver executable>  <solver script>  <arguments>
FINE™/Design3D  passes the following argument pairs to the solver script:

-runfile file_name: is the solver template file used by the flow solver. This file is copied in the project directory under the name: "projectname_external_solver_template#.run". Then it is copied in each computation directory under the name "projectname.run".
-solutionfile file_name:is the file containing the CFD solution and is written by the flow solver. This file name is written in a computation directory with the name "external_solver_template#".
-gridfile file_name:  is the mesh file generated by the mesh generator. 
-checkfile file_name: is a solution check file (only pass when enabling Quality Check) where the user should write the solver convergence/run status.
-job_design3d file_name:  is a small log file containing the solver output that is usually sent to the shell. This file is sometimes useful to check various details of the solver run process.

In Expert Mode, the user may activates the External Check to check the solver convergence/run status. The  check is not submitted as a separate job.  Instead, enabling the "External Check" option simply tells Design3D to read the associated check file (argument -checkfile) and read the flag for success or failure.  It is the user's responsibility to write the check file in the proper format.   If the "External Check" option is enabled the path to the check file will be passed to the solver script following the flag "-checkfile".      The file should contain the following line:
For failure:  CHECK_STATUS 0
For success:  CHECK_STATUS 1

Simulation Settings
In the Simulation Settings page, the user should specify a FINE™/Open project file. After specifying the project file, all the computations in the project file will be listed. The user may enable one computation by selecting the computation and clicking on the button Enable in order to perform a single-point computation. Or, multiple computations can be enabled in order to perform a multi-point computation.



The computation properties in FINE™/Design3D are directly inputted from the enabled computation(s). Please refer to the FINE™/Open user guide for more information about how to define a computation and save the .iec file.
By default, FINE™/Open with OpenLabs™ will  output  all quantities that are available in the FINE™/Open GUI. If the option Output all quantities is unchecked, the FINE™/Open solver will output the quantities that are selected in the FINE™/Open GUI.

MINAMO Database &  Optimization


The integration of MINAMO into FINE™/Design3D extends its capabilities with the most advanced genetic algorithms, powerful design of experiments techniques and efficient nonlinear surrogate models.
This chapter provides details related to the technology used in MINAMO run modes.

CFView™ Modules
The f3d_macro Module
Some pre-defined macros use common functions grouped in the CFView™ module named "f3d_macro". In this module, some useful functions are defined and can be called in a user-defined macro. In this module, the functions as described in the next paragraphs are defined.
Get_Inlet() & Get_Outlet()
This function selects the inlet or outlet patches.
ComputeSurface(Group)Quantity()
Let Q be a quantity, this family of functions returns the weighted (by a scalar quantity named "weight") surface flux of the quantity on the active surface or surfaces group . Functions are defined for the following quantities: mass flow (MassFlow), mass averaged density (RhoRho), mass averaged total pressure (RhoPt), mass averaged static pressure (RhoPs), mass averaged total temperature (RhoTt), mass averaged static temperature (RhoTs), mass averaged axial velocity (RhoVz), mass averaged tangential velocity (RhoVt), mass averaged radial velocity (RhoVr).
For example: 
Get_Inlet() ; ComputeSurfaceGroupMassFlow() 

will select the inlet patches and compute the mass flow through these surfaces.
Turbomachinery Efficiency
Different definitions for the efficiency are available in this module. The user may call them with the following functions:
-compressorIsentropicEfficiencyStatic2Static(gamma)
-compressorIsentropicEfficiencyTot2Static(gamma)
-compressorIsentropicEfficiencyTot2Tot(gamma)
-compressorPolytropicEfficiencyStatic2Static(gamma)
-compressorPolytropicEfficiencyTot2Static(gamma)
-compressorPolytropicEfficiencyTot2Tot(gamma)
-compressorEfficiency_Entropy(gamma)
-pumpIncompressibleTotal(rho, omega, torque, mass_flow)
-pumpIncompressibleStatic(rho, omega, torque, mass_flow)
gamma stands for the ratio of specific heats, rho stands for the density, omega stands for the rotation speed. For a turbine, the user has to change the word compressor or pump in the above function names into turbine. For the non rotating compressible turbine case, the user can also access to the function turbineEnthalpyLossCoefficient(gamma). The arguments can be found in the ".run" file using the function described in the next paragraph. These quantities are computed by CFView™.
Read ".run" file (search_Quantity(file.run))
Some functions reading the ".run" file are defined in this module. The user can get the rotation speed (OMEGA), the perfect gas constant (UNIGAS), the density of the fluid (RHO) and the heat transfer coefficient (GAMMA).
For example: 
search_GAMMA(project.run)
will return the value of the heat transfer coefficient used in project.run.
Read ".mf" file (search_Quantity(file.mf))
Some functions reading the ".mf" file are defined in this module. The user can get the mass flow (Mass_Flow), the torque (Torque), the static pressure rise (STA_PRES_RISE) or ratio (STA_PRES_RATIO) and the absolute total pressure rise (TOT_PRES_RISE) or ratio (TOT_PRES_RATIO), depending on if it is an incompressible or compressible case.
For example: search_Mass_Flow(project.run)
will return the value of the outlet mass flow.
The argument of the function is a ".run" project. The conversion to a ".mf" file is done in the function.
Miscellaneous Functions
string get_string(string,i), float get_float(string, i), integer get_integer(string,i)
These functions could be used to read a file. They read the ith word in the string and return its value (string, float or integer).
For example, the following program opens a file, reads each line until the first word is "Mass_flow" and returns the value of the mass flow:
word=' '

f=open(Results_file)

while get_string(word,1)!='Mass_flow' :

          	word=f.readline() 

value=get_float(word,2)

return value

File Format
User-Defined Macro File (Example)

The core of the user-defined macro file may contain any operations that can be performed by the post-processor. However, the first and last lines must respect some format and must contain specific data to ensure a correct behavior of that macro when called from FINE™/Design3D.
Firstly, the head of the macro should use the following format:

The first line contains: project_file = './project.run'. This variable will be used to read data in the ".run" file or in the ".mf" file. It is set automatically by FINE™/Design3D. project is the name of the project.
The second line contains: data_filename = 'full_path_name'. It is set automatically by FINE™/Design3D.
The third line contains: solution_file = 'type'. It is the type of solution used by CFView™. Type should be 3D or MERIDIONAL.
The fourth line contains: quantity_name = 'Quantity_Name'. It is the name of the quantity used by FINE™/Design3D. The name should not contain any space.
The fifth line contains: entry_type = 'type'. It is the type of the solution, it could be SCALAR or 1D_PROFIL. For this version only SCALAR quantities are available.

If the user wants to use some functions of the f3d_module, the macro has to import it using the command from f3d_macro import * and use the function with the appropriate arguments.
After defining the core of the macro, the macro has to generate a data file that follows the specified format in the next section, and leaves the post-processor using the command Quit() for CFView™ macros.
TABLE 1 presents an example of a CFView™ macro file.
 Syntax in expressions is very important so do not forget spaces between arguments and equality symbol (project file name, data file name, solution file name, quantity name and entry type name).
Leaving the post-processor is crucial. If the post-processor is not closed, it will wait for further user interaction instead of continuing with the next processing tasks in the design process.
TABLE 1 Macro file for CFView™





project_file = './project.run'




data_filename  = '/home/user/macro.dat'




solution_file  = '3D'




quantity_name = 'MASS_FLOW'




entry_type       = 'SCALAR'




#import function from the f3d_module




from f3d_module import *




results = search_Mass_Flow(project_file)




f = open (data_filename, 'w',  0)




f.write ('PARAMETER \n')




s = 'NAME              %s\n'   %(quantity_name)




f.write(s)




s = 'TYPE                %s\n'    %(entry_type)




f.write(s)




s = 'VALUE       %12.6f\n'    %(results)




f.write(s)




f.close()




#quit the post processor




Quit()




Data File From Macro Files
The data file created by the macro file must respect the following format:

The first line only contains the keyword: PARAMETER.
The second line begins with the keyword: NAME followed by the quantity name associated with this macro file.
The third line begins with the keyword: TYPE followed by the keyword SCALAR meaning that this file contains only one real value.
The fourth line begins with the keyword: VALUE followed by the real value of this quantity.

TABLE 2 presents an example of such a data file:
TABLE 2 Data file format for post-processor macro output





PARAMETER






NAME                     EFFICIENCY




TYPE                               SCALAR




VALUE                             0.931923

Derived Quantities




FIGURE 44 Derived quantity menu window
Various quantities are available in the Screening and later in the optimization environment:

geometrical quantities computed by AutoBlade™,
aerodynamic quantities computed by CFView™ or the external post-processor.

A derived quantity tool is also available in order to create new quantities that combine geometrical and aerodynamic quantities. (e.g. incidence of the flow on the 2D blade sections can be computed,...) 

Press on Simulation Tasks/Derived Quantities page on the left of the interface.
Create a new derived quantity by clicking on the Create button (FIGURE 44 (1)).
Set the name of the derived quantity (FIGURE 44 (2)).
Create expression (FIGURE 44 (5)) of the derived quantity by left-clicking on the available quantities (FIGURE 44 (3)) and operator (+, -, *, /,^, abs, acos,...) (FIGURE 44 (4)) or by entering the string in the expression area.

The available quantities list is updated (FIGURE 44 (6)) with previous derived available quantities.

External Software Coupling
The External CFD Package mode allows only single-mesh simulation.



In External CFD Package mode, the user is  able to select which part of the CFD loop (from geometry generation to post processing) FINE™/Design3D will execute.
In the section External Mode File Management, extensions for six different intermediate files can be customized. If template files (either for geometry modeler, mesh generation or for flow solver) are active in the project, the files are automatically renamed. Clicking on the button Reset default will reset the customized extension to the default one.


		
			Note that for each of the computation step selected, the user has the possibility to import the script used for the coupling inside the computation folder (in a directory called "_script") with the checkbox Import script located next to the entry enabling to select the script.



		The checkbox becomes disabled after the activation of the option to prevent multiple copy. The copy is perform when saving the .run associated to the computation.

		If the option is activated, the script’s name is displayed in the entry. Otherwise, the absolute path is shown.
		If the project is saved in another located with the option Save as, the folder "_script" will also be copied. The same apply when duplicating a computation.
		If different scripts have the same name and need to be used in the same computation (for example, in multi-configuration cases), the scripts will be copied as script_name.index.py, where index is an integer ranging in ascending order depending on the loading order of the scripts. The names displayed in the GUI correspond to the name given to the copied scripts.

Generate Database
The creation of a database in FINE™/Design3D is illustrated on Database generation for deterministic optimization. 



FIGURE 2 Database generation for deterministic optimization

When uncertainties on the input are considered (more details in Uncertainty Settings), a robust design optimization can be computed and will require a database containing information on the influence of both design parameters and uncertain variables on the objective function. The Design Of Experiment (DOE) used should sample all these variables. Database generation for non-deterministic optimization illustrates the generation of a database for a non-deterministic optimization. 



FIGURE 3 Database generation for non-deterministic optimization

 When a parameter is both design and uncertain, a specific treatment will be applied. Indeed, in this case, two dimensions needs to be considered for the sampling: one for the design interval and one for the uncertain interval. Those intervals have not the same bounds. The uncertainty is considered as a variable deformation around zero. This deformation is then added to the value determined for the design parameter in order to consider the uncertainties. These two dimensions are sampled in 1D. Then, the multidimensional sampling is performed. At the end, as only 1 geometrical parameter is used in the parametric model, the value determined for the “deformation” is added to the value determined for the “design dimension”. This allows to determine the value of the parameter which will be used during the database generation (Sampling for a parameter which is both considered as an uncertainty and as a design parameter).



FIGURE 4 Sampling for a parameter which is both considered as an uncertainty and as a design parameter

The different DOE approaches to build the database are presented below.
Statistic Basis
The Designs Of Experiment (DOE) have been developed for linear approximation model. Let's consider a quantity Y which depends on 3 parameters P1, P2 and P3.






Where β0 is the averaged value, while the three terms with a single P function are the main effects, if NP is the number of parameter considered, the NP(NP-1)/2=3(3-1)/2=3 terms with two P functions are interactions between parameters. The term with 3 P functions is a three way interaction which is generally omitted. For a more complex model, the quadratic model integrated the square of parameters instead of three way interaction. The factor could be set into a matrix form such as for model of order 1 without any interaction:



For a model of first order with interactions, the interactions are added in the parameter vector



And finally, if we consider a model of second order without interactions higher than 2nd order:



If we try to determine the value of each β, we need to make several experiences to link the response values to parameters. So lets consider an experiment i. The vector of the experiment will be composed of each elements of the approximate model, that means the averaged value of Y, the main effects and the interaction between parameters.






Where X is called the matrix of experiment and is not generally invertible since it is not always a square matrix. To have a square matrix, the number of experiments (NE) should be equal to the number of parameter (NP). Thus, the equation is multiply by the transposed matrix of X.



Where XTX is the matrix of information or Fischer's matrix. The inverse of this matrix is the dispersion matrix. The goal of design of experiments is to have the best surrogate model using the less function evaluation.
Continuous
The parameter value is chosen at any value from the lower to the upper bounds.
Random among Discrete Levels
The parameter value is chosen among a number of discrete levels from the lower to the upper bounds. The number of discrete levels can be defined by the user.
Full Factorial
Considering a test case of two parameters, the natural way of experimenting the influences of each parameter is to set one parameter to a value and make the other vary. By the way, 2² experiments should be performed. If the parameters X1 and X2 can take -1 and +1 as value, the following experiments plan can be built:







Experiment
                    
X1
X2
Y
                    




1
                    
-1
                    
-1
                    
0.88
                    


2
                    
+1
                    
-1
                    
0.875
                    


3
                    
-1
                    
+1
                    
0.9
                    


4
                    
+1
                    
+1
                    
0.91
                    



The averaged value at the lower value of X2 could be defined as (Y1+Y2)/2. The averaged value at the upper value of X2 could be defined as (Y4+Y3)/2. The averaged effect of a factor is defined by the half of the difference between averaged response when the parameter has its upper bound and averaged response when the parameter take its lower bound, i.e. the averaged value is 
((Y4+Y3)/2+(Y1+Y2)/2)/2=(1/4)(Y4+Y3-Y1-Y2)
When X1 is at its lower value, the variation of X2 implies a variation in the response about 0.9-0.88=0.2 but, when X1 is at its higher value, response variation is about 0.91-0.875=0.035. So there is an interaction between parameters which should be taken into account.









Experiment
Average
X1
X2
X1X2
Y




1
+1
-1
-1
+1
0.88


2
+1
+1
-1
-1
0.875


3
+1
-1
+1
-1
0.9


4
+1
+1
+1
+1
0.91


Effect












 


I=0.89125
1=0.0025
2=0.01375
12=0.015
 



So parameter effects, interaction effects and averaged value could be summed by the preceding table. 
The column of interaction is obtained by the multiplication of the column X1and X2. 
Y= I+1X1+2X2+12X1X2 =0.89125 +0.0025X1+0.01375X2+0.015X1X2
Note that I, 1, 2 and 12 variables are conventional format to describe respectively average value, main and interaction effects.
Fractional Factorial
The main drawback of the previous method is the number of computations to perform. For 7 parameters with 2 levels, 128 computations should be performed. Lets consider a design of experiment with 3 parameters.














Experiment


I


X1


X2


X3


X1X2


X1X3


X2X3


X1X2X3


Y






1


+1


-1


-1


-1


+1


+1


+1


-1


0.87




2


+1


+1


-1


-1


-1


-1


+1


+1


0.85




3


+1


-1


+1


-1


-1


+1


-1


+1


0.88




4


+1


+1


+1


-1


+1


-1


-1


-1


0.89




5


+1


-1


-1


+1


+1


-1


-1


+1


0.91




6


+1


+1


-1


+1


-1


+1


-1


-1


0.92




7


+1


-1


+1


+1


-1


-1


+1


-1


0.86




8


+1


+1


+1


+1


+1


+1


+1


+1


0.93




Effects


I


1


2


3


12


13


23


123


 




0.8888


0.0088


0.0013


0.0163


0.0113


0.0113


-0.0112


0.0038


 




If the table is reorganised like this:














Experiment


I


X1


X2


X3


X1X2


X1X3


X2X3


X1X2X3


Y






5


+1


-1


-1


+1


+1


-1


-1


+1


0.91




2


+1


+1


-1


-1


-1


-1


+1


+1


0.85




3


+1


-1


+1


-1


-1


+1


-1


+1


0.88




8


+1


+1


+1


+1


+1


+1


+1


+1


0.93




1


+1


-1


-1


-1


+1


+1


+1


-1


0.87




6


+1


+1


-1


+1


-1


+1


-1


-1


0.92




7


+1


-1


+1


+1


-1


-1


+1


-1


0.86




4


+1


+1


+1


-1


+1


-1


-1


-1


0.89




The sequence in column X1 is the same as in column X2X3 so we can say that 1=23. Indeed, if only the experiments 5, 2, 3 and 8 were performed, we would have deducted that the effects of parameter X1 are the same as the effect of the interaction of X2X3. Likewise 2=13 and 3=12. So if we want to make the previous defined plan of experiments, we would have:










Experiment


I


X1


X2


X3


Y






5


+1


-1


-1


+1


0.91




2


+1


+1


-1


-1


0.85




3


+1


-1


+1


-1


0.88




8


+1


+1


+1


+1


0.93




Effect


I


1'


2'


3'


 




0.8925


-0.0025


0.0125


0.0275


 




Where 1'=1+23, 2'=2+13 and 3'=3+12. This plan do not permit the computation of interactions between parameters. The effects of this new table are summation of effects: they are said contrasts. 1 and 23 are said aliased. This simplification has a price, it is not possible anymore to compute all interactions. Computed effects are aliased. This means that they represent effects of more than one parameter. In this example, we observed that if the experiments 5, 2, 3 and 8 permits to obtain the following aliases: 1=23, 2=13 and 3=12. If we use the following equality: I=1²=2²=3², the aliases could be determined using the relation I=123. By the same way, the aliases generator of the bottom part of the table is I=-123. So the experiments plan is split into two parts. We need aliases to reduce a full factorial plan to a  factorial plan.
The resolution of a fractional plan 2Np-r is the length of the shortest generator (dependent or independent).
Plackett-Burmann
The matrix of experimentation of Plackett-Burmann method is a Hadamard matrix. The particularity of Hadamard matrix is HTH=NIN where IN is the NxN identity matrix and N is equal to 0 modulo 4 or 2. So the DOE equation becomes:



The value of N should be greater than or equal to the number of parameter plus one. So for a problem with 3 parameters, N will be equal to 4 (4>=3+1). For a problem with 5 parameters, N will be equal to 8 (8>5+1) and so on. The Hadamard matrix is obtained starting from the matrix which is the lowest dimension Hadamard matrix. Then greater orders are obtained by performing a tensorial product of 2 Hadamard matrices or by using the finite fields theory. The matrix remains a Hadamard matrix even if:

 two lines are exchanged,
 two columns are exchanged,
 transposition,
 multiplication of a row or a columns by a complex number with a module equal to 1.

The Plackett-Burmann method could be compared to a fractional factorial plan with a resolution of 3. This method permits to detect most influent parameters.
Rechtschaffner
Rechtschaffner DOE is equal to a fractional factorial with a resolution of V. It consists in the following runs:

 all factors are low
 all factors are high except one,
 all factors are low except two (for NP higher than 3).

Cubic Face Centered
A cubic face centered experimental plan evaluates the performances of geometries located on the corner of a hyper-cube, in the center on each face and in the center of the hyper-cube. This means that it requires experiments, axial experiments and one centered evaluation.
Box-Benhken
These evaluations are set in the middle of each edges of the hyper-cube plus one in the middle.
Latin Hypercube
The design hyper-cube space is divided by the number of levels. Then a first point is randomly selected among all available hypercells. Then all geometries which have the same parameter value as the generated geometry are eliminated. So if NL is the number of level, starting from possibilities, the space of design is reduced to possibilities. Then a second geometry is generated randomly in the possible region and so on. So the number of generated geometries is controlled by the number of imposed level NL.
D-Optimal 
Let's consider equation 



the D-optimal method will try to optimize the determinant of XTX matrix because, for a linear model, the Gauss-Markov theorem links the variance of parameters β to the variance of the responses by the following equation:



So, if the determinant of the information matrix is very high, the precision on the parameters β will be low. To optimize the determinant of the information matrix, the DETMAX algorithm (exchange with excursions) is used. This algorithm, due to Mitchell (1974), is probably the best known and most widely used optimal design search algorithm. First an initial design is constructed. One also initializes the failure set F to the empty set. F is supposed to contain all those designs which did not lead to an improvement. Indeed, for spacing-saving reasons, F will contain the determinant of those designs. In each step p denoting the actual number of candidates, there are three cases:

p=NE. Then one randomly decides whether to add or to remove a candidate,
p>NE. In this case, a candidate is removed, if the current design is not in F. Otherwise a candidate is added,
p<NE. In this case, a candidate is added, if the current design is not in F. Otherwise, a candidate is removed.

After that, one has to decide, which candidate is added or removed. The candidate y is added for which 1+yt(XTX)-1y attains its maximum. If a candidate is removed, this term is replaced by 1-yt(XTX)-1y. When after one step, the actual number of candidates p equals the desired number NE, one checks if there is an improvement of the determinant. In this case, the failure set F is emptied, otherwise all designs that were met up to now are added to F. The algorithm terminates if |p-NE|>q, where q is a constant. Mitchell proposed q=6. If q=1, the algorithm could get stuck in local minima with poor determinant. The search begins with a simple exchange. However, if the criterion does not improve, the algorithm will undertake excursions. Specifically, the algorithm will add or subtract more than one point at a time, so that, during the search, the number of points in the design may vary between NE-Nexcursion and NE+Nexcursion, where NE is the requested design size, and Nexcursion refers to the maximum allowable excursion. The iterations will stop when the criterion no longer improves within the maximum excursion.
Examples of DOE for 3 parameters optimization






Full Factorial




Fractional Factorial






Plackett-Burmann




Rechtschaffner






Cubic Face Center




Box-Benhken






Latin Hypercube




D-optimal






Fractional Factorial, Rechtschaffner and Plackett-Burmann are similar for 3 parameters but are different for more parameters.
Database Generation Settings


The Database Settings/Settings page presented in FIGURE 4 allows the user to select the number of geometries that will be created and how these samples will be created.


FIGURE 5 Database design of experiments

By default, FINE™/Design3D generate a new database. The option Restart database is used to add some samples to the existing database. In case of restart database, only the design of experiments Continuous and Random among discrete levels are available.
The samples will be generated by perturbing all the free parameters. The blade parameters are chosen between the lower and upper bounds. In FINE™/Design3D, ten methods are available to generate a database: full random (Continuous), discrete level (Random among Discrete Levels), Full Factorial, Fractional Factorial, Cubic face centered, Box-Benhken, Plackett-Burmann, Rechtschaffner, Latin hypercube and D-optimal.
Depending of the selected design of experiments, several parameters can be set by the user in the Parameters section:

Random number generator index (for Continuous, Random among Discrete Levels and Latin hypercube): initializes the random number generator function.
The generation of the perturbed AutoBlade™ geometries is based on a random number generator. A random generator in computer sciences is a very long list of different numbers having a periodicity of 232 or 264 numbers. This list of number is always the same when the software is launched. This means that if the first random number is the first one of the random number list, running twice the database generation process with exactly the same settings and same initial geometry will end up with twice the same CFD database with exactly the same blade geometries. However, if the initial position of the random number generator is set at two different positions, two database generation processes will provide a different sequence of blade geometries.
Number of Samples (for Continuous, Random among Discrete Levels and D-optimal): is the number of geometries to generate. The number of geometries will determine the number of CFD computations that will be performed. The recommended number of samples is a compromise between:

a high number of samples that will allow to create an accurate approximate model,
a low number of samples in order to limit as much as possible the number of CFD computations.


A good compromise between these two opposite goals is to generate a number of samples equal to twice or three times the number of free parameters.

Number of discrete levels (for Random among Discrete Levels, Full Factorial, Latin hypercube and D-optimal): is the number of possible value for the AutoBlade™ parameters.

For the Fractional Factorial method, the user selects the main effects to consider in the list of Free Parameters.


FIGURE 6 Parameters for Fractional Factorial
When the number of samples cannot be set by the user, an indication of the number of generated samples will be displayed on the bottom in the Database size area. It is recommended to keep a number of samples under 100,000. In case of exceeding this limit, the following warning will inform the user.

Post Processing
Standard analysis
Based on the Results Analysis tool of FINE™/Marine, the solver will automatically output user-selected values.
The values can be efforts, motions and actuator disk thrust and torque, if the actuator disk is used during the computation.


FIGURE 27 Standard analysis menu
For more information about the Results Analysis tool and the definition of the quantities, please refer to the FINE™/Marine User Guide.
User Defined Macro
The user can also use  user-defined macro files. A new macro file can be imported by clicking the button Import New Macro and then specifying the macro file.  The macro will be copied in the folder "macro_CFV" and renamed with a prefix "u_".  The data file will be set automatically to "u_quantity_name.dat" in the directory "_result" of the computation. After importing the macro file, the file can be activated for post processing by clicking on the button Activate Selected Macro. If a macro is not used anymore, it can be deleted by using the button Remove Selected Macro.


FIGURE 28 User-defined macro menu
User-defined macro selection is also applied to the highlighted computation. A green circle means that the macro is activated for the highlighted computation while a red cross means that it is not activated.

FINE™/Open coupling

The FINE™/Open coupling  allows the user to perform a simulation in the frame of single row or multi-row together with the upstream/downstream domains (for example a volute + impeller configuration). The simulation can be performed in single-point or multi-point mode, depending on the setting in the Simulation Setting page. Each step in the FINE™/Open coupling is explained in the following sections.
The FINE™/Open coupling applies the following limitations:

The FINE™/Open coupling does not support the multi-mesh mode. Only one mesh can be generated during the simulation.
			
The mesh merging supports only the connections of type "rotor/stator" (ROT).
			
The AutoGrid5™ mesh is always converted to a HEXPRESS™ mesh by keeping the mesh levels 0 (finest).
When selecting a HEXPRESS™/Hybrid mesh type (.sph) in the Mesh Generation page, the name of the mesh selections must contain "inlet", "outlet", "external", etc, the boundary type will be set accordingly based on the names found. Otherwise, all the boundary type will be SOLID. See HEXPRESS™/Hybrid user guide for more details.
The maximum number of additional meshes at upstream/downstream is limited to 2.

Optimization


Importing and Managing Database
A database should be imported in the project by clicking on the button Import a Database. Once a file has been selected, this file is copied into the current computation directory with the name: "project_train.dat"
Once imported, it is possible to merge two databases, to replace the current database or to remove some samples from the current database. Clicking on Merge Training Database will display a file chooser. Once selected, the new database will be added to the end of the existing database. Import a Database will replace the current database by the selected one. Load Training Database will load the database in memory and gives access to database plotting tool in the objective function definition frame. Unload Training Database will remove the database from memory so less memory is consumed but the access to database plotting tool is no longer available and the training database file "_train.dat" is still available in the computation directory. To remove sample, the sample numbering should be specified. To remove several samples, the numbers have to be separated by comas. If samples are continuous, the first separated by "-" from the last could be used. For instance, "1,5-8" will remove samples numbered 1, 5, 6, 7 and 8.


The difference between a single point and a multipoint optimization comes from the database. In fact, all the parameters relative to the optimization process are common to all the selected computations. The user has just to define the parameters one time and the optimization process will take into account all the samples present in the database. The user will only have to be careful on the time of calculation: each optimization iteration will contain as many iterations as selected computations; so, for example, if 3 computations are selected, the optimization will be 3 times as long as a single one.
In the expert parameter mode, the user can choose the treatment of the invalid samples. 


Two methods are available:

EXCLUDE_FROM_LEARNING (default): The invalid samples are still stored in the database and hold their location in the design space (inputs are stored). A simple penalty is added and to exclude the invalid samples from the training of the ANN. The penalty is expressed as:



where A is the Max penalty on invalid sample, r is the Radius around invalid sample and d is the distance to the invalid sample. 
In the approximate model, the distance criterion relative to invalid sample will prevent the optimizer from looking at the same location by assigning an additive penalty in the vicinity of known invalid samples.
NEAREST_VALID_OUTPUTS: All outputs of the invalid sample will be inherited from the closest valid sample in the whole database and this invalid sample is taken into account for the training of the ANN.

The method 'NEAREST_VALID_OUTPUTS' is not recommended because it introduces bias and might prevent the optimization from working correctly when too many failed samples are present.
Artificial Neural Network Settings
In an optimization, it would be too costly to perform a CFD/FEA computation for every possible geometries. Therefore, the CFD/FEA results, as a function of the geometrical parameters, are approximated. In FINE™/Design 3D, this approximation is performed using an artificial neural network. The input of the artificial neural network are the free geometrical parameters which represent the blade shape. The neural network will then predict the aerodynamic performances such as efficiency, mass flow, pressure ratio and various other quantities. For more detailed informations: see Artificial Neural Network.
The settings of the artificial neural network are set automatically. AutoBlade™ free parameters are selected as input of the Artificial Neural Network. Output selection is done automatically according to penalty selection in the objective function definition.

Under the tab INPUT, the left column (FIGURE 3 (a)) gives access to all the variables that are available for the neural network input. These variables are the AutoBlade™ geometrical parameters. In the present version of FINE™/Design3D, the selection process is automatic. FINE™/Design3D will select all the geometrical parameters that are free to vary in the AutoBlade™ model. This simplifies the operation and avoids the selection of wrong variables. The result is the right column (FIGURE 3 (b)), which gives access to all input variables of the artificial neural network.


FIGURE 3 Approximate model input selection
Under the tab OUTPUT: the left column (FIGURE 4 (a)) gives access to all the variables that are available for the neural network output. These variables are the post processed quantities and derived quantities. In the present version of FINE™/Design3D, the selection process is automatic. FINE™/Design3D will select all the quantities needed to compute the objective function value. This simplifies the operation and avoids the selection of wrong variables or quantities not needed for the objective function definition. The result is the right column (FIGURE 4 (b)), which gives access to all output variables of the artificial neural network.


FIGURE 4 Selected outputs visualization
Under the Topology tab: the topology of the artificial neural network could be modified. The artificial neural network uses several layers and nodes to approximate the objective function. The number of layers could be set with the Number of layer (FIGURE 5 (a)) entry. Then, if Automatic Topology (FIGURE 5 (b)) is selected, the number of nodes and the number of layers will be adapted according to the number of samples in the database, the number of inputs and the number of outputs. The aim is to give the best accuracy possible to the artificial neural network. If Set Number of Hidden Nodes (FIGURE 5 (c)) is selected, the artificial neural network will have the same number of nodes in each hidden layer.


FIGURE 5 Neural network topology
The fact that the number of samples is taken into account to compute the number of nodes in hidden layers implies that, during the optimization, the topology of the artificial neural network will evolve. With the Set Number of Hidden Node option, the topology is fixed and won't be modified.
Under the Learning tab, the neural network learning parameters are accessible (FIGURE 6). In general, there is no need to modify these settings.


FIGURE 6 Neural network learning parameters
Starting from FINE™/Design3D v11.2, a new ANN approach based on a conjugate gradient technique has been implemented. This new implementation has been interfaced as new version in the combo box Neural network; the previous implementation still remains accessible by selecting backward mode in the same combo box.
			The new implementation enables to automate the learning process so that the convergence is automatically reached. Consequently, the following entries are disabled: Learning Rate Coefficient, Momentum Coefficient and Decay Factor.
As the new implementation is globally faster and provides more accurate results, it is advised to use this approach.
			
With the new implementation, the option Allow reset of learning every X design iterations has been added. When this option is enabled, the training phase can be restarted if the initial training parameters prevent the ANN from converging.
For a more detailed description of the neural network and the involved parameters, see Artificial Neural Network.
Optimization Algorithm Settings
FINE™/Design3D supports single objective optimization and multiple objectives optimization, which can be selected at the bottom of the Optimization page.
Single objective optimization
In case of single objective optimization, some default optimization processes have been defined. All of them use a Genetic Algorithm. The main difference is the number of reproduction cycles:

Coarse optimization: 25 reproduction cycles.
Medium optimization: 50 reproduction cycles.
Fine optimization: 100 reproduction cycles.



FIGURE 7 Single objective optimization algorithm settings
These default optimization settings are generally sufficient to cover all the cases. However, other types of optimization algorithms can be defined by clicking on the button User-Defined. The button gives access to the detailed expert parameters of all the optimization algorithms (FIGURE 7). These parameters and other optimization techniques are described in more details in the Optimization section.
Multiple objectives optimization
In case of multiple objectives optimization, an Automatic setup is available. These default optimization settings are generally sufficient to cover all the cases. However, other types of optimization algorithms are also available. Deselecting the option Automatic setup will allow to access the algorithms and their settings, see Available Techniques for multiple objectives optimization for more details. 



FIGURE 8 Multiple objectives optimization algorithm settings

The check button Automatic stop of the optimizer allows to stop the optimization algorithms if three criteria (Non domination, Distance and Spacing, see Optimizer Convergence for more details) show suitable and stable values. If active, this option must be combined with a higher number of cycles. Indeed, the optimizer need to achieve convergence and good diversity and this is only meaningful after a sufficient number of reproduction cycles. This amount is therefore the maximum number of reproductions allowed for the optimizer while the effective amount is lower and variable from one run to the next.
The option Number of candidates allows to specify the number of candidates selected for accurate evaluation.

Database Generation

The current version of the optimization module is dedicated to the design of turbomachinery blades and uses the NUMECA parametric geometry modeller AutoBlade™ coupled to a CFD/FEA package (Screening). This chapter supposes that the AutoBlade™ and Screening modules are well known for the reader.

Before starting the optimization process, a first database containing blade geometries with their associated CFD computations must be available. The FINE™/Design3D environment provides an automatic tool to create this initial database. This is a very important step in the design procedure because it takes a significant part of the total computational resources needed by the global optimization process. Moreover, the physical and numerical conditions chosen to perform this database generation are very important because they must be kept constant until the end of the design process. These conditions are:

AutoBlade™ topology: the lowest possible number of parameters must be chosen because it will simplify the optimization processes. Choosing too many parameters will make the optimization process longer and might create various local minima in the objective function that will increase the complexity of the optimization problem.
Mesh template file: the mesh template file must be defined to be as robust as possible with respect to the blade geometry modification. This means that the initial mesh on the initial geometry must be as far as possible from having negative cells.

A mesh having negative cells will be automatically rejected by FINE™/Design3D and will be stored and marked as invalid in the CFD database.

Flow solver input file : the flow solver must converge as deeply and as fast as possible.

A convergence level could be specified in the expert mode. If a CFD computation does not reach this value, it will not be stored into the CFD database. By default, this value is set to -3.

Post-processor macros. It is very important to select carefully the macros used for the database generation because these macros will be the ones available during the optimization stage that will be run later.

Concerning multipoint mode, all the parameters relative to database generation and optimization will be common to all the selected computations.
The procedure to set up the database generation is detailed hereafter.

Create a new project.
Create a new computation with Database Generation run mode selected
Then the left tree is composed of the following specific folders (FIGURE 3):

Simulation Tasks: encapsulates all the processes that will be run to compute the flow around the blade geometry: AutoBlade™, the mesh generator, the flow solver and the post-processor.
Uncertainty Settings: gives access to the parameters specific to the uncertainty quantification (see Uncertainty Settings). Only available when Advanced Modules/Include Uncertainties option is active in the Simulation Tasks/Computation Management page.
Database Settings: gives access to the parameters specific to the database generation process like the number of samples that must be generated.
Solution Monitor: provides the possibility to visualize various CFD numerical results as well as various images of the flow field and blade shapes.


If the project is named "project", creating a "project.stop" file under the computation subfolder "_dbs" will safely stop the database generation and prevent the corruption of files.

CONTENTS
CHAPTER 1. GETTING STARTED
1.1 What is FINE™/Design3D?
1.2 FINE™/Design3D GUI
1.3 Manual Structure
1.4 Project Directory Structure
1.5 Required Licenses
CHAPTER 2. SCREENING
2.1 Getting Started
2.1.1 Accessing Screening
2.1.2 Defining AutoBlade™ Topology
2.2 Simulation Task - CFD Chain
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
FINE™/Turbo coupling - 3D Associated Computation
A. Mesh Generation
B. Multistage Management
C. Simulation Settings
D. Post Processing - CFView™ Coupling
FINE™/Turbo coupling - Multi-mesh
A. Mesh generation
B. Simulation Settings
C. Post Processing - CFView™ Coupling
FINE™/Open coupling
A. Computation Management
B. Multiversion Environment
C. Mesh Generation
D. Simulation Settings
E. Post Processing
FINE™/Marine coupling
A. Computation Management
B. Multiversion Environment
C. Geometry Modeler
D. Mesh Generation
E. Simulation Settings
F. Post Processing
External Software Coupling
A. External Geometry Modeler
B. External Mesh Generator
C. External Flow Solver
D. External Post-Processor
2.3 Simulation Task - FEA Chain
2.3.1
3D Wizard - HexpressHybrid & Oofelie
A. Mesh Generation
B. Simulation settings
C. Post Processing - 3D Wizard Coupling
FINE™/Design3D 13.1 User Guide
10
11
14
14
15
18
20
21
23
26
28
36
37
38
39
40
40
41
41
43
44
46
46
47
48
51
52
52
53
55
58
59
61
63
64
65
CHAPTER 1.
GETTING STARTED
Welcome to the FINE™/Design3D User Guide - a presentation of
Optimization Environment for turbomachinery blades and channels.
the NUMECA Design and
FINE™/Design3D is included into the FINE™ interface and is linked to the NUMECA CFD package
FINE™/Turbo (including the mesh generator AutoGrid™, the flow solver and the post- processor
CFView™). This user guide provides information that is specific to the FINE™/Design3D product.
Additional information concerning FINE™/Turbo and the other NUMECA products can be obtained in
their respective user guides.
This chapter presents the basic concepts of the FINE™/Design3D product and its interface.
In this section
1.1 What is FINE™/Design3D?
1.2 FINE™/Design3D GUI
1.3 Manual Structure
1.4 Project Directory Structure
1.5 Required Licenses
10
11
1.1 WHAT IS FINE™/DESIGN3D?
FINE™/Design3D is a unique integrated environment for the design and optimization of three-
dimensional turbomachinery blades. This environment integrates:
l a modern parametric blade modeller for turbomachinery blades: AutoBlade™,
l an automatic coupling between AutoBlade™ with a CFD package,
l an automatic coupling between AutoBlade™ with a FEA package,
l a very efficient design and optimization environment for turbomachinery blades.
All these components are included into the NUMECA Graphical User-Interface (GUI) FINE™.
With FINE™/Design3D the user can create a completely new blade design or redesign and
optimize existing blades to reach new or better design goals, which can not be attained by means
of traditional design methods. FINE™/Design3D provides the user with a completely integrated
blade geometry design environment and flow-field evaluation system. This design environment
provides to the user all the necessary tools needed to create or optimize three-dimensional blade
geometries while staying in the same graphical user-interface. Therefore, it releases the user from
various non-design engineer tasks like opening different software and transferring files between
various numerical codes.
Screening allows to perform automatic CFD/FEA analysis for an AutoBlade™ model. The CFD
chain contains AutoBlade™, an automatic coupling to the NUMECA CFD package
FINE™/Turbo or any other external CFD package. The FEA chain contains AutoBlade™, an
automatic coupling to the unstructured mesh generator HEXPRESS™/Hybrid and the FEA
solver Oofelie, or any other external FEA package.
The design and optimization environment adds a fast and efficient design algorithm, with a
flexible definition of the design objective. Starting from FINE™/Design3D v12.1, MINAMO run
modes have been integrated, extending the capabilities of FINE™/Design3D. This new
optimization/post-processing kernel uses the most advanced genetic algorithms, powerful design
of experiments techniques and efficient nonlinear surrogate models. It also includes new post-
processing and data-mining capabilities. For more details about MINAMO, please refer to the
chapter "MINAMO Database & Optimization" (p. 98).
A robust design optimization extends the classical deterministic optimization capabilities by taking
into consideration the inputs uncertainties. It provides two additional responses types to be defined
as optimization objectives and/or constraints:
l the mean value of the computed quantities instead of the deterministic values;
l the variability (e.g. standard deviation) of the quantities with respect to the inputs uncertainties.
the robust optimum is less sensitive to the input
By minimizing the outputs variability,
uncertainties (operational and/or geometrical). As depicted in the "Deterministic optimum vs.
robust design optimum" (p. 7), with the same input uncertainty variation (same range in abscissa),
the variability of the output is smaller for the robust optimum (narrower green PDF in ordinate).
FIGURE 1.1
Deterministic optimum vs. robust design optimum
1.2
FINE™/DESIGN3D GUI
Accessing FINE™/Design3D
The FINE™/Design3D product is integrated in the NUMECA product FINE™/Turbo. To use
FINE™/Design3D, FINE™/Turbo should be installed according to the guidelines in the
installation note.
First, the FINE™/Turbo interface should be launched by the following command:
On Linux
fine<version> -print <Enter> where the version is 131 for the latest release.
On Windows
on
Click
Start/Programs/NUMECA
software/Fine<>version>/FINE. Alternatively FINE™/Turbo can be launched from a dos shell
by typing:
FINE™/Turbo
icon
the
in
<NUMECA_INSTALLATION_DIRECTORY>\Fine<version>\bin64\finex86_64.exe <Enter>
Then, click on the menu item Modules/Design 3D to access the FINE™/Design3D interface.
The interface will ask a computation name and an active run mode. The run mode could be,
according to licence file: Screening, Database generation, Optimization and Uncertainty
quantification.
FINE™/Design3D Interface
The layout of the FINE™/Design3D interface is divided into 5 areas as shown in FIGURE 1.2:
1. The Quick Access Pad (QAP) Design3D computations manager permits to create, rename or
delete Design3D computations
2. The QAP Design3D opens a tree allowing the user to select a page and set the corresponding
parameters in the parameter area.
3. The menu bar contains three pull down menus named File, Process and Modules:
l The File menu provides the user with basic project management tools and allows the user
to access the last 5 opened projects:
l New - create a new project
l Open - open an existing project
l Save - save the current project
l Save As - copy the current project to a new project
l Save Run Files - save the Design3D run file
l Quit - quit the Design3D interface
l The Process menu allows the user to launch/stop a computation task (launch the design
process).
l Start - launch the design process
l Suspend - save and stop the design process
l The Modules menu allows to switch from Design3D to other NUMECA modules such as
AutoBlade™, FINE™/Turbo or the Task Manager.
l The Run Mode box displays the current "Run Mode" which could be: AutoBlade™
Screening, Database generation, Optimization. Each of these run modes is described in the
next chapters.
4. The icon bar contains icons which allow loading, saving, creating a project and which allow to
customize the interface layout.
The New Project icon is a shortcut for the menu item File/New.
The Open Project icon is a shortcut for the menu item File/Open.
The Save Project icon is a shortcut for the menu item File/Save.
The Save RUN Files icon is a shortcut for the menu item File/Save Run Files.
The Save RUN Files icon is a shortcut for the menu item File/Save Run Files.
The user mode selection box allows to choose between the Standard Mode and Expert
Mode. In standard user mode, only the most common parameters of a Design3D project are
accessible. In expert mode, additional parameters are available. Modifications of these expert
parameters are in general not required.
5. The Parameters area displays the parameters related to the selected item in the QAP
Design3D.
FIGURE 1.2
The FINE™/Design3D interface
1.3
MANUAL STRUCTURE
The FINE™/Design3D user guide presents step-by-step what the user needs to know to use
FINE™/Design3D rapidly and efficiently. It contains the following chapters:
l Chapter 2: Screening . This chapter presents the interface which integrates into a single
environment AutoBlade™ coupled to the CFD/FEA package.
l Chapter 3: MINAMO Database & Optimization . This chapter presents the features
integrated into
and optimization run modes
associated to the MINAMO database
FINE™/Design3D.
l Chapter 4: Database Generation . This chapter summarizes how to generate a database
before performing optimization.
l Chapter 5: Optimization. This chapter summarizes the features of the optimization method. It
then presents the various functionalities available for the design and optimization of
turbomachinery blades.
l Chapter 6: Uncertainty Quantification . This chapter summarizes the introduction of
operational and geometrical uncertainties in the screening process in order to improve the
predictive reliability of the process.
l Chapter 7: TaskManager. This chapter describes the use of the TaskManager, where the
user can launch multiple Design3D computations at the same time, in sequential or in parallel.
1.4
PROJECT DIRECTORY STRUCTURE
Input
In FINE™/Design3D, the directory structure is similar to the one used in FINE™/Turbo. The
main directory contains the project definition and input files:
l the file defining the project parameters has the extension ".iec",
l the parametric blade representation is saved in a file with extension ".par",
For each run mode, one file representing the blade (".par") is saved in the computation directory.
A different parametric geometry file (".par") is stored for each computation. This means that the
blade geometry is not transferred when switching from one computation to the other. For
example, when switching from an optimization to a database generation, the blade geometry is not
transferred.
There are other inputs specific to a certain run mode (e.g. the flow solver input file and the mesh
template):
l mesh template (".trb" or "_external.trb" when using an external CFD package),
l run file ("_external.run", for external CFD package only),
l database as input for optimization ("_train".dat when the database is generated with the run
mode DATABASE_GENERATION, "_final".plan when the database is generated with the
run mode DATABASE_ GENERATION_ MINAMO or ADAPTIVE_ DATABASE_
MINAMO).
l the user- defined macro files are stored in a directory "computation_ directory/macro_
CFV/*.py". User-defined macro files are only used in the AutoBlade™ Screening, database
generation and optimization.
White spaces should be avoided in the file name.
Output
In the computation directory, "_trk" for Screening, "_dbs" for database generation or "_opt" for
an optimization contain the output of the FINE™/Design3D project.
For MINAMO computations, the outputs are located in the folder "_mdb" for the run mode
DATABASE_ GENERATION_ MINAMO,
run mode ADAPTIVE_
DATABASE_MINAMO, and "_mop" for the run mode OPTIMIZATION_MINAMO.
"_ mad"
the
for
1.5
REQUIRED LICENSES
Basic use of the FINE™/Design3D package as an optimization tool requires the following
licenses:
l Screening: allows automatic coupling of a parametric blade representation to a CFD or FEA
chain to perform computations at several working point.
l Multipoint computation: allows to select several computations and launch them during one
process .
l Database generation: allows to create a database of CFD computations for a variation of
parameters representing a 3D blade .
l Optimization: allows to find a geometry with optimized performance .
For Screening, database generation and optimization the required licenses for FINE™/Turbo package
should be obtained to allow the use of
the mesh generator, flow solver and post processor.
Alternatively an external CFD package can be used which requires a separate license as mentioned
below.
When creating a new computation, the Run Mode selection list displays only the run modes for
which a license is available.
The following optional licenses are available:
l MINAMO Database & Optimization: allows the use of the latest technologies through new
run modes for design space exploration and efficient nonlinear surrogate models. It also
includes new post-processing and data-mining capabilities. The MINAMO license is provided
for free by your local sales office upon request, provided that a FINE™/Design3D license is
already active.
l External CFD package: allows to use an external CFD package, other than FINE™/Turbo in
AutoBlade™ screening, database generation and optimization.
l HEXPRESS™/Hybrid: allows to run mesh generator when launching a FEA computation.
l Oofelie: allows to run the FEA solver Oofelie when launching a FEA computation.
l Uncertainty Quantification: allows to introduce operational and geometrical uncertainties.
CHAPTER 2.
SCREENING
This Screening mode allows to do a CFD/FEA computation for a certain AutoBlade™ geometry in an
automatic way: automatic generate the blade geometry, automatic generate the mesh, automatic launch
the solver and automatic perform post processing after the computation has finished.
This chapter describes the Screening, that provides the blade designers with a completely integrated
three-dimensional blade geometry generation and CFD/FEA analysis package. Screening integrates, in
a user-friendly interface, the NUMECA parametric blade modeller (AutoBlade™) and an easy coupling
with:
l the NUMECA CFD package FINE™/Turbo or an external CFD package for the CFD chain.
l the NUMECA mesh generator HEXPRESS™/Hybrid and Open Engineering FEA solver Oofelie or
an external FEA package for the FEA chain.
This product allows to rapidly open an existing AutoBlade™ geometry / create an AutoBlade™
geometry / modify an existing AutoBlade™ geometry and rapidly run the CFD/FEA chain (mesh
generation / solver / post- processor) in order to get the aerodynamic/structure performances of the
AutoBlade™ geometry. Screening allows to run a single CFD computation, a single FEA computation
or a combined CFD/FEA computation.
The Screening process is composed of four main steps:
1. The process starts with the definition of the three-dimensional blade geometry. This is performed
by the NUMECA AutoBlade™ modeller for turbomachinery blades.
2. Then, the mesh generator is launched by Screening with several arguments among which the
geometry file created in step 1 by AutoBlade™ and the template mesh created by the specific mesh
generator used.
3. Next, the flow/structure solver is launched by Screening with several arguments among which
the mesh file created in step 2 and the flow/structure solver parameter input file created for the
specific flow/structure solver. This process can be launched in parallel or sequential mode.
4. Finally, the post processor is launched by Screening with as arguments the project file and the
macro file. The post-processor is launched as many times as there are macro files. This process can
be launched in parallel or sequential mode.
In this section
2.1 Getting Started
2.2 Simulation Task - CFD Chain
2.3 Simulation Task - FEA Chain
2.4 Derived Quantities
13
FINE™/Design3D 13.1 User Guide
14
18
2.5 Processor Management
2.6 Results Visualization
80
86
2.1
GETTING STARTED
FIGURE 2.1
Interface for a Screening Computation
2.1.1
Accessing Screening
The Screening can be accessed by selecting it when creating the new computation.
Under this Run Mode, the left tree will guide the user through the CFD/FEA turnkey procedure.
The left tree is composed of the following specific folders:
l Simulation Tasks: includes the definition of the CFD/FEA loop, from mesh generation to
post processing of results, that will be run:
l computation management
l parametric model
l mesh generation
l multistage management
l simulation settings
l post-processing
l derived quantities.
l processor management
l Solution Monitor : provides various solution results such as overall performance, mass
averaged performances, a graphical comparison of different blade shapes and various pre-
defined graphical images.
The procedure and guidelines required to perform a rapid blade screening are given below.
2.1.2
Defining AutoBlade™ Topology
Define parametric model
A parametric model should be imported in FINE™/Design3D in order to perform the CFD/FEA
computation, which can be done in FINE™/Design3D or in AutoBlade™.
Import parametric model in FINE™/Design3D
Clicking on the button
for a location where to select the parametric file.
in the FINE™/Design3D tool bar opens a file chooser and prompts
FIGURE 2.2
Menus in FINE™/Design3D
Import and modify parametric model in AutoBlade™
FIGURE 2.3
Menus in AutoBlade™ tool bar
AutoBlade™ can also be used to set up and manage the parametric model.
1. Switch to AutoBlade™ Module by clicking on
in the FINE™/Design3D tool bar.
2. Open the AutoBlade™ import window by clicking on the
button (FIGURE 2.3).
3. Select an AutoBlade™ template that is similar to the blade geometry to study or load an
existing AutoBlade™ parametric model by pressing the button Import a parametric file.
4. Close the import window by clicking on the Accept button.
5. Optional actions:
a. Open the topology window by clicking on the Topology button,
b. Adapt the topological settings to the specific features of the blade to build
c. Close the topological settings by pressing on the Accept button,
d. Open the parameter list window by pressing on the Parameter list button (FIGURE 2.3),
e. Adapt the value of the parameters in order to modify the blade shape,
f. Close the parameters window.
For more information about the use of AutoBlade™, please refer to the AutoBlade™ User
Guide.
6. Go back to Design3D Module (FIGURE 2.3).
Access and manage parameters
After importing the parametric model into FINE™/Design3D, the user can access and manage all
parameters of the current blade through the Parametric Model page, as shown in FIGURE 2.4.
FIGURE 2.4
Parameter list
The parametric model page is a simplified version of the parameter list in AutoBlade™. This page
allows the designer to access the whole list of the parameters defining the current model. Most
parameters can be read and changed interactively in the graphical views. So this page is especially
useful for the advanced user who will be able to quickly modify several parameters without the
need to switch to AutoBlade™. The main objective of this page is to allow the user to quickly
free or freeze some parameters used for the database generation / optimization.
In the parametric model page, the user can:
l check and change the value of the parameters,
l check and change the bounds of the parameters,
l check the status of the parameters.
To access the full version of the parameter list, the user should switch to AutoBlade™ by clicking
on
in the FINE™/Design3D tool bar.
2.2
SIMULATION TASK - CFD CHAIN
Double-clicking on Simulation Tasks/Computation Management page, the window displayed
in FIGURE 2.5 appears under the tab CFD.
The task selection window allows to select which part of the CFD loop (from geometry
generation to post processing) FINE™/Design3D will execute. This is particularly useful, for
example, when a quantity has been forgotten: instead of launching again the whole loop, only
necessary steps could be selected.
The user has the choice between FINE™/Turbo, FINE™/Open and External software coupling
for each CFD step. Alternatively, the user can mix the steps with different software coupling. For
more details of each step, see the following sections.
l FINE/Turbo: FINE™/Turbo will be used for the CFD simulation from mesh generation to
post-processing.
l 3D associated computation - the user should provide a mesh template for the mesh
generation (by AutoGrid™5). The flow solver parameters will be copied from the linked
FINE™/Turbo project.
l Multi-mesh - allows to optimize one row defined by different configurations. The user
should provide a mesh template for each mesh configuration and provide a .run file for each
computation point.
l FINE™/Open : In this mode, AutoGrid5™ will be used to mesh the blade model. Then, the
AutoGrid5™ mesh will be converted into HEXPRESS™ format and combined with the
specified upstream/downstream domain meshes. The FINE™/Open solver will be used in the
solver step.
l External : the user should define an external CFD package used for the CFD simulation from
mesh generation to post-processing.
FIGURE 2.5
Selection of CFD package
Alternatively, the user can mix the steps with different software coupling. For more details of each
step, see the following sections.
Note that the execution of the CFD and the FEA chains can be reversed by activating the option "Run
FEA before CFD" (option available in Expert mode).
FIGURE 2.6
Reverse CFD and FEA chains
2.2.1
FINE™/Turbo coupling - 3D Associated Computation
In the 3D Associated Computation mode, a FINE™/Turbo project should be created first. Then,
when switching to FINE™/Design3D and selecting the 3D Associated Computation mode, the
FINE™/Turbo project will be linked to the current FINE™/Design3D project. All the parameters
in
defined in the FINE™/Turbo project will be used as input
FINE™/Design3D. Please refer to the FINE™/Turbo manual for more informations about how
to define a computation.
the flow solver
for
The 3D Associated Computation mode allows the user to perform a simulation in the frame of
single row or multi-row environment. The simulation can be performed in single-point or multi-
point mode. When selecting the 3D Associated Computation mode, all the computations defined
in the FINE™/Turbo project will be listed. If the user wants to add or remove a computation, the
user should switch back to FINE™/Turbo. By default, one computation is selected. The user can
select multiple computations in order to perform a multi-point computation.
To select a computation, the user just needs to click on it with the left mouse button. To select
several computations, <Ctrl> and <Shift> button could be used in addition to select, respectively,
not continuous or continuous computations. In the following picture, all three computations will
be used during the process.
FIGURE 2.7
Computations management
A. Mesh Generation
For the mesh generation, a ".trb" file from AutoGrid4™ or AutoGrid5™ should be imported.
This ".trb" file must correspond to the current blade model, see Getting Started on how to import
and define blade model in FINE™/Design3D.
FIGURE 2.8
3D Associated Computation mesh window
The 3D associated computation mode allows the user to optimize one blade row in the frame of
multistage project management. Selecting Activate multistage will activate the multistage mode.
In this case, an IGG™ script must be imported.
Here is an example of the script:
igg_script_version(1)
open_igg_project("/home/mesh/stator1.igg","stator1")
patch("stator1_flux_1_Main_Blade_downStream",2,1).set_type("ROT")
import_igg_project("/home/mesh/rotor.igg","rotor")
patch("rotor_flux_1_Main_Blade_inlet",1,1).set_type("ROT")
patch("rotor_flux_1_Main_Blade_up",1,1).set_type("ROT")
patch("rotor_flux_1_Main_Blade_down",2,1).set_type("ROT")
patch("rotor_flux_1_Main_Blade_outlet",2,1).set_type("ROT")
patch("rotor_flux_1_Main_Blade_up",2,1).set_type("ROT")
patch("rotor_flux_1_Main_Blade_down",1,1).set_type("ROT")
import_igg_project("/home/mesh/stator2.igg","stator2")
patch("stator2_flux_1_Main_Blade_inlet",1,1).set_type("ROT")
save_project("/home/mesh/all.igg")
This script imports the meshes of stator1, rotor and stator2, changes the inlet/outlet as rotor-stator
interface ("ROT"), and save the merged mesh as "all.igg".
When importing this script, all files used to generate the multistage mesh (indicated by open_igg_
project and import_igg_project) are copied into the "_mesh" folder under the computation
directory. The list of meshes imported in the script is displayed, as shown in FIGURE 2.8. The
highlighted blocks correspond to the mesh which will be generated by AutoGrid™ 4 or
AutoGrid™ 5 during the Design3D process and will be replaced in the multistage script. The user
can select which block will be replaced in the list. Note, the replaced block must correspond to the
current blade model.
The 3D associated computation mode also allows to optimize multiple blade rows in the frame of
multistage project management, see next section (Multistage Management) for more details.
If the option Reference GeomTurbo file is activated,
the user has to select a reference
geomTurbo file using the file chooser. Once selected, the file is copied to the computation
directory and named as $PROJECT_NAME_ref.geomTurbo. FINE™/Design3D will create a
new .geomTurbo file that replaces the geometry in the reference .geomTurbo file by the one
generated by AutoBlade™. The user can also specify an angle (in degrees) to apply a rotation for
the selected blade.
FIGURE 2.9
Expert parameters of mesh generation
In the expert mode, the user can control the license check and specify the version of the
AutoGrid5™.
If few seats of the mesh generator AutoGrid5™ are available in the license file, it may happen
that the Screening process will stop because there is no more licence available. To avoid that the
processing stops, the Screening process will try to launch the mesh generation several times (Max
number of attempts) at a given time interval (Delay between attempts).
The Version flag is used to customize the AutoGrid5™ version. A different version than the
current FINE™/Design3D version can be used. To customize the AutoGrid5™ version, enter the
following argument: -niversion < version >. For example, the argument -niversion 90_ 3 will
generate the mesh using AutoGrid5™ v9.0-3. Note, the customized AutoGrid5™ version must
be installed in the machine.
B. Multistage Management
Currently,
the blade modeller AutoBlade™ can model only one blade row. That means
FINE™/Design3D can only optimize one blade row in the frame of single/multiple rows
environment. In order to optimize multiple blade rows at the same time, an approach in
FINE™/Design3D is to define parameter links between the current modelled blade and the other
blades. The parameters of the current blade will be updated by FINE™/Design3D. The
parameters in the other blade models will be updated according to the links. Then, the other blade
geometries are updated by running AutoBlade™ in batch mode. This process must be done
through script.
FIGURE 2.10
Flow chart of multistage management
The existing multistage option introduced in the Mesh generation is enhanced to support
advanced scripts. An example running on Windows can be found in the Multistage Script section.
The following new keywords are introduced to allow more general scripting:
1. Private sections
In the script, two special commands defined as comments are introduced. All lines located
between
' #END D3D_
MULTISTAGE_PRIVATE' are left untouched by Design3D.
' #BEGIN D3D_ MULTISTAGE_ PRIVATE '
and
2. AutoGrid5™ mode
If the line 'D3D_MULTISTAGE_MESHER = "AUTOGRID5"' exists in the script, the
executable igg will be launched with option - autogrid5 and the script will be run in
AutoGrid5™ module. If this line is not present or replaced by ' D3D_ MULTISTAGE_
MESHER = "IGG"', the script is supposed to only contain igg commands.
3. Blocks
Each mesh should be defined as an entry in the dictionary 'D3D_MULTISTAGE_BLOCK_
NAME' as shown in the samples below. Each mesh has a representation as (key,value) where
the key is the name of the block (or row) and the value is the full path name to the mesh file.
The extension is supposed to be .igg, but is not taken into account by the parser. None of key
and value fields can be empty.
D3D_ MULTISTAGE_ BLOCK_ NAME ["stator1"]
AutoGrid\\stator1.igg"
D3D_ MULTISTAGE_ BLOCK_ NAME ["rotor"]
AutoGrid\\rotor.igg"
D3D_ MULTISTAGE_ BLOCK_ NAME ["stator2"]
AutoGrid\\stator2.igg"
=
=
=
"C:\\Aachen\\IGG_
"C:\\Aachen\\IGG_
"C:\\Aachen\\IGG_
When read, those fields are used to check the files and copy them to the project.
4. Directories and names of files
The following keywords, except if used on the left side of a command, are automatically
replaced by Design3D before the script is run. These keywords are supposed to be used by the
script and therefore, should always be present.
l D3D_MULTISTAGE_SLAVE_DIR: Directory where the untouched rows are read
l D3D_MULTISTAGE_SLAVE_NAMES: List of untouched row names
l D3D_MULTISTAGE_MASTER_DIR: Directory where the generated master mesh can
be read
l D3D_MULTISTAGE_MASTER_NAME: Name of the master mesh
l D3D_MULTISTAGE_OUTPUT_DIR: Output directory where the final mesh should be
written by the script
l D3D_MULTISTAGE_OUTPUT_NAME: Output name for the final mesh
5. Define parameter links
The name of the rows should be used to define parameter links. In the following example, the
parameters in the rows "rotor"/"stator2" will be updated according to the parameters of the row
"stator":
stator1_to_rotor = dict()
#BEGIN D3D_MULTISTAGE_MAPPING
stator1_to_rotor["UDF_S1_TE_RADIUS"] = "S1_TE_RADIUS"
#END D3D_MULTISTAGE_MAPPING
stator1_to_stator2 = dict()
#BEGIN D3D_MULTISTAGE_MAPPING
stator1_to_stator2["S1_CAMBER_GAMMA"] = "S1_CAMBER_GAMMA"
#END D3D_MULTISTAGE_MAPPING
The parameter links can be defined directly in the script between the keywords #BEGIN
D3D_ MULTISTAGE_ MAPPING and #END D3D_ MULTISTAGE_ MAPPING , as
show above. The links can also be defined in the GUI. If the example above appears in the
script, the Multistage Management page will be displayed as below.
The left side shows all the parameters of the rows "rotor"/"stator2". For each parameter in the
left side, a link can be build by selecting a parameter from the row "stator". Note, at least one
link should be defined in the script.
C. Simulation Settings
The type of turbomachinery should be defined to have the right definition of some quantities, such
as efficiency.
FIGURE 2.11
Turbomachinery type window
In the expert mode, the user can control the license check, the convergence level and so on.
FIGURE 2.12
Expert parameters
If few seats of the flow solver are available in the license file, it may happen that the CFD process
will stop because there is no more licence available. To avoid that the processing stops, the
Screening process will try to launch the CFD components several times ( Max number of
attempts) at a given time interval (Delay between attempts).
In case of multiple working points or multiple meshes simulation, the option Action when a job
fails allows the user to kill and cancel other CFD computations when one of the CFD
computations fails (defined by Level of stopping error),:
l If the value continue is selected (default), all the running CFD computations will continue and
all the waiting CFD computations will be launched until they stop naturally.
l If the value kill is selected, all the running CFD computations will be killed and all the waiting
CFD computations will be canceled.
After each CFD computation finished, the status of the computation will be checked. The status
could be:
l not started: the computation is not started.
l successful: the computation finished and converged.
l crashed: the computation blew up or crashed.
l not converged: the computation finished but not reach the convergence criteria.
l failed: negative cells are detected.
When the user sets the Action when a job fails to kill, the user has to select the Level of
stopping error. The default value critical allows FINE™/Design3D to stop the computations on
all abnormal results (not started, crashed, failed). The value any will stop the computations in
any status except successful.
The option Euranus requested convergence level is used to set the convergence criteria of the
flow solver. If the CFD computation does not reach the specified convergence criteria, the sample
won't be added to the database. The default value is -3. If the computation is not initialized from
file, the value should be decreased, such as -4 or -5.
In case of multi- point computations, the type of turbomachinery and the expert parameters are
common to all the computations.
D. Post Processing - CFView™ Coupling
FIGURE 2.13
Computational domain boundaries
The Flow Solver Output Files
The NUMECA flow solver generates 3 types of solution:
l .mf file: it contains global performance data computed using the results along the inlet and exit
boundaries of the computational domain (FIGURE 2.13)
l .me.cfv solution: this is the meridional solution, that means the azimuthal averaged solution.
This solution file is generated when at least one averaged output quantity is selected in the
FINE™/Turbo interface.
l .cgns solution: this is the 3D solution file containing the whole 3D solution field.
For more information about these solution files, please refer to the FINE™/Turbo User Manual.
How to Couple with CFView™
Press on Simulation Tasks/Post Processing page. This page permits selection of macro files that
will be post- processed automatically after the CFD simulation. On the left, a list of active
computations is displayed. Macro selection will be applied to the active computation only. Several
computations could be selected at the same time by clicking with left button and <Ctrl> button,
for not continuous selection, or <Shift> button, for continuous selection. This means that the post-
processing could be different according to the active computation.
Various macros, developed for the NUMECA CFView™ visualization software, are pre- defined in
FINE™/Design3D. They are only selectable when the coupling with FINE™/Turbo is selected.
These macros are independent of the mesh topology (O4H / H&I / HOH/...) and independent of the
number of grid points. Various macros are available for incompressible / compressible fluids, for
rotating / stationary blades and for turbine / compressor blades. Therefore, the user must first specify
the type of
flow (compressible or
incompressible) and rotating / stationary blade.
turbomachinery (compressor or
the type of
turbine),
When no inlet/outlet are available in the mesh (only external boundary conditions), in the post-
processing quantities, no inlet, outlet and most global performances are not available except the
Partial Torque, P_min in the whole domain, P_min of main blade, P_min of splitter blade.
When no inlet/outlet are available in the mesh (only external boundary conditions), in the post-
processing pictures, 3D and blade- to- blade views are available while meridional views are only
available if in the project ".run" file the meridional patches have been defined correctly in the
Outputs/Azimuthal Averaged Variables page in the Expert Parameters area of FINE™ GUI.
When the coupling with an external CFD package is selected, the pre-defined CFView™ macros are
of course not available. In this case, the user has the possibility to define its own user-defined macro.
Global Performances
Efficiency & Loss Coefficients
These performances are computed correctly for perfect gases and incompressible fluids, using the
Static / Total, Pressure / Temperature values read from the ".mf" file at inlet / outlet boundaries of
the domain. Here are the available definitions.
TABLE 2.1 Efficiency/Loss coefficients definitions
Compressors
Turbines
Isentropic
Polytropic
Isentropic
Polytropic
Total to Total
(Compressible)
Total to Static
(Compressible)
Static to Static
(Compressible)
Total
(Incompressibl
e)
Static
(Incompressibl
e)
Entropy
Enthalpy Loss
Not available
Pressure Loss
Expressions involving the Torque in TABLE 2.1 need the option Compute axial force and
Torque in the Boundary Conditions page devoted to solid surfaces of the FINE™/Turbo project.
Efficiency of incompressible fluid in a multistage case could be wrong since the definition of the
efficiency could not be applied because of the rotation speed used.
FIGURE 2.14 shows an example of pre-defined macros available for computing the efficiency.
FIGURE 2.14
Global performances menu
Global Quantities.
Global quantities can be extracted from the CFD computation: mass flow, torque and partial
torque.
Mass flow and torque are read from the ".mf" file, and the partial torque is extracted from the
".wall" file.
The partial torque is the torque computed on the whole blade if the limits are set from 0 to 1 (0
stands for hub and 1 stands for shroud) or on part of the blade if the limits are for example from 0
to 0.5 (0.5 stands for mid-span).
FIGURE 2.15
Partial Torque definition
The limits 0 to 1 are defined along the J-direction by default (the expert parameter IFRCTO is set to
2 in the FINE™ GUI) because in AutoGrid5™, the J-direction corresponds to the spanwise direction.
The value of the torque will only be available if the option Compute axial force and Torque in
the Boundary Conditions page of the FINE™/Turbo project has been correctly defined.
Pressure
The static or total pressure rise or ratio can be extracted. The pressure rise is available when the
fluid is incompressible and the pressure ratio is available with compressible fluids. These
quantities are read from the flow solver output ".mf" file.
Additional quantities can be extracted using CFView™:
l the minimum static pressure along the blade walls,
l the minimum static pressure in the whole domain,
l the diffusion along the blade walls defined as the difference between the minimum static
pressure along the suction side and the averaged outlet static pressure.
Inlet/Outlet Quantities
Various quantities can be extracted at the inlet and/or outlet boundaries of the computational
domain. Two types of quantities are available:
l spanwise distributions of pitchwise averaged quantities,
l pitchwise and spanwise averaged quantities.
Spanwise Distributions of Pitchwise Averaged Quantities
This page offers the possibility to extract about 25 different quantities (FIGURE 2.16). These
quantities are extracted from the azimuthal averaged solution file provided by the flow solver.
FIGURE 2.16
Inlet spanwise distribution menu
Pitchwise & Spanwise Averaged Quantities
Various pitchwise and spanwise averaged quantities can be extracted in the inlet and outlet of the
computational domain (FIGURE 2.17). These quantities are extracted from the ".mf" file.
FIGURE 2.17
Outlet averaged quantities menu
User-Defined Macro
Macro Definition
Various pre-defined macros are available which can provide all the major performances and
quantities required for turbomachinery blades. However, Screening also provides the possibility to
use user-defined macro files. When the FINE™/Turbo package is used, only the macro file must
be selected. The macro will be copied in the directory "macro_CFV". The macro will be copied
in this directory and a "u_" will be added to the beginning of the user-defined macro file. The
name of the quantity extracted will be set to U_QUANTITY_NAME to avoid interaction with
predefined macros. The data file will be set automatically to "u_ quantity_ name.dat" in the
directory "_result" of the computation.
The macro file must be written by respecting some conventions that will allow a smooth and safe run
processing.
The data file created by the post processor must respect the file format.
FIGURE 2.18
User-defined macros menu
User-defined macro selection is also applied to the highlighted computation. A green circle means
that the macro is activated for the highlighted computation while a red cross means that it is not
activated.
Pictures Generation
The Screening product also allows to automatically generate various images of the flow field
solution. Five types of view can be generated:
Meridional views: the azimuthal averaged solution is generated.
Meridional Cartesian plot: prints a Cartesian plot of the selected quantity at the inlet or at the
outlet of the meridional view.
Blade to blade view: prints a picture of the quantity in the blade to blade view at any spanwise
position.
Blade to blade Cartesian plot: prints the static pressure distribution along both sides of the blade
at 20%, 50% or 80% of the blade span.
3D views: prints a 3D picture of the mesh or of static pressure on blades and hub.
Examples of pictures are given in the Results Visualization section.
2.2.2
FINE™/Turbo coupling - Multi-mesh
In the 3D Associated Computation mode, the screening will generate one mesh, whatever the
simulation is (single-point or multi-point). In some cases, for example a hydraulic turbine runner,
the user may want to optimize it in the environment presenting a guide vane with different angular
positions. In this case, the Multi-mesh mode should be used. The user can also create multiple
flow computations for each mesh to make a multi-mesh and multi-point computations.
FIGURE 2.19
Computations management
A. Mesh generation
Several mesh definitions can be defined in the Mesh selection region. The user can create or
remove a mesh definition through the Create or Remove buttons.
For each selected mesh configuration, the settings to generate the mesh is accessible in the Mesh
Generation Editing region. The user can change the name of the selected mesh. A ".trb" file
from AutoGrid5™ should be imported. This ".trb" file must correspond to the current blade
model, see Getting Started on how to import and define blade model in FINE™/Design3D.
FIGURE 2.20
mesh generation window of Multi-mesh
The multi-mesh mode also supports multistage mesh and reference geomTurbo file, see Mesh
Generation for more details.
B. Simulation Settings
In the Simulation Tasks / Simulation Settings page, the user can create one computation for
each mesh configuration (multi- mesh computation). The user can also create multiple
computations for each mesh configuration (multi-mesh and multi-point computation). The user
can create or remove a computation through the Create or Remove buttons. The name of the
selected computation can be modified in the Euranus Templates section.
For each computation, the user must input a .run file that corresponds to the specified mesh. The
computation properties in FINE™/Design3D are directly inputted from the specified .run file.
Please refer to the FINE™/Turbo manual for more informations about how to define a
computation and save .run file.
The defined computations are not common to all mesh configurations. One computation is linked to
one mesh specified in the Euranus Templates section.
The type of turbomachinery should also be defined to have the right definition of some quantities,
such as efficiency.
FIGURE 2.21
Flow Generation window of Multi-mesh
C. Post Processing - CFView™ Coupling
The Post-Processing page in the multi-mesh mode is the same as the one in the 3D associated
computation mode, see Post Processing - CFView™ Coupling for the details.
Various quantities can be selected in the screening and later in the optimization environment. See
Post Processing - CFView™ Coupling for more information.
2.2.3
FINE™/Open coupling
The FINE™/Open coupling allows the user to perform a simulation in the frame of single row or
multi-row together with the upstream/downstream domains (for example a volute + impeller
configuration). The simulation can be performed in single-point or multi-point mode, depending
on the setting in the Simulation Setting page. Each step in the FINE™/Open coupling is
explained in the following sections.
The FINE™/Open coupling applies the following limitations:
l The FINE™/Open coupling does not support the multi-mesh mode. Only one mesh can be
generated during the simulation.
l The mesh merging supports only the connections of type "rotor/stator" (ROT).
l The AutoGrid5™ mesh is always converted to a HEXPRESS™ mesh by keeping the mesh
levels 0 (finest).
l When selecting a HEXPRESS™/Hybrid mesh type (.sph) in the Mesh Generation page, the
name of the mesh selections must contain "inlet", "outlet", "external", etc, the boundary type
will be set accordingly based on the names found. Otherwise, all the boundary type will be
SOLID. See HEXPRESS™/Hybrid user guide for more details.
l The maximum number of additional meshes at upstream/downstream is limited to 2.
A. Computation Management
When using the FINE™/Open coupling, the Mesh Generator should be set to FINE/Open, the
Solver should be set to FINE/Open and the Post-Processor should be set to CFView.
FIGURE 2.22
Computations management
B. Multiversion Environment
When using the FINE™/Open coupling, the user must install the FINE™/Open with OpenLabs™
package and the FINE™/Turbo package in a multi- version environment (in the same NUMECA_
INSTALLATION_DIRECTORY):
l For FINE™/Turbo with FINE™/Design3D: Windows or Linux
In the Multiversion Environment page, the Automatic version selection is activated by default.
If the option Automatic is unchecked then all available FINE™/Open versions are listed. An
icon in front of the version indicates the compatibility between the current FINE™/Design3D and
the shown FINE™/Open. The compatibility can be Compatible, Incompatible, or Unknown.
the compatible versions appear first, followed by incompatible and unknown versions. For each
type of version list, the available versions are sorted alphabetically.
If the option Automatic is selected, the first compatible version is chosen. If there is no
compatible version, the first incompatible version is chosen. If there is no incompatible version,
the first unknown version is chosen.
If the option Automatic is unselected, the user may choose any version from the list.
C. Mesh Generation
When using the FINE™/Open coupling, the user may combine one AutoGrid5™ mesh and
maximum 2 additional HEXPRESS™ or HEXPRESS™/Hybrid meshes.
In the Mesh Generation page, the turbo mesh should always be included (Include turbo mesh).
When coupling with FINE™/Open, the turbo mesh is generated by using the 3D associated
computation mode in the FINE™/Turbo coupling. For the setting of IGG/AutoGrid Templates
and Multistage Definition, please refer to mesh generation.
Two additional meshes can be provided, which can be located in the upstream or downstream of
the turbo mesh. First, the user should specify the Number of meshes/projects. Then, the user
should select the Type of mesh and provide the Mesh file for each selection (Current selection).
Currently, two types of meshes are supported: HEXPRESS™ and HEXPRESS™/Hybrid.
The specified additional mesh file will not be copied into to project folder. This means, if the
user moves the FINE™/Design3D project to another machine, the user must adapt the path to
the mesh file in order to make the project working.
In the expert mode, the user can control the license check and specify the version of the
AutoGrid5™ used to generate the turbo mesh.
If few seats of the mesh generator AutoGrid5™/HEXPRESS™ are available in the license file, it
may happen that the Screening process will stop because there is no more license available. To
avoid that the processing stops, the Screening process will try to launch the mesh generation
several times (Max number of attempts) at a given time interval (Delay between attempts).
The Version flag is used to customize the AutoGrid5™ version. A different version than the
current FINE™/Design3D version can be used. To customize the AutoGrid5™ version, enter the
following argument: -niversion < version >. For example, the argument -niversion 90_ 3 will
generate the mesh using AutoGrid5™ v9.0-3.
The customized AutoGrid5™ version must be installed in the machine.
D. Simulation Settings
In the Simulation Settings page, the user should specify a FINE™/Open project file. After
specifying the project file, all the computations in the project file will be listed. The user may
enable one computation by selecting the computation and clicking on the button Enable in order
to perform a single-point computation. Or, multiple computations can be enabled in order to
perform a multi-point computation.
The computation properties in FINE™/Design3D are directly inputted from the enabled
computation(s). Please refer to the FINE™/Open user guide for more information about how to
define a computation and save the .iec file.
By default, FINE™/Open with OpenLabs™ will output all quantities that are available in the
FINE™/Open GUI. If the option Output all quantities is unchecked, the FINE™/Open solver
will output the quantities that are selected in the FINE™/Open GUI.
E. Post Processing
The Flow Solver Output Files
The FINE™/Open flow solver generates 2 types of solution:
l .mf/.xmf file: it contains global performance data computed using the results along the inlet
and exit boundaries of the computational domain.
l .cgns/.cfview solution: this is the 3D solution file containing the whole 3D solution field.
For more information about these solution files and the definition of the quantities, please refer to
the FINE™/Open User Guide.
XMF quantities
The Simulation Tasks/Post Processing page allows the user to select global quantities or define
macros for post processing.
On the left side of the page, a list of active computations is displayed. Several computations could
be selected at the same time by clicking with left button and <Ctrl> button, for not continuous
selection, or <Shift> button, for continuous selection. This means that the post-processing could
be different according to the active computation.
Under the tab XMF quantities, all the available global quantities and average quantities at
inlet/outlet are listed. These quantities are extracted from the .xmf. To select a quantity, simply
select it from the left side and move it to the right side by clicking on the button
.
User Defined Macro
Screening also provides the possibility to use user-defined macro files. A new macro file can be
imported by clicking the button Import New Macro and then specify the macro file. The macro
will be copied in the folder "macro_CFV" and renamed with a prefix "u_". The data file will be
set automatically to "u_quantity_name.dat" in the directory "_result" of the computation. After
importing the macro file, the file can be activated for post processing by clicking on the button
Activate Selected Macro. If a macro is not used anymore, it can be deleted by using the button
Remove Selected Macro.
FIGURE 2.23
User-defined macros menu
User-defined macro selection is also applied to the highlighted computation. A green circle means
that the macro is activated for the highlighted computation while a red cross means that it is not
activated.
2.2.4
FINE™/Marine coupling
Each step in the FINE™/Marine coupling is explained in the following sections.
First of all, the coupling will be done thanks to the C- Wizard only. Hence, it is strongly
recommended to set up the first simulation directly inside FINE™/Marine package to verify the
CFD process.
The following limitations apply to the FINE™/Marine coupling:
l The automatic post processing of pictures is not
the GUI of
FINE™/Design3D. The user has to create the pictures by himself or use a macro to generate
them for all computations.
included inside of
l Only the Resistance mode of the C-Wizard is currently supported.
l FINE™/Marine computations are started one by one for each speed, in case of resistance
curve in the C-Wizard.
l C-Wizard .input file should specify the speed value exactly as C-Wizard formats it in the
computation name. The C-Wizard rounds off the speed after two digits (e.g. 2.247 will
become 2.25 in the computation name).
l For uncertainty quantification, only geometrical uncertainties are supported. Any physical
quantities including boundary conditions are not supported.
A. Computation Management
When using the FINE™/Marine coupling, the Parametric Geometry Modeler should be set to
"External", the Mesh Generator should be set to "FINE/Marine - C-Wizard", the Solver should
be set to "FINE/Marine" and the Post-Processor should be set to "FINE/Marine".
When one CFD step is set to "External", a new section External Mode File Management
appears below the Task Selection. There, the user may find what extensions are used for each
CFD step.
FIGURE 2.24
Task selection
In the section External Mode File Management, extensions for six different intermediate files
can be customized. If template files (either for geometry modeler, mesh generation or for flow
solver) are active in the project, the files are automatically renamed. Clicking on the button Reset
default will reset the customized extension to the default one.
the external mode will be used for the Parametric
Using the FINE™/Marine coupling,
Geometry Modeler. Hence, the user is asked to only modify the External parametric project
extension and the External geometry extension.
FIGURE 2.25
External mode file management
B. Multiversion Environment
When using the FINE™/Marine coupling, the user must install FINE™/Marine with the C-Wizard in
a multi-version environment.
In the Multiversion Environment page, the Automatic version selection is activated by default.
If the option Automatic is unchecked, then all available FINE™/Marine versions installed in the
same installation directory with FINE™/Design3D are listed.
An icon in front of the version indicates the compatibility between the current FINE™/Design3D
and the listed versions of FINE™/Marine. The compatibility can be Compatible, Incompatible,
or Unknown . the compatible versions appear first, followed by incompatible and unknown
versions. For each type of version list, the available versions are sorted alphabetically.
If the option Automatic is selected, the first compatible version is chosen. If there is no
compatible version, the first incompatible version is chosen. If there is no incompatible version,
the first unknown version is chosen.
If the option Automatic is unselected, the user should choose any version from the list by
selecting it.
C. Geometry Modeler
When using the FINE™/Marine coupling, the external mode for the geometric modeler should be
used.
FIGURE 2.26
External geometry modeler settings
In external mode, two types of parametric modeler executable can be used:
l Embedded interpreter (Python): in this case, the Python integrated in FINE™/Design3D is
used as the geometry modeler executable.
l User-defined: in this case, the user must specify the full path to executable. The box Full path
to executable appearing under the combo box enables to perform this operation.
The following command line is used to launch the external geometry modeler:
<geometry modeler executable> <geometry modeler script> <arguments>
The inputs required by FINE™/Design3D to allow the coupling with an external geometry
modeler tool are:
l The Python script guaranteeing the appropriate conversion of the external geometry modeler
data into a format readable by FINE™/Design3D. The entry “Parametric Modeler Script”
should be used to select this script.
l The initial project file generated in the external tool to be coupled with FINE™/Design3D.
The entry “Parametric Modeler Project” should be used for that purpose.
FINE™/Design3D passes the following argument pairs to the geometry modeler script:
l -projectfile file_ name (input): path to the reference project file (.par in AutoBlade™ for
example).
l -paramfile file_name(input): path to the parametric file (.param in AutoBlade™ for example).
l -geomfile file_name(output): path to the geometry file.
l -checkfile file_name(optional - output): path to the geometry check file (Only present if the
"External Check" option is selected in the FINE™/Design3D).
Further details can be found in the script enabling to couple FINE™/Design3D and AutoBlade™
as external tool in the input folder of the Tutorial 2.
The formatting of the data exchanged between FINE™/Design3D and the external geometry
modeler tool can be piloted in the entry “Exchange parametric format”. Three different formats
are proposed to the user:
l full: each parametric variable is identified by its name, its value, its lower, upper value and
integer flag ("FALSE"/"TRUE" - these three arguments are optionnal), and its expression (if
defined in this way).
l name_value: each parametric variable is identified by its name and its value.
l name_expr_value: each parametric variable is identified by its name, its expression and its
value.
The default option "name_value" is advised.
Depending on the geometric modeler, some non- controllable interdependencies can occur
between the parametric variables, leading to incorrect geometries. In order to cope with this
behavior, the entry "Exchange parametric filter" allows to export some or all of the parametric
variables from the parametric layer to the special parametric file (.param). The following options
are available:
l "free": transfer only the free parameters
l "free_dependent" (default): transfer all the free parameters, as well as those being dependent to
the free variables. This option is required for the external modeler if some parameters depend
on at least one free parameter, as the free option is not sufficient to ensure a correct update of
the model in such a case.
l "all": transfer all the parametric variables
The parametric layer is exposed to the user after importing the file (text input file) containing the
parametric variables via the button "Import project parameters".
Within the FINE™/Design3D interface, the user has then the possibility to:
l Set up complex dependencies between parameters, with math expressions or regular functions
(abs, sin, ...).
l Define bounds
l Export a list of parameters in text format
The buttons "Erase all parameters" and "Update layer" enable respectively to erase all the current
parametric variables loaded into FINE™/Design3D, and to perform a check over the definition of
the parametric variables. If the setup is correct, the message "The parametric layer is valid" should
appears in green below the button; otherwise, a message colored in red will appear and indicate
which variable is incriminated. New variables can be defined via the button "Add"; the name of
the new variable needs to be specified first. Similarly, the "Remove" button enables to delete a
variable after selecting it in the combo-box on the right of this button.
In Expert Mode, the user may activates the External Check to check the status of the geometry
generation. The check is not submitted as a separate job. Instead, enabling the "External Check"
option simply tells FINE™/Design3D to read the associated check file (argument -checkfile) and
read the flag for success or failure. It is the user's responsibility to write the check file in the proper
format. If the "External Check" option is enabled the path to the check file will be passed to the
parametric modeler script following the flag "-checkfile". The file should contain the following
line:
For failure: CHECK_STATUS 0
For success: CHECK_STATUS 1
NUMECA can provide an external coupling script for Grasshopper™ integrated with Rhino's 3- D
modeling tools. For more information, please contact your account manager.
D. Mesh Generation
When using the FINE™/Marine coupling, FINE™/Design3D will only use the Marine C-Wizard
to set up automatically the mesh.
In the Mesh Generation page, the user is only asked to set up the C-Wizard parameters:
l C-Wizard input file (.input): Here, the user must specify the full path to C-Wizard template
file.
The user can only use C-Wizard resistance template cwizard_resistance.input
E. Simulation Settings
In the Simulation Settings page, after specifying the C-Wizard template file, the user does not
have to take care of the solver settings.
F. Post Processing
Standard analysis
Based on the Results Analysis tool of FINE™/Marine, the solver will automatically output user-
selected values.
The values can be efforts, motions and actuator disk thrust and torque, if the actuator disk is used
during the computation.
FIGURE 2.27
Standard analysis menu
For more information about the Results Analysis tool and the definition of the quantities, please
refer to the FINE™/Marine User Guide.
User Defined Macro
The user can also use user-defined macro files. A new macro file can be imported by clicking the
button Import New Macro and then specifying the macro file. The macro will be copied in the
folder "macro_CFV" and renamed with a prefix "u_". The data file will be set automatically to
"u_quantity_name.dat" in the directory "_result" of the computation. After importing the macro
file, the file can be activated for post processing by clicking on the button Activate Selected
Macro. If a macro is not used anymore, it can be deleted by using the button Remove Selected
Macro.
FIGURE 2.28
User-defined macro menu
User-defined macro selection is also applied to the highlighted computation. A green circle means
that the macro is activated for the highlighted computation while a red cross means that it is not
activated.
2.2.5
External Software Coupling
The External CFD Package mode allows only single-mesh simulation.
In External CFD Package mode, the user is able to select which part of the CFD loop (from
geometry generation to post processing) FINE™/Design3D will execute.
In the section External Mode File Management, extensions for six different intermediate files
can be customized. If template files (either for geometry modeler, mesh generation or for flow
solver) are active in the project, the files are automatically renamed. Clicking on the button Reset
default will reset the customized extension to the default one.
Note that for each of the computation step selected, the user has the possibility to import the script
used for the coupling inside the computation folder (in a directory called "_ script") with the
checkbox Import script located next
the script. The checkbox
becomes disabled after the activation of the option to prevent multiple copy. The copy is perform
when saving the .run associated to the computation.
to the entry enabling to select
If the option is activated, the script’s name is displayed in the entry. Otherwise, the absolute path is
shown.
If the project is saved in another located with the option Save as, the folder "_script" will also be
copied. The same apply when duplicating a computation.
If different scripts have the same name and need to be used in the same computation (for example, in
multi- configuration cases), the scripts will be copied as script_name.index.py , where index is an
integer ranging in ascending order depending on the loading order of the scripts. The names displayed
in the GUI correspond to the name given to the copied scripts.
A. External Geometry Modeler
FIGURE 2.29
External geometry modeler settings
In external mode, two types of parametric modeler executable can be used:
l Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is
used as the geometry modeler executable.
l User-defined: in this case, the user must specify the full path to executable. The box Full path
to executable appearing under the combo box enables to perform this operation.
The following command line is used to launch the external geometry modeler:
<geometry modeler executable> <geometry modeler script> <arguments>
The inputs required by FINE™/Design3D to allow the coupling with an external geometry
modeler tool are:
l The python script guarantying the appropriate conversion of the external geometry modeler
data into a format readable by FINE™/Design3D. The entry “Parametric Modeler Script”
should be used to select this script.
l The initial project file generated in the external tool to be coupled with FINE™/Design3D.
The entry “Parametric Modeler Project” should be used for that purpose.
FINE™/Design3D passes the following argument pairs to the geometry modeler script:
l -projectfile file_name(input): is the path to the reference project file (.par in AutoBlade™ for
example).
l -paramfile file_name(input): is the path to the parametric file (.param in AutoBlade™ for
example).
l -geomfile file_name(output): is the path to the geometry file.
l -checkfile file_name(optional - output): is the path to the geometry check file (Only present if
the "External Check" option is selected in the FINE™/Design3D).
Further details can be found in the script enabling to couple FINE™/Design3D and AutoBlade™
as external tool in the input folder of the Tutorial 2.
The formatting of the data exchanged between FINE™/Design3D and the external geometry
modeler tool can be piloted in the entry “Exchange parametric format”. Three different formats
are proposed to the user:
l full: each parametric variable is identified by its name, its value, its lower, upper value and
integer flag ("FALSE"/"TRUE" - these three arguments are optionnal), and its expression (if
defined in this way).
l name_value: each parametric variable is identified by its name and its value.
l name_expr_value: each parametric variable is identified by its name, its expression and its
value.
The default option "name_value" is advised; if the external modeler is AutoBlade, the option
"name_expr_value" might be applicable, if some expressions need replacement.
Depending on the geometric modeler, some non- controllable interdependencies can occur
between the parametric variables, leading to incorrect geometries. In order to cope with this
behavior, the entry "Exchange parametric filter" allows to export some or all of the parametric
variables from the parametric layer to the special parametric file (.param). The following options
are available:
l "free": transfer only the free parameters
l "free_dependent" (default): transfer all the free parameters, as well as those being dependent to
the free variables. This option is required for the external modeler if some parameters depend
on at least one free parameter, as the free option is not sufficient to ensure a correct update of
the model in such a case.
l "all": transfer all the parametric variables
The parametric layer is exposed to the user after importing the file (text input file) containing the
parametric variables via the button "Import project parameters".
Within the FINE™/Design3D interface, the user has then the possibility to:
l Set up complex dependencies between parameters as in AutoBlade™ , with math expressions
or regular functions (abs, sin, ...).
l Define bounds
l Export a list of parameters in text format
The buttons "Erase all parameters" and "Update layer" enable respectively to erase all the current
parametric variables loaded into FINE™/Design3D, and to perform a check over the definition of
the parametric variables. If the setup is correct, the message "The parametric layer is valid" should
appears in green below the button; otherwise, a message colored in red will appear and indicate
which variable is incriminated. New variables can be defined via the button "Add"; the name of
the new variable needs to be specified first. Similarly, the "Remove" button enables to delete a
variable after selecting it in the combo-box on the right of this button.
The definition of expressions, the export of the parameter list and the automatic modification of
the parameter values via the button below the parameters list, can be done as in AutoBlade™ ;
more information can be found in AutoBlade™.
In Expert Mode, the user may activates the External Check to check the status of the geometry
generation. The check is not submitted as a separate job. Instead, enabling the "External Check"
option simply tells FINE™/Design3D to read the associated check file (argument -checkfile) and
read the flag for success or failure. It is the user's responsibility to write the check file in the proper
format. If the "External Check" option is enabled the path to the check file will be passed to the
parametric modeler script following the flag "-checkfile". The file should contain the following
line:
For failure: CHECK_STATUS 0
For success: CHECK_STATUS 1
Note that when saving the project on this particular page, the list of variables will disappear. The
prior modifications performed on the variables are however still effective. To re- access the list of
parametric variables, the user must double-click on the tab "Parametric Model" in the left-tree menu.
B. External Mesh Generator
FIGURE 2.30
External mesh generator settings
In external mode, two types of mesh generator executable can be used:
l Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is
used as the mesh generator executable.
l User-defined: in this case, the user must specify the full path to executable.
The following command line is used to launch the external mesh generator:
<mesh generator executable> <mesh generator script> <arguments>
FINE™/Design3D passes the following argument pairs to the mesh generator script:
l -trbfile file_name: is the mesh template file specified in the interface. This file is copied in the
project directory under the name: "projectname_external_mesh_template.trb".
l -geomfile file_name: is the geometry written by AutoBlade™ in the ".geomTurbo" file . This file is written in the directory of
the present computation with the name: "projectname.geomTurbo".
l -gridfile file_name: is the mesh file generated by the mesh generator. This file name is written
in a sub-directory "_mesh" of the present computation with the name: "projectname.msh"
l -checkfile file_name: is a mesh quality check file (only pass when enabling Quality Check)
where the user should write the mesh generation status.
l -job_design3d file_name: is a small log file containing the mesh generator output that is
usually sent to the shell. This file is sometimes useful to check various details of the mesh
generation process.
In Expert Mode, the user may activates the External Check to check the mesh quality. The
check is not submitted as a separate job. Instead, enabling the "External Check" option simply
tells Design3D to read the associated check file (argument -checkfile) and read the flag for
success or failure. It is the user's responsibility to write the check file in the proper format. If the
"External Check" option is enabled the path to the check file will be passed to the mesh generator
script following the flag "-checkfile". The file should contain the following line:
For failure: CHECK_STATUS 0
For success: CHECK_STATUS 1
C. External Flow Solver
FIGURE 2.31
External flow solver settings
In external mode, two types of solver executable can be used:
l Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is
used as the solver executable.
l User-defined: in this case, the user must specify the full path to executable. The user can
rename the script from FINE™/Design3D GUI by changing the name displayed in the entry
and pressing <Enter>
The user may define multiple solver configurations (Number of Configurations). For each
configuration, a solver script and a solver template should be specified.
The following command line is used to launch each external solver configuration:
<solver executable> <solver script> <arguments>
FINE™/Design3D passes the following argument pairs to the solver script:
l -runfile file_name: is the solver template file used by the flow solver. This file is copied in the
project directory under the name: "projectname_external_solver_template#.run". Then it is
copied in each computation directory under the name "projectname.run".
l -solutionfile file_name:is the file containing the CFD solution and is written by the flow
solver. This file name is written in a computation directory with the name "external_solver_
template#".
l -gridfile file_name: is the mesh file generated by the mesh generator.
l -checkfile file_name: is a solution check file (only pass when enabling Quality Check) where
the user should write the solver convergence/run status.
l -job_design3d file_name: is a small log file containing the solver output that is usually sent to
the shell. This file is sometimes useful to check various details of the solver run process.
In Expert Mode ,
the user may activates the External Check to check the solver
convergence/run status. The check is not submitted as a separate job. Instead, enabling the
"External Check" option simply tells Design3D to read the associated check file (argument -
checkfile) and read the flag for success or failure. It is the user's responsibility to write the check
file in the proper format. If the "External Check" option is enabled the path to the check file will
be passed to the solver script following the flag "-checkfile". The file should contain the following
line:
For failure: CHECK_STATUS 0
For success: CHECK_STATUS 1
D. External Post-Processor
FIGURE 2.32
External post processor settings
In external mode, two types of post processor executable can be used:
l Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is
used as the post processor executable.
l User-defined: in this case, the user must specify the full path to executable.
The following command line is used to launch the external post processor:
<post processor executable> <post processor script> <arguments>
FINE™/Design3D passes the following argument pairs to the post processor script:
l -resfile file_name: is the file containing the data extracted by the post-processor and is written
by the post- processor. The format of
this data file is: "macroname_ without_ last_
extension.dat". For example, a macro called mass_flow.me.py must write its results in mass_
flow.me.dat.
l -solutionfile file_name: is the CFD solution file managed by FINE™/Design3D and written
by the Flow_Solver_Executable above.
l -macrofile file_name: is a macro file provided by the user through the graphical user-interface.
The macro is copied in "project_directory/computation_directory/macro_CFV/". The name of
the quantity is the name of the macro without the last extension. For example, if a macro called
"mass_flow.me.py" is imported, the name of the associated quantity will be "mass_flow.me".
Here is the suggested format of a macro. In this example, the data file name can be self-
replaced by the macro.
#------------------- [ INTERFACE PART ] ---------------------------------
project_file = 'project_file_name' # 'project_file_name' should be replaced by the Post_Pro_
Executable
data_filename = 'data_file_name' # 'data_file_name' should be replaced by the Post_Pro_
Executable
solution_file = '3D'
quantity_name = 'TOTAL_PRESSURE_DROP'
entry_type = 'REAL_ENTRY'
# Rebuild data file name
macro_filename = 'cfv_pressuredrop.dat'
if not data_filename.count (macro_filename):
run_filename = os.path.split(project_file)[1]
prefix = os.path.splitext(run_filename)[0]
full_path = os.path.split(data_filename)[0]
data_filename = full_path + os.sep + prefix + '_' + macro_filename
print "\trebuilt name of result file as '" + str(data_filename) + "'"
#------------------- [ PROCESS PART ] ----------------------
# Add you code here!
pressure_drop = ...
#------------------- [ SAVE PART ] ---------------------------------
f = open (data_filename, 'w', 0)
f.write ('PARAMETER\n')
s = 'NAME %s\n' %(quantity_name)
f.write (s)
s = 'TYPE %s\n' %(entry_type)
f.write (s)
s = 'VALUE %12.6f\n' %(pressure_drop)
f.write (s)
f.close ()
By default, FINE™/Design3D launch each macro as one process. This could be quite time
consuming if multiple macros are defined. FINE™/Design3D allows to submit all macros as
only one job (Submit a single job in expert mode).
If the recommended macro is run in the usual way (Without activating Submit a single job),
the specific variables are replaced by Design3D and the conditional part is not taken into
account. On the contrary, in merged mode (Activating Submit a single job), only the first
macro is treated with replacements and all other macros are appended without change. This
means that, from second to last macro, the conditional part is always processed and the next
macro overrides the modifications by restoring the variables.
The data file created by the post processor must respect the file format
A list of external computations is displayed. The selection of macro corresponds to the highlighted
computations. This means that each computation could have different post-processing according
to the macro selection. A green circle means that the macro is activated for the highlighted
computation instead a red cross means that the macro is not activated.
2.3
SIMULATION TASK - FEA CHAIN
The Screening module in FINE™/Design3D allows the user to perform an automatic FEA
simulation, from the mesh generation to post-processing. The FEA computation is using the solid
body defined in AutoBlade™, see the AutoBlade™ user manual on how to define a solid body.
Only one FEA run is allowed in Screening.
Double-clicking on Simulation Tasks/Computation Management page, the window displayed
in FIGURE 2.33 appears under the tab FEA . The section Task Selection allows the user to
select which part of the FEA loop (from geometry generation to post processing) Design3D will
execute.
For the FEA simulation, the user can use the integrated internal mode, which uses the NUMECA
mesh generator HEXPRESS™/Hybrid and the multiphysics FEA solver Oofelie developed at
Open- Engineering S.A.. The user can also use the External mode. In this case, all the
executables should be defined by the user.
FIGURE 2.33
Selection of CFD package
Note that the execution of the CFD and the FEA chains can be reversed by activating the option "Run
FEA before CFD" (option available in Expert mode).
FIGURE 2.34
Reverse CFD and FEA chains
2.3.1
3D Wizard - HexpressHybrid & Oofelie
In the 3D Wizard mode, the user will be guided to set the parameters for both the mesh
generation and the FEA solver.
A. Mesh Generation
The mesh used for FEA is generated by HEXPRESS™/Hybrid. The user can use the Wizard
mode or import a user-defined template (.conf file).
FIGURE 2.35
Mesh definition through wizard
In the Wizard mode, the mesh parameters can be set automatically. Three levels of accuracy are
available: Coarse, Medium and Fine. FINE™/Design3D will detect the geometry and adapt the
mesh settings automatically. The user could also customize the mesh settings in the section
Configuration File Settings by selecting Custom . Then,
the section Configuration File
Settings becomes accessible and the user can modify the parameters. It is strongly suggested to
select one of the automatic modes and then select the Custom mode. Thus, the configuration file
settings are already adapted by FINE™/Design3D. The user just needs to make the necessary
change.
FINE™/Design3D automatically checks the element quality and projection accuracy for all
samples. The following criteria are checked. If the mesh fails to meet all of the criteria, the
associated sample will be reported as invalid.
l Zero negative cells.
l Zero negative jacobians.
l Element equiangular skewness.
l Cell vertex projection accuracy on periodic faces.
l Cell vertex projection accuracy on other faces.
l Cell center projection accuracy on periodic faces.
l Cell center projection accuracy on other faces.
By default, the target projection accuracy is estimated automatically. The following defaults are
set:
l Maximum Equiangular Skewness < 0.95
l General Face Accuracy < Global Element Size / 10.0
l Periodic Face Accuracy < Global Element Size / 10.0
The user may set the quality criteria manually. Deselecting the option Automatic Projection
Check will allows the user to set the values of General Face Accuracy and Periodic Face
Accuracy. Please note that the mesh projection accuracy is prescribed in the same unit as the
AutoBlade™ geometry, which is not necessarily the same as the final mesh units (meters).
In the expert mode, the user must specify the unit used in AutoBlade™ geometry. After mesh
generation, the mesh will be scaled and saved in meter. A wrong unit can lead to the crash of the
Oofelie solver.
In case that the license seats are not enough, the Screening process will try to launch the mesh
generation several times (Max number of attempts) at a given time interval (Delay between
attempts) in order to avoid that the processing stops.
the
current
The Version flag is used to customize the HEXPRESS™/Hybrid version. A different version
than
the
HEXPRESS™/Hybrid version, enter the following argument: -niversion <version>. For example,
the argument -niversion 31_3 will generate the mesh using HEXPRESS™/Hybrid v3.1-3. Note,
the customized HEXPRESS™/Hybrid version must be installed in the machine.
FINE™/Design3D version
used. To
customize
can
be
FIGURE 2.36
Mesh generation through template
The user may also directly import a template for HEXPRESS™/Hybrid. To import a template,
select External Template, then a template can be specified in the External Conf Template
section. All the mesh parameters should be defined in the template. In the External Template
mode, the mesh quality check is the same as the one in the Wizard mode.
B. Simulation settings
Currently, the FEA model will only include the centrifugal (rotational) loading. All the thermal
and force loadings from the fluid are ignored.
In the Material Properties section, the material properties of the solid sector should be defined.
In the Loading section, the rotation speed of the solid sector should be defined (in RPM).
FIGURE 2.37
FEA solver settings
In the Expert Mode, the user is able to control the license check and customize the Oofelie
solver.
In case that the license seats are not enough, the Screening process will try to launch the FEA
solver several times ( Max number of attempts ) at a given time interval ( Delay between
attempts) in order to avoid that the processing stops.
Note, the Oofelie license is provided by Open Engineering. Please contact your local NUMECA
support or Open Engineering to get an Oofelie license.
In case of multiple working points or multiple meshes simulation, the option Action when a job
tails allows the user to kill and cancel other FEA computations when one of the FEA
computations fails (defined by Level of stopping error):
l If the value continue is selected (default), all the running FEA computations will continue and
all the waiting FEA computations will be launched until they stop naturally.
l If the value kill is selected, all the running FEA computations will be killed and all the waiting
FEA computations will be canceled.
After each FEA computation finished, the status of the computation will be checked. The status
could be:
l not started: the computation is not started.
l successful: the computation finished and converged.
l crashed: the computation blew up or crashed.
l not converged: the computation finished but not reach the convergence criteria.
l failed: negative cells are detected.
When the user sets the Action when a job fails to kill, the user has to select the Level of
stopping error. The default value critical allows FINE™/Design3D to stop the computations on
all abnormal results (not started, crashed, failed). The value any will stop the computations in
any status except successful.
A default Oofelie launch script has been integrated in FINE™/Design3D. The user may also
customize the Oofelie Launch Script and define the Oofelie Arguments. Please refer to the
Oofelie manual on how to use Oofelie.
To minimize the size of the FEA simulation, a sector solid body model from AutoBlade™ is
used. The periodic boundary condition is used to ensure continuous displacement and stress fields
along the periodic boundaries. This boundary condition supports non-matching grids on the
periodic faces with an integration scheme. With highly non-matching boundaries it may be
necessary to increase the integration level to ensure proper treatment of the periodic boundary.
The integration level
to 5 by
FINE™/Design3D, but may be modified by the user.
( Periodic BC Integration Level )
is automatically set
A default tolerance defined in the FEA solver Oofelie for the periodic symmetry treatment. If a
node is not exactly projected on the periodic face, or if a curved region of the periodic face is
coarsely meshed, it is possible that some nodes along the face will not be included in the periodic
symmetry treatment. In this case the following error message will be shown (with a number less
than 100%):
**INFO: Percentage of surface taken into account: 9.997008e+01%
This introduces a potentially catastrophic amount of error into the treatment and should be
avoided at all costs. If this information appears, the user should try to refine the mesh. When
tuning the mesh generation is insufficient, the tolerance of the Oofelie periodic BC treatment may
be overwritten. This is done by modify the value of Periodic BC Max Distance. A value of 0
indicates that the FEA solver Oofelie will use its internal default values while a value greater than
zero overrides the default.
C. Post Processing - 3D Wizard Coupling
In case of coupling with HEXPRESS™/Hybrid and Oofelie, the results can be post-processed by
CFView™ or obtained directly from the Oofelie summary file.
FIGURE 2.38
Computational domain boundaries
The FEA Solver Output Files
The FEA solver generates 2 types of solution:
l .cfv solution: The file is located in the Oofelie solution folder _run.fea/. This file contains the
links to the solutions outputted by Oofelie, and can be post-processed directly in CFView™.
l fea_disp_max.dat and fea_stress_max_vm.dat: these files are located in the folder _results/.
The files contains the post-processed results by Oofelie.
Post-processing by CFView™
When post-processing by CFView™, the user is able to get Quantities results and also Pictures
results. If the Quantities is selected, the following quantities can be selected under the Global
Quantities tab:
l Maximum Von Mises: the maximum value of the Von Mises stress.
l Maximum Resultant: the maximum value of the displacement.
l Maximum DR: the maximum value of the displacement in the R direction.
l Maximum DT: the maximum value of the displacement in the θ direction.
l Maximum DZ: the maximum value of the displacement in the Z direction.
l Sector Volume: the volume of the sector body.
The tab User defined Macro provides the possibility to use user-defined macro files. After the
macro is imported, the macro will be copied in the directory _trk/macro_CFV/. The macro will be
copied in this directory and a "u_" will be added to the beginning of the user-defined macro file.
The name of the quantity extracted will be set to U_QUANTITY_NAME to avoid interaction
with predefined macros. The data file will be set automatically to "u_quantity_name.dat" in the
directory "_result" of the computation.
FIGURE 2.39
User-defined macros
When post- processing by CFView™, AutoBlade™/CFD SCREEDNING also allows to
automatically generate various images of the FEA solution.
FIGURE 2.40
Pictures output
Currently, the pictures output is limited to the contour on the sector body in the projection along
the R/θ/Z direction.
Post-processing by Oofelie
When post-processing by Oofelie, the user is only able to get Quantities results under the Global
Quantities tab:
l Maximum Von Mises: the maximum value of the Von Mises stress.
l Maximum Resultant: the maximum value of the displacement.
2.3.2
External Software Coupling
In the Computation Management page under the tab FEA, the user can select the External
mode. In this case, all the executables should be defined by the user.
In the External mode, the user is also able to select which part of the FEA loop (from geometry
generation to post processing) Design3D will execute.
In the section External Mode File Management, extensions for four different intermediate files
can be customized. If template files (either for mesh generation or for solver) are active in the
project, the files are automatically renamed. Clicking on the button Reset default will reset the
customized extension to the default one.
Note that for each of the computation step selected, the user has the possibility to import the script
used for the coupling inside the computation folder (in a directory called "_ script") with the
checkbox Import script. This option is located next to the entry enabling to select the script. The
checkbox becomes disabled after the activation of the option to prevent multiple copy. The copy is
perform when saving the .run associated to the computation.
If the option is activated, the script’s name is displayed in the entry. Otherwise, the absolute path is
shown.
If the project is saved in another located with the option Save as, the folder "_script" will also be
copied. The same apply when duplicating a computation.
If different scripts have the same name and need to be used in the same computation (for example, in
multi-configuration cases), the scripts will be copied as script_name<index>.py, where <index> is
an integer ranging in ascending order depending on the loading order of the scripts. The names
displayed in the GUI correspond to the name given to the copied scripts.
A. External Mesh Generator
FIGURE 2.41
External mesh generator settings
In external mode, two types of mesh generator executable can be used:
l Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is
used as the mesh generator executable.
l User-defined: in this case, the user must specify the full path to executable.
The following command line is used to launch the external mesh generator:
<mesh generator executable> <mesh generator script> <arguments>
FINE™/Design3D passes the following argument pairs to the mesh generator script:
l -trbfile file_name: is the mesh template file specified in the interface. This file is copied in the
project directory under the name: "projectname_external_mesh_template.fea.trb".
l -geomfile file_name: is the geometry written by AutoBlade™ in the ".xmt_txt" file . This file is written in the directory of
the present computation with the name: "projectname.xmt_txt".
l -gridfile file_name: is the mesh file generated by the mesh generator. This file name is written
in a sub-directory "_mesh.fea" of the present computation with the name: "projectname.msh"
l -checkfile file_name: is a mesh quality check file (only pass when enabling Quality Check)
where the user should write the mesh generation status.
l -job_design3d file_name: is a small log file containing the mesh generator output that is
usually sent to the shell. This file is sometimes useful to check various details of the mesh
generation process.
In Expert Mode, the user may activates the External Check to check the mesh quality. The
check is not submitted as a separate job. Instead, enabling the "External Check" option simply
tells Design3D to read the associated check file (argument -checkfile) and read the flag for
success or failure. It is the user's responsibility to write the check file in the proper format. If the
"External Check" option is enabled the path to the check file will be passed to the mesh generator
script following the flag "-checkfile". The file should contain the following line:
For failure: CHECK_STATUS 0
For success: CHECK_STATUS 1
B. External FEA Solver
FIGURE 2.42
External FEA solver settings
In external mode, two types of solver executable can be used:
l Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is
used as the solver executable.
l User-defined: in this case, the user must specify the full path to executable. The user can
rename the script from FINE™/Design3D GUI by changing the name displayed in the entry
and pressing <Enter>.
The user may define multiple solver configurations (Number of Configurations). For each
configuration, a solver script and a solver template should be specified.
The following command line is used to launch each external solver configuration:
<solver executable> <solver script> <arguments>
FINE™/Design3D passes the following argument pairs to the solver script:
l -runfile file_name: is the solver template file used by the FEA solver. This file is copied in the
project directory under the name: "projectname_external_solver_template.fea#.<extension>".
name
in
Then
"projectname.fea#.<extension>".
computation
directory
copied
under
each
the
is
it
l -solutionfile file_name: is the file containing the FEA solution and is written by the FEA
solver. This file name is written in a computation directory with the name "external_solver_
template.fea#".
l -gridfile file_name: is the mesh file generated by the mesh generator.
l -checkfile file_name: is a solution check file (only pass when enabling Quality Check) where
the user should write the solver convergence/run status.
l -job_design3d file_name: is a small log file containing the solver output that is usually sent to
the shell. This file is sometimes useful to check various details of the solver run process.
In Expert Mode ,
the user may activates the External Check to check the solver
convergence/run status. The check is not submitted as a separate job. Instead, enabling the
"External Check" option simply tells Design3D to read the associated check file (argument -
checkfile) and read the flag for success or failure. It is the user's responsibility to write the check
file in the proper format. If the "External Check" option is enabled the path to the check file will
be passed to the solver script following the flag "-checkfile". The file should contain the following
line:
For failure: CHECK_STATUS 0
For success: CHECK_STATUS 1
C. External Post-Processor
FIGURE 2.43
External post processor settings
In external mode, two types of post processor executable can be used:
l Embedded interpretor (python): in this case, the python integrated in FINE™/Design3D is
used as the post processor executable.
l User-defined: in this case, the user must specify the full path to executable.
The following command line is used to launch the external post processor:
<post processor executable> <post processor script> <arguments>
FINE™/Design3D passes the following argument pairs to the post processor script:
l -resfile file_name: is the file containing the data extracted by the post-processor and is written
this data file is: "macroname_ without_ last_
by the post- processor. The format of
extension.dat". For example, a macro called mass_flow.me.py must write its results in mass_
flow.me.dat.
l -solutionfile file_name: is the FEA solution file managed by FINE™/Design3D and written
by the FEA_Solver_Executable above.
l -macrofile file_name: is a macro file provided by the user through the graphical user-interface.
The macro is copied in "project_directory/computation_directory/macro_CFV/". The name of
the quantity is the name of the macro without the last extension. For example, if a macro called
"mass_flow.me.py" is imported, the name of the associated quantity will be "mass_flow.me".
Here is the suggested format of a macro. In this example, the data file name can be self-
replaced by the macro.
#------------------- [ INTERFACE PART ] ---------------------------------
project_file = 'project_file_name' # 'project_file_name' should be replaced by the Post_Pro_
Executable
data_filename = 'data_file_name' # 'data_file_name' should be replaced by the Post_Pro_
Executable
solution_file = '3D'
quantity_name = 'TOTAL_PRESSURE_DROP'
entry_type = 'REAL_ENTRY'
# Rebuild data file name
macro_filename = 'cfv_pressuredrop.dat'
if not data_filename.count (macro_filename):
run_filename = os.path.split(project_file)[1]
prefix = os.path.splitext(run_filename)[0]
full_path = os.path.split(data_filename)[0]
data_filename = full_path + os.sep + prefix + '_' + macro_filename
print "\trebuilt name of result file as '" + str(data_filename) + "'"
#------------------- [ PROCESS PART ] ----------------------
# Add you code here!
pressure_drop = ...
#------------------- [ SAVE PART ] ---------------------------------
f = open (data_filename, 'w', 0)
f.write ('PARAMETER\n')
s = 'NAME %s\n' %(quantity_name)
f.write (s)
s = 'TYPE %s\n' %(entry_type)
f.write (s)
s = 'VALUE %12.6f\n' %(pressure_drop)
f.write (s)
f.close ()
By default, FINE™/Design3D launch each macro as one process. This could be quite time
consuming if multiple macros are defined. FINE™/Design3D allows to submit all macros as
only one job (Submit a single job in expert mode).
If the recommended macro is run in the usual way (Without activating Submit a single job),
the specific variables are replaced by Design3D and the conditional part is not taken into
account. On the contrary, in merged mode (Activating Submit a single job), only the first
macro is treated with replacements and all other macros are appended without change. This
means that, from second to last macro, the conditional part is always processed and the next
macro overrides the modifications by restoring the variables.
The data file created by the post processor must respect the file format
A list of external computations is displayed. The selection of macro corresponds to the highlighted
computations. This means that each computation could have different post-processing according
to the macro selection. A green circle means that the macro is activated for the highlighted
computation instead a red cross means that the macro is not activated.
2.4
DERIVED QUANTITIES
FIGURE 2.44
Derived quantity menu window
Various quantities are available in the Screening and later in the optimization environment:
l geometrical quantities computed by AutoBlade™,
l aerodynamic quantities computed by CFView™ or the external post-processor.
A derived quantity tool is also available in order to create new quantities that combine geometrical
and aerodynamic quantities. (e.g. incidence of the flow on the 2D blade sections can be
computed,...)
1. Press on Simulation Tasks/Derived Quantities page on the left of the interface.
2. Create a new derived quantity by clicking on the Create button (FIGURE 2.44 (1)).
3. Set the name of the derived quantity (FIGURE 2.44 (2)).
4. Create expression (FIGURE 2.44 (5)) of the derived quantity by left-clicking on the available
quantities (FIGURE 2.44 (3)) and operator (+, -, *, /,^, abs, acos,...) (FIGURE 2.44 (4)) or by
entering the string in the expression area.
The available quantities list is updated ( FIGURE 2.44 (6)) with previous derived available
quantities.
2.5
PROCESSOR MANAGEMENT
FIGURE 2.45
Processor management systems
FINE™/Design3D supports both PVM and queuing systems. Depending on the system where
FINE™/Design3D is launched, different options are available in the Processor Management
page:
l PVM: all the steps of the computation will be launched on the PVM system.
l SGE/PBS/LSF: all the steps of the computation will be launched on the queuing system SGE
(Sun Grid Engine), PBS (Portable Batch System) or LSF (Load Sharing Facility).
l Mixed: if this option is selected, the steps of the computation can be distributed into different
systems. For example, when launching a Screening computation on a cluster with SGE, the
mesh generator and post-processing steps can be put on the PVM system, while the solver step
can be put on SGE. When the option Mixed is selected, one option Selected system appears
in each step. The user can choose a system from the list for the current step.
PVM
FIGURE 2.46
PVM process management settings - CFD
FIGURE 2.47
PVM process management settings - FEA
On PVM systems, the processor settings for each step should be defined as follows:
1. Launch the runs in the current step In succession or Concurrently. This option is used in case
of multi-mesh and/or multi-point computations. For example, in a multi-point computation, if
the user wants to launch the multiple working points concurrently, the user must define the
same number of configurations as the computations, as explained in step 2.
2. At the left side of each step, the user may create a New configuration, Reset the selected
configuration to its default setting or Remove the selected configuration. Each configuration
corresponds to one run. For example, if there are 3 working points (multi-point) and the user
wants to launch the flow solver concurrently, the user could specify 2 or 3 configurations.
With 3 configurations, the three runs will be launched concurrently. With 2 configurations, the
2 first runs will be launched concurrently and the third one will wait until one of the 2 first runs
finishes.
3. At the right side of each step, the user should select the processors from the Available
processors list. By default, the localhost (the machine where FINE™/Design3D GUI is
launched) is used. If the number of the selected processors is larger than 1, the run will be
launched in parallel mode. Note, the settings are applied only to the highlighted configuration.
The following settings/limitations are dedicated to special steps:
l For CFD mesh generation, one processor should be defined because AutoGrid5™ does not
support distributed memory parallel mode. The option Number of Threads allows to specify
the number of processors (threads) to run the AutoGrid5™ mesh generation in shared memory
parallel mode.
l When coupling with the FINE™/Turbo chain and the flow solver is run in parallel mode (the
number of selected processors is larger than 1), the user should define the Load balancing and
Memory estimation.
FINE™/Design3D allows the user to launch the computation in parallel mode or parallel
partitioned mode provided by the flow solver. When setting the load balancing to Automatic,
the load balancing is defined automatically and the computation is launched in parallel mode.
When setting the load balancing to Partitioned automatic, the load balancing is defined
automatically and the computation is launched in parallel partitioned mode. When setting the
load balancing to User defined, the load balancing can be defined by the user through a
taskfile  and the computation is launched in parallel mode.
The memory estimation can be Automatic or defined by the user (User defined).
In case of parallel mode, the parallel processing relies on the block structure of the mesh. As a
consequence, the number of processors cannot exceed the number of blocks in the mesh. However,
in case of parallel partitioned mode, this limitation is removed and the user can use any number of
processes.
In case that the load balancing is defined by a taskfile, the number of processors specified in the
taskfile should be the same as the number of processors selected in the configuration.
When coupling with the FINE™/Turbo chain and the flow solver is run in parallel mode,
the specified processors are used only as slave nodes and a master process will be
automatically added. As a consequence, the final number of processors is the defined
number plus 1 (as master node). See FINE™/Turbo user guide for more details.
l All the processors selected for the FEA mesh generator must be on the same machine/node,
because HEXPRESS™/Hybrid does not support distributed memory parallel mode. The
option Number of Threads allows to specify the number of processors (threads) to run the
HEXPRESS™/Hybrid mesh generation in shared memory parallel mode. When the option is
set to 0, the mesh generation is launched with the number of cores available on the machine.
l When CFView™ is used as the post processing tool, one processor should be defined because
CFView™ can only be run in sequential mode.
SGE, PBS and LSF
FIGURE 2.48
SGE process management settings - CFD
FIGURE 2.49
SGE process management settings - FEA
On queuing systems, the processor settings for each step should be defined as follows:
1. Select a Parallel environment into the available environments (i.e. openmpi).
2. Select a System queue into the available queues (i.e. compute.q).
3. Select a Queuing template which will be used to generate the submission script. The
following templates are provided by default:
l d3d_ cfd_ mesh : template used for the CFD mesh generation when coupling with the
FINE™/Turbo or the FINE™/Open with OpenLabs™ chain.
l d3d_ cfd_ solver :
template used for the CFD flow solver when coupling with the
FINE™/Turbo or the FINE™/Open with OpenLabs™ chain.
l igg_for_design3d: template used for the FINE™/Turbo CFD mesh generation.
l euranus_for_design3d: template used for the FINE™/Turbo CFD flow solver.
l d3d_hh: template used for the FEA mesh generation.
l d3d_oofelie: template used for the FEA solver.
l cfview_for_design3d: template used for the FINE™/Turbo CFD/FEA post processing.
l d3d_external_mesh: template used for the CFD mesh generation in external mode.
l d3d_external_cfd: template used for the CFD flow solver in external mode.
l d3d_external_post: template used for the CFD post processing in external mode.
4. Define the Number of configurations. This option is used in case of multi-mesh and/or multi-
point computations. For example, if there are 3 working points (multi-point) and the user wants
to launch the flow solver concurrently, the user could specify 2 or 3 configurations. With 3
configurations, the three runs will be launched concurrently. With 2 configurations, the 2 first
runs will be launched concurrently and the third one will wait until one of the 2 first runs
finishes.
On queuing system, all configurations have the same processor settings.
5. Define the Number of processors. If the number of the selected processors is larger than 1,
the run will be launched in parallel mode.
The following settings/limitations are dedicated to special steps:
l For CFD mesh generation, one processor should be defined because AutoGrid5™ can only be
run in sequential mode.
l When coupling with the FINE™/Turbo chain and the flow solver is run in parallel mode (the
number of selected processors is larger than 1), the user should define the Load balancing and
Memory estimation.
FINE™/Design3D allows the user to launch the computation in parallel mode or parallel
partitioned mode provided by the flow solver. When setting the load balancing to Automatic,
the load balancing is defined automatically and the computation is launched in parallel mode.
When setting the load balancing to Partitioned automatic, the load balancing is defined
automatically and the computation is launched in parallel partitioned mode. When setting the
load balancing to User defined, the load balancing can be defined by the user through a
taskfile  and the computation is launched in parallel mode.
The memory estimation can be Automatic or defined by the user (User defined).
In case of parallel mode, the parallel processing relies on the block structure of the mesh. As a
consequence, the number of processors cannot exceed the number of blocks in the mesh. However,
in case of parallel partitioned mode, this limitation is removed and the user can use any number of
processes.
In case that the load balancing is defined by a taskfile, the number of processors specified in the
taskfile should be the same as the number of processors selected in the configuration.
When coupling with the FINE™/Turbo chain and the flow solver is run in parallel mode,
the specified processors are used only as slave nodes and a master process will be
automatically added. As a consequence, the final number of processors is the defined
number plus 1 (as master node). See FINE™/Turbo user guide for more details.
l All the processors selected for the FEA mesh generator must be on the same node, because
HEXPRESS™/Hybrid does not support distributed memory parallel mode.
l When CFView™ is used as the post processing tool, one processor should be defined because
CFView™ can only be run in sequential mode.
2.6
RESULTS VISUALIZATION
After running a process, the CFD results can be examined in two ways:
l directly in the interface with the Solution Monitor,
l using the HTML report which is automatically generated for every computation.
2.6.1
Results Files Management
An AutoBlade™/ Screening project has the following directory structure:
l "impeller" is the root project directory,
l "impeller.iec" is the main project file,
l "impeller_computation_1" corresponds to the default name of the FINE™/Turbo computation,
l "impeller_screen" corresponds to the Screening computation
l "_trk" is the sub-directory containing the CFD turnkey results (geometry + CFD solution),
l "_flow" is the sub-directory containing the CFD solution files,
l "_mesh" is the sub-directory containing the generated mesh,
l "_results" is the sub-directory containing the post-processing results including the HTML
report, the data files generated by the post processor macros,
l "_pictures" is the sub-directory containing all the ".png" pictures generated by CFView™,
l "HTML_report" is the sub-directory containing the HTML report of the computation.
2.6.2 Numeric Results Visualization in FINE™ GUI
1. Click on Solution Monitor folder.
2. Open Simulation Results page by double clicking on it.
A notebook similar to the notebook in the window CFD package is proposed (FIGURE 2.50).
This notebook allows the visualization of all the selected quantities: global performances,
quantities at inlet & outlet, user- defined quantities. The values of all selected macros are
displayed. If a value doesn't exist, "N.A.", which stands for "Not Available", is displayed
meaning that a problem occurred during the CFD process (generation of a mesh with negative
cells, no convergence of the CFD flow solver...).
These results are obtained by reading files generated by the process. If these files or directories are
removed, the results will no longer be available.
If several CFD computations or the FEA computation have been launched, computation selection
is available. When the active computation is modified, the results are modified.
FIGURE 2.50
CFD results window
the inlet or outlet boundary is not
When running a multistage computation, it
represented in the meridional view (for instance if there is a volute at the inlet or/and outlet). In such
a case, the spanwise distribution of quantities at the inlet or outlet and the cartesian plot at the inlet or
outlet will not be available.
is possible that
2.6.3
Image Visualization in FINE™ GUI
1. Click on Solution Monitor folder.
2. Open CFD Images page by double clicking on it.
3. Select the type of view by clicking on the name (FIGURE 2.51).
4. Select the view in the list.
FIGURE 2.51
CFD picture results for rotor37 case
These pictures are stored in the sub-directory "_pictures" of the directory "_results".
If the files do not exist, the name of the picture will not appear in the menu.
If no picture is available in the type of view selected, "Not Available" will be displayed in the picture
selection menu.
If several CFD computations or the FEA computation have been launched, computation selection
is available. When the active computation is modified, displayed pictures are modified.
The Screening product allows to automatically generate different types of images of the solution.
Here are some examples of pictures for each available view.
Meridional views: the azimuthal averaged solution is generated. For example, in the picture
beside, the static pressure is represented for an axial compressor.
Meridional Cartesian plot: prints a Cartesian plot of the selected quantity at the inlet or at the
outlet of the meridional view. For example, in the picture beside the static pressure distribution at
inlet is represented.
Blade to blade view: prints a picture of the quantity in the blade to blade view at any spanwise
position. In the picture beside, the static temperature is represented at 50% of spanwise direction.
Blade to blade Cartesian plot: prints the static pressure distribution along both sides of the blade
at 20%, 50% or 80% of the blade span. In the picture beside, the static pressure distribution
around the blade is displayed at 50% of spanwise distribution.
3D views: prints a 3D picture of the mesh or of static pressure on blades and hub. In the picture
beside, the 3D mesh is represented.
FEA result: prints a 3D picture of the contour on the sector body in the projection along the
R/θ/Z direction.
2.6.4 HTML Report
An automatic HTML report is generated at the end of each computation. This report has the
following structure: a presentation page, an index, computation report and annex.
The index contains links to the corresponding paragraphs and images. The annex contains all
parameters of AutoBlade™. The next two pages show an example of HTML report, the
turbomachinery is an axial compressor, NASA rotor 37.
The sub-directory "_results" contains all the necessary files for the HTML report. As a consequence,
the whole "_results" directory can be sent to another user who will be able to visualize the report.
95
FINE™/Design3D 13.1 User Guide
96
FINE™/Design3D 13.1 User Guide
97
FINE™/Design3D 13.1 User Guide
CHAPTER 3.
MINAMO DATABASE & OPTIMIZATION
The integration of MINAMO into FINE™/Design3D extends its capabilities with the most advanced
genetic algorithms, powerful design of experiments techniques and efficient nonlinear surrogate
models.
This chapter provides details related to the technology used in MINAMO run modes.
In this section
3.1 Introduction
3.2 Nomenclature
3.3 Optimization algorithms
3.4 files description
3.5 Post-processing tool
3.6 Bibliography
99
100
101
148
158
177
3.1
INTRODUCTION
3.1.1 MINAMO, the right tool to reach your optimum
The MINAMO team focuses on the development of Cenaero's in-house multidisciplinary design
space exploration and optimization platform named MINAMO, allowing you to thoroughly
explore the design space by providing advanced techniques such as design of experiments,
surrogate modeling, optimization and data-mining tools.
Multidisciplinary Design Optimization (MDO) has considerable impact on the design by
increasing performance, lowering life cycle cost and shortening design time for complex products.
in the design solution, but more
MINAMO can not only help reaching an improvement
importantly will contribute to quickly gain insight into the design space, quantitatively assess key
factors and trades, and most importantly, find innovative design options.
3.1.2 MINAMO features
MINAMO provides intelligent tools allowing a better understanding of the design space. It is a
collection of technologies and tools allowing you to quickly gain insight into the design space and
to automatically explore it to find innovative designs :
l Design of Experiments (DoE) for effective design space sampling;
l Surrogate models allowing to interpolate data, perform "virtual optimization", reduce the
time when dealing with expensive high- fidelity simulations and increase
computational
knowledge;
l State-of-the-art optimization methods (online and dynamic search processes);
l Monitoring and data analysis tools for a comprehensive and easy interpretation of the
results.
On top of the license server requiring LSB (Linux Standard Base) compliance, the client machine (if
different from the license server machine) running MINAMO needs also to be LSB- compliant.
Otherwise the MINAMO features won't appear in the list of available tasks in the GUI. The list of
Linux distributions and applications certified for compliance with the LSB standard is available on
http://www.linuxfoundation.org/lsb-cert/productdir.php?by_lsb.
3.1.3 What type of problems are appropriate for
MINAMO?
MINAMO contains several advanced optimization algorithms developed to efficiently solve very
difficult problems occurring in multi-discplinary optimization applications. The most appropriate
cases for MINAMO are applications involving one or more of the following characteristics :
l Black-box simulation chains. This means that the user only has access to response values and
not to response derivatives. This is typical when using commercial simulation software which
do not provide the responses derivatives. Moreover they are most of the time available as an
executable.
l Simulation chains requiring large simulation time for one single evaluation (typically several
hours on tens of cores per simulation). MINAMO performs very well for this type of
simulations because the software minimizes the number of optimization cycles needed to reach
the optimum and therefore minimize the number of calls to the expensive simulation.
l Highly constrained problems. MINAMO is very powerful to solve problems with many
active constraints resulting in very small feasible regions.
l Optimization problems with multiple local minima resulting from the objective function or
created by large number of non-linear constraints.
l Multi-objective optimization applications.
l MINAMO is also capable to deal with uncomputable functions. This may arise when the
simulation software does not return any answer due to convergence problem, mesh generation
problem due to unrealistic geometries or insufficient convergence of the detailed simulation.
3.2
NOMENCLATURE
DoE
SBO
Design of Experiments
Surrogate-Based Optimization
Experiment
Accurate numerical simulation (as opposed to approximated,
surrogate model simulation)
Surrogate model
Meta-model, approximate model
Simulation chain
Definition of an experiment, f
Design parameters / variables
Input of the simulation chain, x
Responses
Output of the simulation chain, y
3.3
OPTIMIZATION ALGORITHMS
The optimization problem considered through this manual is the following:
where
is the design parameter vector,
l f is the objective (it is also possible to have more than one objective),
and
are inequality and equality constraints,
and
are explicit bounds on the design parameters.
The design parameter vector
integer, discrete or categorical  (only
continuous and integer parameter are considered for the first integration of MINAMO in
FINE™/Design3D).
can be continuous,
As mentioned in the introduction, the main optimization algorithm of MINAMO is based on
evolutionary algorithm accelerated by the use of surrogate models that speed up the convergence
rate. The surrogate models are successively refined as the optimization progresses in order to
converge to the final optimum. The use of evolutionary algorithm offers mechanisms to avoid
local minima and therefore find innovative solutions. The main optimization algorithm of
MINAMO is therefore organized with the following 5 steps:
1. The first step consists in building a database using a design of experiments technique.
2. Then a surrogate model is built using the DoE points in order to construct an analytical
relationship between the design parameters and the simulation responses.
3. Third, an optimization algorithm is used to find the optimum using surrogate models to
evaluate the objective and constraints functions.
4. Then the accurate simulation is used to evaluate and verify the real objective function and
constraint values. This new simulation result is added to the database. The database is therefore
always improved with new design points, leading to improved surrogate models.
5. Go to Step 2 until the maximum number of optimization cycles specified by the user is
reached.
For industrial applications, the computational cost of one optimization iteration mainly depends on
the cost of the simulation employed. In general the cost for building the surrogate model and
running the evolutionary algorithm is reasonable, depending on the number of training samples,
the number of input and output variables and the choice of the surrogate model, but this time is
generally relatively small compared to the evaluation time of the simulation chain.
3.3.1 Mono-objective evolutionary algorithms (EAs)
A genetic algorithm (GA) is a search heuristic that mimics the process of natural evolution.
Genetic algorithms belong to the larger class of evolutionary algorithms (EAs), which generate
solutions to optimization problems using techniques inspired by natural evolution, such as
inheritance, mutation, selection, and crossover. Genetic algorithms were designed by Holland in
the 70s, and improved and made well known by Goldberg in the 80s [2]. Genetic Algorithms are
becoming more and more widely used in mechanical and aerodynamic problems, e.g. preliminary
design of turbines [3], aerodynamic optimization using CFD [4] [5] [6] [7] [8], optimization of
target pressure distributions for inverse design methods [9] [10], multi-objective aerodynamic
shape optimization [11].
Genetic algorithms mimic natural behavior in terms of biological evolution in order to reach the
best possible solution to a given problem. Weak individuals tend to die before reproducing, while
the stronger ones live longer and bear many offsprings, who often inherit the qualities that enabled
their parents to survive. A genetic algorithm is summarized as in FIGURE 3.1.
An initial population is generated by randomly (or by using Design of Experiments) selecting
individuals in the whole design space. Then, pairs of individuals are selected from this population
based on their objective function values. The performance of an individual is measured by its
fitness. Then, each pair of individuals undergoes a reproduction mechanism to generate a new
population in such a way that fitter individuals will spread their genes with higher probability. The
children replace their parents. As this proceeds, inferior traits in the pool die out due to lack of
reproduction. At the same time, strong traits tend to combine with other strong traits to produce
children who perform better.
The reproduction cycle is governed by genetic operators. Numerous genetic operators have been
proposed in the literature. Three of them are used here, namely: selection, recombination, and
mutation operators.
FIGURE 3.1
Evolutionary algorithm scheme.
l The selection operator chooses two individuals from the population that will mate to generate
an offspring. MINAMO implements different selection operators (tournament selection),
which are probabilistically chosen along with a recombination operator as described below.
l The recombination operators take two individuals selected by the selection operator and will
be mated to generate an offspring, which tends to preserve the favorable characteristics of the
parent individuals. A special attention is paid to the construction of the recombination
algorithm so that it does not degrade the diversity of the population excessively. In MINAMO,
selection and recombination operators are probabilistically chosen to form a pair of operators
that are combined to generate an offspring.
l Mutation introduces new genetic material into a heterogeneous population. The mutation
operator implemented in MINAMO introduces a perturbation to each design parameter with a
small probability. This genetic operator is a key feature for avoiding local optima traps.
An elitism mechanism is also adopted to ensure the best individuals of the current population are
not lost. By default in MINAMO, the two best individuals are copied to the next population.
In MINAMO, a real number coding has been chosen because it allows using an easy and
compact form to represent an individual. In the rest of this document, our real-coded genetic
algorithm will be denoted by Evolutionary Algorithm (EA).
Evolutionary Algorithm options
For MINAMO in FINE™/Design3D, the EA-related options are available via the EA Settings
tab.
FIGURE 3.2
Standard Mode 
l Number of Generations: This is the number of generations which will be processed by the
EA on the surrogate models. The number should be at least 50 [default = 100].
l Population Size: This is the number of individuals present in a population during the EA
process on the surrogate models. It is suggested to set this number sufficiently large so that the
EA can safely find the design update without a risk of missing a potential optimum point. The
number should be at least 50 as a rule of thumb, and preferably as large as 200 [default = 400].
l Mutation Probability: The mutation is a genetic operator used to maintain genetic diversity
into the population. It allows the algorithm to avoid local optima by preventing the population
of individuals from becoming too similar to each other, thus slowing or even stopping the
evolution. Typically, mutation is given a fairly low probability of occurrence. The default
value for the mutation probability is 0.01 (probability of 1%).
Expert Mode
l Elitism: Number of elites in the elitism mechanism [default = 2]
l Tournament Order: Number of tournaments to select the individuals [default = 2]
l Number of Parents: Number of parents selected for the reproduction process [default = 2]
l Forced Elitism History : Number of best accurate evaluated point(s) included in the EA
population. Warning, modifying this parameter drastically impacts the exploration ability of
MINAMO. Not recommended to set > 1. Can not be set greater than Population Size [default
= 0].
l Constraint Handling Method: Type of constraint handling method [default = Tournament].
For more details about this option, please refer to the section "Deb's constraint handling
method" (p. 107).
3.3.2 How to deal with the constraints ?
The handling of constraints in evolutionary algorithms is a delicate task, which explains the
important amount of
In mono- objective optimization,
Michalewicz and Coello classified them in six categories [12,13] :
techniques devised to address it.
1.
lethalization or death penalty techniques;
2. penalization techniques;
3. methods separating the objectives and the constraints;
4. methods with decoders or constraint-preserving operators;
5. repair algorithms;
6. hybrid methods.
A. Penalty methods
The penalization of individuals violating the constraints is the most popular approach by the EA
community. Penalty methods transform a constrained problem to an unconstrained one. A new
is defined by adding a penalty to each unfeasible solution. In EAs,
objective function
exterior penalty functions are used more than interior penalty functions as there is no need to start
with a feasible solution in exterior penalty methods.
Different penalty methods exist and three different ones have been implemented in MINAMO :
Static penalty
The fitness function is computed as follows:
is a constant defined by the user, here the penalty parameter is the same for each
where
constraint (and remains constant throughout the generations).
Joines and Houck's dynamic penalty
The Joines and Houck's dynamic penalty [14] deals with dynamic coefficients, of which the
values are computed with respect to the number of the current generation:
where
is the generation number and
,
and
are parameters of the method (standard values
recommended in [14] are:
,
and
). The quality of a possible solution is very
sensitive to changes of these penalty parameters.
Bean and Hadj-Alouane's adaptive penalty
The Bean and Hadj-Alouane's adaptive penalty [13]:
where
is a parameter of the method and
is re-computed at each generation as follows:
where cases #1 and #2 denote situations where the best individual in the last
always (case #1) or never (case #2) feasible.
generations was
have to be defined by the
and
user (with
and
to avoid cycling). It means that the penalty
decreases if the best individual in the last
generations was systematically feasible, and increases
if it was always unfeasible; otherwise the penalty parameter remains unchanged. Adaptive
penalization has the advantage to pay heed to the results obtained at previous generations. The
default values in MINAMO are
and
.
Penalization techniques provide good results without significant modification of the standard EA.
However, the difficulty in the choice of the penalty parameters constitutes their main drawback,
because no general rule can be applied to determine their values. To alleviate this problem, Deb
[15] has proposed a constraint tournament selection method.
B. Deb's constraint handling method
Deb's constraint tournament selection method:
l when two individuals are compared, the feasible one is always preferred to the unfeasible one;
l if both individuals are feasible, the one with the best objective function value is chosen;
l if both individuals are unfeasible, the one with the least violation of the constraints is preferred.
No penalty factor is required, since the selection procedure only performs pairwise comparisons.
This technique has demonstrated to be successful [15], especially in providing feasible solutions
in highly constrained problems. But as a drawback, the optimizer might focus in local extrema too
rapidly if the design space is scarcely populated, thus it is strongly suggested to use as many as
possible samples so that multiple extrema (if they exist) are well represented. This method always
privileges feasible solutions and is generally more likely to converge towards a feasible solution.
The main difficulty in handling constraints by using penalty methods in EAs and more generally
in classical optimization methods, is to set appropriate values for the penalty parameters. Most of
the time, this requires the user to experiment with different values of parameters. The Deb's
constraint handling method is thus recommended as it does not require any penalty parameter.
With this technique, infeasible solutions are penalized in a way so as to provide a search direction
towards the feasible region.
For MINAMO in FINE™/Design3D, these options are available via the EA Settings tab in the
Expert Mode. Four Constraint Handling Methods are available:
l Tournament [default]
l Static Penalty
l Dynamic Penalty
l Adaptive Penalty
FIGURE 3.3
Constraint Management Settings.
3.3.3 Mono-objective surrogate-assisted EA optimizer
Nowadays, with the continuous increase in computing power, a widespread practice in
Indeed, design of complex
engineering is that of simulation- based design optimization.
engineering systems, which is synonymous with the use of accurate high-fidelity simulation
models (e.g. Computational Fluid Dynamics (CFD) analysis or Finite Element Method (FEM)),
has become a reality. However, even with today's computational power, it is rarely conceivable to
thoroughly search the design space using the high- fidelity simulations. Since optimization
procedures are mandatory to quickly provide optimal designs, an adequate and general answer to
optimization based on computationally expensive analysis lies in the surface models. Indeed, since
the computation of the objectives and constraints can take hours on tens of processors (with CFD
or FEM models for instance), and as the number of function evaluations is rather high with EAs
(to fix ideas : often more than 500 times the number of design parameters), it is of paramount
importance to reduce the number of calls to the expensive high-fidelity simulation. Therefore, in
order to speed up the optimization process (and decrease the number of calls to the external
function),
the evolutionary algorithm is strongly combined with surrogate models in an
adaptive/online scheme.
A. Online SBO framework
Surrogate-Based Optimization (SBO) essentially exploits surrogates or approximations in lieu of
the expensive analysis results to contain the computational time within affordable limits , with occasional recourse to the high-fidelity model. However, the performance of such
methods is known to be largely dependent on the following key elements:
l the underlying optimization algorithm(s),
l the surrogate model(s),
l the training (design of experiments and infill criteria),
l the surrogate model(s) management schemes.
An SBO design cycle consists of several major elements as shown in the following figure.
FIGURE 3.4
Online surrogate-based optimization framework.
It is worth underlining the major importance of the first step, namely the problem definition and
optimization specification, which includes, for instance:
l the parameterization,
l the definition of the bounds,
l the objectives
l and the constraints.
In MINAMO,
the penalty type "MAXIMIZE" and "MINIMIZE" can be applied to the
objectives, and "UPPER_BOUNDS and "LOWER_BOUNDS" for the constraints. The penalty
weight of each penalty can be computed following the same formula as the one used in the
FINE™/Design3D optimization run mode  for more details).
The reference value displayed in the GUI for each penalty corresponds to the value computed for
the first valid sample generated in the database considered for the optimization.
The second step consists in building an initial database by choosing a set of initial individuals in
the design space and conducting high-fidelity simulations (exact models) at the selected sample
points. This exercise is called the Design of Experiments (DoE). Based on this DoE, surrogate
models are constructed in order to build an analytical relationship between the design parameters
and the expensive simulation responses. This phase provides cheap responses to be used by the
optimizer. Using the surrogate models to evaluate the objective and constraint functions, an
optimization is then carried out to identify the optimum, at least in the sense of the surrogates. The
accurate simulation is used to evaluate the real objective function and constraint values for this
optimum in order to check the accuracy of the surrogates at the optimal solution. The new
simulation result (and possibly simulation results at other points) is (are) added to the database
which is therefore continuously improved with new design points,
leading to increasingly
accurate approximate models all along the design. This design loop is repeated until the maximum
number of design iterations specified by the user is reached. Most of the time, this number of
iterations is driven by the CPU execution time of the high-fidelity simulation.
Therefore, a design iteration consists of:
l executing the EA on the surrogate model (and not on the accurate one);
l after the end of the EA process, computing the best solution found by the optimizer thanks to
the accurate model;
l adding a new set of samples including this new point to the database in order to enrich the
model and be able to construct a better approximation.
The periodic retraining of the surrogates ensures that the models continue to be representative of
the newly-defined search regions. Generally, the quality of the model increases with the number
of design loops, since new points are added to the database.
According to how the model interacts with a simulation and the optimizer, modeling approaches
can be categorized as online or offline approaches. A strength of our optimization strategy is its
online modeling framework opposed to an offline one, depicted in the next figure. In an online
approach, a model is created and is adaptively improved during the course of the optimization,
while in an offline approach, the optimization is performed based on an a priori trained model.
FIGURE 3.5
Online vs. offline SBO scheme.
The importance of the online feature of our strategy can be observed in the following figure.
Indeed, a better solution can be obtained with the online SBO procedure than with the offline one,
in a limited computational budget of 60 function evaluations of the Rosenbrock function.
FIGURE 3.6
Convergence histories of online and offline SBO schemes on the Rosenbrock problem.
Number of best evaluated point(s) included in the GA population.
Modifying this parameter drastically impacts the exploration ability of MINAMO. Not recommended
to set IncludeBests>1. Can not be set greater than PopulationSize.
Of course, an offline scheme is always possible in MINAMO by setting the number of iterations
to one, but an online scheme is strongly recommended. For the offline SBO, the DoE contains 59
points, the optimizer is run on the surrogate model built on this initial sample set and the optimum
found is validated with the true function. Whereas for the online procedure, 10 points are put in
the initial database and then 50 design iterations of our algorithm assisted by surrogates are
performed. This variant is clearly quicker in terms of convergence.
B.
Illustration of the SBO scheme
The efficiency of our SBO scheme is illustrated in the search of the global minimum of the
Ackley function which is a well-known multi-modal function. The following figure depicts the
function with 2 design parameters, while the optimization has been carried out on the same
function but generalized to 5 dimensions within [-2,2] for each design parameter.
FIGURE 3.7
Ackley function
The optimization is first performed using the EA without surrogate models, with a population of
50 individuals for 40 generations (i.e. 2000 function evaluations). These results are compared
with those obtained by the method combining the surrogate model with the EA. An initial
database of 20 sample points is used and then only 100 design iterations are performed. The
convergence histories are displayed in the following figure. The results clearly indicate that, for a
given fixed number of function evaluations, the SBO approach drastically outperforms a pure EA
optimization using actual function evaluations.
FIGURE 3.8
Convergence history comparison.
Pay attention that in a SBO framework, the handling of the constraints must not only be
performed inside the EA , but also during the calculation of the global objective
(which is required to compare the best solutions found by the EA).
C. Move-limit procedure
Furthermore, in order to obtain a better approximated solution and speed up the convergence, a
framework for managing surrogate models is used in MINAMO. Based on effectiveness of
approximations, a move-limit strategy adapts the search range of the variables along the design
process, focusing the optimization search on smaller regions of the design space and exploiting
local models. As the optimization proceeds, the idea is to enlarge or restrict the search space based
on a heuristic rule in order to refine the candidate optimal region. The current optimum determines
the "center" of the region of interest. This adjustment strategy expands the search space if the
latest design iteration resulted in an improvement and shrinks the search space if it is not the case.
Note that the number of points in the trust region defined by this procedure must be at least the
number of parameters +1. Moreover, if there is no improvement for more than 20 consecutive
iterations, the search space is enlarged to the entire design space.
The convergence history plots of the following figure show, for the Rosenbrock function, how
the move limit strategy can help to achieve a better accuracy of the approximated solution than the
pure exploratory search (without the move limit procedure) within the same number of design
iterations.
FIGURE 3.9
Convergence history plots for the Rosenbrock 2D function (3 runs).
It is also possible to start by a pure exploration phase, without the move limit strategy, and to
activate this mechanism only at iteration k.
For instance in the convergence history plots the blue lines correspond to the case where the move
limit procedure is activated at the beginning of the optimization whereas the green ones start with
a global exploration phase (without move limits) and initiate the move limit strategy at iteration .
The red curves show the slower convergence of a strategy without the move limit. By default, the
iteration index k is equal to 20. In general, it could be beneficial to start with an exploration phase
in the whole design space. A good compromise between exploration and exploitation is to set this
parameter to one third of the number of design iterations.
For MINAMO in FINE™/Design3D, the options related to the move- limit procedure are
available via the Move Limit Management tab. Different options related to the move-limit
strategy are available:
l Move Limit Active at Iteration: iteration from which the move limit strategy is activated
[default = 10],
l Expanding Rate: move limit expanding rate [default = 1.3],
l Shrinking Rate: move limit shrinking rate [default = 0.9],
l Minimum Rate: minimal coefficient of move limit [default = 0.01].
FIGURE 3.10
Move Limit Management Settings.
D. Surrogate modeling
The challenge of the surrogate modeling is to generate a surrogate that is as good as possible,
using as few expensive evaluations as possible. Polynomial fitting surfaces are generally not well-
suited for high dimensional and highly multimodal problems. Several non- linear data- fitting
modeling techniques can be used to build the surrogates, e.g. artificial neural networks, Radial
Basis Functions (RBF) networks, Kriging or support vector regression. Contrary to polynomial
response surface models, these techniques have the advantage of decoupling the number of free
parameters with respect to the number of design parameters. Furthermore, they can describe
complex and multimodal landscapes.
Data-fitting models : Interpolation/Regression
Radial Basis Function networks
In order to obtain a surrogate model which is both accurate and computationally efficient for
approximation in high dimensions, two variants of the Radial Basis Functions (RBF) networks
have been implemented in MINAMO: a classical RBF model and a tuned RBF model. RBF are
linear models expressed as follows [18] :
where:
l y is the model defined as a linear combination of n radial basis functions,
's are the weights,
l h is called the hidden unit function or the basis function,
's and
's denote, respectively, the centers and the widths of the basis functions,
l σ is a parameter controlling the smoothness of the interpolation.
The goal of the approximator is to find the weights
minimizing the error between the real
outputs and those predicted by the model. While several basis functions exist, we will concentrate
on the two most popular ones, the multiquadric and the Gaussian basis functions. The Gaussian
function decreases monotonically with respect to the distance from a central point and the
multiquadric one increases.
Name
Gaussian
Multiquadric
Expression of
FIGURE 3.11
Types of RBF
for all i. The tuned RBF
The classical RBF model uses the multiquadric function with a fixed
model implements a tuning so as the surrogate models are generated without the user has to
prescribe the type of basis function and hyper-parameter values. In the training, the technique uses
a leave-one-out based heuristic to select appropriately the radial basis function h (Gaussian or
's with respect to the experiment plan in order to
multiquadric) and to adjust the parameters
obtain a higher quality model. In the MINAMO's tuned RBF model construction, two types of
width parameter are considered: a fixed width for all basis functions and a variable width for each
basis function. Note that the tuned RBF network training is more time consuming than the
classical RBF one, but it is still cheap compared to the high-fidelity model. The tuned RBFN is
highly recommended. These surrogates are available with mixed variables.
Kriging
Another type of surrogate models has also been included in MINAMO: the Kriging model:
where x is an m-dimensional vector (m design parameters). The global trend
approximates
globally the design space.
There are two Kriging variants in MINAMO:
l Ordinary Kriging assumes a constant but unknown mean: -->
. This is the most
commonly used type of Kriging.
l Universal Kriging considers a polynomial function as global trend. The second term Z(x) of
this equation for y(x), represents the local deviation from the global trend and is expressed
using a stochastic process with zero mean and covariance
where
is the process variance and
is the correlation function:
where
where is the
-th element of the correlation parameter denoted by and
.
The parameter
is essentially a width parameter that affects how far a sample point's influence
extends. The exponent
k, with
is a measure of the smoothness of the function in coordinate direction
corresponding to smooth function and values near 1 corresponding to less
smoothness. We can choose to fit
and
for each dimension k. But, most of the time, the
exponent
correlation function. Another possible choice is the exponential correlation function (
is set to 2 for all k. This choice of correlation function is called the Gaussian
for all k). The version where the
's are tuned as the
parameters is more expensive (
and
are optimized via a EA).
Given
set
of
sample
points,
and
their
responses
evaluated by the accurate high-fidelity model, the estimated model
prediction of the equation for y(x) is given by:
where:
is the current unknown point,
is the estimate of the mean response value (defined below),
is the set of regression function:
.
is obtained by evaluating
at each of the samples points.
l In the case of ordinary Kriging, we have
and thus
is a vector with all values
set to one.
l The vector
is the correlation vector of terms between the unknown point
and the
known
sample points
l and
is the correlation matrix for all of the data points in
,
This matrix is symmetric, positive definite and the diagonal consists of all ones because
.
Note that the size of the Kriging correlation matrix depends only on the number of samples
considered and not on the number of design parameters.
The unknown parameters to be estimated for constructing the Kriging model is the vector of
and
parameters
, named , and the vector of exponents
, denoted by . Indeed, for given
, the generalized least-squares estimate of
is given by
The best choice for the values of vectors
likelihood function
and
can be obtained by maximizing the following
over the domain
and
, where
,
and
Once
prediction
are determined by maximizing the likelihood function , the estimated model
can be completely defined as
are functions of
and .
and
,
Maximizing the likelihood function is a multidimensional optimization problem. This function is
known to be multimodal hence global optimization techniques might be preferable to solve this
problem. One of the possible strategies (used in MINAMO) is to use an evolutionary algorithm. It
is important to note that no convergence is guaranteed with such evolutionary algorithms.
As Kriging computation requires the resolution of a multidimensional and multimodal
optimization problem, it is obviously more costly than RBF network fitting. As more points will
be added to the database during the optimization process, the computation time of the Kriging
fitting could be increased considerably. This is the reason why, in literature, Kriging is generally
used for problems with less than 10 to 20 design parameters.
For MINAMO in FINE™/Design3D,
Surrogate Model Settings tab. Three types of surrogate models are available:
the surrogate- related options are available via the
l TunedRBFN [default]
l RBFN
l Kriging For Kriging, different options are available through the Expert Mode
l Correlation Type
l Gaussian [default]
l Exponential
l OptimizedHP
and
are optimized
l Regression Type : 0 [default, Ordinary Kriging]
to choose the regression type (0,1,2)
FIGURE 3.12
Surrogate Model Settings.
The Parallel Surrogate Construction option allows to activate the training of the surrogate
models of the different responses in parallel (mutli-threading). This option is not activated by
default. The Number of Threads option allows to define the number of threads to use for the
parallelization of the training of surrogate models.
Classification
Support Vector Machines
Support Vector Machines (SVM) can be used in MINAMO to classify binary data such as
feasible/ non-feasible domains, or computable/ uncomputable zones. SVM are built based on a
training set of
samples:
where:
(
design parameters) and
.
FIGURE 3.13
SVM principle. Black points are support vectors.
This figure represents one possible classification based on a given training set with a linear
classifier. The goal of SVM is to separate classes by maximizing the margin (space between the 2
purple lines). In MINAMO, soft margins are used to accept some misclassified samples (outliers).
The black points, located on the margin, are called support vectors. For each class (blue and red),
one point is misclassified with regards to the classifier
. The degree of allowed misclassified
samples is driven by a global parameter
.
The tradeoff between maximization of margins and minimization of misclassified samples is
computed by an optimization algorithm. The corresponding dual problem to solve is:
is a Karush-Kuhn-Tucker multiplier strictly positive if
where
kernel function. The mathematical form of a SVM classifier is:
is a support vector and
is a
where
is the support vectors indices. In MINAMO, the dual problem is solved with a
where
Sequential Minimal Optimization (SMO). SMO is a standard algorithm for solving the quadratic
programming problem that arises during the training of SVM. Different types of kernel exist but
only the Gaussian one is available in MINAMO for the moment:
with
.
In MINAMO, SVM classification models are used in infill criteria targeting feasibility  and to build success models of success flags .
E.
Surrogate model assessment
In MINAMO, the reliability assessment of the surrogate models can be performed through a
leave-one-out cross validation. In order to assess the reliability of the approximate model at each
design iteration, the correlation coefficientR is calculated by using the leave-one-out (LOO) cross-
validation technique. The LOO procedure is a way to estimate the accuracy of a surrogate model
without the need of an external dataset for validation. The method uses a single sample point from
the original data set as the validation data, and the remaining sample points as the training data.
This is repeated such that each sample point in the database is used once as the validation data.
Finally, one obtains a set of estimated outputs (with LOO) and one of real outputs for each
response. These output sets can be statistically analyzed for error estimation. The correlation
coefficient is computed and given by:
where
and
denotes, respectively, the real values and the predicted ones for
the n sample points. R always takes a value between -1 and 1 and measures the degree to which
two variables are linearly related. A value of R=1.0 indicates a perfect fit. During the optimization
process, for each response, the correlation coefficient is computed for the local model (which
corresponds to the model constructed based on the points inside the trust region defined by the
move limit strategy). After the DoE creation, the user is encouraged to perform a LOO reliability
assessment and has a look not only to the correlation coefficient value but also to the scatter of
points. Furthermore, the user is strongly encouraged to monitor the LOO correlation coefficient
during the optimization process.
FIGURE 3.14
Plot of actual vs. predicted values.
In its basic form, the LOO procedure is often computationally expensive because of the large
number of times the training process is repeated. To circumvent this, an efficient procedure
proposed in [19] has been implemented in MINAMO. This procedure is named here by Efficient
LOO (available for RBF, Tuned RBF and ordinary Kriging).
The LOO tool
Section 2.3.7).
is accessible through the post- processing tool
 , the user needs to generate a set of sample points for which experiments will be carried
out to obtain function responses. Therefore, the first step is to generate a set of sample point
locations which uniformly covers the design parameter space.
A priori space-filling DoE techniques
The Design of Experiments, which is the sampling plan in the design parameter space, is a crucial
ingredient of the optimization procedure, especially when the function evaluations are expensive,
because it must concentrate as much information as possible. Indeed, the quality of surrogate
models are mainly related to the good choice of the initial sample points. The challenge is in the
definition of an experiment set that will maximize the ratio of the model accuracy to the number of
experiments, as the latter is severely limited by the computational cost of each sample point
evaluation. Note that evaluation of the target function will be carried out separately in the
following step. Here our focus is solely on the generation of uniformly distributed sample points,
without any information on the corresponding target function values.
MINAMO features various DoE techniques aiming at efficient and systematic analysis of the
design space. Besides the classical a priori space-filling technique, namely Latin Hypercube
Sampling (LHS) , MINAMO offers Centroidal Voronoi Tessellations (CVT) and Latinized
Centroidal Voronoi Tessellations (LCVT) [20]. A drawback of LHS is that sample points could
cluster together due to the random process by which the points are generated. CVT efficiently
produces a highly uniform distribution of sample points over large dimensional parameter spaces.
However, a CVT dataset has the tendency for the projections of the sample points to cluster
together in any coordinate axis.
FIGURE 3.15
Projection on (x1; x2)-plane of 100 points in 10 dimensions for LHS, CVT and LCVT
respectively.
The LCVT technique tries to achieve good dispersion in two opposite senses: LHS and CVT
senses. The idea is to compute a CVT dataset and then apply a Latinization on this set of points.
Latinizing a set of points means transforming it into another set of neighboring points that fulfills
the Latin hypercube property. The aim of this Latinization of CVT sample points is to improve
the discrepancy of the set of points. The LCVT technique has both lower discrepancy than pure
CVT and higher volumetric uniformity than pure LHS. The following figure shows LHS, CVT
and LCVT datasets for 20 and 100 points in 2 dimensions.
FIGURE 3.16
LHS, CVT and LCVT datasets with 20 (top) and 100 (bottom) points in 2D.
Inherited LHS
In the event that additional samples are desired to be added to an existing sample set according to
a space filling criterion, inherited LHS can be used to augment the number of samples to the
existing dataset. Just like the traditional LHS, it will partition the parameter range between lower
and upper bounds into equally spaced segments whose number will equal to total number of
samples (i.e. inherited number of samples plus desired additional number of samples). Inherited
LHS will then look for the segments not yet occupied by the existing sample set, and will add
samples that will occupy these empty segments. The empty segments will always be equal or
greater than the number of additional samples. If there are more empty segments than the samples
added, the choice of the segments to be filled in is random. The original sample set does not have
to be an LHS. Inherited LHS will add samples to datasets of any sampling methods. This property
can be useful if the user is unsure how many sample points will be needed before starting work.
The choice of the additional points is here only based on space-filling aspects.
For MINAMO in FINE™/Design3D, the DoE-related options are available via the Database
Settings tab. Several types of DoE are available :
l Latin Hypercube Sampling (LHS)
l Centroidal Voronoi Tessellation (CVT)
l Latinized CVT [default]
l Inherited LHS an initial DoE is required.
The Include Nominal Design option allows to add in the DoE the nominal point. A rule of
thumb is to use about 2 to 5 times the number of design parameters. If the Inherited LHS is
chosen as DOE method, this is the number of sample points to add to the existing sample set.
FIGURE 3.17
Database settings.
Adaptive DoE technique
All these space-filling techniques, independent of the design space dimensionality and of the type
of surrogates, constitute good first choices to generate an a priori sample set in high dimension.
Since the computation of the response functions can typically take several hours on tens of
computational cores, further research effort has been put to achieve a good accuracy of surrogate
models with a reasonable number of samples by incorporating function knowledge. Because
knowing the appropriate sampling size a priori is difficult, adaptive sequential sampling methods
are appealing.
In order to further tailor the sampling and to better capture the responses underlying physics,
MINAMO exhibits an adaptive DoE technique. The idea is to locally increase the sampling
intensity where it is required, depending on the response values observed at previous sample
points. One can observe in the following figure that more sample points are added in the region
where non-linearities are present if the adaptive DoE procedure is applied on this 1D function.
FIGURE 3.18
6 LCVT points (blue) + 30 adaptive sample points (red).
Such auto-adaptive techniques are also known as capture/ recapture sampling or a posteriori
sequential sampling . They incorporate information on the true function in sample
distribution, explaining the term a posteriori. The aim is to automatically explore the design space
while simultaneously fitting a surrogate model (RBF, Tuned RBF or Kriging models here), using
predictive uncertainty to guide subsequent experiments. Our method consists in iteratively refining
the sample dataset where the model exhibits its maximum of error, with the error indicator
provided by a LOO procedure [23]. The key idea of adaptive sampling is to take more samples in
the "complex" areas. An adaptive DoE approach only based on cross-validation LOO procedure
may result in clustered samples in the design space. In order to avoid clustering situations, the
space-filling property of samples is considered in the selection of new points. The distance
between the points is therefore taken into account in order to avoid new selected points to be too
close to existing sample points.
If there are several responses, the adaptive DoE procedure tries to improve all responses unless for
response (s) that is (are) already good (with a correlation coefficient larger than 0.9). In the
following figure one can observe that the adaptive DoE procedure tries to improve both responses
by adding sample points in both complex regions of both 1D functions.
FIGURE 3.19
Improvement of both responses.
The following figure shows the location of 40 adaptive points based on an initial LCVT sample
set of 60 points on a 2D function.
FIGURE 3.20
60 LCVT sample points (blue) + 40 adaptive points (red).
For MINAMO in FINE™/Design3D, the options related to the adaptive DoE are available via
the Adaptive DoE Settings tab.
FIGURE 3.21
Adaptive DOE Settings.
This method should be applied on an existing database. Several options are available:
l Surrogate Model Type (RBFN, TunedRBFN [default] or Kriging)
l Number of Adaptation Steps: The adaptive DoE procedure is sequential. This is the number
of adaptation steps. Generally, if an adaptive DOE procedure is activated, it is recommended
to spend approximately 60-70% of the total budget available for the generation of the a priori
space-fill DOE and the remaining in the adaptive DOE procedure.
l Number of Samples Per Step: This is the number of samples to generate at each adaptation
step. The default value is 1 (recommended between 1 and 3). These points can be evaluated in
parallel.
l List of Responses For Improvement: This option allows to improve only a selection of
responses in order to reduce the computational time and focus on responses of most interest.
G.
Infill search criteria
The aim of infill sampling criteria is to extract knowledge from the surrogate models to find
potential interesting areas for model refinement in order to strike a balance between model
exploitation and exploration (and possibly feasibility). Different infill criteria exist in the literature.
One can optimize the surrogate model, search areas of high estimated surrogate(s) error in order
to improve the surrogate model(s) quality, combine the first two methodologies, etc. A good
balance between exploitation and exploration is one of the key ingredients toward the eventual
location of the global optimum.
The goal with an infill criterion is therefore to extract a maximum information from a minimum
number of samples by balancing between:
l exploiting regions of the design space where good solutions have been found;
l exploring regions that are undersampled;
l searching feasible regions.
Mono-point infill criteria: merit function
In MINAMO, in order to guarantee diversity in the population, a merit function [24] is combined
to the fitness of each individual. This function favors the solutions far away from their neighbors:
where m (x) is the surrogate model of the objective function and D (x) is a distance- based
exploration term .
FIGURE 3.22
Illustration of the merit function.
The concept of the merit function is to maintain diversity in the solution space by searching both
in regions where the surrogate model(s) indicates there might be a minimizer and where we
realized that we know very little about the problem (because few samples for instance). This merit
function allows seeking improvements while simultaneously seeking space-filling points that
could improve the accuracy of the surrogate(s). This strategy allows to balance exploration and
exploitation. The effect of merit function can be controlled via a user option (Merit Function ,
default = 0.01).
FIGURE 3.23
Surrogate model settings
Multi-point infill criteria
In today's industrial setting it is commonplace for parallel computing architectures to be available
to the designer and this option is very valuable in surrogate-based optimization. The updating
strategy can be parallelized in the sense that several points can be evaluated by the simulation and
added to the database at each design iteration. Furthermore, mono-point infill criteria generally
suffers from the complexity of combining and adjusting exploitation/ exploration/ feasibility in an
unique point. It is therefore possible in MINAMO to add more than one point per design iteration
in the online optimization scheme. This should be used if the different points can be evaluated in
parallel. By default, only the point found by the optimization on the surrogate model(s) is added to
the database at each design iteration, but the user can decide to add more than one point. Note that
these points are always selected in the search box defined by the move-limit procedure.
Several parallel additional points strategies are available.
FIGURE 3.24
Design Iterations Settings.
Overall
The additional points are randomly chosen in the move-limit box bringing exploration to the
search.
Feasibility
This strategy targets the feasibility of the added points. The main idea of this feasibility-based
strategy is to store during the EA process on the surrogate model(s) some interesting (in terms of
feasibility) individuals (the number of stored points per generation is set via the option Forced
Elitism History, default value = 10) at each generation and, at the end of the EA (so at the end of
each outer design iteration), some points are selected among all the stored points. Among the
stored interesting points, the desired number of additional points is chosen according to the global
objective and the distance to existing points.
For highly constrained problems, it is possible to activate a more powerful strategy (by ticking the
Highly Constrained box). In this case, the criterion is based on the global objective value and a
probability of misclassifiction computed by Probabilistic SVM (PSVM) focusing on feasibility.
The idea is to refine the boundary of the feasible zone estimated by SVM. As suggested by [25],
the probabilistic model, named PSVM, of the feasible domain is built using SVM and distances
between samples . The idea is to represent multiple constraints via a single
PSVM.
FIGURE 3.25
Probabilistic SVM model applied to feasible domains.
In terms of number of iterations and thus optimization execution time, the multi-point feasibility-
based strategy is generally more powerful than mono- point strategies as illustrated in the
following figure.
FIGURE 3.26
Objective evolution: illustration of the multi-point feasibility-based infill criterion.
FIGURE 3.27
Constraints evolution: illustration of the multi-point feasibility-based infill criterion.
H. Dealing with simulation failures
One key feature of MINAMO is its ability to deal with simulation failures. This may arise when
the simulation software does not return any answer due to convergence problem, mesh generation
problem due to unrealistic geometries or insufficient convergence of the detailed simulation.
As it is not practical to make a crash-proof simulation chain, MINAMO can deal with these kinds
of failures. The best practice is to try to make the simulation chain as robust as possible and then
let the optimizer taking care of the simulation failures. So with MINAMO there is no need to filter
out the failed experiments, they are always kept in the experiments database. The idea is to
penalize the individuals which are too close to the regions where previous simulations failed and
to drive the population towards the regions with higher numerical stability.
The user must take particular care to define the elementary success flags at each step of the
simulation chain. One wants to insist on the difference between:
l "IT" failures of the simulation chain (license unavailable, files non-existent, server shutdown,
...), these experiments need to be re-run;
l real simulation failures, meaning that the simulation chain has been successfully executed, the
responses values extracted, and success criteria checked, there is no need to re- run the
experiment and the response values will be ignored but MINAMO will avoid the vicinity of
that experiment.
In MINAMO, the success/ failure flags can be handled by RBF or SVM models.
3.3.4 Multi-objective EA optimizer
Most realistic optimization problems (particularly those in design optimization) require the
simultaneous optimization of more than one objective. Several objectives must be met
simultaneously (as the minimization of the cost, the mass, the room occupied by the mechanical
component, etc.). A multi-objective optimization (MOO) problem can be summarized as follows:
where minimize means finding a solution which would give the values of all the objective
functions acceptable to the decision maker. In MOO, there is no single best solution. The aim is to
find good compromises or trade-offs rather than a single solution. The following figure gives the
optimal trade-off curve characterized by MOO. The points on the curve are optimal so that it is
not possible to improve one objective without worsening at least one other. It is not necessarily an
easy way of choosing between points representing different compromises between the objectives.
FIGURE 3.28
Optimal trade-off curve of multi-objective optimization.
Let us define the concept of Pareto- dominance. A vector
dominated solution) if there exists no other solution x such that
is Pareto optimal (or a non-
for all
and
for at least one j. The set of all Pareto optima (x) is called
a Pareto optimal set and the set of all non-dominated objective vectors (f) is called the Pareto
front. The dominance can be used to generate a ranking of the members of the population. The
following figure represents these concepts.
FIGURE 3.29
Concepts of Pareto dominance
Evolutionary algorithms [26] are appropriate for multi-objective optimization for several reasons.
First, in MOO, we seek a set of possible solutions. At the end of the EA optimization, each
individual of the population can represent a different trade-off between the objectives. A EA can
find several members of the Pareto optimal set in a single run and in comparison, with gradient-
based methods, lots of runs are needed. EAs are also less sensitive to the shape of the Pareto front
(discontinuous or concave Pareto fronts). Furthermore, EAs for MOO has the same advantages
than for mono- objective optimization (parallelization, multi- disciplinarity, uncomputable
functions, noise, ...).
A. Pareto-based techniques
In Pareto-based techniques, the concept of Pareto dominance is incorporated into the search
mechanism of the EA. At the end of the search, a population distributed evenly on the Pareto
front is obtained. The goals of Pareto-based approaches are the following:
l Preserve non-dominated points: ranking procedure;
l Progress towards points on the true Pareto front;
l Maintain diversity: fitness sharing niching and crowding procedure (otherwise, the EA will
tend to converge to a single solution or concentrate in some parts of the Pareto front).
When the search process is over, the user can choose a solution among the non-dominated points.
Advances in multi-objective evolutionary algorithms (MOEAs) include NPGA 2 (Niched-Pareto
Genetic Algorithm 2 [27]), NSGA-II (Non-dominated Sorting Genetic Algorithm II [28]), PAES
(Pareto Archived Evolution Strategy [29]) and SPEA 2 (Strength Pareto Evolutionary Algorithm
2 [30]).
One of the most efficient method is the Strength Pareto Evolutionary Algorithm (SPEA) (initially
developed by Zitzler and Thiele [31]), which works as follows:
1. Generate an initial population P and create the empty external non-dominated set P' (with
External Set Size = 50 by default);
2. Copy non-dominated members of P to P';
3. Remove solutions within P' which are covered by any other member of P';
4. If the cardinality of P' exceeds a user-defined number N', prune P' by means of clustering;
5. Calculate the fitness of each individual in
;
6. Select individuals from
until the mating pool (with Mating Pool Size = 100 by
default) is filled (with tournament selection), and apply crossover and mutation;
7. If the maximum number of generations is not reached, go to Step 2.
In this method, a strength value is computed similar to the ranking value used by MOEA. First,
for each individual i in the external non-dominated set P', a real value is assigned: the strength
(i.e. i
, which is proportional to the number n of members
for which
dominates j, for a problem where all objective functions are to be minimized). If N is the
cardinality of P, we have:
For all
, the fitness is equal to the strength:
. Then, the fitness of an individual
is calculated by summing the strengths of all elements of P' that cover j, and by adding 1
to guarantee that the members of P' have a better fitness than the members of
fitness is to be minimized):
(note that the
;
where
A careful examination of the fitness assignment shows that if
a single member of
are dominated by
individuals will share the same fitness value (even if some of them
elements
, all
are dominated by others). In some cases, pathological cases may occur, e.g. if all individuals of P
are dominated by a single element (i.e. if the cardinality of
is equal to 1), all individuals of
will be given the same fitness value.
-->
To remediate to this drawback, Zitzler et al. [30] have proposed to change the fitness calculation
in the so-called SPEA2 method. This method takes into account for each individual the number of
individuals that dominate it and the number of individuals by which it is dominated. It thus uses
more information from the dominated solutions. The SPEA2 method is implemented in
MINAMO and is described as follows:
1. Each individual in the external set
the
representing
,
and in the population set
of
number
solutions
is given a strength value
it
dominates:
2. The raw fitness value is computed by:
representing the number of individuals which dominates the individual
. For non-dominated
individuals, R=0.
3. To incorporate the nearest neighbor density information in order to prevent the population to
converge towards a narrow region of the Pareto front, the following procedure is applied:
a. For each , compute the Euclidean distance to all other individuals ,
;
b. Sort the list
in increasing order;
c. Choose the -th element
;
d. Compute the density
4. The global fitness value is equal to
Note that for non-dominated
individuals
.
B. Aggregate techniques
Let us remark that there exist several kinds of multi-objective optimization techniques: non-Pareto
techniques such as aggregate techniques and Pareto-based techniques already detailed above.
Aggregate techniques are the most intuitive approaches. They do not directly incorporate the
concept of Pareto dominance in their search mechanism but combine all the objectives into a
single one, usually by using a weighted sum of the objectives. They are easy to implement and
can use mono-objective solvers. Pareto-based techniques are more powerful while it is important
to notice that populate the Pareto front is very costly. Aggregate techniques focus the search on a
part of the Pareto front based on user's choice and knowledge via the assignation of the weights in
the aggregation function. It is clearly less expensive than populating the whole Pareto front and it
is recommended to first start with this simple methodology before going to true Pareto methods.
3.3.5 Multi-objective surrogate-assisted EA optimizer
As in the mono-objective version of SBO, some specific procedures have been implemented to
combine efficiently the multi-objective EA with the surrogate models. Let us notice that separate
approximate models are build for each responses (objectives and constraints). The architecture of
the algorithm is exhibited in the following figure.
FIGURE 3.30
Multi-objective surrogate-assisted EA optimization.
The differences of this implementation with the combination of EA for mono- objective
optimization with surrogate models are described hereafter:
l Neither merit function nor move-limit strategy are applied;
l At the end of each process of the EA, the final population is filtered in order to keep only
of Candidates per
Nunmber
The multi-point procedure, named Pareto Enrichment is based upon a clustering technique.
The goal is to favor diversity in the Pareto archive (i.e. to obtain points well-distributed along
the Pareto front);
Iteration individuals
(defined
user).
the
by
l At each design loop, the Number of Candidates per Iteration individuals resulting from the
final population of the EA are incorporated into the archive. Then, the archive is treated in
order to discard dominated solutions. If the size of the archive oversteps the maximum size of
the Pareto set (defined by the user), the archive is truncated in order to keep only External Set
Size individuals in it.
FIGURE 3.31
Pareto-based optimization Settings.
3.4
FILES DESCRIPTION
Several files are associated to MINAMO; some of them are necessary to run it and some others
are output files. They are described in the next sections.
Plan file
The file with the extension .plan contains the database of all experiments and plays a pivotal role
during the execution of DoE and optimization. It controls which experiments will be evaluated,
and contains the status and the responses of all the previously evaluated experiments. It contains
basically a list of tab-separated values (ID, Status, DesignParameters, Responses, SuccessFlag,
Comment), each line representing an experiment. For the status, there are several denominations:
l DONE: the experiment is well evaluated;
l NOTYET: the experiment is not evaluated yet and responses are all 0;
l ERROR: the experiment has not been correctly evaluated (check your simulation chain);
l PREDICTED : the experiment has been evaluated by the surrogate models and responses
contain the values predicted by the surrogate models;
l DONE_U: the experiment has been filtered by the user as a failure experiment (success flag =
0 and DONE status) based on its responses values;
l ERROR_U: the experiment has been filtered by the user as an ERROR experiment based on
its responses values.
Roughly speaking, the input to MINAMO is a plan file, and the output is also a plan file with
experiment responses filled in. Be careful to always keep a back-up copy of this file in a safe
place. The plan file has a unique ID.
Example of a .plan file
Here is an example of a plan file with 10 experiments for a problem with 2 design parameters and
one response.
# Experiment plan
PLAN_ID=xxxxxxxxxx
# Design parameters
X1 X2
# Responses
# Experiments (ID, Status, DesignParameters, Responses, Success, RunningStatus
0 DONE 1.0000000000000001e- 00 1.0000000000000001e- 00 0.0000000000000001e+00 0
1:DONE;
1 DONE 5.1958111222637315e-01 -3.7595259417828764e-01 4.1951695719999996e+01 1
1:DONE;
2 DONE 1.3615956854467330e+00 -9.3993899157564886e-01 7.8070830391000004e+02 1
1:DONE;
3 ERROR -8.2390947914437251e-01 -1.1660361713484715e+00 0.0000000000000000e+00 0
1:DONE;
4 DONE -1.2259445476688846e-01 -1.0021103685231587e+00 1.0471754925000000e+02 1
1:DONE;
5 DONE 8.0308876519924732e- 01 7.9847934989160629e- 01 2.3958521142000002e+00 0
1:DONE;
6 DONE 1.7151624129006735e+00 1.1116766974722085e+00 3.3544003666999998e+02 0
1:DONE;
7 DONE 6.4829382486641407e-01 -1.5414246745211515e+00 3.8495413617999998e+02 1
1:DONE;
8 DONE -5.6720040013131345e-01 1.5353424808892764e+00 1.4974496927000001e+02 1
1:DONE;
9 NOTYET -3.6804106302167228e-01 -2.0964404156333505e-01 0.0000000000000000e+00
During and at the end of an optimization, MINAMO creates several plan files:
l RUNNING_ OPTI.plan is created during the optimization and updated at each design
iteration with the newly evaluated points, at the end of the optimization, this file is identical to
the FINAL_ OPTI.plan and contains all the samples generated and evaluated during the
optimization process. At each design iteration, an additional plan file, RUNNING.plan, is
also created and contains the new sample(s) of the current iteration.
l During an optimization, MINAMO also creates the RUNNING_OPTI_PREDICTED.plan
file (and the FINAL_OPTI_PREDICTED.plan at the end). This file contains the samples
generated during the optimization process (not the samples from the DoE) but evaluated with
the surrogate model(s) and not with the true function/ simulation. At each design iteration, the
newly generated sample(s) is (are) evaluated by the current surrogate model(s) and stored in
this file.
Project file
In MINAMO the project file contains the optimization problem specification (design parameters,
bounds, objectives and constraints). The objectives and constraints in the project file are described
hereafter.
Objective Generic
////////////////
These two lines are mandatory and indicate the beginning of the objective and constraint sections
Objectives
PENALTY
*******
QUANTITY_NAME Y
PENALTY_TYPE MINIMIZE
EXPONENT +1.0000000000000000
WEIGHT +1.0000000000000000
IMPOSED_VALUE +0.0000000000000000
REFERENCE_VALUE +1.0000000000000000
This section defines the optimization objectives.
The first line is simply a keyword. The second line species the number of objectives (Nobj);
Then the following lines are repeated as many times as there are objectives Nobj;
l Two lines for the title with the PENALTY keyword and a line with "********" ;
l Then the quantity name on which this penalty will be applied. The possible names are defined
in the simulation coupling section and are the parameters and responses names;
l Then the type of penalty which can be chosen among the following keywords :
l MINIMIZE: meaning that the optimizer will try to minimize this quantity (for Objectives,
MIN in the FINE™/Design3D GUI);
l MAXIMIZE: meaning that the optimizer will try to maximize this quantity (for Objectives,
MAX in the FINE™/Design3D GUI);
l UPPER BOUND: meaning that the optimizer will try to find solutions for which this
(for Constraints, MAX in the
limit
quantity will be below the imposed upper
FINE™/Design3D GUI);
l LOWER BOUND : meaning that the optimizer will try to find solutions for which this
(for Constraints, MIN in the
limit
quantity will be above the imposed lower
FINE™/Design3D GUI);
l EQUALITY: meaning that the optimizer will try to find solutions for which this quantity is
as close as possible to the imposed value (for Constraints);
l A penalty term (internally used by MINAMO) will be constructed using the current quantity
value, using the penalty type and using the following formula:
where:
l W (WEIGHT) is a weight factor (default value is 1);
l Q is the current value of the quantity to be controlled;
(IMPOSED_VALUE) is the imposed value of the quantity (for constraints);
(REFERENCE_VALUE) is a reference value (positive) to scale the penalty term. This
is highly recommended when working with objectives and constraints with different orders of
magnitude, default value is 1;
(EXPONENT) is the exponent in the above formula (default value is 1 for objectives and 2
for constraints).
Constraints
This section defines the optimization constraints in a similar way to the objectives above.
Note that for MINAMO in FINE™/Design3D, the project file is automatically generated based
on the information in the GUI. See the following figures for the objective and constraints
definitions.
FIGURE 3.32
Objectives definition.
FIGURE 3.33
Constraints definition
Non-dimensionalization 
The user has to pay attention to the non-dimensionalization of the different quantities. It is
strongly recommended to normalize the output values to the same order of magnitude due to the
way MINAMO handles objectives and constraints via penalties.
For instance, it is not good to have
and
The non-dimensionalization and weights on the different penalty terms of the global objective
must be defined by the user via the Objectives and Constraints definitions.
Surrogate model dump file
Training a surrogate model from a set of points can be costly when the dimension of the design
space and/or the number of points become large. In order to avoid training a surrogate model
several times from the same database, MINAMOcan save it into a binary file for future use in
several other tools (such as ANOVA, LOO, etc). A plan file is always associated to the dump file
and contains the sample points used to train the surrogate model(s) dumped in the binary file.
MINAMO Python card
The MINAMOcard is a Python file containing a dictionary of key-value pairs. This dictionary
contains a description of the task to perform with the optimization problem described in the .prj
file. These tasks can be a DoE, an adaptive DoE, or an optimization task.
Traceability file
MINAMO creates a traceability file containing a "DNA trace" of each experiment. This file
contains the following information for each experiment (one line per individual):
l ID: the ID number of the experiment;
l LocalID: the local ID number of the experiment (for example if the ID has been manually
changed);
l MINAMODir: the directory name where all the files generated by MINAMOare located;
l LocalDir: the directory name where the directories with the evaluations of the experiments,
(LocalExp), are stored;
l LocalExp: the directory where the evaluation of the experiment is stored;
l PLAN_ID: the ID of the plan file used to create the individual : for a DoE this will be the
PLAN_ID of the plan file created by the DOEGenerator, for an optimization this is the
PLAN_ID of the RUNNING_OPTI plan;
l ProjectFile: the name of the project file used to generate the individual (name is sufficient,
changes in the project file by the user without changing the name are the responsibility of the
user);
l PythonCard: the name of the Python card used to generate the individual (name is sufficient,
changes in the Python card by the user without changing the name are the responsibility of the
user);
l DesignIteration : the design iteration number of the optimization that has generated this
individual (0 if DoE);
l NumberPoints: the number of points used to train the surrogate model(s) (number of success
points in the training box defined by the move limit procedure, 0 if DoE);
l Type :
the type of points (DoE, Opti or Random/ FeasibleEA if
the number of
NewSamplesPerDesign is larger than 1);
l Comment: it is possible to add a comment.
History/ Evolution files
During an optimization, MINAMO creates several history/ evolution files:
HISTORY.dat
This file contains the convergence history of the search process. There is one line per design
iteration with the following information:
l the design iteration number,
l the ID of the best current individual,
l the values of the objective(s) and constraint(s) (if applicable),
l the number of violated constraints,
l the sum of the constraints violations.
Example:
#1. Iteration 2. Best ID 3. F ... 11. G8 Num. Viol. Cons. Sum. Violations
0 10 5.272880837897407e+02 ... 2.661101195269622e+01 4 8.378561979128277e+01
1 10 5.272880837897407e+02 ... 2.661101195269622e+01 4 8.378561979128277e+01
2 10 5.272880837897407e+02 ... 2.661101195269622e+01 4 8.378561979128277e+01
3 13 7.690301831120283e+02 ... 4.213219250425234e+01 5 6.818942404498674e+01
4 14 7.700141333370174e+02 ... 6.439949582962790e+01 4 7.801980453515398e+01
5 14 7.700141333370174e+02 ... 6.439949582962790e+01 4 7.801980453515398e+01
6 14 7.700141333370174e+02 ... 6.439949582962790e+01 4 7.801980453515398e+01
7 17 8.884621583954141e+02 ... 7.536539525088494e+01 3 8.322638542448973e+01
8 18 4.471997017285792e+02 ... 1.393993386413563e+00 3 4.933354825865639e+00
9 19 3.695324318814824e+02 ... 1.004174603897281e+01 1 1.004174603897281e+01
LOOEvolution.dat
This file gives the evolution of the LOO correlation coefficients of each considered response
(objective (s)/constraint (s)) with the number of design iteration. This allows to monitor the
evolution of the surrogate model(s) quality. There is one line per design iteration with the design
iteration number and the LOO correlation coefficient values of objective(s)/constraint(s).
Example:
# Iteration F G1 ... G8
0 0.778246 0.996533 ... 0.926892
1 0.872843 0.990628 ... 0.931660
2 0.946991 0.986708 ... 0.890054
3 0.951150 0.918974 ... 0.904412
4 0.958042 0.937048 ... 0.905844
5 0.968129 0.974725 ... 0.965103
6 0.974093 0.986565 ... 0.979467
7 0.978307 0.985530 ... 0.977804
8 0.972124 0.988684 ... 0.918182
9 0.969785 0.989359 ... 0.933370
EvolutionEAOnModel.dat
This file resumes the convergence of the evolutionary algorithm performed at each design
iteration on the surrogate model(s). The file contains the following information : the design
iteration number, the value of the global objective, objective(s) and constraints violations (based
on the surrogate model(s) predictions) at each generation of the EA and the index of the first
generation at which a feasible point is found (in the sense of the surrogate model(s)). The
following example illustrates this file for an optimization of 3 design iterations with 50 generations
of the EA at each design iteration.
# Iteration 0
# Generation Global objective F_MIN
0 -4.109625555598716e+01 -4.111198607051822e+01
1 -5.209999176373366e+01 -5.169669233507791e+01
2 -5.222690209823769e+01 -5.171373873973877e+01
... ...
47 -5.309038190809967e+01 -5.256919764634562e+01
48 -5.309038190809967e+01 -5.256919764634562e+01
49 -5.309038190810042e+01 -5.256919764649238e+01
# GenFeasible 0
# Iteration 1
# Generation Global objective F_MIN
0 -8.609926237387018e+01 -8.610086096133598e+01
1 -8.618582219692021e+01 -8.610086096133598e+01
2 -8.618590761262895e+01 -8.610086096133598e+01
... ...
47 -8.836577811437174e+01 -8.827889467287352e+01
48 -8.836577811437175e+01 -8.827889467287352e+01
49 -8.836577811437175e+01 -8.827889467287352e+01
# GenFeasible 0
# Iteration 2 # Generation Global objective F_MIN
0 -2.444247741627325e+01 -2.444255663140997e+01
1 -3.526294003704319e+01 -3.526054417854849e+01
2 -3.676976939560078e+01 -3.676629322556632e+01
... ...
47 -4.104325904919087e+01 -4.103924703986733e+01
48 -4.104325904919087e+01 -4.103924703986733e+01
49 -4.104325904919087e+01 -4.103924703986733e+01
# GenFeasible 0
SUMMARY_OPTI
At the end of the optimization, MINAMOalso creates a file (SUMMARY_OPTI) with the best
solution found as follows:
Optimum solution (mono-objective optimization)
Experiment #73
Design parameters:
2.259312127044423e+00 X01
2.153025057086259e+00 X02
8.254543585120022e+00 X03
4.793517994415908e+00 X04
8.914394931564714e-01 X05
1.401362665559254e+00 X06
1.489788701586868e+00 X07
9.954405358195331e+00 X08
8.610894972258642e+00 X09
8.665089402831507e+00 X10
Responses:
2.689293911083869e+01 F
-7.734408739364085e-02 G1
-4.867639683193659e-02 G2
-4.415084655267165e-02 G3
-1.420845181022730e+01 G4
-1.757412317885930e+00 G5
-5.054097081734152e-01 G6
-5.716988048830004e+00 G7
-5.003709985286562e+01 G8
The optimum point is feasible
Lock file
For preventing the resubmission of MINAMO, the file MINAMO_LOCK is created at each run
of MINAMO. If your job has crashed for any reason, you have to delete the file MINAMO_
LOCK before relaunching MINAMO.
Context file
At the end of each design iteration in an online SBO scheme, MINAMO saves its optimization
process history (design iteration, the size and location of trust region and some additional
information) into the file MINAMOContext.txt.
3.5
POST-PROCESSING TOOL
A steering and data-mining tool is accessible through FINE™/Design3D and gives access to
dynamic/ interactive monitoring, data-mining and visualization tools for a comprehensive, easy
and rapid understanding of the problem allowing key factors to be identified for better decision-
making:
l Surrogate reliability assessment and monitoring (LOO),
l Global sensitivity analysis (ANOVA),
l Self-Organizing Maps (SOM),
l Pareto/ scatter plots, history/ evolution plots.
Results plotting - Scatter Plots
The Scatter Plots tab allows to draw scatter and Pareto plots. Scatter plots like the one in the
following figure can be drawn for objectives, constraints and design parameters.
FIGURE 3.34
DOE and optimization plotting of objective F
FIGURE 3.35
Pareto plot of objective F vs. constraint G1 colored by contraint G7.
Monitor optimization - Monitoring Plots
The Monitoring Plots tab allows to perform live monitoring of objectives, constraints and design
parameters evolution during an optimization run. The evolution can be plotted in terms of accurate
and predicted values.
FIGURE 3.36
Live monitoring of the objective during an optimization run.
FIGURE 3.37
Selection of the plot.
FIGURE 3.38
Live monitoring of the constraints during an optimization run.
FIGURE 3.39
Live monitoring of the design parameter evolution during an optimization run.
It is also possible to visualize the history convergence in terms of objective, individual constraint
or number of violated constraints.
FIGURE 3.40
History convergence plot.
FIGURE 3.41
History convergence plot.
FIGURE 3.42
History convergence plot.
FIGURE 3.43
History convergence plot.
Surrogate-Assited Data Mining
The Surrogate-Assited Data Mining tab allows to perform advanced surrogate-assisted design
space analysis. First the responses must be selected and then a surrogate model has to be
generated/ loaded.
FIGURE 3.44
Surrogate-assisted data mining tool.
Leave-One-Out (LOO)
A Leave-One-Out (LOO) procedure is available in order to estimate the model reliability .
FIGURE 3.45
Leave-One-Out display of response F and quality of all responses.
ANOVA
Global sensitivity analysis is used to study the impact variations in input parameters on the
variation of an output. The Analysis of Variance (ANOVA) decomposition in MINAMO is a
global sensitivity analysis implementing an efficient and accurate approach employing surrogate
models. The global sensitivity stands for the global variability of an output over the entire range of
the input variables that are of interest. ANOVA allows to quantify the notion that some variables
and interactions are much more important than others by computing the Sobol's global indices.
High-dimensional representation
Consider a deterministic model
where
is a vector of n
input variables and y is the model output.
can be decomposed into a form referred to as
high dimensional model representation
This decomposition of the function is not unique as the lower order can be selected arbitrarily and
and the lower order terms.
the highest order term can be written as the difference between
However, if the average of each of the term in the summands of the right hand side of the
is set to be a constant, the expression is proven to be
previous equation is set to zero and
unique. The terms are the following:
The first order sensitivity index for variable
is given by
and if we calculated the indices to the highest order, we have:
The numerator in the equation for the first order sensititivy index
is the variance of expected
value of
given
, the denominator is the total (unconditional) variance.
For a statistician or a scientist who is trying to reduce the amount of error incurred in the output
due to the error in the input variable (or measurement)
importance of the variable in driving the output uncertainty. He/ she would fix
variables vary in the range of their estimated errors. This would give
, this measure would give the relative
and let other
and repeat this
process with different values of
within its error bounds to get
. The same
process can be applied to the analysis of the sensitivity of surrogate models constructed from
deterministic simulation models. Instead of input errors, the variables are swept through the
domain of interest with
to a next value until
values are tried out in the domain of interest. Then, the variance of the obtained
enough
. The
averages would give the numerator of the equation for the first order sensitivity index
fixed. We can compute its average and change
denominator can be obtained by a random sampling in the domain of
variance of their corresponding 's.
and computing the
The virtue of this method is that it takes all the non-linearities and interactions into account as
compared to one variable at a time way of sensitivity analysis. More over, even if we conduct the
sensitivity analysis only to the first order, we will always have an idea of what remains
unexplained by calculating
.
Formulation
We now formulate the way to compute the first order sensitivity indices. As before, we express a
surrogate model with n-dimensional input space as
The total variance is therefore
The multi-dimensional integral of this last equation can be computed using the Monte Carlo
Integration. Similarly the following equation gives the
Again, the integration is performed using the Monte Carlo method, but this time
is held
constant. By doing this multiple of times, we can conduct the next integration to obtain
Then, the first-order sensitivity indices are given as
Practical Matters
As can be understood from the previous section, two parameters need to be set in the course of
the computation of indices. The first one is the number of samples to compute the Monte Carlo
. We refer
integrations, and the second one is how many
s to calculate in the equation for
the first number as Number of Monte Carlo Samples [default = 2000] and the second number
as Number of Monte Carlo Integrations [default = 100] respectively. These algorithmic
parameters can be set by right-clicking on the ANOVA button. The right numbers are problem
dependent. Multiple runs should be tried with the same number of samples and then with different
number of samples. If the indices differ within few percent between the runs, it should be
considered as satisfactory number of samples are being used in the Monte-Carlo integrations. Try
small numbers first.
Sensitivity indices are plotted in a pie chart . The other orders part
one
represents higher orders indices (2nd,
...). The parameters with local influence
improves the readability of the chart by gathering insignificant parts.
FIGURE 3.46
ANOVA display of response G1.
Self Organizing Maps (SOM)
A Self- Organizing Map (SOM) is a type of artificial neural network that is trained using
unsupervised learning. The idea is to project high-dimensional data onto a low-dimensional
(typically two-dimensional) map. They use a neighborhood function to preserve the topological
properties of the input space, therefore similar data items will be mapped to nearby locations on
the map.
As most artificial neural networks, SOMs work in two phases : training and mapping. Training
builds the map using input examples. Mapping automatically classifies a new input vector. A self-
organizing map consists of components called nodes or neurons. Each node is associated with a
weight vector of the same dimension as the input data vectors and a position in the map space.
The self-organizing map describes a mapping from a higher dimensional input space to a lower
dimensional map space. The procedure for placing a vector from data space onto the map is to
first find the node with the closest weight vector to the vector taken from data space. Once the
closest node is located it is assigned the values from the vector taken from the data space.
SOMs allow the user to identify ``clusters'' and then may reveal what features the members of a
cluster have in common. However, it is important to say that SOM is not a clustering algorithm. It
will not produce an explicit partitioning of the data into a precise number of clusters. It is a tool for
reducing the dimensionality of the data and for information visualization.
These visual inspection tools are useful for revealing major trends and discovering correlations
and anti-correlations among parameters and/ or responses.
FIGURE 3.47
Self-organizing maps for two antagonist responses.
The SOM consist in projecting high-dimensional data onto 2D maps, in a way that similar data
items would be mapped to nearby locations on the maps. Some algorithmic parameters can be set
by right-clicking on the SOM button, even if default values are recommended.
The default view will display a SOM map along with basic iso-contours. As shown in the next
figure, it is possible to modify which parameter or response to display using the Select variable
button, to show color bar, iso-contours, experiment IDs (by numbering or just database points),
modify the colour bar and iso-contours using respectively the Colour bar options and Iso-contour
options buttons.
FIGURE 3.48
Self-organizing maps default view
The single SOM view mode allows one to change the visualization of a single map or to apply the
options for all maps (via the advanced figure options). By selecting the second view mode, all
parameters and responses SOM are displayed which facilitates the understanding of influences
and correlations.
FIGURE 3.49
Self-organizing maps: global view
3.6
BIBLIOGRAPHY
1. C. Sainvitu, V. Iliopoulou, and I. Lepot., Global optimization with expensive functions -
sample turbomachinery design application , Recent Advances in Optimization and its
Applications in Engineering, Springer, pages 499-509, 2010.
2. D. E. Goldberg, Genetic Algorithms , Addison Wesley, 1994.
3. G. Holt and S. Bassler , Preliminary design of axial compressors using artificial intelligence and
numerical optimization techniques , ASME Paper 91-GT-334, 1991.
4. S. Pierret, H. Kato, R. Filomeno Coelho, and A. Merchant , Aeromechanical optimization
method with direct cad access - application to counter rotating fan design , ASME paper GT2006-
90505, 2006.
5. I. De Falco., An Introduction to Evolutionary Algorithms and their Application to the Aerofoil
Design Problem , In Von Karman Institute for Fluid Dynamics : Lecture Series 1997-05 : Inverse
Design and Optimization Methods, 1997.
6. D. Quagliarella , Genetic algorithm applications in computational fluid dynamics , In Winter
Periaux Galan Cuesta, editor, Genetic Algorithms in Engineering and Computer Science, pages
417-442. John Wiley & Sons, 1995.
7. J. Periaux, M. Sefrioui, B. Stoufflet, B. Mantel, and E. Laporte , Robust genetic algorithms for
optimization problems in aerodynamic design , In Winter Periaux Galan Cuesta, editor, Genetic
Algorithms in Engineering and Computer Science, pages 371-396. John Wiley & Sons, 1995.
8. M A. Trigg, G R. Tubby, and A G. Sheard , Automatic genetic optimization approach to two-
dimensional blade profile design for steam turbines , Journal of Turbomachinery, pages 11-17,
1999.
9. S. Obayashi and S. Takanashi , Genetic Optimization of Target pressure distributions for
inverse design methods, AIAA-95-1649-CP, pages 33-42, 1995.
10. V. Valentin , Three-dimensional optimization of a compressor blade at design and off-design
operations , VKI PR 1998-26, 1998.
11. C. Poloni , Hybrid GA for multi objective aerodynamic shape optimization. , In Winter
Periaux Galan Cuesta, editor, Genetic Algorithms in Engineering and Computer Science, pages
397-415. John Wiley & Sons, 1995.
12. Z. Michalewicz, D. Dasgupta, R.G. Le Riche, and M. Schoenauer , Evolutionary algorithms
for constrained engineering problems , Computers and Industrial Engineering Journal, 30(2):851-
870, 1996.
13. C A C. Coello , Theoretical and Numerical Constraint-Handling Techniques Used with
Evolutionary Algorithms: a Survey of the State of the Art , Computer Methods in Applied
Mechanics and Engineering, 191:1245-1287, 2002.
14. C.R. Houck J.A. Joines , On the use of non-stationary penalty functions to solve nonlinear
constrained optimization problems with gas , In First IEEE International Conference on
Evolutionary Computation, pages 579-584. IEEE Press, 1994.
15. K. Deb. , An efficient constraint handling method for genetic algorithms. , Computer Methods
in Applied Mechanics and Engineering, 186:311-338, 2000.
16. A. I. J. Forrester and A. J. Keane. , Recent advances in surrogate-based optimization ,
Progress in Aerospace Sciences, pages 50-79, 2009.
17. N. V. Queipoa, R. T. Haftka, W. Shyy, T. Goel, R. Vaidyanathan, and P. K. Tucker. ,
Surrogate-based analysis and optimization , Progress in Aerospace Sciences, pages 1-28, 2005.
18. C.M. Bishop. , Neural Networks for Pattern Recognition , Oxford University Press, 1995.
19. S. Rippa. , An algorithm for selecting a good value for the parameter c in radial basis function
interpolation , Advances in Computational Mathematics, 11(2-3):193-210, 1999.
20. M. Gunzburger Y. Saka and J. Burkardt. , Latinized, improved lhs, and cvt point sets in
hypercubes , International Journal of Numerical Analysis and Modeling, pages 729-743, 2007.
21. R. Jin, W. Chen, and A. Sudjianto. , In Proceedings of DETC'02, ASME 2002 Design
Engineering Technical Conferences and Computers and Information in Engineering Conference,
September 29-October 2 2002.
22. D. R. Jones, M. Schonlau, and W. J. Welch. , Efficient global optimization of expensive
black-box functions , Journal of Global Optimization, pages 455-492, 1998.
23. M. Meckesheimer, R. R. Barton, T. W. Simpson, and Booker A. J. , 40 (10), pages 2053-
2060, 2002.
24. A J. Booker, J E. Dennis, P D. Frank, D B. Serafini, V. Torczon, and M W. Trosset. , A
rigourous framework for optimization of expensive functions by surrogates , ICASE Report No.
98-47, november 1998.
25. S. Lacaze A. Basudhar, C. Dribush and S. Missoum , Constrained efficient global
optimization with support vector machines , Structural and Multidisciplinary Optimization, pages
201-221, 2012.
26. K. Deb, Multi-objective Optimization Using Evolutionary Algorithms, John Wiley & Sons,
Chichester, 2001.
27. J. Horn M. Erickson, A. Mayer, The niched pareto genetic algorithm 2 applied to the design
of groundwater
International Conference on Evolutionary
Multicriterion Optimization, pages 681- 695. Springer- Verlag, Lecture Notes on Computer
Science, 2001.
remediation systems,
In First
28. K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, A fast and elitist multiobjective genetic
algorithm: Nsga-ii, IEEE Transactions on Evolutionary Computation, 6(2):182-197, 2002.
29. D.Corne J. Knowles, Approximating the nondominated front using the pareto archived
evolution strategy, Evolutionary Computation, 8(2):149-172, 2000.
30. E. Zitzler, M. Laumanns, and L. Thiele, Spea2: Improving the Strength pareto Evolutionary
Algorithm, In EUROGEN 2001, Evolutionary Methods for Design, Optimization and Control
with Applications to Industrial Problems. K. Giannakoglou (ed.), CIMNE Editions, 2001.
31. L. Thiele E.Zitzler, Multiobjective evolutionary algorithms: A comparative case study and the
strength pareto approach, IEEE Transactions on Evolutionary Computation, 3(4):257-271, 1999.
CHAPTER 4.
DATABASE GENERATION
The current version of the optimization module is dedicated to the design of turbomachinery blades
and uses the NUMECA parametric geometry modeller AutoBlade™ coupled to a CFD/FEA package
(Screening). This chapter supposes that the AutoBlade™ and Screening modules are well known for
the reader.
Before starting the optimization process, a first database containing blade geometries with their
associated CFD computations must be available. The FINE™/Design3D environment provides an
automatic tool to create this initial database. This is a very important step in the design procedure
resources needed by the global
because it
optimization process. Moreover, the physical and numerical conditions chosen to perform this database
generation are very important because they must be kept constant until the end of the design process.
These conditions are:
takes a significant part of
the total computational
l AutoBlade™ topology: the lowest possible number of parameters must be chosen because it
will simplify the optimization processes. Choosing too many parameters will make the optimization
process longer and might create various local minima in the objective function that will increase the
complexity of the optimization problem.
l Mesh template file: the mesh template file must be defined to be as robust as possible with
respect to the blade geometry modification. This means that the initial mesh on the initial
geometry must be as far as possible from having negative cells.
A mesh having negative cells will be automatically rejected by FINE™/Design3D and will be stored and
marked as invalid in the CFD database.
l Flow solver input file : the flow solver must converge as deeply and as fast as possible.
A convergence level could be specified in the expert mode. If a CFD computation does not reach this value, it
will not be stored into the CFD database. By default, this value is set to -3.
l Post- processor macros. It is very important to select carefully the macros used for the database
generation because these macros will be the ones available during the optimization stage that will
be run later.
Concerning multipoint mode, all the parameters relative to database generation and optimization will be
common to all the selected computations.
The procedure to set up the database generation is detailed hereafter.
1. Create a new project.
2. Create a new computation with Database Generation run mode selected
3. Then the left tree is composed of the following specific folders (FIGURE 4.3):
l Simulation Tasks: encapsulates all the processes that will be run to compute the flow around
the blade geometry: AutoBlade™, the mesh generator, the flow solver and the post-processor.
l Uncertainty Settings: gives access to the parameters specific to the uncertainty quantification
 ). Only available when Advanced Modules/Include
Uncertainties option is active in the Simulation Tasks/Computation Management page.
l Database Settings: gives access to the parameters specific to the database generation process
like the number of samples that must be generated.
l Solution Monitor: provides the possibility to visualize various CFD numerical results as well
as various images of the flow field and blade shapes.
If the project is named "project", creating a "project.stop" file under the computation subfolder "_dbs" will
safely stop the database generation and prevent the corruption of files.
In this section
4.1 Simulation Task
4.2 Generate Database
4.3 Outputs
182
185
199
4.1
SIMULATION TASK
This menu defines the coupling between AutoBlade™ and the CFD package. The GUI is
identical to the one available in the Screening module with an additional option under license to
include uncertainties in the process (Simulation Tasks/Computation Management page) to run
a robust design optimization. As for the Screening, the following files must be available before
starting the database generation project:
l The AutoBlade™ input file (".par"),
l The mesh template files (".trb" when AutoGrid™ is used for the coupling).
It should be avoided to use Z constant lines at R=constant or Z=constant in the .trb file, because Z
constant lines may move during the database generation or optimization and FINE™/Design3D may
create samples that are in conflict with the values of R=constant or Z=constant.
Compared to the setup procedure described in the previous chapter, one additional task must be
performed which consists in defining the lower and upper limits for the variation of the
AutoBlade™ geometrical parameters. See Access and manage parameters on how to change the
bounds of the parameters.
The determination of the variation limits for the AutoBlade™ parameters is a compromise
between the following two topics:
l The variation must be as large as possible in order to explore as much as possible a large
design space during the optimization phase.
l On the contrary, the variation must be limited to some extend in order to avoid an unrealistic
combination of blade parameters that might lead to robustness problems in AutoBlade™,
AutoGrid™, the flow solver or CFView™.
Guidelines for every parameters are presented hereafter. The reader can refer to the AutoBlade™
user manual for the definition of the parameters.
Endwall Parameters
B-spline or Bezier with n Control Points
For this type of curves, the parameters represent directly the coordinates Z (Axial) and R (radial)
of control points in the meridional view. These parameters should vary for a fraction of the
distance between two consecutive points. This type of variation will make sure that no loops will
appear in the curves representing the endwalls (FIGURE 4.1).
The first and last control points are usually kept equal to the initial value because their position is
very often imposed by the upstream and downstream components in which the present blade is
inserted. This is performed by setting the lower and upper bounds equal to the parameter values.
FIGURE 4.1
Realistic - unrealistic endwall curves
Bezier with 4 Control Points
The two extreme control points are usually kept constant for the same reason as mentioned above.
The 2 lengths (L1 and L2) are non-dimensional parameters and can be varied with +/- 0.2. The
angles are defined in degrees and can be varied with +/- 5 to 10 degrees.
Endwalls having an almost radial part must be treated very carefully because they might have a part
with decreasing Z (axial) when going from inlet
to outlet which might create problems to
AutoBlade™.
2D Blade Parameters
Suction & Pressure Side Mode
In this mode, the angles (γ, β1, β2, δ) can be varied with +/- 1 to 2 degrees. The leading edge
radius can vary with +/- 25% of its value. The TSS and TPS parameters can vary with +/- 0.1
except the first one close to leading edge where it should be limited to +/- 0.05 in order to avoid
too distorted leading edge shape.
The optimum trailing edge radius is well known and is simply the minimum radius that can be
manufactured. The variation limits of the trailing edge radius are therefore usually set equal to the
minimum manufacturable value of the trailing edge radius.
Camber & Thickness Mode
The camber can be defined by specifying the wrap angle (θ) or the blade angle (β). The wrap
angle is specified in radians and can vary with +/- 0.05. The blade angle is specified in degrees
and can vary with +/- 5 degrees.
The blade thickness is defined in meters. A variation of +/- 25 % is possible. However, the blade
thickness distribution can be set to the minimum manufacturable thickness as for the trailing edge
radius .
Blade Meridional Location
Usually, the angles can vary with +/- 10 degrees. When the Bezier-Line-Bezier law is used, the
parameters C and P are usually kept unchanged to 0.2 and 0.5 respectively.
In some situations, it is possible to have a too large variation of the sweep angles which will result in
a 3D blade moving upstream the inlet boundary or downstream the outlet boundary. This will of
course create trouble to the mesh generator and therefore this case must be prevented.
When a stacking law is used, the hub stacking point is placed at a given value of the Z(axial) or R
(radial) coordinate. This parameter is usually kept unchanged during the optimization. The blade
chord can be varied with +/- 5 to 10 %.
When the leading and trailing edge traces are chosen, the Z or/and R coordinates of the leading /
trailing edges at hub / shroud is a parameter. These coordinates can vary of a few percent of the
length of the blade chord. The angles for these laws can vary with a range of +/- 10 degrees.
Tangential Location
The range guidelines are the same as the ones for the stacking sweep law presented here above.
Number of Blades
The number of blade should not vary with more than 10% of the initial number of blades.
The lower and upper variation limits must be checked very carefully before launching the database
generation process because improper limits can results in unrealistic blade geometries and therefore
might result in the impossibility of performing the CFD computation.
FINE™/Design3D allows to optimize integer parameters. For example, to allow only integer value
for the number of blades during the optimization process.
4.2 GENERATE DATABASE
The creation of a database in FINE™/Design3D is illustrated on "Database generation for
deterministic optimization" (p. 185).
FIGURE 4.2
Database generation for deterministic optimization
When uncertainties on the input are considered (more details in "Uncertainty Settings" (p. 239)), a
robust design optimization can be computed and will require a database containing information on
the influence of both design parameters and uncertain variables on the objective function. The
Design Of Experiment (DOE) used should sample all these variables. "Database generation for
non- deterministic optimization" (p. 186) illustrates the generation of a database for a non-
deterministic optimization.
FIGURE 4.3
Database generation for non-deterministic optimization
When a parameter is both design and uncertain, a specific treatment will be applied. Indeed, in
this case, two dimensions needs to be considered for the sampling: one for the design interval and
one for the uncertain interval. Those intervals have not the same bounds. The uncertainty is
considered as a variable deformation around zero. This deformation is then added to the value
determined for the design parameter in order to consider the uncertainties. These two dimensions
are sampled in 1D. Then, the multidimensional sampling is performed. At the end, as only 1
geometrical parameter is used in the parametric model, the value determined for the “deformation”
is added to the value determined for the “design dimension”. This allows to determine the value of
the parameter which will be used during the database generation ("Sampling for a parameter
which is both considered as an uncertainty and as a design parameter" (p. 187)).
FIGURE 4.4
Sampling for a parameter which is both considered as an uncertainty and as a design parameter
The different DOE approaches to build the database are presented below.
Statistic Basis
The Designs Of Experiment (DOE) have been developed for linear approximation model. Let's
consider a quantity Y which depends on 3 parameters P1, P2 and P3.
Where β0 is the averaged value, while the three terms with a single P function are the main
effects, if NP is the number of parameter considered, the NP(NP-1)/2=3(3-1)/2=3 terms with two
P functions are interactions between parameters. The term with 3 P functions is a three way
interaction which is generally omitted. For a more complex model, the quadratic model integrated
the square of parameters instead of three way interaction. The factor could be set into a matrix
form such as for model of order 1 without any interaction:
For a model of first order with interactions, the interactions are added in the parameter vector
And finally, if we consider a model of second order without interactions higher than 2nd order:
If we try to determine the value of each β, we need to make several experiences to link the
response values to parameters. So lets consider an experiment i. The vector of the experiment will
be composed of each elements of the approximate model, that means the averaged value of Y, the
main effects and the interaction between parameters.
Where X is called the matrix of experiment and is not generally invertible since it is not always a
square matrix. To have a square matrix, the number of experiments (NE) should be equal to the
number of parameter (NP). Thus, the equation is multiply by the transposed matrix of X.
Where X TX is the matrix of information or Fischer's matrix. The inverse of this matrix is the
dispersion matrix. The goal of design of experiments is to have the best surrogate model using the
less function evaluation.
Continuous
The parameter value is chosen at any value from the lower to the upper bounds.
Random among Discrete Levels
The parameter value is chosen among a number of discrete levels from the lower to the upper
bounds. The number of discrete levels can be defined by the user.
Full Factorial
Considering a test case of two parameters, the natural way of experimenting the influences of
each parameter is to set one parameter to a value and make the other vary. By the way, 2²
experiments should be performed. If the parameters X1 and X2 can take -1 and +1 as value, the
following experiments plan can be built:
Experiment
X1
-1
+1
-1
+1
X2
-1
-1
+1
+1
0.88
0.875
0.9
0.91
The averaged value at the lower value of X2 could be defined as (Y1+Y2)/2. The averaged value
at the upper value of X2 could be defined as (Y4+Y3)/2. The averaged effect of a factor is defined
by the half of the difference between averaged response when the parameter has its upper bound
and averaged response when the parameter take its lower bound, i.e. the averaged value is
((Y4+Y3)/2+(Y1+Y2)/2)/2=(1/4)(Y4+Y3-Y1-Y2)
When X1 is at its lower value, the variation of X2 implies a variation in the response about 0.9-
0.88=0.2 but, when X1 is at its higher value, response variation is about 0.91-0.875=0.035. So
there is an interaction between parameters which should be taken into account.
Experiment
Average
Effect
+1
+1
+1
+1
X1
-1
+1
-1
+1
X2
-1
-1
+1
+1
X1X2
+1
-1
-1
+1
0.88
0.875
0.9
0.91
I=0.89125
1=0.0025
2=0.01375
12=0.015
So parameter effects, interaction effects and averaged value could be summed by the preceding
table.
The column of interaction is obtained by the multiplication of the column X1and X2.
Y= I+1X1+2X2+12X1X2 =0.89125 +0.0025X1+0.01375X2+0.015X1X2
Note that I, 1, 2 and 12 variables are conventional format to describe respectively average value,
main and interaction effects.
Fractional Factorial
The main drawback of the previous method is the number of computations to perform. For 7
parameters with 2 levels, 128 computations should be performed. Lets consider a design of
experiment with 3 parameters.
Experiment
Effects
+1
+1
+1
+1
+1
+1
+1
+1
X1
-1
+1
-1
+1
-1
+1
-1
+1
X2
-1
-1
+1
+1
-1
-1
+1
+1
X3
X1X2
X1X3
X2X3
X1X2X3
-1
-1
-1
-1
+1
+1
+1
+1
+1
-1
-1
+1
+1
-1
-1
+1
12
+1
-1
+1
-1
-1
+1
-1
+1
13
+1
+1
-1
-1
-1
-1
+1
+1
23
-1
+1
+1
-1
+1
-1
-1
+1
123
0.8888
0.0088
0.0013
0.0163
0.0113
0.0113
-0.0112
0.0038
If the table is reorganised like this:
Experiment
+1
+1
+1
+1
+1
+1
+1
+1
X1
X2
-1
+1
-1
+1
-1
+1
-1
+1
-1
-1
+1
+1
-1
-1
+1
+1
X3
+1
-1
-1
+1
-1
+1
+1
-1
X1X2
X1X3
X2X3
X1X2X3
+1
-1
-1
+1
+1
-1
-1
+1
-1
-1
+1
+1
+1
+1
-1
-1
-1
+1
-1
+1
+1
-1
+1
-1
+1
+1
+1
+1
-1
-1
-1
-1
0.87
0.85
0.88
0.89
0.91
0.92
0.86
0.93
0.91
0.85
0.88
0.93
0.87
0.92
0.86
0.89
The sequence in column X1 is the same as in column X2X3 so we can say that 1=23. Indeed, if
only the experiments 5, 2, 3 and 8 were performed, we would have deducted that the effects of
parameter X1 are the same as the effect of the interaction of X2X3. Likewise 2=13 and 3=12. So
if we want to make the previous defined plan of experiments, we would have:
Experiment
Effect
+1
+1
+1
+1
X1
-1
+1
-1
+1
1'
X2
-1
-1
+1
+1
2'
0.91
0.85
0.88
0.93
X3
+1
-1
-1
+1
3'
0.8925
-0.0025
0.0125
0.0275
Where 1'=1+23, 2'=2+13 and 3'=3+12. This plan do not permit the computation of interactions
between parameters. The effects of this new table are summation of effects: they are said
contrasts. 1 and 23 are said aliased. This simplification has a price, it is not possible anymore to
compute all interactions. Computed effects are aliased. This means that they represent effects of
more than one parameter. In this example, we observed that if the experiments 5, 2, 3 and 8
permits to obtain the following aliases: 1=23, 2=13 and 3=12. If we use the following equality:
I=1²=2²=3², the aliases could be determined using the relation I=123. By the same way, the
aliases generator of the bottom part of the table is I=-123. So the experiments plan is split into two
parts. We need aliases to reduce a full factorial plan to a
factorial plan.
The resolution of a fractional plan 2Np-r is the length of the shortest generator (dependent or
independent).
Plackett-Burmann
The matrix of experimentation of Plackett- Burmann method is a Hadamard matrix. The
particularity of Hadamard matrix is HTH=NIN where IN is the NxN identity matrix and N is equal
to 0 modulo 4 or 2. So the DOE equation becomes:
The value of N should be greater than or equal to the number of parameter plus one. So for a
problem with 3 parameters, N will be equal to 4 (4>=3+1). For a problem with 5 parameters, N
will be equal to 8 (8>5+1) and so on. The Hadamard matrix is obtained starting from the matrix
which is the lowest dimension Hadamard matrix. Then greater orders are obtained by performing
a tensorial product of 2 Hadamard matrices or by using the finite fields theory. The matrix remains
a Hadamard matrix even if:
l two lines are exchanged,
l two columns are exchanged,
l transposition,
l multiplication of a row or a columns by a complex number with a module equal to 1.
The Plackett-Burmann method could be compared to a fractional factorial plan with a resolution
of 3. This method permits to detect most influent parameters.
Rechtschaffner
Rechtschaffner DOE is equal to a fractional factorial with a resolution of V. It consists in the
following runs:
l all factors are low
l all factors are high except one,
l all factors are low except two (for NP higher than 3).
Cubic Face Centered
A cubic face centered experimental plan evaluates the performances of geometries located on the
corner of a hyper-cube, in the center on each face and in the center of the hyper-cube. This means
that it requires experiments, axial experiments and one centered evaluation.
Box-Benhken
These evaluations are set in the middle of each edges of the hyper-cube plus one in the middle.
Latin Hypercube
The design hyper-cube space is divided by the number of levels. Then a first point is randomly
selected among all available hypercells. Then all geometries which have the same parameter value
as the generated geometry are eliminated. So if NL is the number of level, starting from
possibilities, the space of design is reduced to
possibilities. Then a second geometry is
generated randomly in the possible region and so on. So the number of generated geometries is
controlled by the number of imposed level NL.
D-Optimal
Let's consider equation
the D-optimal method will try to optimize the determinant of XTX matrix because, for a linear
model, the Gauss-Markov theorem links the variance of parameters β to the variance of the
responses by the following equation:
So, if the determinant of the information matrix is very high, the precision on the parameters β will
be low. To optimize the determinant of the information matrix,
the DETMAX algorithm
(exchange with excursions) is used. This algorithm, due to Mitchell (1974), is probably the best
known and most widely used optimal design search algorithm. First an initial design is
constructed. One also initializes the failure set F to the empty set. F is supposed to contain all
those designs which did not lead to an improvement. Indeed, for spacing-saving reasons, F will
contain the determinant of those designs. In each step p denoting the actual number of candidates,
there are three cases:
l p=NE. Then one randomly decides whether to add or to remove a candidate,
l p>N E. In this case, a candidate is removed, if the current design is not in F. Otherwise a
candidate is added,
l p<N E. In this case, a candidate is added, if the current design is not in F. Otherwise, a
candidate is removed.
After that, one has to decide, which candidate is added or removed. The candidate y is added for
which 1+yt(XTX)-1y attains its maximum. If a candidate is removed, this term is replaced by 1-yt
(XTX)-1y. When after one step, the actual number of candidates p equals the desired number NE,
one checks if there is an improvement of the determinant. In this case, the failure set F is emptied,
otherwise all designs that were met up to now are added to F. The algorithm terminates if |p-
N E|>q, where q is a constant. Mitchell proposed q=6. If q=1, the algorithm could get stuck in
local minima with poor determinant. The search begins with a simple exchange. However, if the
criterion does not improve, the algorithm will undertake excursions. Specifically, the algorithm
will add or subtract more than one point at a time, so that, during the search, the number of points
in the design may vary between NE-Nexcursion and NE+Nexcursion, where NE is the requested
design size, and Nexcursion refers to the maximum allowable excursion. The iterations will stop
when the criterion no longer improves within the maximum excursion.
Examples of DOE for 3 parameters optimization
Full Factorial
Fractional Factorial
Plackett-Burmann
Rechtschaffner
Cubic Face Center
Box-Benhken
Latin Hypercube
D-optimal
Fractional Factorial, Rechtschaffner and Plackett- Burmann are similar for 3 parameters but are
different for more parameters.
Database Generation Settings
The Database Settings/Settings page presented in FIGURE 4.4 allows the user to select the
number of geometries that will be created and how these samples will be created.
FIGURE 4.5
Database design of experiments
By default, FINE™/Design3D generate a new database. The option Restart database is used to
add some samples to the existing database. In case of restart database, only the design of
experiments Continuous and Random among discrete levels are available.
The samples will be generated by perturbing all the free parameters. The blade parameters are
chosen between the lower and upper bounds. In FINE™/Design3D, ten methods are available to
generate a database: full random ( Continuous ), discrete level ( Random among Discrete
Levels), Full Factorial, Fractional Factorial, Cubic face centered, Box-Benhken, Plackett-
Burmann, Rechtschaffner, Latin hypercube and D-optimal.
Depending of the selected design of experiments, several parameters can be set by the user in the
Parameters section:
l Random number generator index (for Continuous, Random among Discrete Levels and Latin
hypercube): initializes the random number generator function.
The generation of the perturbed AutoBlade™ geometries is based on a random number generator.
A random generator in computer sciences is a very long list of different numbers having a
periodicity of 232 or 264 numbers. This list of number is always the same when the software is
launched. This means that if the first random number is the first one of the random number list,
running twice the database generation process with exactly the same settings and same initial
geometry will end up with twice the same CFD database with exactly the same blade geometries.
However, if the initial position of the random number generator is set at two different positions,
two database generation processes will provide a different sequence of blade geometries.
l Number of Samples (for Continuous, Random among Discrete Levels and D-optimal): is the
number of geometries to generate. The number of geometries will determine the number of
CFD computations that will be performed. The recommended number of samples is a
compromise between:
l a high number of samples that will allow to create an accurate approximate model,
l a low number of samples in order to limit as much as possible the number of CFD
computations.
A good compromise between these two opposite goals is to generate a number of samples equal
to twice or three times the number of free parameters.
l Number of discrete levels (for Random among Discrete Levels, Full Factorial, Latin
hypercube and D-optimal): is the number of possible value for the AutoBlade™ parameters.
For the Fractional Factorial method, the user selects the main effects to consider in the list of
Free Parameters.
FIGURE 4.6
Parameters for Fractional Factorial
When the number of samples cannot be set by the user, an indication of the number of generated
samples will be displayed on the bottom in the Database size area. It is recommended to keep a
number of samples under 100,000. In case of exceeding this limit, the following warning will
inform the user.
4.3 OUTPUTS
At the end of the database generation process, a "_train.dat" and a "_summary.dat" files are
created. The "_train.dat" file is used to train the Artificial Neural Network. The "_summary.dat"
file includes information on sample validity, list of free parameters and output quantity values of
all generated samples
FIGURE 4.7
Database summary file
In the _dbs folder, a database report file project_db.html is provided. This file contains the status
of all computations of all samples. The user can easily check the failure of the computations. An
example of the html report is shown below.
FIGURE 4.8
Database report
CHAPTER 5.
OPTIMIZATION
This chapter describes the Optimization module of FINE™/Design3D, which provides a very efficient
optimization environment dedicated to turbomachinery blades. The current version of the optimization
module uses the NUMECA parametric geometry modeller AutoBlade™ coupled to a CFD/FEA
package (Screening). This chapter supposes that the AutoBlade™ and Screening modules are well
known for the reader.
The optimization process is based on the following principle (FIGURE 5.1):
l step 1: a database is built using a DOE approach );
l step 2: an approximate (surrogate) model is built using the DOE points in order to construct an
analytical relationship between the design parameters and the simulation responses;
l step 3: an optimization algorithm is used to find the optimum using the surrogate model to evaluate
the objective and constraints functions (cost functions);
l step 4: the accurate simulation is used to evaluate and verify the real objective function and
constraint values. This new simulation result (geometrical and CFD results) is added to the database.
The improved database with the new design points will lead to an improved approximate model;
l step 5:
restart
the process from step 2 until
the maximum number of design iterations
(Optimization Settings/Design Iterations page) specified by the user is reached.
FIGURE 5.1
Optimization principle
During a robust design optimization, the collocation points coming from the uncertainties on the input
are computed (with the CFD solver). The result of the computation for each collocation point is used in
order to reconstruct the statistics of the solution.
For each optimum search (step 3), the statistics are evaluated on the surrogate. Therefore, the surrogate
must be accurate in order to determine accurately the different statistics.
For each update (step 4), a full UQ CFD simulation must be performed to determine accurately the
statistics of the optimal solution and update the surrogate model. Using a single computation for each
update is insufficient as it won’t be possible to obtain a uncertainty quantification (UQ) result based on
CFD with this kind of update. Therefore, a UQ update is performed for each candidate found during
the optimization.
FIGURE 5.2
Robust design optimization principle
The procedure to setup the optimization is detailed hereafter.
1. Create a new project
2. Create a new computation with the Optimization run mode selected
3. Then the left tree is composed of the following specific folders that are described in detail in the
next sections:
l Simulation Tasks: encapsulates all the processes that will be run to compute the flow around
the blade geometry: the mesh generator, the solver and the post-processor.
l Uncertainty Settings: gives access to the parameters specific to the uncertainty quantification
 ). Only available when Advanced Modules/Include
Uncertainties option is active in the Simulation Tasks/Computation Management page.
l Optimization Settings: gives access to the parameters specific to the optimization algorithm
the artificial neural network settings and
like the browser
optimization algorithms .
the CFD database,
to select
l Solution Monitor : allows to visualize in the interface various CFD numerical results and
images, provides a graphical comparison tool of any number of AutoBlade™ geometries.
l Optimization Monitor : allows to visualize the design convergence history and the
optimization algorithm convergence history.
If the project is named "project", creating a "project.stop" file under the computation subfolder "_opt" will
safely stop the optimization and prevent the corruption of files.
In this section
5.1 Setting up CFD/FEA chain in Optimization Project
5.2 Setting up Optimization Parameters
5.3 Solution Monitor
5.4 Theory
204
204
218
226
5.1
SETTING UP CFD/FEA CHAIN IN
OPTIMIZATION PROJECT
To perform an optimization the following items need to be defined for the CFD/FEA chain under
Simulation Tasks in the FINE™/Design3D GUI:
l The boundaries of variation for the geometrical parameters. See Simulation Task for
advice on the variation of the boundaries. To make full use of the generated database it is
strongly recommended to use the same boundaries as used in the database generation. If other
boundaries are used, it may occur that an optimization is performed in a region for which no
information is present in the database. This can cause problems in the optimization process.
l The mesh generation. The mesh can be defined using the CFD wizard or an AutoGrid™
template. In either way it is recommended to use the same mesh definition as the one used in
the database generation. If the mesh is sufficiently fine to have no influence on the CFD result
the used mesh template would not be important. However, in general there is some mesh
dependency and the use of a different mesh definition could perturb the database and cause
problems in the optimization process.
l The CFD/FEA solver input variables. It is strongly recommended to use the same input
variables as used for the generation of the database. For example, the use of different boundary
conditions would perturb the created database and therefore cause problems in the
optimization. It is possible to perform an optimization based on a database with different input
variables if those input variables are stored in the database for each sample. Note that the
execution of the CFD and the FEA chains can be reversed. Please refer to this page for more
information.
l The post processing quantities. Like for the database generation, it is important to select all
the post processing quantities that are needed in the optimization. It is recommended to select
all quantities that were selected for the database generation.
5.2
SETTING UP OPTIMIZATION PARAMETERS
The optimization parameters
FINE™/Design3D GUI.
can be
accessed under Optimization Settings
in the
5.2.1
Optimization
Importing and Managing Database
A database should be imported in the project by clicking on the button Import a Database. Once
a file has been selected, this file is copied into the current computation directory with the name:
"project_train.dat"
Once imported, it is possible to merge two databases, to replace the current database or to remove
some samples from the current database. Clicking on Merge Training Database will display a file
chooser. Once selected, the new database will be added to the end of the existing database.
Import a Database will replace the current database by the selected one. Load Training Database
will load the database in memory and gives access to database plotting tool in the objective
function definition frame. Unload Training Database will remove the database from memory so
less memory is consumed but the access to database plotting tool is no longer available and the
training database file "_train.dat" is still available in the computation directory. To remove sample,
the sample numbering should be specified. To remove several samples, the numbers have to be
separated by comas. If samples are continuous, the first separated by "-" from the last could be
used. For instance, "1,5-8" will remove samples numbered 1, 5, 6, 7 and 8.
The difference between a single point and a multipoint optimization comes from the database. In fact,
all the parameters relative to the optimization process are common to all the selected computations.
The user has just to define the parameters one time and the optimization process will take into
account all the samples present in the database. The user will only have to be careful on the time of
calculation: each optimization iteration will contain as many iterations as selected computations; so,
for example, if 3 computations are selected, the optimization will be 3 times as long as a single one.
In the expert parameter mode, the user can choose the treatment of the invalid samples.
Two methods are available:
l EXCLUDE_ FROM_ LEARNING (default): The invalid samples are still stored in the
database and hold their location in the design space (inputs are stored). A simple penalty is
added and to exclude the invalid samples from the training of the ANN. The penalty is
expressed as:
where A is the Max penalty on invalid sample, r is the Radius around invalid sample and
d is the distance to the invalid sample.
In the approximate model, the distance criterion relative to invalid sample will prevent the
optimizer from looking at the same location by assigning an additive penalty in the vicinity of
known invalid samples.
l NEAREST_VALID_OUTPUTS: All outputs of the invalid sample will be inherited from
the closest valid sample in the whole database and this invalid sample is taken into account for
the training of the ANN.
The method 'NEAREST_ VALID_ OUTPUTS' is not recommended because it introduces bias and
might prevent the optimization from working correctly when too many failed samples are present.
Artificial Neural Network Settings
In an optimization, it would be too costly to perform a CFD/FEA computation for every possible
geometries. Therefore, the CFD/FEA results, as a function of the geometrical parameters, are
approximated. In FINE™/Design 3D, this approximation is performed using an artificial neural
network. The input of the artificial neural network are the free geometrical parameters which
represent the blade shape. The neural network will then predict the aerodynamic performances
such as efficiency, mass flow, pressure ratio and various other quantities. For more detailed
informations: see Artificial Neural Network.
The settings of the artificial neural network are set automatically. AutoBlade™ free parameters
are selected as input of the Artificial Neural Network. Output selection is done automatically
according to penalty selection in the objective function definition.
Under the tab INPUT, the left column (FIGURE 5.3 (a)) gives access to all the variables that are
available for the neural network input. These variables are the AutoBlade™ geometrical
parameters. In the present version of FINE™/Design3D, the selection process is automatic.
FINE™/Design3D will select all
the geometrical parameters that are free to vary in the
AutoBlade™ model. This simplifies the operation and avoids the selection of wrong variables.
The result is the right column (FIGURE 5.3 (b)), which gives access to all input variables of the
artificial neural network.
FIGURE 5.3
Approximate model input selection
Under the tab OUTPUT: the left column (FIGURE 5.4 (a)) gives access to all the variables that
are available for the neural network output. These variables are the post processed quantities and
derived quantities. In the present version of FINE™/Design3D, the selection process is automatic.
FINE™/Design3D will select all the quantities needed to compute the objective function value.
This simplifies the operation and avoids the selection of wrong variables or quantities not needed
for the objective function definition. The result is the right column (FIGURE 5.4 (b)), which gives
access to all output variables of the artificial neural network.
FIGURE 5.4
Selected outputs visualization
Under the Topology tab: the topology of the artificial neural network could be modified. The
artificial neural network uses several layers and nodes to approximate the objective function. The
number of layers could be set with the Number of layer (FIGURE 5.5 (a)) entry. Then, if
Automatic Topology (FIGURE 5.5 (b)) is selected, the number of nodes and the number of
layers will be adapted according to the number of samples in the database, the number of inputs
and the number of outputs. The aim is to give the best accuracy possible to the artificial neural
network. If Set Number of Hidden Nodes (FIGURE 5.5 (c)) is selected, the artificial neural
network will have the same number of nodes in each hidden layer.
FIGURE 5.5
Neural network topology
The fact that the number of samples is taken into account to compute the number of nodes in
hidden layers implies that, during the optimization, the topology of the artificial neural network
will evolve. With the Set Number of Hidden Node option, the topology is fixed and won't be
modified.
Under the Learning tab, the neural network learning parameters are accessible (FIGURE 5.6). In
general, there is no need to modify these settings.
FIGURE 5.6
Neural network learning parameters
Starting from FINE™/Design3D v11.2, a new ANN approach based on a conjugate gradient
technique has been implemented. This new implementation has been interfaced as new version in
the combo box Neural network; the previous implementation still remains accessible by selecting
backward mode in the same combo box. The new implementation enables to automate the
learning process so that the convergence is automatically reached. Consequently, the following
entries are disabled: Learning Rate Coefficient, Momentum Coefficient and Decay Factor. As
the new implementation is globally faster and provides more accurate results, it is advised to use
this approach.
With the new implementation, the option Allow reset of learning every X design iterations has
been added. When this option is enabled, the training phase can be restarted if the initial training
parameters prevent the ANN from converging.
For a more detailed description of the neural network and the involved parameters, see Artificial
Neural Network.
Optimization Algorithm Settings
FINE™/Design3D supports single objective optimization and multiple objectives optimization,
which can be selected at the bottom of the Optimization page.
Single objective optimization
In case of single objective optimization, some default optimization processes have been defined.
All of them use a Genetic Algorithm. The main difference is the number of reproduction cycles:
l Coarse optimization: 25 reproduction cycles.
l Medium optimization: 50 reproduction cycles.
l Fine optimization: 100 reproduction cycles.
FIGURE 5.7
Single objective optimization algorithm settings
These default optimization settings are generally sufficient to cover all the cases. However, other
types of optimization algorithms can be defined by clicking on the button User-Defined. The
button gives access to the detailed expert parameters of all the optimization algorithms (FIGURE
5.7). These parameters and other optimization techniques are described in more details in the
Optimization section.
Multiple objectives optimization
In case of multiple objectives optimization, an Automatic setup is available. These default
optimization settings are generally sufficient to cover all the cases. However, other types of
optimization algorithms are also available. Deselecting the option Automatic setup will allow to
access the algorithms and their settings, see Available Techniques for multiple objectives
optimization for more details.
FIGURE 5.8
Multiple objectives optimization algorithm settings
The check button Automatic stop of the optimizer allows to stop the optimization algorithms if
three criteria (Non domination, Distance and Spacing, see Optimizer Convergence for more
details) show suitable and stable values. If active, this option must be combined with a higher
number of cycles. Indeed, the optimizer need to achieve convergence and good diversity and this
is only meaningful after a sufficient number of reproduction cycles. This amount is therefore the
maximum number of reproductions allowed for the optimizer while the effective amount is lower
and variable from one run to the next.
The option Number of candidates allows to specify the number of candidates selected for
accurate evaluation.
5.2.2 Objective Function
Overview
In order to measure the quality of the optimized solution, the concept of objective function is used.
For the geometrical quantities or CFD/FEA results, a penalty is computed which is a scaled
difference from the desired result. In case of single objective optimization, the objective function
is simply the summation of penalty terms. In case of multi-objective optimization, each penalty is
one objective function. The goal of the optimization is now to find the geometry with the lowest
possible objective function, getting the closest to the desired results. For example, a goal of the
optimization may be to increase the efficiency. In such a case a penalty can be put on the
efficiency with a desired value of 1. The optimization will then result in a geometry with an
efficiency as close to 1 as possible.
The penalties are constructed as follows:
,
where Q imp is the value of the imposed quantity, Q is the computed quantity and Q ref is a
reference value used to non-dimensionalize the penalty term. k is the exponent of the penalty term
which is usually 2. The variable W is a weight factor which allows to scale up or down the
influence of a penalty term in the global objective function.
Different types of penalties can be used: Lower Bound Value, Upper Bound Value, Equality
Value:
l The Lower Bound Value penalty penalizes geometries having quantities which have a lower
value than the one imposed.
l The Upper Bound Value penalty penalizes geometries having quantities which have a larger
value than the imposed one.
l The Equality Value penalty penalizes geometries having quantities that are not equal to the
imposed value.
It is also possible to impose both a lower and an upper penalty on the same quantity. This allows to
have a zero penalty value on a range of variation of the quantity .
The next figure give examples of the different available penalty types.
FIGURE 5.9
Different penalty types
FIGURE 5.10
Definition of penalties to allow a range of values
When uncertainties on the input are considered (more details in "Uncertainty Settings" (p. 239)),
the objective function can be set as non-deterministic to compute a robust design optimization. It
means it can concerns quantities that are no longer deterministic but that can be either a statistical
moment (mean or standard deviation). Each of these objectives has an influence on the probability
distribution of an output. The mean value will minimize the averaged value of a distribution and
has no impact on its wideness. On the other hand, an objective on the standard deviation will
affect the wideness of a distribution while not changing its averaged value ("Influence of the
different objectives on a probability distribution" (p. 213)).
FIGURE 5.11
Influence of the different objectives on a probability distribution
Objective Function Settings
The objective function page is shown in FIGURE 5.12. To create a penalty, the user should:
1. click on the button Create (FIGURE 5.12 (a)). Default parameters will appear in the right
window.
2. select the group from which the quantity will be extracted (FIGURE 5.12 (b)).
3. select the quantity on which the penalty will be defined (FIGURE 5.12 (c)). The available
quantities are AutoBlade™ parameters, AutoBlade™ computed quantities and the post-
processor quantities selected in the input/output neural network selection menu.
4. select the type of penalty (lower bound, upper bound or equality) (FIGURE 5.12 (d)). The
name of the penalty will be set automatically to "P_selected_quantity_name_type_of_penalty".
For example, the name of a lower bound penalty on the mass flow will be P_MASS_FLOW_
MIN.
5. select the type of statistical moment (deterministic, mean or standard deviation) (FIGURE 5.12
(e)). The name of the penalty will be set automatically to "P_selected_quantity_name_type_
of_penalty_type_of_statistical_moment" when mean or standard deviation type. For example,
the name of a lower bound penalty with a standard deviation statistical moment on the mass
flow will be P_MASS_FLOW_MIN_STD_DEVIATION.
6. enter the imposed value (FIGURE 5.12 (f)).
7.
if necessary, modify the penalty expert parameters in the Expert Mode . These expert
parameters are the penalty weight, the penalty reference value and the penalty exponent
(FIGURE 5.12 (g)).
The reference value is set automatically to the imposed value. If a null value (for an angle for
example) is imposed, the reference value has to be changed manually.
Identical penalties will be removed from the penalty list.
In case of single objective, weights and exponents on penalties allow to refine the importance of
each component for the global objective.
In case of multiple objectives, the expert settings are not necessary. Instead, it is advised to click
the button Adapt penalties to ensure that all penalties are scaled similarly (approximately match
the range [0-10]). This will increase the chances that the optimization algorithm captures the
pareto front(s). It will affect all weights and exponents of the penalties based on the input from the
database.
The button Adapt penalties is available only when:
l multiple objectives optimization is enabled.
l at least two penalties are defined.
l the database must be loaded.
FIGURE 5.12
The Objective function page
The Database statistic area (FIGURE 5.12 (h)) is available to set up the imposed values. This
information consists of the quantity values of the samples contained in the CFD/FEA database.
This information can be accessed by loading the CFD/FEA database. This button is not available
if a CFD/FEA database was not yet selected on the Optimization page. After the loading of the
database, the minimum, the maximum and the averaged value of the quantity and of the penalty in
the database are shown. Using the Sample number text box allows to monitor these values for
each sample in the database.
Moreover, by switching to Graphics (FIGURE 5.12 ), it is possible to plot some quantities
function of some others. For example, it is possible to monitor the evolution of the objective
function according to the variation of one parameter. Blue squares are valid samples while red
squares are invalid ones. The blue dot lines show the averaged variation while the two red lines
show the maximum and the minimum value of the averaged variation. By pressing the key 
,
for samples, the samples numbering corresponding to the nearest point from the cursor are
displayed. By pressing the key <d>, for data, the coordinates of the nearest point from the cursor
are displayed.
FIGURE 5.13
Graphical statistic
Finally, a penalty can be removed by first selecting it in the left list and then clicking on the button
Remove (FIGURE 5.12 (i)).
The list of selected penalties is updated at each change (FIGURE 5.12 (j)).
5.2.3
Design Steering
In the Optimization Settings / Design Steering page, the user can define the global parameters
for the optimization iteration.
FIGURE 5.14
Design steering window
The Number of Design Iterations is used to set the number of global design iterations (FIGURE
5.14 (a)). A design iteration includes the neural network learning,
the genetic algorithm
optimization and the CFD/FEA computation.
A restart could be performed if the optimization stopped. To perform a restart, the new database
with the optimized samples, which is in the "_opt" directory in the computation directory, should
be imported. Then, the restart should be activated by clicking on the Activate restart button
(FIGURE 5.14 (b)). By default, the history file is the one of the computation. If the restart is
activated, Design3D will reproduce the evolution of the move limit factor. The move limit factor
makes Design3D concentrate in the space where the artificial neural network has good prediction.
This space is always included in the range of variation of parameters. If the accuracy of the
artificial neural network increases, that means artificial neural network has well predicted the
behavior of the objective function: the space increases. If the accuracy of the artificial neural
network decreases, the space reduces.
In the expert mode, the user can activate and set the merit parameters. The merit function is a
technique that allows to force the optimization process to scan the whole design space before
converging to the best optimum candidate. This technique consists in adding to the global
objective function a penalty term based on the minimum distance between the current geometry
and all the database geometries.
FIGURE 5.15
Merit function window
The merit function is used in the first part of the optimization process to favour exploration of
unknown design space regions. Then after a number of optimization cycles, the merit function is
not used any more but only the true objective function to better find the current optimum
candidate. See Merit Function for more details on the parameters of the merit function. In general,
the default values are appropriate.
5.3
SOLUTION MONITOR
For Simulation Results, Simulation Images and Compare Blade Geometries, please refer to
Results Visualization. Three other types of convergence history are available under Optimization
Monitor:
Design Convergence History
FIGURE 5.16
Objective function evolution in case of single objective optimization
In case of single objective optimization, many plots show the convergence of the design cycles
(FIGURE 5.16). The interface displays the objective function, the penalties and the evolution of
quantities along design iterations. Three colors are used to represent the best sample found so far
(green), the CFD computation results (blue) and the Artificial Neural Network prediction (red).
Parameter evolution plots show the maximum value (green), the minimum value (red) and the
evolution as a function of design iteration (blue).
These plots are very useful for the user since it rapidly shows if a parameter has reached the
boundary of variation.
In case of multiple objectives optimization, two lists allow to choose the abscissa and ordinate
among free parameters, derived quantities and penalties. The plots shows all accurate sample
corresponding to the database at the current iteration number. The samples are grouped in
l dominated accurate samples at previous step (do not belong to the pareto front)
l non dominated accurate samples at previous step (belong to the pareto front)
l candidate ANN samples (selected approximate samples)
l candidate accurate samples (after accurate simulation)
A red link is drawn between the surrogate and accurate samples obtained during the active step. It
represents the error of the ANN. These segments tend to be shorter with higher iteration numbers
if the surrogate model is suitable.
When the mouse pointer is close to a sample in the graph, it is highlighted and details are shown
on the upper right of the screen.
FIGURE 5.17
Convergence history page in case of multiple objective optimization
If invalid samples have been generated during the multi-objective optimization, the user has the
possibility to hide them by clicking on "Hide invalid samples".
In case of robust design optimization, information regarding first and last collocation points
corresponding to the selected design is displayed instead of sample and location on disk. A button
Export Parametric Model allows to export a “.par” file that can be imported for a further
uncertainty quantification run mode. When exporting the browser is by default at the level of the
project. The exported parametric model contains the deterministic value of the parameters linked
to the selected design.
FIGURE 5.18
Convergence history page in case of multiple objective robust design optimization
Optimizer Convergence History
In case of single objective optimization, the plots show the convergence of the optimization inside
every design cycle (FIGURE 5.19). The user can see the objective function, penalty or quantity
value evolution during the optimization based on the artificial neural network approximation. If
the solution is still decreasing, the user should change some optimization parameters (increasing
the number of reproduction cycles for a genetic
the number of optimization iterations,
algorithm,...) to have the best optimum of artificial neural network approximation.
FIGURE 5.19
Objective function convergence during a Genetic Algorithm in case of single objective
optimization
In case of multiple objectives optimization, the page displays the three criteria processed and used
to determine the candidates to select after an single run of the optimizer as well as determine if the
algorithm is converged and stop it automatically.
Non domination
Non-domination measures the presence of suboptimal designs in a population. The range of the
criterion is [0,1]. The last population of the optimizer should only contain non-dominated samples
corresponding to a zero value for this metrics while the very first populations might produce
values close to 1.0. If the value is not very close to zero, the optimizer has most probably failed.
The non-domination metrics is defined as
where:
P is the population and |P| its size,
Pnd the sub-population of non-dominated individuals in population P and |Pnd| its size.
Distance
Distance is defined as the average distance of the population samples to the origin in the objective
space relative to the worst sample. The range of variation is [0,1] and convergence is reached
when all samples are at a distance of the same order of magnitude, leading to a low discrepancy
and the criterion should be close to 1.0 in case of similar scaling of the objectives.
Low values of the criterion probably mean that the objectives have either a different order of
magnitude or that the optimizer did not converge to the pareto front(s). If not close to unity, the
value of the criterion should remain stable at the end of the run.
where
P is the population and |P| its size,
d(p) is the euclidian distance of the sample to the origin in the objective space.
dmax(p) is the highest euclidian distance among samples of population P.
Spacing
Spacing reflects the ability of the optimizer to collect non-dominated samples spread over the
whole front. If the last population only contains non-dominated samples, these samples should be
uniformly distributed along the front(s) in the objective space.
The spacing criterion is defined as
the special spacing distance as
and the average spacing distance as
where
is the value of the objective o for sample p
is the maximum value of objective o over samples in P
is the minimum value of objective o over samples in P
This criterion is also defined over the range [0,1] and, in case of large populations perfectly
spread, should tend to zero in the last populations. If successful, the optimizer should produce low
values of S(P).
Optimizer Populations
This page is available only in case of multiple objectives optimization. The page displays the
initial and final population of each run of the optimizer. If successful, the final population contains
only or almost only non dominated samples spread along the pareto front(s).
Controls are similar to the design convergence history page, but no details can be displayed for
the samples.
5.4
THEORY
Introduction
The optimization technique used in FINE™/Design3D is based on the concept of function
approximation. The purpose of the approximate model is to have a fast method able to evaluate
the blade aerodynamic performance. This evaluation process must be as fast as possible and as
accurate as possible to mimic correctly the real blade performances predicted by the accurate
model (the CFD package).
This method requires the existence of a database containing several blade geometries and their
associated aerodynamic and geometrical performances. These database samples are used to
construct the approximate model.
l In case of single objective optimization shown in FIGURE 5.20, the optimization algorithm is
used to compute the optimum of the approximate model (circle) and, only for this sample, a
CFD computation is launched. The geometrical parameters and CFD results of this sample
(triangle), are stored into the database and the process goes on.
l In case of multiple objectives optimization, the optimization algorithm is used to construct the
pareto front of the approximate model. The user specifies the number of candidates. Then, the
candidates (samples) will be selected from the pareto front for accurate evaluation. The
geometrical parameters and CFD results of the selected samples are stored into the database
and the process goes on.
As the number of samples in the database grows after each design cycle, the approximate model
will become more and more accurate and better blade shapes will be found rapidly.
FIGURE 5.20
Approximate model philosophy
Artificial Neural Network
FINE™/Design3D uses an Artificial Neural Network to construct the approximate model. An
is composed of several
artificial neural network schematically depicted in FIGURE 5.21 ,
elementary processing units called nodes. These nodes are arranged in layers and joined with
connections of different
in order to form a parallel
architecture. A network is generally composed of several layers: an input layer, one or several
hidden-layers and one output layer. Each output has its own artificial neural network to avoid
interaction during the training.
intensity, called connection weight,
Each element of the input vector is connected to each node in layer 1 through a connection weight
matrix. A node performs the summation of the weighted inputs and bias to form its own scalar
output. The result is then processed through the transfer function F1, which is a sigmoidal
function. The signal is propagated in the same way through the next layer up to the output layer.
FIGURE 5.21
Artificial Neural Network
The learning process consists in finding the connection weight matrices (W) and the bias (b) in
order to make the actual output vector coincide with the prescribed output vector. Pairs of input/
output vectors must be available in a training database that the network will learn to predict.
Trained networks tend to give reasonable answers to inputs that they have never seen. Therefore,
it is possible to train a network on a representative set of input/ output pairs and get good results
without training the network on all possible input/output pairs.
The most widespread learning algorithm is called "Learning by back-propagation of the errors".
The first step is to initialize the weight and bias factors using small random values. Then the input
vector of the first training sample is presented at the network input. Next the signal is propagated
until the output layer. Generally, the output vector provided by the network does not correspond
to the desired output vector associated with this input vector. The error between the real and the
desired output vector is back-propagated until the network input and this error is used to adjust the
connection weights in order to minimize the error. To realize the learning process, a set of input/
output vectors must be available that will be sequentially presented at the network input. This
process of input/ output vectors presentation and weight update is repeated for each training set
until the convergence is reached.
The weight updates are under-relaxed with a factor which is called learning factor. The learning
factor is set to 0.5 by default in the interface. A momentum term (default value = 0.8) is used to
accelerate the convergence of the learning process. Finally a decay factor is used to avoid too big
value of weight and bias that would make saturate the sigmoidal function and give a very bad
approximation.
The learning by back-propagation of the error is an iterative process. One learning iteration
consists in presenting and adjusting the connection weights on all the training samples. This
number of iterations is set to 100,000 by default in the interface and is usually sufficient.
Nevertheless, at the end of the training process, the convergence level is checked and if it is
higher than the acceptable convergence level, another train will be performed with increasing the
learning factor and removing the momentum factor. At the end of this new training, if the
convergence level is still not satisfied, another train is performed. This new train uses, as an initial
solution, the opposite weights. At the end, the artificial neural network training which gave the
lower level of error is selected.
The accuracy of the neural network is measured by computing the error between the output
predicted by the neural network and the target output extracted from the training database. The
most commonly used criterion for convergence makes use of the quadratic measure:
,
where:
Erms(l) is the error for the output node l over all the training samples
l is the output node index
d is the desired output.
a is the neural network predicted output.
Nt is the number of training samples
The global training error will be:
,
where:
Erms is the global neural network error based on the training database,
No is the number of neural network outputs.
Optimization
Available Techniques for single objective optimization
In FINE™/Design3D, four types of optimization are available:
l Random Walk: from the best sample found in the database, the algorithm steps from the
original point to another point in a random way. If the sample found is better than the original
point, the algorithm goes to this point. Otherwise, another direction is tried. After a number of
unsuccessful attempts, the perturbation amplitude is reduced.
l Gradient Method: this method is based on the computation of the gradient of the global
objective function with respect to all the design parameters. Then a small step in the direction
opposed to the gradient is performed. This process is repeated a number of times and usually
ends when a stable optimum has been found.
l Genetic Algorithm: this algorithm mimics natural behavior in terms of biological evolution in
order to reach the best possible solution to a given problem. An initial population is generated
and pairs of individuals are selected from this population based on their performances Weak
individuals tend to die before reproducing while stronger ones lives longer and bear many
offspring.
l Population size: determines the number of individual generated during the process.
l Number of reproduction cycles : determines on many times,
the population will
reproduce.
l Truncation rate: determines the number of sample which are allowed to reproduce. The
default is 20 that means only the 20 best samples could be selected to create a new sample
in the next generation.
l Elitism: determines the number of individuals that are directly transmitted to the next
generation. By default, this value is 1, that means only the best sample of the generation is
transmitted to the next generation without any modification
l Extrapolation range: determines the modification amplitude between parent and child. If it
is set to 0, the parameters will be a random value between parents. If not, it will be a value
close to the best parent but could not be between parents.
l Search interval: determines the amplitude range of the mutation. If set to 0, there is no
mutation (default value). If not, FINE™/Design3D adds or substracts (randomly with a
probability of 0.5 for each casse) this value multiplied by the difference between the actual
parameter value with the boundary, lower for substraction and upper for addition)
l Precision coefficient : determines the coefficient which controls the amplitude of the
mutation by using the coefficient 2-kα where α is generated randomly and k is the precision
coefficient. So the higher the value is, the lower the mutation amplitude will be. So the
mutation amplitude is described as followed, with a probability of 0.5 for each case:
Pnew=P+Search_interval*(Pmax-P)*2-kα
Pnew=P-Search_interval*(P-Pmin)*2-kα
l Simulated Annealing : this algorithm is based on the analogy of the simulation of the
annealing of solids. The algorithm is similar to the random walk method but has a more
sophisticated method to decrease amplitude of the random perturbation steps.
l Initial temperature: determines the initial temperature of the algorithm
l Final temperature: determines the temperature at the end of the algorithm.
l Temperature Reduction factor: determines the coefficient which will be multiplied with
the current temperature so it has to be lower than 1. The number of iteration could deduced
using the following formula: (Tini-Tend)/Tred.
l Number of steps : determines the number of steps performed before the temperature
reduction.
l Search interval: determines the convergence level of optimization. If the algorithm reaches
the final temperature or the convergence level specified, the algorithm will stop.
Available Techniques for multiple objectives optimization
Three algorithms are available:
1. NSGA-II: First, initial population P_0 is created randomly and evaluated. At any generation t,
the offspring population Q_t is created by using the parent population P_t of size pop and the
usual genetic operators (mutation and crossover). Thereafter,
the two populations are
combined together to form a new population R_t. Population R_t is classified into different
non-dominated fronts with non-dominated sorting. Then, the new population is filled by points
of different non-dominated fronts, one at a time. The filling starts with the first non-domination
front, continues with the second, and so on. Since population R_t is larger than the new
population, not all fronts can be accommodated in available slots of new population. The
remaining fronts are being deleted. When the last allowed front is being considered, there may
exist more points in the front than the remaining slots in the new population. Only the points
with highest values of crowding distance metric are accepted.
Next, the non-dominated sorting is introduced. For each solution p of population R_t two
entities are calculated: domination count n_p, the number of solutions which dominate the
solution p, and S_p, a set of solutions that the solution p dominates. All solutions in the first
non-domination front will have their domination count as zero. Now, for each solution p with
n_p = 0, each member q of the set S_p is visited and its domination count is reduced by one. If
for any member q the domination count becomes zero, it is put in a separate list. These
members belong to the second non-domination front. This procedure is repeated on the second
front and the third front is identified, and so on. The time complexity is O(m |R_t|^2), where
|R_t | is a size of population and m is number of objectives.
To get an estimate of the density of solutions in one front a crowding distance metric is used.
For each solution the average Euclidean distance of two points on either side of this point
along each of the objectives is calculated. This quantity serves as an estimate of the perimeter
of the cuboid formed by using the nearest neighbours as the vertices. The crowding distance
operator has time complexity of O(m |R_t | log |R_t |).
The population R_t is sorted based on the front in which they are located in an increasing
order. If many population members lay in the same front, they are sorted based on the
crowding distance in a decreasing order. The best pop members form a new parent population
P_t+1.
In case NSGA-II is selected, the following parameters can be set:
l Population size - size of algorithm's main population. It affects convergence and
distribution of samples. Larger size gives faster convergence and better distribution but
slows down the computation time.
l Nb of reproduction cycles - number of generations. It affects the quality of final
population. More generations usually give better convergence.
l Truncation rate - size of parent population. Larger number ensures higher spread over the
search space while smaller number ensures better convergence. Usually it equals
Population size / 2.
l Crossover probability - probability of SBX crossover operator. It affects the share of
information hidden in population. It should be an expert parameter.
l Crossover mu - SBX crossover parameter. Rename to "Crossover parameter". It should be
an expert parameter.
l Mutation probability - probability of polynomial mutation operator. It affects the
occurrence of new variable values in samples. It should be an expert parameter.
l Mutation mu - polynomial mutation parameter. Rename to "Mutation parameter". It
should be an Expert parameter.
l SPEA2: The main difference with NSGA-II is in use of the archive population A_t and an
evaluation of points of population with a fitness function. First, a new population P_t is formed
with genetic operators. The parents are taken from the archive A_t. The new population and
archive are joined and the fitness function of all the members is computed. Next, a new archive
A_t+1 is formed with all the non-dominated members of the joined population. If the new
archive is too small, the dominated points with small fitness function values are added.
Otherwise, if the archive is too big, the points with largest fitness function value are eliminated
one by one. Each time a new fitness function for all the remaining points is computed anew
since the value depends on the whole archive.
Only one fitness function is used instead of non-dominated sorting and crowding distance.
Hence, new metrics such as strength value, raw fitness and density are defined. The strength
value of point p is a number of other points that are dominated by p. The raw fitness R(p) is
the sum of strength values of all points that dominate point p. Note that the points of the non-
dominated front have their raw fitness set to zero. With evolution the population members
become non-dominated. Therefore, another information about their diversity is needed. This is
density defined as D(p) = 1/(δ_p + 2), where δ_p is the Euclidean distance to the k-th closest
point to p (k is a constant). The fitness function is then computed as F (p) = R(p) + D(p). The
idea is to minimize this value. This procedure has the time complexity of O(L^2 log L), where
L = |Pt | + |At |.
In case SPEA2 is selected, the following parameters can be set:
l Population size - size of algorithm's main population. It affects convergence and
distribution of samples. Larger size gives faster convergence and better distribution but
slows down the computation time.
l Nb of reproduction cycles - number of generations. It affects the quality of final
population. More generations usually give better convergence.
l Truncation rate - size of parent population. Larger number ensures higher spread over the
search space while smaller number ensures better convergence. Usually it equals
Population size / 2.
l Archive size - size of algorithm's archive population. It represents final set of solutions.
Usually it equals Population size
l Crossover probability - probability of SBX crossover operator. It affects the share of
information hidden in population. It should be an expert parameter.
l Crossover mu - SBX crossover parameter. Rename to "Crossover parameter". It should be
an expert parameter.
l Mutation probability - probability of polynomial mutation operator. It affects the
occurrence of new variable values in samples. It should be an expert parameter.
l Mutation mu - polynomial mutation parameter. Rename to "Mutation parameter". It
should be an Expert parameter.
l DEMO- NS : DEMO- NS uses the concept of Differential Evolution instead of classic
crossover and mutation. Each candidate c is generated with the following procedure. The
procedure receives a point p and chooses three different points from the population, p1 , p2 ,
p3. The candidate c is then computed as c = p1 + F · (p2 − p3 ) and modified by binary
crossover with its parent p. Factor F is called a scaling factor and is a constant.
The procedure of DEMO is almost the same as the one of NSGA-II. The only difference is the
formulation of the offspring population. For each parent p a candidate c is generated and
evaluated. If the candidate dominates its parent, it replaces it in the population. Otherwise, if a
parent dominates the candidate, the candidate is rejected. If they are mutually non-dominated,
the candidate is added in the population. The population which has the size between pop and 2
pop is then truncated to its preset size pop with NSGA-II or SPEA2 selection operators.
In case DEMO-NS is selected, the following parameters can be set:
l Population size - size of algorithm's main population. It affects convergence and
distribution of samples. Larger size gives faster convergence and better distribution but
slows down the computation time.
l Nb of reproduction cycles - number of generations. It affects the quality of final
population. More generations usually give better convergence.
l Differential evolution probability - probability of differential evolution operator. It affects
the share of information hidden in population.
l Differential evolution parameter
Merit Function
The merit function adds a penalty term to the objective function based on the minimum distance
between the current geometry and all the database geometries. This penalty is defined by the
following expression
Where O is a generated geometry, in the optimization algorithm, and M , M 1 and M 2 are
geometries from the database. The maximum of the penalty is reached when the geometry is
exactly one from the CFD database. The minimum of the penalty is reached when the geometry is
very far from database samples. The ρ value is defined with the following equation:
The current optimization iteration is i, Nb design loop is the number of optimization iteration and
ρrange is a number between 0 and 1. ρrange assumes that the merit function is applied during a
given percentage of the number of design cycles. ρ design controls the amplitude of the merit
function.
CHAPTER 6.
UNCERTAINTY QUANTIFICATION
Nowadays, the analysis and design methods in aeronautical industry, particularly the aerodynamic
simulation tools relying on CFD and their multidisciplinary extensions are based on simulations with a
unique set of input data and model variables. In spite of that, the actual operating conditions are a
superposition of numerous operational and geometrical uncertainties, under which the industrial
products operate, representing a major source of risk in the design decision process.
New methodologies are therefore required to incorporate the presence of uncertainties at the level of
the simulation tools in order to improve the predictive reliability of the simulation process. This means
that the simulation tools become non deterministic.
FINE™/Turbo provides an uncertainty quantification (UQ) module, which uses the Non- Intrusive
Probabilistic Collocation Method (NIPCM) introduced by Loeven, 2010 and is able to manage
operational uncertainties. In order to account for geometrical uncertainties, the geometry must be
parameterized (as for design optimization). The NIPCM method is then applied to the design
parameters of the parametrized geometry and their values are automatically modified following the
imposed uncertainty law. FINE™/Design3D generates the whole CFD chain, from mesh generation to
post processing, in an automatic way.
A new module for Uncertainty Quantification has been introduced in FINE™/Design3D, which allows
the user to treat both operational and geometrical uncertainties.
The limitations for the uncertainty quantification module are:
l Only compatible with FINE/Turbo mode / 3D associated computation.
l When selecting an UQ computation and creating a new UQ computation, a new FINE™/Turbo
computation will be created and automatically linked to the new UQ computation.
l In case an UQ computation is stopped unexpectedly, the user should manually launch the remaining
FINE™/Turbo computations or completely relaunch the UQ computation.
l A mesh will be generated for each FINE™/Turbo computation.
In this section
6.1 Uncertainty Quantification in FINE™/Design3D
6.2 Simulation Tasks
6.3 Uncertainty Settings
6.4 Solution Monitor - UNCERTAINTIES MONITOR
236
236
239
243
6.1
UNCERTAINTY QUANTIFICATION IN
FINE™/DESIGN3D
To set up a non deterministic computation in FINE™/Design3D, the user should follow the steps
below:
1. Create a FINE™/Turbo project and launch the computation. The FINE™/Turbo computation
is used as the deterministic computation. The results will be used during the post processing of
non deterministic results in FINE™/Design3D.
2. Switch to FINE™/Design3D, create a new computation with the Run Mode Uncertainty
Quantification.
3. In the QAP Simulation Tasks, set the CFD chain, from mesh generation to post processing.
4. In the QAP Uncertainty Settings, choose the geometrical and/or operational uncertainty
entries, then set the uncertainty definition for each selected uncertainty entry.
5. Launch the non deterministic computation from the menu Process / Start.
6. In the QAP Solution Monitor and Uncertainties Monitor, visualize various CFD numerical
results and images, and check the non deterministic results.
The QAP Simulation Tasks , Uncertainty Settings , Solution Monitor and Uncertainties
Monitor are included in the left tree of the interface and are described in detail in the next
sections.
6.2
SIMULATION TASKS
To perform an uncertainty quantification computation, the following items need to be defined for
the CFD chain under Simulation Tasks in the FINE™/Design3D GUI. This section explains
only the specific settings required by the uncertainty quantification module. For the detailed
explanation of the CFD chain, refer to 3D Associated Computation.
l Import parametric model
Before setting up the CFD chain,
the user should fit the blade geometry used in the
deterministic computation in FINE™/Turbo. Then, import the resulted parametric file into
FINE™/Design3D. Refer to fitting for how to fit a blade in AutoBlade™.
l Computation Management.
The UQ module is compatible only with the FINE/Turbo mode and 3D Associated
Computation. In the Computation Management page, all the CFD steps should be set to
non external mode.
l Parametric Model
In the Parametric Model page, all the parametric parameters are listed. When a parameter is
selected as uncertainty entry, it does not need to be free (it can remain frozen) because it is
changed during the process according to the imposed uncertainty defined into the Uncertainty
Definition page.
l Mesh Generation
It is suggested to use the same mesh template as the one used for the deterministic computation
in FINE™/Turbo. If the mesh is sufficiently fine to have no influence on the CFD result, the
used mesh template would not be important. However, in general there is some mesh
dependency and the use of a different mesh template could introduce inconsistency between
the deterministic computation and the non deterministic computation.
l Simulation Settings
The UQ module is using the 3D Associated Computation. All the solver inputs are taken from
the linked FINE™/Turbo computation (deterministic computation).
l Post Processing
The user may select some post processing quantities in the Post Processing page and check
the results in the Simulation Results page after launching the computation. However, these
selected quantities will not be used in the non deterministic post processing.
6.3
UNCERTAINTY SETTINGS
Uncertainty Selection
In the Uncertainty Selection page, two tabs are available: the tab Geometrical lists all
available parameters for geometrical uncertainty and the tab Operational lists all available
parameters for operational uncertainty. A button uncertainty appears at the right side of each
parameter. Checking the uncertainty button will select the corresponding parameter as
uncertainty entry. The user may select only geometrical uncertainties or only operational
uncertainties or both of them.
At least, one uncertainty should be selected.
Uncertainty Definition
After selecting the uncertainties in the Uncertainty Selection page, all selected uncertainties will
appear in the Uncertainty Definition page under the corresponding tab.
Before setting the uncertainty entries, the Cubature rule should be defined first. The cubature
rule corresponds to a multi-dimensional version of a quadrature rule, which controls how the
collocation points are calculated. The uncertainty propagation method used here being the Non-
Intrusive Probabilistic Collocation Method (Loeven, 2010), the collocation points are selected by
means of the Golub-Welsch algorithm (introduced by Golub and Welsch in 1968) for quadrature
of general probability density function (PDF) shapes. In order to combine several simultaneous
uncertainties the quadrature must be brought to the multi-dimensional case. Several strategies are
available in FINE™/Design3D via the cubature rule.
l Full tensorization : computing the tensor product of the maximal quadrature of each
uncertainty.
l Sparse grid: associating different tensor product based on different quadrature levels. The
number of points per uncertainty as a function of the level can have a:
l Linear growth rate: The number of points is equal to '
l Exponential growth rate:The number of points is equal to '
'.
'.
For more theory of the cubature rule, please see Uncertainty Quantification. In general, the sparse
grid is more efficient than the full tensorization for high number of uncertainties. the following
table gives an overview of the number of collocation points in a given level and dimension, where
all uncertainty entries have a Gauss distribution. From the table, if a given accuracy (for example
7 points per direction) is requested, the sparse exponential growth requires the lowest number of
points (red highlighted columns).
In the Uncertainty Definition page, both Geometrical and Operational tabs display three major
frames. The left frame lists all the selected uncertainties. The middle frame lists all the parameters
for the selected uncertainty entry. The user has to set the parameters for each uncertainty entry.
The Level is used to control the accuracy of the uncertainty quantification. The number of
collocation points depends on the used level and the cubature rule:
l For Full tensorization, the number of points for 1D quadrature is (Level+2). The total number
of points is the product of the number of points for 1-D quadrature of each uncertainty.
l For Sparse linear growth, the number of points for 1D quadrature is (2*Level+1).
l For Sparse exponential growth, the number of points for 1D quadrature is (
).
If the mean and variance are needed for any output quantity a level 1 produces sufficient accuracy. If
the skewness and kurtosis (For example the output PDF reconstruction) are needed a level 2 is
recommended.
Then the user should select the uncertainty type and set the corresponding parameters. Four
uncertainty types are available:
l Gauss: the Gaussian distribution is used to compute the collocation points.
l In case that the uncertainty entry is a constant, two parameters need to be specified, one is
the mean of the distribution (Average Value) and one is the Variance.
l In case that the uncertainty entry is a profile, only one parameter, Variance, needs to be
specified. For each point of the profile, the variance is common while the mean of the
distribution (Average Value) is set to the value of the point.
l Truncated Gauss: the truncated Gaussian distribution is used to compute the collocation
points.
l In case that the uncertainty entry is a constant, two parameters need to be specified, one is
the mean of the distribution (Average Value) and one is the Variance.
l In case that the uncertainty entry is a profile, only one parameter, Variance, needs to be
specified. For each point of the profile, the variance is common while the mean of the
distribution (Average Value) is set to the value of the point.
l Beta: the Beta distribution is used to compute the collocation points. Three parameters need to
be specified, the Minimum Value, the Maximum Value and the Most Likely Value.
l In case that the uncertainty entry is a constant, three parameters need to be specified, the
Minimum Value, the Maximum Value and the Most Likely Value.
l In case that the uncertainty entry is a profile, only two parameters need to be specified, the
Minimum Value and the Maximum Value. The Minimum Value and the Maximum Value
must be defined relative to a Most Likely Value of 0. For each point of the profile, the
Minimum Value, the Maximum Value and the Most Likely Value will be shifted based on
the value of the point.
l User defined: the user inputs a probability density function (PDF), which is used to compute
the collocation points. The format of the probability density function file can be found into the
FINE™/Turbo User Guide (User defined PDF).
l In case that the uncertainty entry is a constant, the imported PDF is directly used to
compute the collocation points.
l In case that the uncertainty entry is a profile, the imported PDF must be defined relative to a
reference value of zero. Then, for each point of the profile, the PDF will be shifted based
on the value of the point. The shifted PDF is used to compute the collocation points of the
point of the profile.
The specified uncertainty probability density function will be plotted at the right side of the page.
The user can export the probability density function into a file by using the button export PDF.
At the bottom of the page, a bar named as Collocation Points shows the number of the
collocation points that will be created, which corresponds to the number of simulations that need
to be run.
6.4
SOLUTION MONITOR - UNCERTAINTIES
MONITOR
The Solution Monitor/Simulation Results page allows to check the numerical results selected in
the Post Processing page of all collocation points, see Simulation Results for more details.
The Solution Monitor/Simulation Images page allows to check the image results selected in the
Post Processing page of all collocation points, see Simulation Images for more details.
The Uncertainties Monitor/Non Deterministic Results page allows to access the results of the
non deterministic computation. The page is shown below.
At the left frame of the upper part, all available quantities are listed. The user can choose the
quantities and add them to the right frame. The option Selection Filter is used to select multiple
quantities at once by using their common string or select all quantities by using the wildcard '*'.
At the right frame, for all selected quantities, FINE™/Design3D will show their Value from the
deterministic computation, their Mean Value, Variance, Skewness and Kurtosis from the non
deterministic computation. In case that part of the computations are re-run, the button Recompute
can be used to refresh the non deterministic results. When selecting a quantity from the list of
selected quantities, an estimation of its probability density function (PDF) is shown in the right-
bottom frame. This PDF is reconstructed by using the first four moments of the selected quantity.
The user can export the probability density function into a file by using the button export PDF.
In order to get a good PDF reconstruction, a minimum level of 2 is recommended.
Only some type of distributions (Pearson distribution type I to VII) can be adequately reconstructed.
In other cases, the reconstructed PDF will be an approximation based on the first four moments.
In some cases, the reconstruction based on the first four moments may fail.
At the left frame of the lower part, the .mf file of the deterministic computation is shown.
The deterministic results are taken from the computation created/ launched in FINE™/Turbo, which is
linked to the non deterministic computation in FINE™/Design3D.
CHAPTER 7.
TASK MANAGER
Using the Process menu in FINE™/Design3D, computations can be started or stopped. For basic task
management these menu items are sufficient.
The Task Manager provides more advanced features for the management of (multiple) tasks. Especially,
it allows to launch a database generation in parallel (generate multiple samples at the same time). It
also allows to launch multiple database generations at the same time.
Before using the Task Manager for the first time it is important to read the next section first. This
section provides important information for getting started with the Task Manager. Read this section
carefully to fully benefit of the capabilities of the Task Manager.
From FINE™/Design3D, the Task Manager can be accessed through the Modules/Task Manager
menu item.
In this section
7.1 Getting Started
7.2 The Task Manager Interface
7.3 Task Management in Batch
7.4 Limitations
246
251
259
259
7.1
GETTING STARTED
PVM Daemons
The Task Manager is based on the PVM library. It allows FINE™/Design3D to control processes
and communication between processes on all the machines available by the user. PVM works
with a virtual machine managed through a pvm daemon. In this section the way PVM daemons
are working and its limitations under Windows are described.
What PVM Daemons Do
If a user starts the FINE™/Design3D interface on a given computer where no PVM daemon is
running, FINE™/Design3D will start the process pvmd on this machine that becomes the virtual
machine server for the user. When adding a host in the Task Manager (on the Hosts definition
page) a pvmd is started on the remote computer that is added to the virtual machine. If after that
the user logs on the second computer and starts the FINE™/Design3D interface this second
computer belongs also to the virtual machine whose server is the first pvmd started.
If after that the user logs on a third computer on which no pvmd is running and starts the
FINE™/Design3D interface, FINE™/Design3D will start a pvmd that becomes the server of a
new virtual machine. When trying to add a host belonging the first virtual machine (containing the
two first computers), a warning message will be shown that it is not possible to connect to the
virtual machine because a pvmd is already running.
If the user wants to have the three computers in the same virtual machine, one of the virtual
machines must be shut down (on the Hosts definition page) and add the corresponding
computers from the second one.
Limitation under Windows
On windows only one pvmd can run and hence, only one single user can connect to the virtual
machine. If another user wants to use the NUMECA software on the PC as server or as client, the
first one needs to shut down the pvm daemons on this machine. To shut down go to the Hosts
definition page and click on Shutdown button. This will close the interface and it will remove all
the pvm daemons on the machine. Remove the files pvml.<userID> and pvmd.<userID> from the
directory defined by the PVM_TMP (by default C:\tmp).
Multiple FINE™/Design3D Sessions
During a FINE™/Design3D session all the tasks defined by the user are stored in the tasks file in
the NUMECA tmp directory. This is the .numeca/tmp directory in the home directory of the user.
On Linux the home directory corresponds to the HOME environment variable. This is also true
on Windows if this variable is defined and, if it is not the case, it is set to the concatenation of
HOMEDRIVE and HOMEPATH environment variables.
When FINE™/Design3D is started more than once at the same time, a warning indicates to the
user that FINE™/Design3D is already running and can enter in conflicts with the other
FINE™/Design3D sessions. The user can define tasks in both interfaces but the task definitions
saved when exiting FINE™/Design3D will be overwritten by the other sessions. Therefore, it is
not advised to open multiple FINE™/Design3D sessions when the Task Manager is used.
Machine Connections
The Task Manager allows the user to control processes on all the machines connected to the
network. The rsh command is used by the PVM library to access the machines. Before using the
Task Manager, the following actions must be done:
1. On Windows platforms the Numeca RSH Daemon has to be started. The user is referred to the
installation note for more details.
2. Modify the .rhosts file in the home directory (on Linux) or the rhosts.txt file in C:\WINDOWS
(on Windows) in all the machines which can be used by the Task Manager. i.e.: if the
machines machine1 and machine2 will be used by the users tasks from machine_master, the
file in machine1 and machine2 must be modified as follows:
line1: machine_master <login1>
where machine_master is the host name. login1 is optional. If the login on machine_master is
different from login1, the user in machine_master will be asked to supply a password when
connecting to machine1 and machine2.
The rhosts file needs to be ended by a blank line.
The file permission must be set to 'rw' (on Linux: chmod 600 ~/.rhosts).
3. Test the rsh command on the desired machine: an external check that the .rhosts file is set
correctly is to enter the following command line:
% rsh remote_host ls <Enter> when the remote host is Linux or rsh remote_host dir <Enter>
when the remote host is on Windows.
where remote_host is the name of the machine to connect to. If the login on the remote host is
not the same, ensure that the .rhosts file contains the line:
remote_host local_login
and in this case the command line is:
% rsh remote_host -l local_login ls when the remote host is Linux or rsh remote_host -l local_
login dir <Enter> when the remote host is on Windows.
If the rhosts file is set up correctly, a listing of the files is shown on the remote host.
On Windows,
DIRECTORY>/fine#/bin/
the
rsh.exe
executable
is
located
in < NUMECA_ INSTALLATION_
The ssh command can be used instead of the rsh command on Linux. To use this command, the
user has to define an environment variable NI_RSHCMD in the shell before starting FINE by
typing the following:
l for csh or tcsh:
setenv NI_RSHCMD ssh
l for bash or ksh:
export NI_RSHCMD = ssh
Of course the settings of the NI_ RSHCMD can be added to the ".cshrc", ".tcshrc",
".bashrc" or ".profile" file of the user.
Due to a limitation of the PVM library, FINE™/Design3D can not be connected to a machine where
FINE™/Design3D has already been started. When PVM tries to establish the connection, it detects
that a server FINE™/Design3D is already running and/or pvm daemons are still running and finally
refuses the connection with a warning. To solve this problem, the PVM daemons must be stopped on
the machine on which FINE™/Design3D must be connected:
1. Log on the machine where the connection must be established.
2. Start FINE™/Design3D and open the Task Manager through Modules/Task Manager and
use the button Shutdown of the page Hosts definition. The button Shutdown can be used to
switch off all the PVM daemons of all the machines connected to FINE™/Turbo. This action
will stop all the daemons on all the machines connected, kill all the tasks and finally exit
FINE™/Design3D.
3. On Linux: remove all the /tmp/pvmd.<userID> and /tmp/pvml.<userID> files. On Windows
these files should be removed from the directory defined by PVM_ TMP (by default this
directory is C:\tmp).
4. Repeat this operation for all the machines on which the problems appear.
script
located
cleanpvmd
INSTALLATION_
The
DIRECTORY>/fine#/COMMON/, provided with the NUMECA software, will automatically
perform steps 2 and 3 on all machines listed in the .rhosts file. This script is only available for
Linux platforms. Performing the script cleanpvmd will kill all the PVM daemons on every
computer in the .rhosts file. This means that it will also kill the running computation that are
connected to these PVM daemons.
< NUMECA_
in
If PVM still has a problem to get the connection, it will print an error message either to the
screen, or in the log file /tmp/pvml.<userID> (on Linux) or in the directory defined by the
environment variable PVM_TMP (by default C:\tmp) in the log file called: pvml.<userID>.
Please send this log file to our local support office.
All these operations apply to the users daemons and users files. Multiple users can use the Task
Manager simultaneously. No interaction appears between PVM daemons and PVM log files of
different users.
On Windows, when the user stops the pvmd on a remote host (using Remove Host button on the
Hosts definition page) and immediately tries to restart it (using the Add Host ... button), a
message will appear stating that it is not possible to connect. This problem does not occur in
general since there is no need to remove a host and add it immediately after. When it occurs the
only solution is to wait until the host is available again (after 5 to 10 minutes). More details are
available in the installation note.
From time to time, when a user tries to connect on a remote host, an error message can appear
very briefly: "Can not connect to RSH Port!!!" This may happen on Windows connecting to a
host, disconnecting, and trying to reconnect again to the same host. There is a socket release time
parameter which keeps the connection for some time.
Remote Copy Features on Linux
All the tasks defined by the user are associated with files used or created by the NUMECA's
software. When the files are not visible from the machine on which the task must be launched (i.e.
the files are on the local disk of the host where FINE™/Design3D is running), the user can use
the remote copy feature proposed in the Task Manager. All the files needed by the tasks will be
transferred into a directory (specified by the user) of the remote machine and at the end all the
created or modified files are transferred back to the host machine from which the task has been
launched. By default, the available remote directories are "/tmp". The user can also specify any
other directory, as long as it is visible from the remote host and has writing permissions. This
feature uses the rcp Linux command. Before using the remote copy feature, it is advised to first
check if the rcp command works correctly between the machines:
l First try the rsh command .
l Type the command: touch test;rcp -p -r test destination_machine:/tmp/test. If no error is
returned by the system, the remote copy works between the local host and the destination_
machine. Errors may appear if the .cshrc file contains an stty command. In order to be able to
use the remote copy feature, remove all the stty commands from the .cshrc file.
l If the login on the local host is different from the login on the remote host, type the command:
touch test;rcp -p -r test remote_login@destination_machine:/tmp/test.
Remote Copy Features on Windows
As files located on the local disk are not visible from a Linux machine, this feature is proposed to
be able to launch tasks on remote Linux platforms. The principle is the same as the one described
in the previous section: local files are copied in the remote directory specified by the user, then the
task starts. When it terminates, all results files are transferred in the original directory. This feature
uses the rcp.exe Windows command. Before using the remote copy feature, it is advised to first
check if this command works properly:
l First try the rsh.exe command .
l Create a file test, then type the command: rcp -b test destination_machine:/tmp/test. If no
error is returned by the system, the remote copy works between the local host and the
destination_machine. Errors may appear if the .cshrc file contains an stty command. In order to
be able to use the remote copy feature, remove all the stty commands from the .cshrc file.
l If the login on Windows is different from the login on the remote host, type the command: rcp
-b test destination_machine.remote_login:/tmp/test
rcp.exe is provided with FINE™/Turbo & FINE™/Design3D and is located in the same directory as
rsh.exe.
7.2
THE TASK MANAGER INTERFACE
The Task Manager subpanel is composed of the following pages:
7.2.1
Hosts Definition
The Hosts definition page shows the host name, the operating system, the connection status and
the queuing system supported by FINE™/Design3D if any. For an explanation of the virtual
machine see FIGURE 7.1. If the connection is not OK, it means that the corresponding computer
is not in the virtual machine anymore. This may occur for example if the computer has been
rebooted.
FIGURE 7.1
Hosts definition page
Add Host
When the user clicks on the Add Host... button, the interface asks for a host name and a login
name. The login name is optional. It is needed only if the login of the user on the local and remote
host are different.
When the user accepts (Accept), the host name appears in the host list, with type of operating
system and its connection status. At this point, the host is in the virtual machine, and is ready to
receive a task.
FIGURE 7.2
Add a Host
If the connection can not be established, check for more details in Getting Started and Machine
Connections.
It is impossible to add a host on Fedora 3 and Windows Vista operating systems.
Remove Host
When the user clicks on the Remove Host button, the selected host is removed from the list, and is
not in the virtual machine anymore. This operation is not allowed when a task is running on the
host, to be removed, or when the selected host is the local one.
Shutdown
When the user clicks on the Shutdown button, all hosts in the virtual machine are removed.
FINE™/Design3D exits and the virtual machine halts. All running tasks are killed. This option is
useful when the user wants to change the machine on which FINE™/Design3D is running.
7.2.2
Tasks Definition
A task is a collection of subtasks, where a subtask is one of the programs with its arguments
(".run" file for the FINE™/Design3D solver). The different subtasks of a given task can be run
simultaneously if the output of one subtask is not needed by other ones.
Task List
In this section, the user can visualize the defined tasks and their status. To create a task, just click
on New Task button. The defaults task name can be modified by clicking on Rename Task button.
The selected task can be removed by clicking on Remove Task button.
FIGURE 7.3
Task List with Delay window to start a task at a later moment
After a subtask is defined, the Save button can be used to save all necessary files to start a parallel
computation in batch mode. When a queuing system is used, a set of default templates is available
in order to submit the job to the queue.
Once a task is created and defined, it can be started or killed just by clicking respectively on the
Start or Kill button.
The user can delay the start of a computation by clicking on Delay button. A dialog box will
appear where the user can set a task that will be launched at the specified date and time or after
another specified task has finished. After the user clicks on the button Apply, a little watch in the
task list indicates that the task is scheduled. The delayed task can be disabled using the button
Cancel.
When setting a task that will be launched after another specified task has finished, the reference task
should not be a computation launch from the FINE™/Design3D GUI. Otherwise the delayed task will
not start.
Task Definition
In this section the subtasks of the selected task are listed. A subtask is defined by its type
( euranusTurbo for the FINE™/Turbo solver, autogri d for AutoGrid™ 5, cfview for
CFView™ or design3d for FINE™/Design3D), its status and the host on which they are
launched. To add a FINE™/Design3D subtask, click on the New button in Task Definition area.
Select the executable type design3d and the host on which the process should be started (master
host), from the two available lists. The host name list contains the hosts that are in the virtual
machine. They are set in the Host definition page.
Subtask Arguments
Definition of Input
Once a FINE™/Design3D subtask is created,
files must be defined. The
FINE™/Design3D solver require one argument file: the name of the ".run" file. This files is
created using the menu File/Save Run Files in the FINE™/Design3D GUI.
the input
Simultaneous or Sequential Mode
Moreover, a process can be executed simultaneously with the other subtasks (by selecting Run
Simultaneously with Previous Subtask ) or sequentially (by selecting Run After Previous
Subtask). In sequential mode, the process waits until the previous subtask is finished before
starting the next one. Only a certain amount of tasks can be performed at the same time depending
on the available licenses.
Remote Copy
The Remote copy to option allows the user to specify that the files are not visible from the remote
machine and must be transferred.
Design3D Parallel Settings
In the Task Manager interface, when clicking on button Design3D parallel settings (after
selecting the ".run" file), the user will find all machine configuration he specified in his Design3D
".run" file.
l In case of Screening, the Design3D parallel settings window is shown as FIGURE 7.4. The
user selects the processors on which computations will be run. The master processor will
generate geometries. The specified Design3D processors will launch mesh generator, solver
and post processing.
FIGURE 7.4
Design3D parallel settings of Screening
l In case of Database Generation, the Design3D parallel settings window is shown as FIGURE
three additional dialog boxes are
7.5 . Compared to the parallel settings for Screening,
available:
l The Number of geometry to launch in parallel specifies how many geometries will be
launched simultaneously.
l The Active processor configuration permits to scroll the machine configuration of each
geometry.
l The user can select on which processor (Design3D process) the database generation will
be run. The Design3D processor generates geometries and sends values of free parameters
to other slave processors which launch mesh generator, solver and post processing .
Then, once the computation is finished, the slave processors send values of parameters and
of quantities to the Design3D process which writes them into the database.
FIGURE 7.5
Design3D parallel settings of database generation
l In case of optimization, the Design3D parallel settings window is the same as shown in
FIGURE 7.5 for database generation.
Message Window
When a task is started, a Task Manager process is launched to take care about the task
management: process communication, automatic launching of the sequential and parallel subtasks.
A message window linked to the Task Manager is opened. In this window the user can follow the
evolution of the status of all the subtasks of the current task.
At the bottom of the Task Manager window a Refresh Rate can be chosen. This rate determines
how frequently the Task Manager window is updated. A higher refresh rate will update the
information in the window more frequently but will use more of the available CPU.
FIGURE 7.6
Task Manager information window
If the user quits FINE™/Design3D, all the message windows will stay open and the tasks will
continue. Closing the message window will immediately kill all the subtasks of the corresponding
task.
7.3
TASK MANAGEMENT IN BATCH
Launch FINE™/Design3D in batch mode
launching the
FINE™/Design3D can be
from
FINE™/Design3D solver, a .run fine must be saved. This can be done either
FINE™/Design3D GUI by using the menu File/Save Run Files, or with the following command
lines:
launched by command in shell. Before
l on Linux: design3d -niversion <version> -project <pathtoproject>/project_name.iec -index
computation_index
l on Windows: <NUMECA_ INSTALLATION_ DIRECTORY>\fine\bin64\design3dx86_
64.exe -project <pathtoproject.iec> -index computation_index
In order to launch FINE™/Design3D, the following command should be executed:
1. On Linux platforms:
design3d# -run <run_path>/project.run -print <Enter>
where # is the version number to be used. A .run file must be specified.
2. On Windows platforms:
<NUMECA_ INSTALLATION_ DIRECTORY>\fine#\bin64\design3dx86_ 64.exe
- run
<run_path>\project.run -print <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the installation directory chosen
by the user and # is the number corresponding to the version to be used.
7.4
LIMITATIONS
l The task manager have some limitations due to the current PVM and MPI libraries:
l The remote copy works only if there is enough disk space on the remote machine. Currently,
no check is performed to identify the available disk space and the flow solver crashes with
"undefined reason".
l Parallel computation with distributed memory are only available on homogenous
Linux/Windows platforms.
l The directory installing FINE™/Turbo & FINE™/Design3D must be the same in order to be
able to run distributed memory parallel computation with OpenMPI.
CHAPTER 8.
CFVIEW™ MODULES
8.1
THE F3D_MACRO MODULE
Some pre-defined macros use common functions grouped in the CFView™ module named "f3d_
macro". In this module, some useful functions are defined and can be called in a user-defined
macro. In this module, the functions as described in the next paragraphs are defined.
Get_Inlet() & Get_Outlet()
This function selects the inlet or outlet patches.
ComputeSurface(Group)Quantity()
Let Q be a quantity, this family of functions returns the weighted (by a scalar quantity named
.
"weight") surface flux of the quantity on the active surface or surfaces group
Functions are defined for the following quantities: mass flow (MassFlow), mass averaged density
(RhoRho), mass averaged total pressure (RhoPt), mass averaged static pressure (RhoPs), mass
averaged total temperature (RhoTt), mass averaged static temperature (RhoTs), mass averaged
axial velocity (RhoVz), mass averaged tangential velocity (RhoVt), mass averaged radial velocity
(RhoVr).
For example:
Get_Inlet() ; ComputeSurfaceGroupMassFlow()
will select the inlet patches and compute the mass flow through these surfaces.
Turbomachinery Efficiency
Different definitions for the efficiency are available in this module. The user may call them with
the following functions:
-compressorIsentropicEfficiencyStatic2Static(gamma)
-compressorIsentropicEfficiencyTot2Static(gamma)
-compressorIsentropicEfficiencyTot2Tot(gamma)
-compressorPolytropicEfficiencyStatic2Static(gamma)
-compressorPolytropicEfficiencyTot2Static(gamma)
-compressorPolytropicEfficiencyTot2Tot(gamma)
-compressorEfficiency_Entropy(gamma)
-pumpIncompressibleTotal(rho, omega, torque, mass_flow)
-pumpIncompressibleStatic(rho, omega, torque, mass_flow)
gamma stands for the ratio of specific heats, rho stands for the density, omega stands for the
rotation speed. For a turbine, the user has to change the word compressor or pump in the above
function names into turbine. For the non rotating compressible turbine case, the user can also
access to the function turbineEnthalpyLossCoefficient(gamma). The arguments can be found in
the ".run" file using the function described in the next paragraph. These quantities are computed
by CFView™.
Read ".run" file (search_Quantity(file.run))
Some functions reading the ".run" file are defined in this module. The user can get the rotation
speed (OMEGA), the perfect gas constant (UNIGAS), the density of the fluid (RHO) and the
heat transfer coefficient (GAMMA).
For example:
search_GAMMA(project.run)
will return the value of the heat transfer coefficient used in project.run.
Read ".mf" file (search_Quantity(file.mf))
Some functions reading the ".mf" file are defined in this module. The user can get the mass flow
(Mass_Flow), the torque (Torque), the static pressure rise (STA_PRES_RISE) or ratio (STA_
PRES_RATIO) and the absolute total pressure rise (TOT_PRES_RISE) or ratio (TOT_PRES_
RATIO), depending on if it is an incompressible or compressible case.
For example: search_Mass_Flow(project.run)
will return the value of the outlet mass flow.
The argument of the function is a ".run" project. The conversion to a ".mf" file is done in the
function.
Miscellaneous Functions
string get_string(string,i), float get_float(string, i), integer get_integer(string,i)
These functions could be used to read a file. They read the ith word in the string and return its
value (string, float or integer).
For example, the following program opens a file, reads each line until the first word is "Mass_
flow" and returns the value of the mass flow:
word=' '
f=open(Results_file)
while get_string(word,1)!='Mass_flow' :
word=f.readline()
value=get_float(word,2)
return value
8.2
FILE FORMAT
User-Defined Macro File (Example)
The core of the user-defined macro file may contain any operations that can be performed by the
post-processor. However, the first and last lines must respect some format and must contain
specific data to ensure a correct behavior of that macro when called from FINE™/Design3D.
Firstly, the head of the macro should use the following format:
l The first line contains: project_file = './project.run'. This variable will be used to read data in
the ".run" file or in the ".mf" file. It is set automatically by FINE™/Design3D. project is the
name of the project.
l The second line contains: data_ filename = 'full_ path_ name '. It is set automatically by
FINE™/Design3D.
l The third line contains: solution_file = 'type'. It is the type of solution used by CFView™.
Type should be 3D or MERIDIONAL.
l The fourth line contains: quantity_name = 'Quantity_Name'. It is the name of the quantity
used by FINE™/Design3D. The name should not contain any space.
l The fifth line contains: entry_type = 'type'. It is the type of the solution, it could be SCALAR
or 1D_PROFIL. For this version only SCALAR quantities are available.
If the user wants to use some functions of the f3d_module, the macro has to import it using the
command from f3d_macro import * and use the function with the appropriate arguments.
After defining the core of the macro, the macro has to generate a data file that follows the
specified format in the next section, and leaves the post-processor using the command Quit() for
CFView™ macros.
TABLE 8.1 presents an example of a CFView™ macro file.
Syntax in expressions is very important so do not forget spaces between arguments and equality
symbol (project file name, data file name, solution file name, quantity name and entry type name).
Leaving the post-processor is crucial. If the post-processor is not closed, it will wait for further user
interaction instead of continuing with the next processing tasks in the design process.
TABLE 8.1 Macro file for CFView™
project_file = './project.run'
data_filename = '/home/user/macro.dat'
solution_file = '3D'
quantity_name = 'MASS_FLOW'
entry_type = 'SCALAR'
#import function from the f3d_module
from f3d_module import *
results = search_Mass_Flow(project_file)
f = open (data_filename, 'w', 0)
f.write ('PARAMETER \n')
s = 'NAME %s\n' %(quantity_name)
f.write(s)
s = 'TYPE %s\n' %(entry_type)
f.write(s)
s = 'VALUE %12.6f\n' %(results)
f.write(s)
f.close()
#quit the post processor
Quit()
Data File From Macro Files
The data file created by the macro file must respect the following format:
l The first line only contains the keyword: PARAMETER.
l The second line begins with the keyword: NAME followed by the quantity name associated
with this macro file.
l The third line begins with the keyword: TYPE followed by the keyword SCALAR meaning
that this file contains only one real value.
l The fourth line begins with the keyword: VALUE followed by the real value of this quantity.
TABLE 8.2 presents an example of such a data file:
TABLE 8.2 Data file format for post-processor macro output
PARAMETER
NAME EFFICIENCY
TYPE SCALAR
VALUE 0.931923
CHAPTER 9.
TASKFILE FORMAT
The Processor Management page allows the user to launch Screening, Database Generation
and Optimization. The user select one or several computers, which have been added into the
Task Manager, and he can import a taskfile file as presented below and Design3D will replace the
names of computers by the one that the user has selected.
NAME task 7
EXECUTABLE taskManager
HOSTNAME hamilton
REMOTETMPDIR /tmp
REMOTELOGIN
CHILDRENID 262898
STATUS 2
STARTING_DATE -1
ENDING_DATE -1
WAITING_task 1
INTEGER_SIZE 1000000
REAL_SIZE 1000000
NI_BEGIN process_arguments
NI_BEGIN process_argument
TYPE -task
VALUE /home/user/.numeca/tmp//taskfile6
NI_END process_argument
NI_BEGIN process_argument
TYPE -niversion
VALUE _devel_branch
NI_END process_argument
NI_BEGIN process_argument
TYPE -parendId
VALUE 262893
NI_END process_argument
NI_END process_arguments
NI_BEGIN load_balancing
PARALLEL 0
PROCESS_NAME 0
NB_SGE_PROCESSOR 1
SGE_ACTIVATED 0
AUTOMATIC_LOAD_BALANCING_ACTIVATED 1
SGE_PE Undefined
BLOCK_ID 0
NI_END load_balancing
TEMPORARY 0
NI_BEGIN subtask
NAME Flow
EXECUTABLE euranusTurbo
HOSTNAME hamilton
REMOTETMPDIR /tmp
REMOTELOGIN user
STATUS 5
STARTING_DATE -1
ENDING_DATE -1
WAITING_task 1
INTEGER_SIZE 1000000
REAL_SIZE 1000000
NI_BEGIN process_arguments
NI_BEGIN process_argument
TYPE none
VALUE /home/user/test_cases/test_70_3/runner_casetrk/runner_casetrk_MNN/_trk/_
flow/computation_2/computation_2.run
NI_END process_argument
NI_BEGIN process_argument
TYPE -taskmanager
VALUE none
NI_END process_argument
NI_BEGIN process_argument
TYPE -steering
VALUE /home/user/test_cases/test_70_3/runner_casetrk/runner_casetrk_MNN/_trk/_
flow/computation_2/computation_2.steering
NI_END process_argument
NI_BEGIN process_argument
TYPE -niversion
VALUE _devel_branch
NI_END process_argument
NI_END process_arguments
NI_BEGIN load_balancing
PARALLEL 1
PROCESS_NAME 2 hamilton ampere
NB_SGE_PROCESSOR 1
SGE_ACTIVATED 0
AUTOMATIC_LOAD_BALANCING_ACTIVATED 1
SGE_PE test_user
BLOCK_ID 10 0 0 0 0 0 0 0 1 1 0
DESIGN_GENERATION 2
hamilton ampere
MESH_GENERATION 2
hamilton ampere
FLOW_SOLVER_GENERATION 2
1 hamilton
1 ampere
POST_TREATMENT_GENERATION 2
1 hamilton
1 ampere
NI_END load_balancing
NI_END subtask
CHAPTER 10.
MULTISTAGE SCRIPT
In FINE™/Design3D, the user can optimize multiple blade rows at the same time through script.
The approach in FINE™/Design3D is to define parameter links between the current modelled
blade and the other blades. The parameters of the current blade will be managed by
FINE™/Design3D. The parameters in the other blade models will be updated according to the
links. Then, the other blade geometries are updated by running AutoBlade™ in batch mode.
Here is an example of a multistage script running on both Linux and Windows. In this example,
three rows are optimized at the same time. The rotor is managed by FINE™/Design3D. The
stator1 and stator2 are managed by the script. In both stators, the camber gamma (S#_CAMBER_
GAMMA) and beta (S#_CAMBER_BETA#) angle parameters are used for optimization. The
script does the following actions:
l Create a mapping between the master (in this case, rotor) and slave (in this case, stator1 and
stator2) parametric files.
l Assemble the three separate meshes in IGG™ and sets the appropriate boundary conditions
and names automatically.
l Run Autoblade™ for the slave rows in order to create the geometry.
igg_script_version(1)
######################################################################
#
# Import python modules
#
######################################################################
import os # manipulate files/dir
import sys # System info
import string # manipulate strings
import shutil # copy/move/delete files & dirs
import re # regular expressions
import time # sleep
import subprocess # Subprocess / external calls
######################################################################
#
# Special variables used by Design3D parser
#
######################################################################
#BEGIN D3D_MULTISTAGE_PRIVATE
D3D_MULTISTAGE_BLOCK_NAME = dict() # do not change
######################################################################
#
# Startup
#
######################################################################
print "======================================="
print "Multistage script"
print "======================================="
# Detects platform
platform = "unkown"
if sys.platform.startswith('win'): # 'win32'
platform = "windows"
elif sys.platform.startswith('linux'): # 'linux2'
platform = "linux"
print "[info] host os is " + platform
# Check arguments for version number or set default version
software_version = "unknown"
isnext = 0
for arg in sys.argv:
if isnext:
software_version = arg
isnext = 0
elif arg == "-niversion":
isnext = 1
if software_version != "unknown":
print "version detected = '" + str(software_version) + "'"
else:
software_version = "relgm"
print " [warning] no version flag detected - using default hard coded version '" + str
(software_version) + "'"
success = 1
#END D3D_MULTISTAGE_PRIVATE
######################################################################
# #
# USER DATA (CAN/SHOULD BE MODIFIED) #
# #
######################################################################
# Special variable to tell Design3D which software to launch
# Use 'IGG' for pure igg commands, 'AUTOGRID5' otherwise
# Default is igg if not present
D3D_MULTISTAGE_MESHER = "AUTOGRID5"
# Add an entry to special D3D_MULTISTAGE_BLOCK dictionary for each
# mesh to manage:
# - key: name/prefix (in double quotes, support for spaces)
# - value: full path name (in double quotes, support for spaces)
# but the extension is NOT taken into account
D3D_MULTISTAGE_BLOCK_NAME["stator1"] = "stator1.igg"
D3D_MULTISTAGE_BLOCK_NAME["rotor"] = "rotor.igg"
D3D_MULTISTAGE_BLOCK_NAME["stator2"] = "stator2.igg"
# Default inputs (allows the script to run outside Design3D)
D3D_MULTISTAGE_SLAVE_DIR = "multistage"
D3D_MULTISTAGE_SLAVE_NAMES = ["stator1", "stator2"]
D3D_MULTISTAGE_MASTER_DIR = "multistage"
D3D_MULTISTAGE_MASTER_NAME = "rotor"
D3D_MULTISTAGE_OUTPUT_DIR = "multistage"
D3D_MULTISTAGE_OUTPUT_NAME = "full"
# Directory where fixed files are stored
slave_dir = D3D_MULTISTAGE_SLAVE_DIR
slave_names = D3D_MULTISTAGE_SLAVE_NAMES # is a list
# Directory & name of the master mesh
master_dir = D3D_MULTISTAGE_MASTER_DIR
master_name = D3D_MULTISTAGE_MASTER_NAME
# Directory & name of the mesh
output_dir = D3D_MULTISTAGE_OUTPUT_DIR
output_name = D3D_MULTISTAGE_OUTPUT_NAME
#####################_MULTISTAGE_OUTPUT_NAME
########## correspondance of parameters
# Row 2 (row 1 param -> row 2 param)
rotor_to_stator1 = dict()
#BEGIN D3D_MULTISTAGE_MAPPING
rotor_to_stator1["STATOR_1_P1"] = "S1_CAMBER_GAMMA"
rotor_to_stator1["STATOR_1_P2"] = "S1_CAMBER_BETA1"
rotor_to_stator1["STATOR_1_P3"] = "S1_CAMBER_BETA2"
rotor_to_stator1["STATOR_1_P4"] = "S2_CAMBER_GAMMA"
rotor_to_stator1["STATOR_1_P5"] = "S2_CAMBER_BETA1"
rotor_to_stator1["STATOR_1_P6"] = "S2_CAMBER_BETA2"
#END D3D_MULTISTAGE_MAPPING
# Row 3 (row 1 param -> row 3 param)
rotor_to_stator2 = dict()
#BEGIN D3D_MULTISTAGE_MAPPING
rotor_to_stator2["STATOR_2_P1"] = "S1_CAMBER_GAMMA"
rotor_to_stator2["STATOR_2_P2"] = "S1_CAMBER_BETA1"
rotor_to_stator2["STATOR_2_P3"] = "S1_CAMBER_BETA2"
rotor_to_stator2["STATOR_2_P4"] = "S2_CAMBER_GAMMA"
rotor_to_stator2["STATOR_2_P5"] = "S2_CAMBER_BETA1"
rotor_to_stator2["STATOR_2_P6"] = "S2_CAMBER_BETA2"
#END D3D_MULTISTAGE_MAPPING
#BEGIN D3D_MULTISTAGE_PRIVATE
if platform == "windows":
autoblade_ executable = "C:\\NUMECA_ SOFTWARE\\Fine" + software_ version +
"\\bin\\autoblade "
else:
autoblade_executable = "autoblade -niversion " + software_version + " "
########## optional cleanup
# setting the flag to 1 allows to remove tmp files after use
# in order to save some space (_mesh subdirectory only...)
cleaning_flag = 1
########## python script used to build the multistage mesh defined as a function
def multistage_script_assembly (row1_mesh , row2_mesh , row3_mesh, final_mesh):
a5_tclCommand("switch_to_igg")
rs_id_inlet = "10"
rs_id_outlet = "20"
import_igg_project(row1_mesh)
increment_block=0
for b in range(increment_block,num_of_blocks()):
blockPtr = block(b+1)
for f in range(6):
facePtr = blockPtr.face(f+1)
for p in range(facePtr.num_patches()):
patchPtr = facePtr.patch(p+1)
patch_type = patchPtr.get_type()
patch_name = patchPtr.get_name()
if patch_type == "INL":
new_name = patch_name + "_rotor-stator_id(" + rs_id_inlet + ")"
print "renaming patch '" + patch_name + "' as '" + new_name + "'"
patchPtr.set_name(new_name)
patchPtr.set_type("ROT")
elif patch_type == "OUT":
new_name = patch_name + "_rotor-stator_id(" + rs_id_outlet + ")"
print "renaming patch '" + patch_name + "' as '" + new_name + "'"
patchPtr.set_name(new_name)
patchPtr.set_type("ROT")
increment_block=num_of_blocks()
rs_id_outlet = "10"
import_igg_project(row2_mesh)
print "row2_mesh=",row2_mesh
for b in range(increment_block,num_of_blocks()):
print "b=",b
blockPtr = block(b+1)
for f in range(6):
facePtr = blockPtr.face(f+1)
for p in range(facePtr.num_patches()):
patchPtr = facePtr.patch(p+1)
patch_type = patchPtr.get_type()
patch_name = patchPtr.get_name()
print "patch_type=",patch_type
if patch_type == "OUT":
new_name = patch_name + "_rotor-stator_id(" + rs_id_outlet + ")"
print "renaming patch '" + patch_name + "' as '" + new_name + "'"
patchPtr.set_name(new_name)
patchPtr.set_type("ROT")
increment_block=num_of_blocks()
rs_id_inlet = "20"
import_igg_project(row3_mesh)
for b in range(increment_block,num_of_blocks()):
blockPtr = block(b+1)
for f in range(6):
facePtr = blockPtr.face(f+1)
for p in range(facePtr.num_patches()):
patchPtr = facePtr.patch(p+1)
patch_type = patchPtr.get_type()
patch_name = patchPtr.get_name()
if patch_type == "INL":
new_name = patch_name + "_rotor-stator_id(" + rs_id_inlet + ")"
print "renaming patch '" + patch_name + "' as '" + new_name + "'"
patchPtr.set_name(new_name)
patchPtr.set_type("ROT")
save_project(final_mesh)
######################################################################
#
# Helper functions
#
######################################################################
########## Generate function
def generate_parameters_file (file_name, names_dict, parameters_file):
'''
'''
Retrieves the values for a list of parameters (the values stored in dictionary names_dict)
input file_name : the full path name of the parametric file to read
input names_dict : dictionary of parameters for extraction (input_name -> output_name)
output parameters_file : the full path name of the file containing modified parameters
return : success flag (0/1)
print "[info] retrieving parameters from parametric file '" + file_name + "'"
input_names = names_dict.keys()
nb_params = len(input_names)
if nb_params < 1:
print "generate_parameters_file - error"
print " No parameters to retrieve!"
return values_dict
# parse parametric file
try:
ab_params = dict()
with open(file_name) as f:
is_param_block = False
for line in f:
words = line.split()
if (len(words) == 2):
if (str(words[0]) == "NI_BEGIN") and (str(words[1]) == "PARAMETER"):
is_param_block = True
name = ""
value = ""
elif (str(words[0]) == "NI_END") and (str(words[1]) == "PARAMETER"):
ab_params[name] = value
is_param_block = False
print 'Parameter "{}" found with value {}'.format(name,value)
elif is_param_block == True:
if str(words[0]) == "NAME":
name = str(words[1])
elif str(words[0]) == "VALUE":
value = str(words[1])
except shutil.Error:
print "generate_parameters_file - error"
print " Failed to open parametric file '" + file_name + "'"
return 0
try:
out_file = open (parameters_file,'w',-1)
except shutil.Error:
print "generate_parameters_file - error"
print " Failed to open file '" + parameters_file + "' for writing"
return 0
count = 0
for name in ab_params.keys():
if name in input_names: # matching name
output_name = names_dict[name]
value = ab_params[name] # value field
print '[info] found value', str(value), 'for parameter (' + name + ' -> ' + output_name
+ ')'
line = str(output_name) + "\t" + str(value) + "\n"
out_file.write(line)
count+=1
#####################values_dict[output_name] = value
out_file.close()
if count != nb_params:
print "generate_parameters_file - error"
print " Not all parameters were retrieved!"
print " count=", count
print " nb_params=", nb_params
return 0
return 1
######################################################################
#
# Set the name of different files
#
######################################################################
########## Sample dir (flow/design)
# Go down one level from master dir...
flow_dir = os.path.dirname (master_dir)
print "master_dir = '" + str(master_dir) + "'"
print "flow_dir = '" + str(flow_dir) + "'"
########## Trb files
row1_trb = flow_dir + os.sep + output_name + ".trb"
row2_trb = slave_dir + os.sep + slave_names[0] + ".trb"
row3_trb = slave_dir + os.sep + slave_names[1] + ".trb"
########## Current par file of each row
row1_par = flow_dir + os.sep + output_name + ".par"
row2_par = slave_dir + os.sep + slave_names[0] + ".par"
row3_par = slave_dir + os.sep + slave_names[1] + ".par"
row1_geom = flow_dir + os.sep + output_name + ".geomTurbo"
row2_geom = master_dir + os.sep + slave_names[0] + ".geomTurbo"
row3_geom = master_dir + os.sep + slave_names[1] + ".geomTurbo"
########## AB job files
row2_param = master_dir + os.sep + slave_names[0] + ".param"
row3_param = master_dir + os.sep + slave_names[1] + ".param"
row2_ab_job = master_dir + os.sep + "job_ab_row2"
row3_ab_job = master_dir + os.sep + "job_ab_row3"
########## Mesh file of each row
row2_mesh_path = master_dir + os.sep + slave_names[0]
row3_mesh_path = master_dir + os.sep + slave_names[1]
row1_mesh = master_dir + os.sep + master_name + ".igg"
row2_mesh = row2_mesh_path + ".igg"
row3_mesh = row3_mesh_path + ".igg"
########## Multistage mesh file
mesh_file = output_dir + os.sep + output_name + ".igg"
mesh_report = output_dir + os.sep + output_name + ".qualityReport"
row1_report = master_dir + os.sep + master_name + ".qualityReport"
print "mesh_file = '" + str(mesh_file) + "'"
print "mesh_report = '" + str(mesh_report) + "'"
########## Trb files
if os.access(row2_trb,os.R_OK) == False:
print "[error] Failed to read template file '" + row2_trb + "'"
success = 0
if os.access(row3_trb,os.R_OK) == False:
print "[error] Failed to read template file '" + row3_trb + "'"
success = 0
######################################################################
#
# Geometry generation
#
######################################################################
# Redirection flag/operator for output
if platform == "windows":
redirect1 = " > "
redirect2 = " 2>&1 "
#redirect1 = " -job_design3d "
#redirect2 = ""
else:
redirect1 = " >& "
redirect2 = ""
###### Row 2
if not generate_parameters_file (row1_par, rotor_to_stator1, row2_param):
print "[error] Failed to generate parameters file for row2"
success = 0
else:
ab_cmd = autoblade_executable + " -batch" + " -print" + " -par " + row2_par + " -iparam
" + row2_param + " -ogeom " + row2_geom + redirect1 + row2_ab_job + redirect2
p = subprocess.Popen(ab_cmd, shell=True)
p.wait() # force the script to wait for the end of the process
if os.access(row2_geom,os.R_OK) == False:
print "[error] Failed to update geomety file for row2!"
print " AutoBlade command was '" + ab_cmd + "'"
success = 0
else:
print "---------------------------------------"
print " Replacements in row 2 - done"
print "---------------------------------------"
###### Row 3
if not generate_parameters_file (row1_par, rotor_to_stator2, row3_param):
print "[error] Failed to generate parameters file for row3"
success = 0
else:
ab_cmd = autoblade_executable + " -batch" + " -print" + " -par " + row3_par + " -iparam
" + row3_param + " -ogeom " + row3_geom + redirect1 + row3_ab_job + redirect2
p = subprocess.Popen(ab_cmd, shell=True)
p.wait() # force the script to wait for the end of the process
if os.access(row3_geom,os.R_OK) == False:
print "[error] Failed to update geomety file for row3!"
print " AutoBlade command was '" + ab_cmd + "'"
success = 0
else:
print "---------------------------------------"
print " Replacements in row 3 - done"
print "---------------------------------------"
# Wait for security on remote file systems
time.sleep(1)
######################################################################
#
# Mesh generation
#
######################################################################
if success:
###### Row 2
a5_open_template(row2_trb)
a5_import_and_replace_geometry_file(row2_geom)
select_all()
a5_start_3d_generation()
a5_save_mesh(row2_mesh)
a5_save_project(row2_mesh_path)
time.sleep(1) # wait for safety
if os.access(row2_mesh,os.R_OK) == False:
print "[error] Mesh file '" + row2_mesh + "' for row 2 not present!"
success = 0
else:
print "---------------------------------------"
print " Row 2 processed"
print "---------------------------------------"
###### Row 3
a5_open_template(row3_trb)
a5_import_and_replace_geometry_file(row3_geom)
select_all()
a5_start_3d_generation()
a5_save_mesh(row3_mesh)
a5_save_project(row3_mesh_path)
time.sleep(1) # wait for safety
if os.access(row3_mesh,os.R_OK) == False:
print "[error] Mesh file '" + row3_mesh + "' for row 3 not present!"
success = 0
else:
print "---------------------------------------"
print " Row 3 processed"
print "---------------------------------------"
######################################################################
#
# Multistage mesh generation
#
######################################################################
##### Copy report for row 1 as global report
if success:
multistage_script_assembly (row1_mesh, row2_mesh, row3_mesh, mesh_file)
time.sleep(1) # wait for safety
if os.access(mesh_file,os.R_OK) == False:
print "[error] Final merge failed - mesh file '" + mesh_file + "' cannot be read!"
success = 0
##### Copy report for row 1 as global report
if success:
try:
shutil.copy (row1_report, mesh_report)
except OSError:
print "[error]\tfailed to copy file '" + row1_report + "' '" + mesh_report + "'"
success = 0
if success:
print "---------------------------------------"
print " Mesh has been merged!"
print "---------------------------------------"
######################################################################
#
# Final operations
#
######################################################################
##### Cleanup
if success and cleaning_flag:
for slave in slave_names:
p1 = re.compile(slave)
for filepath in os.listdir (master_dir):
match = 0
if p1.search (filepath):
match = 1
if match:
fullpath = master_dir + os.sep + filepath
try:
os.remove (fullpath)
except OSError:
print "[error]\tfailed to delete file '" + fullpath + "'"
print "Temporary data removed"
print "Multistage script for torque converters -=- end -=-"
#END D3D_MULTISTAGE_PRIVATE
© NUMECA International, all rights reserved
EN201808281628

CONTENTS
TUTORIALS
TUTORIAL 1. AXIAL COMPRESSOR ROTOR37 - INTERNAL MODE
Create new AutoBlade™ project
1.1
Introduction
Prerequisites
Problem Description
Preparation
Introduction
1.1.1
1.1.2
1.1.3
1.1.4
1.2 Blade fitting
1.2.1
1.2.2 Define target model
1.2.3 Define initial model
Pre-fitting
1.2.4
Fitting
1.2.5
Save project
1.2.6
1.3 Screening
1.3.1
1.3.2
1.3.3 Define CFD loop
1.3.4
1.3.5
Create new "SCREENING" computation
Import parametric file
Save project and launch computation
Post processing
1.4 Database Generation
Create new "DATABASE_GENERATION" computation
1.4.1
1.4.2 Define bounds of free parameters
1.4.3
1.4.4
1.4.5
Set database generation parameters
Save project and launch computation in Task Manager
Post processing
1.5 Optimization
1.5.1
1.5.2
1.5.3
1.5.4
1.5.5
Create new "OPTIMIZATION" computation
Check CFD loop
Set optimization parameters
Save project and launch computation
Post processing
TUTORIAL 2. AXIAL COMPRESSOR ROTOR37 - EXTERNAL MODE
2.1
Introduction
2.1.1
2.1.2
2.1.3
2.1.4
Introduction
Prerequisites
Problem Description
Preparation
2.2 Create a new Design3D project
2.3 Screening
2.3.1
Create new "SCREENING" computation
FINE™/Design3D 13.1 Tutorials
11
13
14
17
25
26
27
27
28
31
31
32
32
32
33
34
36
36
37
37
37
39
40
45
45
46
46
47
48
TUTORIALS
The tutorials for FINE™/Design3D as listed below provides detailed step-by-step instructions for the
entire simulation process.
The available tutorials:
"Axial Compressor Rotor37 - Internal mode" (p. 5)
"Axial Compressor Rotor37 - External mode" (p. 45)
Where to Find the Files Used in the Tutorials?
The appropriate files (and any other relevant files used in the tutorials) can be downloaded from
the corresponding link: FINE-Design3D-Tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Inputs required to execute the tutorials are most often restricted to the geometry definition.
The sequence of actions to be executed are described through a step-by-step approach, in the form
of Arabic numbers.
Additional insight about some specific actions and/ or features is frequently added to illustrate the
tutorial further. This information is proposed for the purpose of clarity and completeness, and
should not be executed. It appears as a note with a light blue background.
The calculations executed to illustrate the behavior of the flow solver include a "reasonable"
number of grid points, so as to limit the computational resources required to complete the tutorials.
As a consequence, most of the underlying flow solutions must be considered as qualitative.
Additional mesh refinement may be required in some circumstances so as to obtain a more
quantitative picture.
Contact NUMECA local sales or support office for any question or information you may require. To
allow NUMECA local sales or support office to help you out within the shortest delays, please
provide a detailed description of the observed behavior and performed analysis.
TUTORIAL 1.
AXIAL COMPRESSOR ROTOR37 -
INTERNAL MODE
1.1
INTRODUCTION
1.1.1
Introduction
In order to re-design and optimize existing blades to reach better design goals, NUMECA has
developed a unique integrated environment for the design and optimization of three dimensional
turbomachinery blades. This environment consists of the following components:
l a modern parametric blade modeler for turbomachinery blades, AutoBlade™,
l an automatic coupling between AutoBlade™ and CFD package,
l a very efficient design and optimization environment for turbomachinery blades.
All these components are included into the NUMECA Graphical User-Interface (GUI) FINE™.
This tutorial is particularly adapted to the optimization of a single axial compressor blade. It makes
use of FINE™/Design3D and describes the whole optimization process.
In this tutorial, you will learn how to:
l fit the existing blade geometry to create a parametric blade model;
l make an Autoblade™/Screening computation;
l set up a database generation computation;
l generate a database in parallel mode;
l check database generation results;
l set up an optimization computation;
l start the optimization computation;
l analyze the optimization results.
1.1.2
Prerequisites
This tutorial assumes that you are familiar with the whole FINE™/Turbo chain, so that you can
set up a FINE™/Turbo project correctly. This tutorial will start from an existing FINE™/Turbo
project. Some steps in the setup of a FINE™/Turbo project will not be shown explicitly.
1.1.3
Problem Description
The problem to be considered is shown schematically below (meridional view). The Rotor37 test
project is an isolated axial-flow compressor wheel designed and experimentally analysed at the
National Aeronautics and Space Administration (NASA) Lewis Research Center. In this tutorial,
a simplified Rotor37 geometry with 3 blade sections will be used and optimized.
The Rotor 37 is characterized by the following representative values:
number of blades
inlet hub-to-tip diameter ratio
blade aspect ratio
tip relative inlet Mach number
36
0.7
1.19
1.48
hub relative inlet Mach number
tip solidity
blade airfoil sections
rotational speed (RPM)
total pressure ratio
polytropic efficiency (%)
1.13
1.29
multiple circular arc (MCA)
17188
2.106
88.9
1.1.4
Preparation
l Copy the provided project "Tutorial_1" located in the archive FINE-Design3D-Tutorials to
your working directory.
l Start the NUMECA Graphical User-Interface (GUI) FINE™ v13.1:
l For Linux systems, you can access the FINE™ GUI with the following command line:
fine -niversion 131 -print
l For WINDOWS systems, you can access the FINE™ GUI from the Start menu going to
\Programs\NUMECA software\Fine131\FINE
l Click on the button Open an Existing Project, locate and select the copied project "FINE-
Design3D-Tutorials/Tutorial_1/Tutorial_1.iec".
l Launch the flow solver by clicking on menu Solver/Start... and Start Flow Solver button.
l Click on the menu File/Save to save the project after the computation is finished.
1.2
BLADE FITTING
In this section, the existing Rotor37 blade geometry will be fitted and parametrized. The fitting
process is an optimization process that consists of minimizing the distance between the parametric
model and the target geometry. Several fitting steps may be needed during a blade fitting.
1.2.1
Create new AutoBlade™ project
1. Select the menu Modules/AutoBlade and then click the button OK to start the AutoBlade™
module.
Alternatively, the AutoBlade™ module can be started directly from command without the need to
access the FINE™ GUI, more details in the User Guide.
The AutoBlade™ graphical user interface includes several sections that enable the simultaneous
visualization of the designed or fitted blade geometry. Access to the main menu and controls is
provided through a menu bar and a quick access pad (QAP), and is complemented with a
tool/icon bar.
2. Click on the button Create a new project to create a new AutoBlade™ project.
4. Select the button Start from scratch and click on the button Ok to confirm.
5. Select a directory ("FINE-Design3D-Tutorials/Tutorial_1/Blade_fitting/" in this tutorial) and
enter the project name <Rotor37_fitting>, then click on the button Save (or OK on LINUX) to
confirm.
1.2.2
Define target model
6. Click on Target Settings in the QAP to expand it, then click on the button
target geometry file.
to specify a
7. Go to the directory "FINE-Design3D-Tutorials/Tutorial_1/_mesh/" and select the geometry file
"Rotor37.geomTurbo" in the dialog box, click on the button Open (or Ok on LINUX) to
confirm.
The target geometry to be loaded must be defined in the ".geomTurbo" format.
8. Activate the button Reverse orientation to reverse the theta orientation of the blade.
1.2.3
Define initial model
9. Click the button
in the tool bar to import a predefined template.
10. Click on the button
compressor template, click on the button Ok to confirm.
and select "axial compressor" in the list to import the predefined axial
Before the initialization and fitting processes take place, a starting model must be defined with
topological settings that are well adapted to the target geometry. It is usually advised to load a
template or an existing parametric model close to the target geometry. Then the user should review all
design steps and modify the settings if necessary.
11. Review all the design steps under the Model Editor in the QAP, keep the settings.
Improper settings will result in poor fitted models. Check all the design steps to be sure:
l use suitable topology,
l use an adequate number of parameters.
A new pre-fitting is required each time the topology and/or the number of parameters are modified.
1.2.4
Pre-fitting
12. Click on Fitting Control in the QAP to expand it, then click on the button Adapt model to
start the pre-fitting process.
Once the target and initial models are defined, a pre-fitting process must be performed.
The pre-fitting process will do:
l Guess values for parameters that defines prescribed curves and laws (endwalls, sweep laws and
camber curves,...).
l Find the best traces for planar, cylindrical and conical stream surfaces.
l Change the amount of primary sections and their spanwise locations.
l Freeze some parameters that are unlikely to improve the model in the fitting process.
l Initial the lower and upper bounds of the parameters of the geometrical model.
The pre-fitting process will NOT do:
l Make suitable choices for the topology definition.
l Capture special shapes for edges (including sharp ends).
l Check that pressure and suction sides coincide with the legend of 2D views.
Pre-fitting remains an approximation and a fitting should always be executed afterwards.
13. Click on the button Ok to confirm.
14. Click on the button Yes in the warning message dialog box to start the pre-fitting process.
15. After the pre-fitting process is finished, activate the button Show projection in the QAP >
Target Settings to check the difference between the target geometry and the parametric geometry
in the "MERIDIONAL" view and the "B2B" view.
16. Click on the button
in the tool bar and select "section 3" to compare the difference of the
section 3 in the B2B view. Click on the button
to zoom in/out the B2B view.
1.2.5
Fitting
17. Click on the button Fit model in the QAP > Fitting Control to start the first fitting process.
18. Keep the default settings and click on the button Ok to confirm, then click on the button Yes
to start a coarse fitting process.
The first fitting process is usually a coarse process because the topological settings could be wrong or
bounds of some parameters are reached early. In such a case, a fine fitting process is useless.
19. After the fitting process is finished, click on the button
access the fitting graph window.
in the QAP > Fitting Control to
20. Choose "M_ RTHETA_ SECTION" for Category and "SECTION_ 3_ SPAN_ 100" for
Selection using the button
geometry of the section 3.
to compare the parametric geometry (fitted result) and the target
21. Click on the button Close to close the fitting graph window.
22. Click on the button
window.
in the QAP > Fitting Control to access the convergence graph
23. Select "5" for Fitting step and "S1_LE_RADIUS" for Graph to view the convergence
history of the parameter "S1_LE_RADIUS" in the fitting step 5.
The number of the free blocked parameter should always be checked before launching next fitting
process. This number should be 0, so that the next fitting process is able to further improve the value
of the parameters.
26. Click on the tab Free, the blocked parameters are listed: "S1_LE_RADIUS", "S2_LE_
RADIUS", "S2_TE_RADIUS" & "S3_LE_RADIUS". click on the button Close to close the
parametric analysis window.
27. Select the menu View/Show parameter status to display the status in the parameter list
window.
28. Select the menu Geometry/Parameter list... to check and modify the bounds and the current
value of the parameters:
l select "section1" for Group using the button
,
l set the Lower bound of the parameter "S1_LE_RADIUS" to <1E-5><Enter>,
l set the Upper bound of the parameter "S1_LE_RADIUS" to <0.0003><Enter>,
l set the Lower bound of the parameter "S1_TE_RADIUS" to <1E-5><Enter>,
l set the Upper bound of the parameter "S1_TE_RADIUS" to <0.0003><Enter>,
l select "section2" for Group using the button
,
l set the Lower bound of the parameter "S2_LE_RADIUS" to <1E-5><Enter>,
l set the Upper bound of the parameter "S2_LE_RADIUS" to <0.0003><Enter>,
l set the Lower bound of the parameter "S2_TE_RADIUS" to <1E-5><Enter>,
l set the Upper bound of the parameter "S2_TE_RADIUS" to <0.0003><Enter>,
l select "section3" for Group using the button
,
l set the Lower bound of the parameter "S3_LE_RADIUS" to <1E-5><Enter>,
l set the Upper bound of the parameter "S3_LE_RADIUS" to <0.0003><Enter>,
l set the Lower bound of the parameter "S3_TE_RADIUS" to <1E-5><Enter>,
l set the Upper bound of the parameter "S3_TE_RADIUS" to <0.0003><Enter>,
l click on the button Ok to confirm.
29. Click on the button Fit model in the QAP > Fitting Control. Keep the default settings and
click on the button Ok to confirm, then click on the button Yes to start a second coarse fitting
process.
30. Select the menu Analysis/Parametric report... , the invalid parameters and free blocked
parameters are 0, click on the button Close.
31. Click on the button Fit model in the QAP > Fitting Control to start the third fitting process.
32. Select the button Fine for Accuracy, click on the button Ok to confirm, then click on the
button Yes to start a fine fitting process.
33. After the fitting process is finished, click on the button
access the fitting graph window.
in the QAP > Fitting Control to
34. Choose "M_ RTHETA_ SECTION" for Category and "SECTION_ 3_ SPAN_ 100" for
Selection using the button
in the blade section, compare the fitted geometry and the target geometry.
, click once in the graph, move the cursor and click again to zoom
The radius at the leading edge or the trailing edge can be difficult to capture. The fitting can be
improved by imposing the value of the radius manually, see step 37.
35. Click on the button Close to close the fitting graph window.
36. Select the menu Analysis/Parametric report... , the invalid parameters and free blocked
parameters are 0, click on the button Close.
37. Select the menu Geometry/Parameter list... to check and modify the current value of the
parameters:
l select "section1" for Group using the button
,
l set the Value of the parameter "S1_LE_RADIUS" to <5E-5><Enter>,
l set the Value of the parameter "S1_TE_RADIUS" to <5E-5><Enter>,
l select "section2" for Group using the button
,
l set the Value of the parameter "S2_LE_RADIUS" to <5E-5><Enter>,
l set the Value of the parameter "S2_TE_RADIUS" to <5E-5><Enter>,
l select "section3" for Group using the button
,
l set the Value of the parameter "S3_LE_RADIUS" to <5E-5><Enter>,
l set the Value of the parameter "S3_TE_RADIUS" to <5E-5><Enter>,
l click on the button Ok to confirm.
38. Click on the button Fit model in the QAP > Fitting Control to start the fourth fitting process.
39. Select the button Fine for Accuracy, click on the button Ok to confirm, then click on the
button Yes to start a final fine fitting process.
40. After the fitting process is finished, click on the button
in the QAP > Fitting Control to
access the fitting graph window, check the fitted geometry and the target geometry of the leading
edge in section 3.
The fitting process can be launched several times, until the fitted geometry is close enough to the
target geometry.
1.2.6
Save project
41. Select the menu Geometry/Export options....
42. Click on the tab geomTurbo on the Export settings dialog box, activate the buttons
Exchange sides and Reverse theta orientation, click on the button Ok to confirm.
Since the theta orientation is reversed in step 8, the theta orientation has to be reversed back when
generating .geomTurbo file. Thus, the .geomTurbo file generated from the fitted blade will have the
same theta orientation with the original target geometry. And the mesh template file .trb for the target
geometry can be directly used for the fitted blade.
43. Select the menu File/Save to save the project and the parametric model.
The fitted parametric model is saved in the project folder ("Tutorial_1/Blade_fitting/" in this tutorial)
and named as "Rotor37_fitting.par".
1.3
SCREENING
In this section, a "Screening" computation will be created step by step. The Screening module
allows to do a CFD computation for a certain AutoBlade™ parametric geometry in an automatic
way (from mesh generation to post processing).
1.3.1
Create new "SCREENING" computation
44. Select the menu Modules/Design 3D and click on the button Ok to start the Design 3D
module.
The FINE™/Design3D graphical user interface includes several sections that allow to set the
various project parameters required before starting the computation. Access to the main menu and
controls is provided through a menu bar and a left-tree, and is complemented with a tool bar.
45. Enter Name as <CFD_screening>, keep Run Mode as SCREENING, then click on the
button Ok twice to confirm.
1.3.2
Import parametric file
46. Click on the button
in the tool bar to import the fitted AutoBlade™ parametric file (.par).
47. Locate the AutoBlade™ fitting project folder "FINE-Design3D-Tutorials/Tutorial_1/Blade_
fitting/" and select the file "Rotor37_ fitting.par", then click on the button Open (or Ok on
LINUX) to confirm.
48. Click on the button
Geometry/Parameter list..., keep all the settings. Click on Ok.
in the tool bar to switch to AutoBlade™. Go to the menu
1.3.3
Define CFD loop
49. Click on the button
in the tool bar to switch back to FINE™/Design3D. Go to the
Simulation Tasks/Computation Management page, keep the radio button 3D Associated
Computation and all other settings.
FINE™/Design3D allows to couple FINE™/Turbo or external CFD software. Different options are
available when coupling with FINE™/Turbo:
l 3D Associated Computation: uses the existing FINE™/Turbo project as input for the flow
solver.
l Multi- mesh: allows to optimize a row defined by different configurations. For example, an
optimization of a hydraulic turbine runner presenting a guide vane with different angular
positions. In the multi-mesh mode, several computations will be performed based on different
meshes.
50. Go to the Simulation Tasks/Mesh Generation page, click on the button
mesh template file (.trb).
to import the
51. Locate and select the provided mesh template file (FINE-Design3D-Tutorials/Tutorial_1/_
mesh/Rotor37.trb), then click on the button Open (or Ok on LINUX) to confirm.
52. Go to the Simulation Tasks/Simulation Settings page, keep all the settings.
The turbomachinery type should be defined correctly in order to have the right definition of some
quantities for post processing, such as the efficiency.
53. Go to the Simulation Tasks/Post- Processing page, keep the Notebook selection as
Quantities, then select the quantities Isentropic Total to Total, Mass flow and Abs. total
pressure ratio under the tab Global Performances.
54. Go to the Simulation Tasks/Processor Management page, keep all the settings.
In case of multi-point or multi-mesh optimization, it is possible to launch several tasks at the same
time by defining several configurations for mesh generation, flow solver and post processing. For the
flow solver, if the number of selected processors is larger than 1, the flow solver will be launched in
parallel mode.
1.3.4
Save project and launch computation
55. Select the menu File/Save to save the project.
56. Select the menu Process/Start to launch the "CFD_screening" computation.
1.3.5
Post processing
57. Once the computation is finished, go to the Solution Monitor/Simulation Results page,
check the post-processing results under the Global quantities tab.
These pages contain the numerical results and images, according to the selected quantities and pictures from
the Simulation Tasks/Post-Processing page.
In this case, the global performance of the fitted blade geometry is quite close to the original one. The fitting
process is successful.
A HTML report is generated at the end of each computation. It includes the presentation and the
results of the computation. The report can be found in "FINE-Design3D-Tutorial_1/Tutorial_1_CFD_
screening/_trk/_flow/_results/HTML_report/index.html".
1.4
DATABASE GENERATION
In this section, a database containing blade geometries with their associated CFD computations
will be generated step by step. The database is mandatory to initialize the optimization process.
1.4.1
Create new "DATABASE_GENERATION" computation
58. Click on the button New in the computation management area to create a new computation
59. Enter the name <Database>, set the Run Mode to DATABASE_GENERATION using the
button
, then click on the button Ok to confirm.
The new computation "Database" is created based on the existing computation "CFD_screening". All
the settings in the Simulation Tasks menu and the imported parametric file (.par)
in the
computation "CFD_screening" are copied into the new computation.
1.4.2
Define bounds of free parameters
60. Click on the button
Geometry/Parameter list... in order to re-define the bounds of free parameters.
in the tool bar to switch to AutoBlade™. Go to the menu
l Select "all" under the option Group using the button
.
l Click on the button Reset all to freeze all the parameters to their initial value.
l Enter the reference value <0.001><Enter> for all parameters S#_TSS_$ and S#_TPS_$ that
control the suction side surface and pressure side surface of the blade, where # is the index of
the sections and $ is the index of the control points.
l Keep the key <Ctrl> pressed, then click on all the parameter S#_TSS_$ and S#_TPS_$ to
select all of them, right-click on the selected parameters and select the menu Increase bounds.
l Click on Ok.
In this tutorial, only the parameters that control the suction side surface and pressure side surface of
the blade will be optimized. The menu Increase bounds can be used several times to have a bigger
range.
1.4.3
Set database generation parameters
61. Click on the button
Database Settings/Settings page,
in the tool bar to switch back to FINE™/Design3D. Go to the
l In the Design of experiments section, keep the option Latin hypercube.
l In the Parameters section, set the Number of Samples to <30><Enter>, keep all other
settings.
1.4.4
Save project and launch computation in Task
Manager
62. Select the menu File/Save to save the project and select the menu File/Save Run Files to save
the run file.
63. Select the menu Modules/Task Manager to switch to Task Manager.
l Click on the button New Task to create a new task.
l Click on the button New to create a subtask.
l Change the subtask type to "design3d" using the button
.
l Locate and select the saved run file "Tutorial_1/Tutorial_1_Database/_dbs/Tutorial_1.run"
using the button
.
l Keep the option Run After Previous Subtask.
l Click on the button Design3D parallel settings, set the Number of designs to process in
parallel to <6>, keep all other settings, click on the button Ok to confirm.
l Click on the button Start to launch the database generation computation.
The computation will be launched in parallel mode (6 geometries at the same time) on the machine
"tornado".
Alternatively,
Process/Start. In this case, the computation will be run in serial mode.
the computation can be launched directly in FINE™/Design3D using the menu
1.4.5
Post processing
64. Select the menu Modules/Design 3D and OK to switch back to FINE™ /Design3D.
65. After the computation is finished, go to the Solution Monitor/Simulation Results page,
check the post-processing results under the Global quantities tab.
These pages contain the numerical results and images of the computation "Database", according to the
selected quantities and pictures from the Simulation Tasks/Post-Processing page.
66. Open the HTML report "FINE- Design3D- Tutorials/Tutorial_ 1/Tutorial_ 1_ Database/_
dbs/Turorial_1_db.html" to check the status of the database generation.
The status of the database generation is listed in this HTML report in detail. In case of some samples
failed, a restart of the database generation with additional samples can be performed.
1.5
OPTIMIZATION
In this section, the optimization process will be shown step by step.
1.5.1
Create new "OPTIMIZATION" computation
67. Select the computation "Database" in the computation management area, click on the button
New to create a new computation.
68. Enter the name <Optimization>, set the Run Mode to OPTIMIZATION using the button
, then click on the button Ok to confirm.
1.5.2
Check CFD loop
69. Check the settings in the Simulation Tasks page, keep all the settings.
The new computation "Optimization" is created based on the existing computation "Database". All the
settings in the Simulation Tasks menu and the imported parametric file (.par) in the computation
"Database" are copied into the new computation.
1.5.3
Set optimization parameters
70. Go to the Optimization Settings/Optimization page to define the training database, neural
network and optimization algorithm.
l In the Current Training Database File section, Click on the button Import a Database to
import the generated database in the computation "Database",
l Locate and select
the file "FINE- Design3D- Tutorials/Tutorial_ 1/Tutorial_ 1_ Database/_
dbs/Tutorial_1_train.dat", then click on the button Open (or Ok on LINUX) to confirm.
l Click on the button Load Training Database to load the imported database into the computer
memory,
Loading the training database into the computer memory offers the possibility to verify the database
statistics in the Optimization Settings/Objectives and Constraints page.
l In the Neural Network section, keep all the settings,
l In the Optimization Algorithm section, select Single objective, keep the ratio button Coarse
selected.
71. Go to the Optimization Settings/Objectives and Constraints page to define the penalty.
l Under the Objectives tab, click on the button Create to create the first penalty "efficiency",
l Left-click on created objective "HUB_Z1_EQUALITY" in the list to select it,
l Set the option Quantity extracted from to 110k using the button
,
l Set the Imposed Value to <1> <Enter> to reach the best efficiency.
72. Go to the Optimization Settings/Design Iterations page, keep the Number of Design
Iterations to 10.
1.5.4
Save project and launch computation
73. Select the menu File/Save to save the project.
74. Select the menu Process/Start to start the optimization process.
The computation will be launched in serial mode on the local machine.
function
The optimization technique used in FINE™/Design3D is based on the concept of
approximation (using Artificial Neural Network). The purpose of the approximate model is to have a
fast method able to evaluate the blade aerodynamic performance. This method requires the existence
of a database containing several blade geometries and their associated aerodynamic performances.
These database samples are used to construct the approximate model as shown below:
Then, an optimization algorithm is used to compute the optimum of the approximate model and, only
for this sample, a CFD computation is launched. The geometrical parameters and CFD results of this
new sample are stored into the database and the process goes on. As the number of samples in the
database grows after each design cycle, the approximate model will become more accurate and better
blade shapes will be found rapidly.
1.5.5
Post processing
75. After the computation is finished, go to the Solution Monitor/Simulation Results page,
check the post-processing results under the Global quantities tab.
These pages contain the numerical results and images of the computation "Optimization", according
to the selected quantities and pictures from the Simulation Tasks/Post-Processing page. In this
case, the best sample is the tenth one. The efficiency is increased from 0.853023 to 0.853512.
76. Go to the Solution Monitor/Compare Blade Geometries page to compare the blade
geometries between different samples.
l Set the Number of Files to <2>,
l Locate and select the first parametric file "FINE-Design3D-Tutorials/Tutorial_1/Tutorial_1_
CFD_ screening/Tutorial_ 1.par" using the button
geometry.
, which is the original fitted blade
l Locate and select the second parametric file "FINE-Design3D-Tutorials/Tutorial_1/Tutorial_
1_Optimization/_opt/Tutorial_1_best.par" using the button
best one.
, which is the Design 8 and the
l Select "SECTION_1_DMR_TH" in the List of 2D Views section to compare the blade
section 1.
77. Go to the Optimization Monitor/Design Convergence History page, select the quantity
"110k_C_ISEN_EFF_TOT2TOT" to check its convergence.
In this tutorial, only the blade surfaces (both suction side and pressure side) are optimized. Several other
parameters or elements can be changed in order to improve the optimization:
Increase the bounds of the free parameters,
l Execute a fine optimization algorithm,
l Use a higher number of samples in database,
Increase the number of optimization cycles.
l Free other parameters,
l Use the grid level 000 in the FINE™/Turbo computation instead of 111,
l etc.
TUTORIAL 2.
AXIAL COMPRESSOR ROTOR37 -
EXTERNAL MODE
2.1
INTRODUCTION
2.1.1
Introduction
In order to re-design and optimize existing blades to reach better design goals, NUMECA has
developed a unique integrated environment for the design and optimization of three dimensional
turbomachinery blades. This environment consists of the following components:
l a modern parametric blade modeler for turbomachinery blades, AutoBlade™,
l an automatic coupling between AutoBlade™ and CFD package,
l a very efficient design and optimization environment for turbomachinery blades.
All these components are included into the NUMECA Graphical User-Interface (GUI) FINE™.
This tutorial is particularly adapted to the optimization of a single axial compressor blade. It makes
use of the external mode in FINE™/Design3D and describes the whole optimization process.
In this tutorial, you will learn how to:
l activate External mode;
l set up a screening computation;
l set up a database generation computation;
l generate database in parallel mode;
l check database generation results;
l set up an optimization computation;
l analyze the optimization results.
2.1.2
Prerequisites
This tutorial assumes that you are familiar with the FINE™/Turbo chain, so that you can
understand how the provided scripts work.
2.1.3
Problem Description
The problem to be considered is shown schematically below (meridional view). The Rotor37 test
project is an isolated axial-flow compressor wheel designed and experimentally analyzed at the
National Aeronautics and Space Administration (NASA) Lewis Research Center. In this tutorial,
a simplified Rotor37 geometry with 3 blade sections will be used and optimized.
The Rotor37 is characterized by the following representative values:
number of blades
inlet hub-to-tip diameter ratio
blade aspect ratio
tip relative inlet Mach number
36
0.7
1.19
1.48
hub relative inlet Mach number
tip solidity
blade airfoil sections
rotational speed (RPM)
total pressure ratio
polytropic efficiency (%)
1.13
1.29
multiple circular arc (MCA)
17188
2.106
88.9
2.1.4
Preparation
l Copy the provided files "Tutorial_2" located in the archive FINE-Design3D-Tutorials to your
working directory.
l Start the NUMECA Graphical User-Interface (GUI) FINE™ v13.1:
l For Linux systems, you can access the FINE™ GUI with the following command line:
fine -niversion 131 -print
l For Windows systems, you can access the FINE™ GUI from the Start menu going to
\Programs\NUMECA software\Fine131\FINE.
l Click on the button Cancel to close the Project Selection dialog box.
2.2
CREATE A NEW DESIGN3D PROJECT
In this section, a new FINE™/Design3D project will be created.
1. Select the menu Modules/Design 3D and click on the button Ok to start the Design3D GUI.
The FINE™/Design3D graphical user interface includes several sections that allow to set the
various project parameters required before starting the computation. Access to the main menu and
controls is provided through a menu bar and a left-tree, and is complemented with a tool bar.
2. Select the menu File/ New.
3. Select your directory of choice to store the project. Enter the project name in the dialog box as
<Tutorial_2> , Click Save to create a new FINE™/Design3D project.
2.3
SCREENING
In this section, an Screening computation will be created step by step in external mode. The
Screening module allows to do a CFD computation for a certain AutoBlade™ parametric
geometry in an automatic way (from mesh generation to post processing).
2.3.1
Create new "SCREENING" computation
4. Enter Name as <Screening>, keep Run Mode as SCREENING, then click twice on the
button Ok to confirm.
2.3.2 Define CFD loop
5. Go to the Simulation Tasks/Computation Management page, set all steps to External.
FINE™/Design3D allows to couple with FINE™/Turbo or external CFD software. The user can also
mix the steps between internal/ external mode.
6. Under the section External Mode File Management:
l Set External parametric project extension to <par>,
l Set External geometry extension to <geomTurbo>,
l Set External grid extension to <igg>,
l Set External solution extension to <run>,
l Keep all others to default.
The extension will be used in the argument pairs passed to the script.
7. Go to the Simulation Tasks/Parametric Model page:
l Keep Parametric Modeler Executable as Embedded interpretor (python).
l Click on the button
to import the provided Parametric Modeler Script ("FINE-
Design3D-Tutorials/Tutorial_2/scripts/ext_modeler_autoblade.py").
The geometry modeler script calls AutoBlade™ to generate the geometry. The script may need
some modifications to take into account the version being used and the location of the installation
folder. The user can open the script in any text editor to learn how the script works. Under
Windows, FINE™/Turbo is expected to be installed under "C:\NUMECA_SOFTWARE\".
If the option Import script is not activated, the geometry modeler script will not be copied
to the computation folder. If the user moves the project to another machine, the project may
not work if the path to the geometry modeler script is not valid anymore. It is therefore
advised to activate the option in order to enable the automatic copying of the script inside
the computation folder.
l Click on the button
to import the provided Parametric Modeler Project ("FINE-
Design3D-Tutorials/Tutorial_2/Rotor37_fitting.par"). Activate the option Import script.
The imported parametric modeler project is copied in the computation directory with the name:
"<projectname>_external_model_generator_template.#". Where the # is the extension imposed in the
Simulation Tasks/Computation Management page.
Keep name_value in the entry Exchange parametric format, as well as free_dependent in
Exchange parametric filter. More information about these two features can be found in the
External Geometry Modeler page of the User Guide.
8. Select Expert Mode to access the advanced settings.
9. Select the button External Check to activate the geometry modeler check process.
Enabling the External Check option simply tells FINE™/Design3D to read the associated check file
(argument -checkfile) in order to get the status of geometry modeler. It is the user's responsibility to
write the check file in the geometry modeler script.
10. Go to the Simulation Tasks/Mesh Generation page,
l Keep Mesh Generator Executable as Embedded interpretor (python)
l Click on the button
to import the provided Mesh Generator Script ("FINE-Design3D-
Tutorials/Tutorial_2/scripts/ext_mesh_ag5.py"). Activate the option Import script.
The mesh generator script calls AutoGrid5™ to generate the mesh. The user can open the script in
any text editor to learn how the script works. Under Windows, FINE™/Turbo is expected to be
installed under "C:\NUMECA_SOFTWARE\".
If the option Import script is not activated, the mesh generator script will not be copied to
the computation folder. If the user moves the project to another machine, the project may
not work if the path to the geometry modeler script is not valid anymore. It is therefore
advised to activate the option in order to enable the automatic copying of the script inside
the computation folder.
l Click on the button
to import the provided Mesh Generator Template ("FINE-
Design3D-Tutorials/Tutorial_2/Rotor37.trb").
The imported mesh generator template is copied in the computation directory with the name:
"<projectname>_external_mesh_generator_template.#". Where the # is the extension imposed in the
Simulation Tasks/Computation Management page.
Select the button External Check to activate the check process for the mesh generation.
11. Go to the Simulation Tasks/Simulation Settings page to impose all settings for the flow
solver:
l Keep Solver Executable to Embedded interpretor (python).
l Keep Number of Configurations to 1.
The user may define multiple configurations in order to perform a multi-point optimization.
l Click on the button
to import
the provided Solver Script 1 ("FINE- Design3D-
Tutorials/Tutorial_2/scripts/ext_solver_euranus.py"). Activate the option Import script.
The solver script calls the FINE™/Turbo solver to launch the computation. The user can open the
script in any text editor to learn how the script works. Under Windows, FINE™/Turbo is expected to
be installed under "C:\NUMECA_SOFTWARE\".
If the option Import script is not activated, the solver script will not be copied to the
computation folder. If the user moves the project to another machine, the project may not
work if the path to the geometry modeler script is not valid anymore. It is therefore advised to
activate the option in order to enable the automatic copying of the script
inside the
computation folder.
l Click on the button
to import the provided Solver Template 1 ("FINE- Design3D-
Tutorials/Tutorial_2/Tutorial_2_110k.run").
The imported solver template is copied in the computation directory with the name: "projectname_
Simulation
solvertemplatename.#". Where
the
#
Tasks/Computation Management page.
extension
imposed
the
the
in
is
l Select
the button External Check to activate the check process for the flow solver
convergence.
12. Go to the Simulation Tasks/Post- Processing page to impose all settings for the post
processing:
l Keep Post-Processor Executable to Embedded interpretor (python)
l Click on the button
to import the provided Post-Processor Script ("FINE-Design3D-
Tutorials/Tutorial_2/scripts/ext_post_cfv.py"). Activate the option Import script.
The post processor script calls CFView™ to perform the post processing. The user can open the script
in any text editor to learn how the script works. Under Windows, FINE™/Turbo is expected to be
installed under "C:\NUMECA_SOFTWARE\".
If the option Import script is not activated, the post-processing script will not be copied to the
computation folder. If the user moves the project to another machine, the project may not
work if the path to the geometry modeler script is not valid anymore. It is therefore advised to
activate the option in order to enable the automatic copying of the script
inside the
computation folder.
l Click the button Import New Macro to import the provided macro file "FINE-Design3D-
Tutorials/Tutorial_2/macros/cfv_efficiency.py".
l Select the quantity "cfv_efficiency" in the list and click the button Activate Selected Macro to
activate the macro "cfv_efficiency.py".
l Click the button Import New Macro to import the provided macro file "FINE-Design3D-
Tutorials/Tutorial_2/macros/cfv_massflow.py".
l Select the quantity "cfv_massflow" in the list and click the button Activate Selected Macro to
activate the macro "cfv_massflow.py".
The imported macro files are copied in the computation directory under the folder "macro_CFV".
The name of the quantity is the name of the macro without the last extension.
l Select the button Submit a single job.
When activating the option Submit a single job, FINE™/Design3D will merge all imported macro
files into one. So that the post processor just needs to be executed once. In this case, a special
treatment is needed in the script, for more details see also: FINE™/Design3D User Guide.
13. Go to the Simulation Tasks/Processor Management page, keep all the settings.
In case of multi- point computation, it is possible to launch several tasks concurrently by creating
several configurations for flow solver and post processing.
2.3.3
Save project and launch computation
14. Select the menu File/Save to save the project.
15. Select the menu Process/Start to launch the "Screening" computation.
2.3.4
Post processing
16. Once the computation is finished, go to the Solution Monitor/Simulation Results page,
check the post-processing results under the tab User defined.
This page contains the numerical result, corresponding to the imported macros in the Simulation
Tasks/Post-Processing page.
2.4
DATABASE GENERATION
In this section, a database containing blade geometries with their associated CFD computations
will be generated step by step. The database is mandatory to initialize the optimization process.
2.4.1
Create new "DATABASE_GENERATION" computation
17. Click on the button New in the computation management area to create a new computation
18. Enter the name <Database>, set the run mode to DATABASE_GENERATION using the
button
, then click on the button Ok to confirm.
The new computation "Database" is created based on the existing computation "Screening". All the
settings in the Simulation Tasks menu and the imported parametric file (.par) in the computation
"Screening" are copied into the new computation.
2.4.2 Define bounds of free parameters
19. Select the Parametric Model page in the Simulation Tasks.
In order to re-define the bounds of free parameters, the file containing the parametric variables
must be imported. For that purpose, left-click on the button Import project parameters, and
import
the provided parametric file ("FINE- Design3D- Tutorials/Tutorial_ 2/Tutorial_ 2_
parameters_list.param").
After importing the parametric variables, perform the following actions:
l Click on the button Reset all to freeze all the parameters to their initial values.
l Enter the reference value <0.001> <Enter> for all parameters S#_TSS_$ and S#_TPS_$ that
control the suction side surface and pressure side surface of the blade, where # is the index of
the sections and $ is the index of the control points.
l Keep the key <Ctrl> pressed, then click on all the parameter S#_TSS_$ and S#_TPS_$ to
select all of them, right-click on the selected parameters and select the menu Increase bounds.
l Click on Ok.
In this tutorial, only the parameters that control the suction side surface and pressure side surface
of the blade will be optimized. The menu Increase bounds can be used several times to have a
bigger range.
2.4.3
Set database generation parameters
20. Go to to the Database Settings/Settings page,
l In the Design of experiments section, keep the option Latin hypercube.
l In the Parameters section, set the Number of Samples to <30> <Enter>, keep all other
settings.
2.4.4
Save project and launch computation in Task
Manager
21. Select the tab Processor Management in menu Simulation Tasks. Check the option Run in
parallel, and set Number of designs to process in parallel to <6>.
l Keep PVM selected (or adapt the selected option according the local queuing system). More
information regarding the queuing systems are available on the page Processor Management.
l Keep Active design configuration to <1>. In the section Design3D processor, select the
the current
machine on which the master process will be launch. By default, select
workstation.
l In the section CFD Mesh Generator , CFD Solver and CFD Post- Processor , select
localhost in Selected Processors. The machines listed by default can be modified by clicking
and on the left and right arrows.
22. Select the menu File/Save to save the project and select the menu File/Save Run Files to save
the run file.
2.4.5
Post processing
23. Select the menu Modules/Design 3D and OK to switch back to FINE™/Design3D.
24. After the computation is finished, go to the Solution Monitor/Simulation Results page,
check the post-processing results under the tab User defined.
This page contains the numerical results, corresponding to the imported macros in the Simulation
Tasks/Post-Processing page.
25. Open the HTML report ("Tutorial_ 2/Tutorial_ 2_ Database/_ dbs/Turorial_ 2_ db.html") to
check the status of the database generation.
The status of the database generation is listed in this HTML report in detail. In case of some samples
failed, a restart of the database generation with additional samples can be performed.
2.5
OPTIMIZATION
In this section, the optimization process will be shown step by step.
2.5.1
Create new "OPTIMIZATION" computation
26. Select the computation "Database" in the computation management area, click on the button
New to create a new computation.
27. Enter the name <Optimization>, set the run mode to OPTIMIZATION using the button
then click on the button Ok to confirm.
,
2.5.2
Check CFD loop
28. Check the settings in the Simulation Tasks pages, keep all the settings.
The new computation "Optimization" is created based on the existing computation "Database". All the
settings in the Simulation Tasks pages and the imported parametric file (.par) in the computation
"Database" are copied into the new computation.
2.5.3
Set optimization parameters
29. Go to the Optimization Settings/Optimization page to define the training database, neural
network and optimization algorithm.
l In the Current Training Database File section, Click on the button Import a Database to
import the generated database in the computation "Database",
l Locate and select the file "Tutorial_2/Tutorial_2_Database/_dbs/Tutorial_2_train.dat", then
click on the button Open (or Ok on LINUX) to confirm,
l Click on the button Load Training Database to load the imported database into the computer
memory,
Loading the training database into the computer memory offers the possibility to verify the database
statistics in the Optimization Settings/Objectives and Constraints page.
l In the Neural Network section, keep all the settings,
l In the Optimization Algorithm section, select Single objective, keep the ratio button Coarse
selected.
30. Go to the Optimization Settings/Objectives and Constraints page to define the penalty.
l Under the Objectives tab, click on the button Create to create the penalty "cfv_efficiency",
l Left-click on created objective "HUB_Z1_EQUALITY" in the list to select it,
l Set the option Quantity extracted from to Tutorial_2_110k using the button
,
l Keep the Penalty Type as EQUALITY,
l Set the Imposed Value to <1> <Enter> to reach the best efficiency.
31. Go to the Optimization Settings/Design Iterations page, keep the Number of Design
Iterations set to 10.
2.5.4
Save project and launch computation
32. Select the menu File/Save to save the project.
33. Select the menu Process/Start to start the optimization process.
The computation will be launched in sequential mode on the local machine.
function
The optimization technique used in FINE™/Design3D is based on the concept of
approximation (using Artificial Neural Network). The purpose of the approximate model is to have a
fast method able to evaluate the blade aerodynamic performance. This method requires the existence
of a database containing several blade geometries and their associated aerodynamic performances.
These database samples are used to construct the approximate model as shown below:
Then, an optimization algorithm is used to compute the optimum of the approximate model and, only
for this sample, a CFD computation is launched. The geometrical parameters and CFD results of this
new sample are stored into the database and the process goes on. As the number of samples in the
database grows after each design cycle, the approximate model will become more accurate and better
blade shapes will be found rapidly.
2.5.5
Post processing
34. After the computation is finished, go to the Solution Monitor/Simulation Results page,
check the post-processing results under the tab User defined.
These pages contain the numerical results of the computation "Optimization", corresponding to the
imported macros in the Simulation Tasks/Post-Processing page. In this case, the best sample is the
ninth one. The efficiency is increased from 0.848499 to 0.849778.
35. Go to the Solution Monitor/Compare Blade Geometries page to compare the blade
geometries between different samples.
l Set the Number of Files to <2>,
l Locate and select
the first parametric file "Tutorial_ 2/Tutorial_ 2_ Screening/_ trk/_
flow/autoblade.par" using the button
, which is the original fitted blade geometry.
l Locate and select the second parametric file "Tutorial_ 2/Tutorial_ 2_ Optimization/_ opt/_
design_000009/autoblade.par" using the button
, which is the Design 9 and the best one.
l Select "SECTION_1_DMR_TH" in the List of 2D Views section to compare the blade
sections.
36. Go to the Optimization Monitor/Design Convergence History page, select the quantity
"Tutorial_2_110k_cfv_efficiency" to check its convergence.
In this tutorial, only the blade surfaces (both suction side and pressure side) are optimized. Several
other parameters or elements can be changed in order to improve the optimization:
l Increase the bounds of the free parameters,
l Execute a fine optimization algorithm,
l Use a higher number of samples in database,
l Increase the number of optimization cycles.
l Free other parameters,
l Use the grid level 000 in the FINE™/Turbo computation instead of 111,
l ......
© NUMECA International, all rights reserved
EN201808281628

CONTENTS
NEW FEATURES IN V13
Improve administration wizard
1.1 Flexlm based security ID updated to v18
1.2
1.3 General upgrades in package
1.4 Various usability improvements
1.5
Integration of FINE™/Marine package
NEW FEATURES IN V13
This document provides a description of the new capabilities and major improvements included in
FINE™/Design3D v13, as well as statements outlining main customer benefits and known
limitations.
The following is a detailed list of new capabilities and enhancements in FINE™/Design3D v13:
All Products:
Flexlm based security ID updated to v18
"Improve administration wizard" (p. 4)
General upgrades in package
FINE™/Design3D:
Various usability improvements
Integration of FINE™/Marine package
Finally, the following is a detailed list of existing capabilities and enhancements included in
FINE™/Design3D but still requiring additional calibration.
List of existing BETA capabilities
Ability to extract stresses in specific surfaces
Ability to output principal stresses
Integration of scaled sensitivities
Support for strict constrains in design space
Reduction of the design space based on the Principal Component Analysis (PCA) (New in
FINE™/Design3D v13.1)
1.1
FLEXLM BASED SECURITY ID UPDATED TO
V18
(New in FINE™/Design3D v13.1)
(All Products)
FINE™/Design3D requires FlexLM based license keys for execution. In FINE™/Design3D v13,
the security ID has been upgraded to v18, thus requiring the delivery of new license keys for
execution.
Customer Benefits
None
Known Limitations
None
1.2
IMPROVE ADMINISTRATION WIZARD
(New in FINE™/Design3D v13.1)
(All Products)
The user-friendliness of the license management and diagnostics of the administration wizard is
improved:
l License Management>Product (de)activation: Deactivate button to return all fulfillment and all
servers on the machine.
l License Management>Trusted storage: check-box to return a fulfillment and refresh button to
refresh the fulfillment status if needed.
l License Management>License server: control and display the status of the known servers and
the list of all the features deserves by the selected server.
l Diagnostics: Support request button to generate a file containing the results from the checks
performed.
Customer Benefits
More user-friendly tool to diagnose and manage licensing.
Known Limitations
None
1.3
GENERAL UPGRADES IN PACKAGE
(New in FINE™/Design3D v13.1)
(All Products)
General upgrades are made in the package:
l Use of Datakit 2017.3 (for Catia V5 file import);
l Upgrade flow solver compilers on LINUX: PGI v17.10.
Customer Benefits
l CATIA R26 support.
l Solution time can be significantly reduced.
Known Limitations
1.4
VARIOUS USABILITY IMPROVEMENTS
(New in FINE™/Design3D v13.1)
Several usability improvements have been implemented in FINE™/Design3D v13.1.
These improvements include:
l Possibility to generate the computation file (.run) in batch;
l Possibility to switch the order of execution between the CFD and the FEA chains;
l Possibility to define the generation of mutliple design samples from FINE™/Design3D GUI;
l Possibility to rename the external solver templates within FINE™/Design3D GUI;
l Support for relative path for the coupling script(s) used in external mode.
Customer Benefits
Enhanced usability
Known Limitations
None
1.5
INTEGRATION OF FINE™/MARINE
PACKAGE
With the integration of FINE™/Marine and the C-Wizard, FINE™/Design3D further extends its
scope to marine applications.
The user is now able to perform ship hull optimization with the most advanced algorithms and
unique post-processing and data-mining capabilities.
Customer Benefits
Optimize a ship hull in a dedicated optimization chain.
Known Limitations
l Only the Resistance mode of the C-Wizard is currently supported.
l The automatic post processing of pictures is not
included inside of
the GUI of
FINE™/Design3D.
l FINE™/Marine computations are started one by one for each speed, in case of resistance
curve in the C-Wizard.
l For uncertainty quantification, only geometrical uncertainties are supported. Any physical
quantities including boundary conditions are not supported.
© NUMECA International, all rights reserved
EN201808281631

Multi-objective surrogate-assisted EA
optimizer


As in the mono-objective version of SBO, some specific procedures have
been implemented to combine efficiently the multi-objective EA with
the surrogate models. Let us notice that separate approximate models are
build for each responses (objectives and constraints). The
architecture of the algorithm is exhibited in the following figure.




FIGURE 30 
Multi-objective surrogate-assisted EA optimization.

The differences of this implementation with the combination of EA for
mono-objective optimization with surrogate models are described
hereafter:



Neither merit function nor move-limit strategy are applied;


At the end of each process of the EA, the final population is filtered in
order to keep
only Nunmber of Candidates per Iteration individuals (defined by the user).
The multi-point procedure, named Pareto Enrichment is based upon a clustering technique. The goal is to
favor diversity in the Pareto archive (i.e. to obtain points well-distributed along
the Pareto front);


At each design loop, the Number of Candidates per Iteration individuals
resulting from the final population of the EA are incorporated into the archive. 
Then, the archive is treated in order to discard dominated solutions. 
If the size of the archive oversteps the maximum size of the Pareto set (defined by the user), 
the archive is truncated in order to keep only External Set Size individuals in it.




FIGURE 31 
Pareto-based optimization Settings.

Illustration of the SBO scheme


The efficiency of our SBO scheme is illustrated in the search of the
global minimum of the Ackley function which is a well-known
multi-modal function. The following figure
depicts the function with 2 design parameters, while the
optimization has been carried out on the same function but generalized
to 5 dimensions within [-2,2] for each design parameter. 



FIGURE 7 Ackley function
The
optimization is first performed using the EA without surrogate models,
with a population of 50 individuals for 40 generations (i.e.
2000 function evaluations). These results are compared with those
obtained by the method combining the surrogate model with the EA. An
initial database of 20 sample points is used and then only
100 design iterations are performed. The convergence histories are
displayed in the following figure. The
results clearly indicate that, for a given fixed number of 
function evaluations, the SBO approach drastically outperforms a pure
EA optimization using actual function evaluations.



FIGURE 8 Convergence history comparison.

Pay attention that in a SBO framework, the handling of the constraints must not only be performed
inside the EA (see Section 2.2), but also during the calculation of the global
objective (which is required to compare the
best solutions found by the EA).

Multi-objective EA optimizer

Most realistic optimization problems (particularly those in design
optimization) require the simultaneous optimization of more than one
objective. Several objectives must be met simultaneously
(as the minimization of the cost, the mass, the room occupied by the
mechanical component, etc.). A multi-objective optimization (MOO)
problem can be summarized as follows:



where minimize means finding a solution which would give
the values of all the
objective functions acceptable to the decision maker. In MOO, there is
no single best solution. The aim is to find good compromises or
trade-offs rather than a single solution. The following figure gives the optimal trade-off curve characterized by MOO. The
points on the curve are optimal so that it is not possible to improve
one objective without worsening at least one other. It is not
necessarily an easy way of choosing between points representing
different compromises between the objectives.


FIGURE 28 Optimal trade-off curve of multi-objective optimization.
Let us define the concept of Pareto-dominance. A vector  is
Pareto optimal (or a non-dominated solution) if there exists
no other solution x such that  for all
 and  for at least one j. The set of
all Pareto optima (x) is called a Pareto optimal set and the set
of all non-dominated objective vectors (f) is called the Pareto
 front. The dominance can be used to generate a
ranking of the members of the population. The following figure represents these concepts.
 FIGURE 29 Concepts of Pareto dominance

Evolutionary algorithms [26] are appropriate for
multi-objective optimization for several reasons. First, in MOO, we
seek a set of possible solutions. At the end of the EA optimization,
each individual of the population can represent a different trade-off
between the objectives. A EA can find several members of the Pareto
optimal set in a single run and in comparison, with gradient-based
methods, lots of runs are needed. EAs are also less sensitive
to the shape of the Pareto front (discontinuous or concave Pareto
fronts). Furthermore, EAs for MOO has the same advantages than for
mono-objective optimization (parallelization, multi-disciplinarity,
uncomputable functions, noise, ...).

Introduction
MINAMO, the right tool to reach your optimum

The MINAMO team focuses on the development of
Cenaero's in-house multidisciplinary design space exploration and optimization platform named
MINAMO, allowing you to thoroughly explore the design space by
providing advanced techniques such as design of experiments, surrogate
modeling, optimization and data-mining tools.

Multidisciplinary
Design Optimization (MDO)
has considerable impact on the design by increasing performance,
lowering life cycle cost and shortening design time for complex
products. MINAMO can not only help reaching an improvement in the
design solution, but more importantly will contribute to quickly gain
insight into the design space, quantitatively assess key factors and
trades, and most importantly, find innovative design options. 
MINAMO features


MINAMO provides intelligent tools allowing a
better understanding of the design space. It is a collection of
technologies and tools allowing you to quickly gain insight into the
design space and to automatically explore it to find innovative
designs :



Design of Experiments (DoE) for effective design space sampling;

Surrogate models allowing to interpolate data, perform
 "virtual optimization", reduce the computational time when dealing
 with expensive high-fidelity simulations and increase knowledge;

State-of-the-art optimization methods (online and dynamic search processes);

Monitoring and data analysis tools for a comprehensive and easy
 interpretation of the results.


On top of the license server requiring LSB (Linux Standard Base) compliance, the client machine (if different from the license server machine) running MINAMO needs also to be LSB-compliant. Otherwise the MINAMO features won't appear in the list of available tasks in the GUI. The list of Linux distributions and applications certified for compliance with the LSB standard is available on http://www.linuxfoundation.org/lsb-cert/productdir.php?by_lsb.

What type of problems are appropriate for MINAMO?


MINAMO contains several advanced optimization algorithms developed to
efficiently solve very difficult problems occurring in
multi-discplinary optimization applications. The most appropriate
cases for MINAMO are applications involving one or more of the
following characteristics : 



Black-box simulation chains. This means that the user only has
 access to response values and not to response derivatives. This is
 typical when using commercial simulation software which do not
 provide the responses derivatives. Moreover they are most of the
 time available as an executable.

Simulation chains requiring large simulation time for one single
 evaluation (typically several hours on tens of cores per
 simulation). MINAMO performs very well for this type of simulations
 because the software minimizes the number of optimization cycles
 needed to reach the optimum and therefore minimize the number of
 calls to the expensive simulation.

Highly constrained problems. MINAMO is very powerful to solve problems with many active constraints resulting in very small feasible regions.

Optimization problems with multiple local minima
  resulting from the objective function or created by large number of
 non-linear constraints.

Multi-objective optimization applications.

MINAMO is also capable to deal with uncomputable
 functions. This may arise when the simulation software does not
 return any answer due to convergence problem, mesh generation
 problem due to unrealistic geometries or insufficient convergence of
 the detailed simulation.

Infill search criteria


The aim of infill sampling criteria is to extract knowledge from the surrogate models to find potential interesting areas for model refinement in order to strike a balance between model exploitation and exploration (and possibly feasibility). Different infill criteria exist in the literature.
One can optimize the surrogate model, search areas of high estimated surrogate(s) error in order to improve the surrogate model(s) quality,
combine the first two methodologies, etc. A good balance between exploitation and exploration is one of the key ingredients
toward the eventual location of the global optimum.


The goal with an infill criterion is therefore to extract a maximum information from a minimum number of samples by balancing between:


exploiting regions of the design space where good solutions have been found;

exploring regions that are undersampled; 

searching feasible regions.
    



Mono-point infill criteria: merit function




In MINAMO, in order to guarantee diversity in the population, a merit
 function [24] is combined to the fitness of each
individual. This function favors the solutions far away from
their neighbors:




where m(x) is the surrogate model of the objective function and D(x) is a distance-based exploration term (see the following figure for an illustration of the merit function with an exaggerated merit amplitude of ).


FIGURE 22 Illustration of the merit function.

The concept of the merit function is to maintain diversity
in the solution space by searching both in regions where the surrogate
model(s) indicates there might be a minimizer and where we realized that we
know very little about the problem (because few samples for instance). This
merit function allows seeking improvements while simultaneously seeking
space-filling points that could improve the accuracy of the surrogate(s). This
strategy allows to balance exploration and exploitation. The effect of merit
function can be controlled via a user option (Merit Function , default = 0.01).



FIGURE 23 Surrogate model settings



Multi-point infill criteria


In today's industrial setting it is commonplace for parallel computing
architectures to be available to the designer and this option is very
valuable in surrogate-based optimization. The updating
strategy can be parallelized in the sense that several points can
be evaluated by the simulation and added to the database at
each design iteration. Furthermore, mono-point infill criteria generally suffers from the complexity of combining and adjusting exploitation/ exploration/ feasibility in an unique point.
It is therefore possible in MINAMO to add more than one point per design iteration in
the online optimization scheme. This should be used if the different points
can be evaluated in parallel. By default, only the point found by the
optimization on the surrogate model(s) is added to the database at each design
iteration, but the user can decide to add more than one point. Note that
these points are always selected in the search box defined by the move-limit
procedure.


Several parallel additional points strategies are available.



FIGURE 24 Design Iterations Settings.
Overall 
The additional points are randomly chosen in the move-limit box bringing exploration to the search.

Feasibility
This strategy targets the feasibility of the added points. The main idea of this feasibility-based strategy is to store during the EA process on the surrogate model(s) some interesting (in terms of feasibility) individuals (the number of stored points per generation is set via the option Forced Elitism History, default value = 10) at each generation and, at the end of the EA (so at the end of each outer design iteration), some points are selected among all the stored points. Among the stored interesting points, the desired number of additional points is chosen according to the global objective and the distance to existing points. 

For highly constrained problems, it is possible to activate a more powerful strategy (by ticking the Highly Constrained box). In this case, the criterion is based on the global objective value and a probability of misclassifiction computed by Probabilistic SVM (PSVM) focusing on feasibility. The idea is to refine the boundary of the feasible zone estimated by SVM. As suggested by [25], the probabilistic model, named PSVM, of the feasible domain is built using SVM and distances between samples (see the next figure). The idea is to represent multiple constraints via a single PSVM.



FIGURE 25 Probabilistic SVM model applied to feasible domains.

In terms of number of iterations and thus optimization execution time, the multi-point feasibility-based strategy is generally more powerful than mono-point strategies as illustrated in the following figure.



FIGURE 26 

		Objective evolution: illustration of the multi-point feasibility-based infill criterion.


FIGURE 27 

		Constraints evolution: illustration of the multi-point feasibility-based infill criterion.

Post-processing tool

A steering and data-mining tool is accessible through FINE™/Design3D and gives access to dynamic/ interactive monitoring, data-mining and visualization tools for a comprehensive, easy and rapid understanding of the problem allowing key factors to be identified for better decision-making:



Surrogate reliability assessment and monitoring (LOO),
Global sensitivity analysis (ANOVA),
Self-Organizing Maps (SOM),

Pareto/ scatter plots, history/ evolution plots.


Results plotting - Scatter Plots



The Scatter Plots tab allows to draw scatter and Pareto plots.
Scatter plots like the one in the following figure can be drawn for objectives, constraints and design parameters.



FIGURE 34 DOE and optimization plotting of objective F


FIGURE 35 Pareto plot of objective F vs. constraint G1 colored by contraint G7.


Monitor optimization - Monitoring Plots



The Monitoring Plots tab allows to perform live monitoring of objectives, constraints and design parameters evolution during an optimization run. The evolution can be plotted in terms of accurate and predicted values.



FIGURE 36 
Live monitoring of the objective during an optimization run.


FIGURE 37 
Selection of the plot.


FIGURE 38 
Live monitoring of the constraints during an optimization run.


FIGURE 39 
Live monitoring of the design parameter evolution during an optimization run.

It is also possible to visualize the history convergence in terms of objective, individual constraint or number of violated constraints.




FIGURE 40 
			History convergence plot.


FIGURE 41 
				History convergence plot.


FIGURE 42 
				History convergence plot.


FIGURE 43 
				History convergence plot.


Surrogate-Assited Data Mining


The Surrogate-Assited Data Mining tab allows to perform advanced surrogate-assisted design space analysis. First the responses must be selected and then a surrogate model has to be generated/ loaded.


FIGURE 44 Surrogate-assisted data mining tool.
Leave-One-Out (LOO)



A Leave-One-Out (LOO) procedure is available in order to estimate the
model reliability (see also Section 2.3.5 for more
details).




FIGURE 45 
Leave-One-Out display of response F and quality of all responses.


ANOVA


Global sensitivity analysis is used to study the impact variations in
input parameters on the variation of an output. The Analysis of
Variance (ANOVA) decomposition in
					MINAMO is a global sensitivity analysis implementing an efficient and accurate approach employing surrogate
					models. The global sensitivity stands for the global variability of an output over the entire
					range of the input variables that are of interest. ANOVA allows to quantify the notion that
					some variables and interactions are much more important than others by computing the Sobol's
				global indices.
High-dimensional representation
                
Consider a deterministic model  where  is a vector of n input variables and y is
				the model output.   can be decomposed into a form referred to as
				high dimensional model representation



This decomposition of the function is not unique as the lower order
					can be selected arbitrarily and the highest order term can be written
					as the difference between  and the lower order terms.  However,
					if the average of each of the term in the summands of the right hand
					side of the previous equation is set to zero and  is set to be a
					constant, the expression is proven to be unique.  The terms are the following:



The first order sensitivity index for variable  is given by



and if we calculated the indices to the highest order, we have:




					The numerator in the equation for the first order sensititivy index  is the variance of expected
					value of  given , the denominator is the total
					(unconditional) variance.   

					For a statistician or a scientist who is trying to reduce the amount
					of error incurred in the output  due to the error in the input
					variable (or measurement) , this measure would give the relative
					importance of the variable in driving the output uncertainty.  He/ she
					would fix  and let other variables vary in the range of their
					estimated errors.  This would give   and
					repeat this process with different values of  within its error
					bounds to get .  The same
					process can be applied to the analysis of the sensitivity of surrogate
					models constructed from deterministic simulation models.  Instead of
					input errors, the variables are swept through the domain of interest
					with  fixed.  We can compute its average and change  to a
					next value until enough  values are tried out in the domain of
					interest.  Then, the variance of the obtained averages would give the
					numerator of the equation for the first order sensitivity index .  The denominator can be obtained
					by a random sampling in the domain of  and computing the variance
					of their corresponding 's.  


					The virtue of this method is that it takes all the non-linearities and
					interactions into account as compared to one variable at a time
					way of sensitivity analysis.  More over, even if we conduct the
					sensitivity analysis only to the first order, we will always have an
					idea of what remains unexplained by calculating . 
 Formulation
	We now formulate the way to compute the first order sensitivity
					indices. As before, we express a surrogate model with n-dimensional
					input space as 



The total variance is therefore




					The multi-dimensional integral of this last equation can be
					computed using the Monte Carlo Integration.  Similarly the following
					equation gives the 




					Again, the integration is performed using the Monte Carlo method, but
					this time  is held constant.  By doing this multiple of times, we
					can conduct the next integration to obtain 



Then, the first-order sensitivity indices are given as



Practical Matters

					As can be understood from the previous section, two parameters need to
					be set in the course of the computation of indices.  The first one is
					the number of samples to compute the Monte Carlo integrations, and the second one is
					how many  s to calculate in the equation for .  We refer
					the first number as Number of Monte Carlo Samples [default = 2000] and the second number as Number of Monte Carlo Integrations [default = 100] respectively. 
								These algorithmic parameters can be set by right-clicking on the ANOVA button.
					The right numbers are problem dependent. 
					Multiple runs should be tried with the same
					number of samples and then with different number of samples.  If the
					indices differ within few percent between the runs, it should be
					considered as satisfactory number of samples are being used in the
					Monte-Carlo integrations.  Try small numbers first. 

					Sensitivity indices are plotted in a pie chart (see the following figure). The other orders part
					represents higher orders indices (2nd, ...). The parameters with local influence  one 
					improves the readability of the chart by gathering insignificant parts. 


FIGURE 46 ANOVA display of response G1.


Self Organizing Maps (SOM)

A Self-Organizing Map (SOM) is a type of
artificial neural network that is trained using unsupervised learning.
The idea is to project high-dimensional data onto a low-dimensional
(typically two-dimensional) map. They use a neighborhood function to
preserve the topological properties of the input space, therefore
similar data items will be mapped to nearby locations on the map.


As most artificial neural networks, SOMs work in two phases : training
and mapping. Training builds the map using input examples. Mapping
automatically classifies a new input vector. A self-organizing map consists of components called nodes or
neurons. Each node is associated with a weight vector of the same
dimension as the input data vectors and a position in the map
space. The self-organizing map describes a
mapping from a higher dimensional input space to a lower dimensional
map space. The procedure for placing a vector from data space onto the
map is to first find the node with the closest weight vector to the
vector taken from data space. Once the closest node is located it is
assigned the values from the vector taken from the data space.



SOMs allow the user to identify ``clusters'' and then may reveal what
features the members of a cluster have in common. However, it is
important to say that SOM is not a clustering algorithm. It will not
produce an explicit partitioning of the data into a precise number of
clusters. It is a tool for reducing the dimensionality of the data and
for information visualization. 

These visual inspection tools are useful for revealing major trends
and discovering correlations and anti-correlations among parameters
and/ or responses. 



FIGURE 47 
							Self-organizing maps for two antagonist responses.

The SOM consist in projecting high-dimensional data onto 2D maps, in a way
that similar data items would be mapped to nearby locations on the maps. Some algorithmic parameters can be set by right-clicking on the SOM button, even if default values are recommended.



The default view will display a SOM map along with basic iso-contours. As
shown in the next figure, it is possible to modify which parameter or response to display using the
Select variable button, to show color bar, iso-contours, experiment IDs (by numbering or
just database points), modify the colour bar and iso-contours using respectively the Colour
bar options and Iso-contour options buttons.


FIGURE 48 Self-organizing maps default view
 
The single SOM view mode allows one to change the visualization of a single map or to apply
the options for all maps (via the advanced figure options). 
By selecting the second view mode, all parameters and responses SOM are displayed
which facilitates the understanding of influences and correlations.


FIGURE 49 Self-organizing maps: global view

Design of experiments


Before building a surrogate model either for optimization or
statistical analysis purposes (e.g.  ANOVA), the user needs to
generate a set of sample points for which experiments will be carried
out to obtain function responses. Therefore, the first step is to
generate a set of sample point locations which uniformly covers the
design parameter space.


A priori space-filling DoE techniques


The Design of Experiments, which
is the sampling plan in the design parameter space, is a crucial
ingredient of the optimization procedure, especially when the function
evaluations are expensive, because it must concentrate as much
information as possible. Indeed, the quality of surrogate models are
mainly related to the good choice of the initial sample points. The
challenge is in the definition of an experiment set that will maximize
the ratio of the model accuracy to the number of experiments, as the
latter is severely limited by the computational cost of each sample
point evaluation. Note that evaluation of the target function will be
carried out separately in the following step. Here our focus is solely
on the generation of uniformly distributed sample points, without any
information on the
corresponding target function values.

MINAMO features various DoE techniques aiming at efficient and
systematic analysis of the design space. Besides the classical a
priori space-filling technique, namely Latin Hypercube Sampling
(LHS), MINAMO offers Centroidal
Voronoi Tessellations (CVT) and Latinized Centroidal Voronoi Tessellations
(LCVT) [20]. A drawback of LHS is that sample
points could cluster together due to the random process by which the
points are generated. CVT efficiently produces a highly uniform
distribution of sample points over large dimensional parameter
spaces. However, a CVT dataset has the tendency for
the projections of the sample points to cluster together in any
coordinate axis.



FIGURE 15 
Projection on (x1; x2)-plane of 100 points in 10 dimensions for LHS, CVT and LCVT respectively.
The 
LCVT technique tries to achieve good dispersion in two
opposite senses: LHS and CVT senses. The idea is to compute a CVT dataset and
then apply a Latinization on this set of points. Latinizing a set of points
means transforming it into another set of neighboring points that fulfills
the Latin hypercube property. The aim of this Latinization of CVT sample
points is to improve the discrepancy of the set of points. The LCVT technique has
both lower discrepancy than pure CVT and higher volumetric uniformity than
pure LHS. The following figure shows LHS, CVT and LCVT datasets for 20 and
100 points in 2 dimensions. 


FIGURE 16 
			LHS, CVT and LCVT datasets with 20 (top) and 100 (bottom) points in 2D.


Inherited LHS

In the event that additional samples are desired to be added to an existing
sample set according to a space filling criterion, inherited LHS can be used to
augment the number of samples to the existing dataset. Just like the
traditional LHS, it will partition the parameter range between lower and upper
bounds into equally spaced segments whose number will equal to total number of
samples (i.e. inherited number of samples plus desired additional number of
samples). Inherited LHS will then look for the segments not yet occupied by
the existing sample set, and will add samples that will occupy these empty
segments. The empty segments will always be equal or greater than the number
of additional samples. If there are more empty segments than the samples
added, the choice of the segments to be filled in is random. The original
sample set does not have to be an LHS. Inherited LHS will add samples to
datasets of any sampling methods. This property can be useful if the user is
unsure how many sample points will be needed before starting work. The choice
of the additional points is here only based on space-filling aspects. 


For MINAMO in FINE™/Design3D, the DoE-related options are available via the Database Settings tab. Several types of DoE are available :



Latin Hypercube Sampling (LHS)

Centroidal Voronoi Tessellation (CVT)

Latinized CVT [default]

Inherited LHS an initial DoE is required. 



The Include Nominal Design option allows to add in the DoE the nominal point.
A rule of thumb is to use about 2 to 5 times the number of design
parameters. If the Inherited LHS is chosen as DOE method, this is the number of sample points to add to the
existing sample set.



FIGURE 17 
Database settings.

Adaptive DoE technique

All these space-filling techniques, independent of the design space
dimensionality and of the type of surrogates, constitute good first
choices to generate an a priori sample set in high
dimension. Since the computation of the response functions can
typically take several hours on tens of computational cores, further
research effort has been put to achieve a good accuracy of surrogate
models with a reasonable number of samples by incorporating function
knowledge. Because knowing the appropriate sampling
size a priori is difficult, adaptive sequential sampling methods are
appealing.


In order to further tailor the sampling and to better capture the responses
underlying physics, MINAMO exhibits an adaptive DoE
technique. The idea is to locally increase the sampling
intensity where it is required, depending on the response values observed at
previous sample points. One can observe in the following figure that
more sample points are added in the region where non-linearities are present if
the adaptive DoE procedure is applied on this 1D function.



FIGURE 18 6 LCVT points (blue) + 30 adaptive sample points (red).

Such auto-adaptive techniques are also known as capture/ recapture sampling or
a posteriori sequential sampling (see [21,22]). They incorporate information on the true function in
sample distribution, explaining the term a posteriori. The aim is to
automatically explore the design space while simultaneously fitting a
surrogate model (RBF, Tuned RBF or Kriging models here), using predictive
uncertainty to guide subsequent experiments. Our method consists in
iteratively refining the sample dataset where the model exhibits its maximum
of error, with the error indicator provided by a LOO
procedure [23]. The key idea of adaptive sampling is to
take more samples in the "complex" areas. An adaptive DoE approach only
based on cross-validation LOO procedure may result in clustered samples in the
design space. In order to avoid clustering situations, the space-filling
property of samples is considered in the selection of new points. The distance
between the points is therefore taken into account in order to avoid new
selected points to be too close to existing sample points.  

If there are
several responses, the adaptive DoE procedure tries to improve all responses
unless for response(s) that is (are) already good (with a correlation
coefficient larger than 0.9). In the following figure one can
observe that the adaptive DoE procedure tries to improve both responses by
adding sample points in both complex regions of both 1D functions.



FIGURE 19 Improvement of both responses.

The following figure shows the location of 40 adaptive
points based on an initial LCVT sample set of 60 points on a 2D
function.



FIGURE 20 60 LCVT sample points (blue) + 40 adaptive points (red).
For MINAMO in FINE™/Design3D, the options related to the adaptive DoE are available via the Adaptive DoE Settings tab.  


FIGURE 21 
Adaptive DOE Settings.

This method should be applied on an existing database. 
Several options are available:


Surrogate Model Type (RBFN, TunedRBFN [default] or Kriging)

Number of Adaptation Steps: The adaptive DoE procedure is sequential. This is the number of adaptation steps. Generally, if an adaptive DOE procedure is activated, it is recommended to
spend approximately 60-70% of the total budget available for the generation
of the a priori space-fill DOE and the remaining in the adaptive DOE procedure.

Number of Samples Per Step: This is the number of samples to generate at each adaptation step. The default value is 1 (recommended between 1 and 3). These points can be evaluated in parallel.

List of Responses For Improvement: This option allows to improve only a selection of responses in
order to reduce the computational time and focus on responses of most interest.

Nomenclature



DoE
Design of Experiments


SBO
Surrogate-Based Optimization


Experiment
Accurate numerical simulation (as opposed to
approximated,


 
surrogate model simulation)


Surrogate model
Meta-model, approximate model


Simulation chain
Definition of an experiment, f


Design parameters / variables
Input of the simulation chain, x


Responses
Output of the simulation chain, y

Aggregate techniques


Let us remark that there exist several kinds of multi-objective
optimization techniques: non-Pareto techniques such as aggregate
techniques and Pareto-based techniques already detailed
above. Aggregate techniques are the most intuitive approaches. They do
not directly incorporate the concept of Pareto dominance in their
search mechanism but combine all the objectives into a single one,
usually by using a weighted sum of the objectives. They are easy to
implement and can use mono-objective solvers. Pareto-based techniques are more powerful while it is
important to notice that populate the Pareto front is very costly.
Aggregate techniques focus the search on a part of the Pareto front
based on user's choice and knowledge via the assignation of the
weights in the aggregation function. It is clearly less expensive than
populating the whole Pareto front and it is recommended to first start
with this simple methodology before going to true Pareto methods.

Dealing with simulation failures


One key feature of MINAMO is its ability to deal with simulation
failures. This may arise when the simulation
software does not return any answer due to convergence problem, mesh
generation problem due to unrealistic geometries or insufficient
convergence of the detailed simulation.

As it is not practical to
make a crash-proof simulation chain, MINAMO can deal with these kinds
of failures. The best practice is to try to make the simulation chain
as robust as possible and then let the optimizer taking care of the
simulation failures. So with MINAMO there is no need to filter out
the failed experiments, they are always kept in the experiments
database. The idea is to penalize the individuals which are too close
to the regions where previous simulations failed and to drive the
population towards the regions with higher numerical stability. 

The user must take particular care to define the elementary success
flags at each step of the simulation chain. One wants to insist on the
difference between:



"IT" failures of the simulation chain (license unavailable,
 files non-existent, server shutdown, ...), these experiments need to
 be re-run;

real simulation failures, meaning that the simulation chain has
 been successfully executed, the responses values extracted, and
 success criteria checked, there is no need to re-run the experiment
 and the response values will be ignored but MINAMO will avoid the
 vicinity of that experiment.



In MINAMO, the success/ failure flags can be handled by RBF or SVM models.

Bibliography
1. 

C. Sainvitu, V. Iliopoulou, and I. Lepot., Global optimization with expensive functions - sample turbomachinery
 design application
, Recent Advances in Optimization and its Applications in
 Engineering, Springer, pages 499-509, 2010.

2. 
D. E. Goldberg,
Genetic Algorithms
, Addison Wesley, 1994.

3. 
G. Holt and S. Bassler
, Preliminary design of axial compressors using artificial intelligence
 and numerical optimization techniques
, ASME Paper 91-GT-334, 1991.

4. 
S. Pierret, H. Kato, R. Filomeno Coelho, and A. Merchant
, Aeromechanical optimization method with direct cad access -
 application to counter rotating fan design
, ASME paper GT2006-90505, 2006.

5. 
I. De Falco., An Introduction to Evolutionary Algorithms and their
 Application to the Aerofoil Design Problem
, In Von Karman Institute for Fluid Dynamics : Lecture
 Series 1997-05 : Inverse Design and Optimization Methods, 1997.

6. 

D. Quagliarella
, Genetic algorithm applications in computational fluid dynamics
, In Winter Periaux Galan Cuesta, editor, Genetic Algorithms
 in Engineering and Computer Science, pages 417-442. John Wiley & Sons, 1995.


7. 

J. Periaux, M. Sefrioui, B. Stoufflet, B. Mantel, and E. Laporte
, Robust genetic algorithms for optimization problems in aerodynamic
 design
, In Winter Periaux Galan Cuesta, editor, Genetic Algorithms
 in Engineering and Computer Science, pages 371-396. John Wiley & Sons, 1995.


8. 

M A. Trigg, G R. Tubby, and A G. Sheard
, Automatic genetic optimization approach to two-dimensional blade
 profile design for steam turbines
, Journal of Turbomachinery, pages 11-17, 1999.


9. 

S. Obayashi and S. Takanashi
, Genetic Optimization of Target pressure distributions for
 inverse design methods, AIAA-95-1649-CP, pages 33-42, 1995.


10.

V. Valentin
, Three-dimensional optimization of a compressor blade at design and
 off-design operations
, VKI PR 1998-26, 1998.


11. 

C. Poloni
, Hybrid GA for multi objective aerodynamic shape optimization.
, In Winter Periaux Galan Cuesta, editor, Genetic Algorithms
 in Engineering and Computer Science, pages 397-415. John Wiley & Sons, 1995.


12. 

Z. Michalewicz, D. Dasgupta, R.G. Le Riche, and M. Schoenauer
, Evolutionary algorithms for constrained engineering problems
, Computers and Industrial Engineering Journal, 30(2):851-870,
 1996.


13. 

C A C. Coello
, Theoretical and Numerical Constraint-Handling Techniques
 Used with Evolutionary Algorithms: a Survey of the State of the
 Art
, Computer Methods in Applied Mechanics and Engineering,
 191:1245-1287, 2002.


14. 

C.R. Houck J.A. Joines
, On the use of non-stationary penalty functions to solve nonlinear
 constrained optimization problems with gas
 , In First IEEE International Conference on Evolutionary
 Computation, pages 579-584. IEEE Press, 1994.


15. 

K. Deb.
, An efficient constraint handling method for genetic algorithms.
, Computer Methods in Applied Mechanics and Engineering,
 186:311-338, 2000.


16. 

A. I. J. Forrester and A. J. Keane.
 , Recent advances in surrogate-based optimization
 , Progress in Aerospace Sciences, pages 50-79, 2009.


17. 

N. V. Queipoa, R. T. Haftka, W. Shyy, T. Goel, R. Vaidyanathan, and P. K.
 Tucker.
, Surrogate-based analysis and optimization
, Progress in Aerospace Sciences, pages 1-28, 2005.


18. 

C.M. Bishop.
, Neural Networks for Pattern Recognition
, Oxford University Press, 1995.


19. 

S. Rippa.
, An algorithm for selecting a good value for the parameter c in
 radial basis function interpolation
, Advances in Computational Mathematics, 11(2-3):193-210, 1999.


20. 

M. Gunzburger Y. Saka and J. Burkardt.
, Latinized, improved lhs, and cvt point sets in hypercubes
, International Journal of Numerical Analysis and Modeling, pages
 729-743, 2007.


21. 

R. Jin, W. Chen, and A. Sudjianto.
, In Proceedings of DETC'02, ASME 2002 Design Engineering
 Technical Conferences and Computers and Information in Engineering
 Conference, September 29-October 2 2002.


22. 

D. R. Jones, M. Schonlau, and W. J. Welch.
, Efficient global optimization of expensive black-box functions
, Journal of Global Optimization, pages 455-492, 1998.


23. 

M. Meckesheimer, R. R. Barton, T. W. Simpson, and Booker A. J.
, 40 (10), pages 2053-2060, 2002.


24. 

A J. Booker, J E. Dennis, P D. Frank, D B. Serafini, V. Torczon, and M W.
 Trosset.
, A rigourous framework for optimization of expensive functions by
 surrogates
, ICASE Report No. 98-47, november 1998.


25. 

S. Lacaze A. Basudhar, C. Dribush and S. Missoum
, Constrained efficient global optimization with support vector
 machines
, Structural and Multidisciplinary Optimization, pages 201-221,
 2012.


26. 

K. Deb, Multi-objective Optimization Using Evolutionary Algorithms, John Wiley & Sons, Chichester, 2001.


27. 

J. Horn M. Erickson, A. Mayer, The niched pareto genetic algorithm 2 applied to the design of
 groundwater remediation systems, In First International Conference on Evolutionary Multicriterion
 Optimization, pages 681-695. Springer-Verlag, Lecture Notes on Computer
 Science, 2001.


28. 

K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, A fast and elitist multiobjective genetic algorithm: Nsga-ii, IEEE Transactions on Evolutionary Computation, 6(2):182-197,
 2002.


29. 

D.Corne J. Knowles, Approximating the nondominated front using the pareto archived
 evolution strategy, Evolutionary Computation, 8(2):149-172, 2000.


30. 

E. Zitzler, M. Laumanns, and L. Thiele, Spea2: Improving the Strength pareto Evolutionary Algorithm, In EUROGEN 2001, Evolutionary Methods for Design,
 Optimization and Control with Applications to Industrial Problems.
 K. Giannakoglou (ed.), CIMNE Editions, 2001.


31. 

L. Thiele E.Zitzler, Multiobjective evolutionary algorithms: A comparative case study and
 the strength pareto approach, IEEE Transactions on Evolutionary Computation, 3(4):257-271,
 1999.

Pareto-based techniques
In Pareto-based techniques, the concept of Pareto dominance is
incorporated into the search mechanism of the EA. At the end of the
search, a population distributed evenly on the Pareto front is
obtained. The goals of Pareto-based approaches are the following:

Preserve non-dominated points: ranking procedure;
Progress towards points on the true Pareto front;
Maintain diversity: fitness sharing niching and crowding procedure
(otherwise, the EA will tend to converge to a single solution or
concentrate in some parts of the Pareto front).


When the search process is over, the user can choose a solution among
the non-dominated points.

Advances in multi-objective evolutionary algorithms
(MOEAs) include NPGA 2 (Niched-Pareto Genetic Algorithm 2
[27]), NSGA-II (Non-dominated Sorting Genetic Algorithm II
[28]), PAES (Pareto Archived Evolution Strategy [29])
and SPEA 2
(Strength Pareto Evolutionary Algorithm 2 [30]). 

One of the most efficient method is the Strength Pareto Evolutionary
Algorithm (SPEA) (initially developed by Zitzler and Thiele
[31]), which works as follows:

Generate an initial population P and create the empty external non-dominated set P' (with External Set Size = 50 by default);


Copy non-dominated members of P to P';

Remove solutions within P' which are covered by any other member of P';

If the cardinality of P' exceeds a user-defined number N', prune P' by means of
clustering;

Calculate the fitness of each individual in  (see below);

Select individuals from   until the mating pool (with Mating Pool Size = 100 by default) is filled
(with tournament selection), and apply crossover and mutation;


If the maximum number of generations is not reached, go to Step 2.



In this method, a strength value is computed similar to the ranking value used by MOEA. First, for each individual i in the
external non-dominated set P', a real value is assigned: the strength , which 
			is proportional to the number n 
of members  for which  (i.e. 
 i dominates j,
for a problem where all objective functions are to be minimized). If
N is the cardinality of P, we have:





For all , the fitness is equal to the strength: 
			. Then, the fitness of an individual 
			 is calculated by
summing the strengths of all elements of P' that cover j, and by
adding 1 to guarantee that the members of P' have a better fitness
than the members of  (note that the fitness is to be minimized):

;
 where 

A careful examination of the fitness assignment shows that
if  elements  are dominated by a single member of 
		, all
 individuals will share the same fitness value (even if some of
them are dominated by others).
In some cases, pathological cases may
occur, e.g. if all individuals of P are dominated by a single
element (i.e. if the cardinality of  is equal to 1), all
individuals of  will be given the same fitness
value.
-->

        To remediate to this drawback, Zitzler et al. [30] have
proposed to change the fitness calculation in the so-called SPEA2
method. This method takes into account for each
individual the number of individuals that dominate it and the number
of individuals by which it is dominated. It thus uses more information
from the dominated solutions. The SPEA2 method is implemented in
MINAMO and is described as follows: 
Each individual in the external set  and in the population set  is
given a strength value , representing the number of solutions it
dominates:

The raw fitness value is computed by:
				
representing the number of individuals which dominates the individual . For
non-dominated individuals, R=0.

To incorporate the nearest neighbor density information in order to
prevent the population to converge towards a narrow region of the Pareto front,
the following procedure is applied:
 For each , compute the Euclidean distance to all other individuals
				, ;

Sort the list  in increasing order;
					
 Choose the -th element ;
					
Compute the density
				
The global fitness value is equal to 
				
				Note that for non-dominated individuals .

Move-limit procedure


Furthermore, in order to obtain a better approximated solution and
speed up the convergence, a framework for managing surrogate models is
used in MINAMO. Based on effectiveness of approximations, a move-limit
strategy adapts the search range of the variables
along the design process, focusing the optimization search on smaller
regions of the design space and exploiting local models. As the
optimization proceeds, the idea is to enlarge or restrict the search
space based on a heuristic rule in order to refine the candidate
optimal region. The current optimum determines the "center" of the
region of interest. This adjustment strategy expands the search space
if the latest design iteration resulted in an improvement and shrinks
the search space if it is not the case. Note that the number of points
in the trust region defined by this procedure must be at least the
number of parameters +1. Moreover, if there is no
improvement for more than 20 consecutive iterations, the search
space is enlarged to the entire design space. 
The convergence history
plots of the following figure show, for the Rosenbrock
function, how the move limit strategy can help to
achieve a better accuracy of the approximated solution than the pure
exploratory search (without the move limit procedure) within the same
number of design iterations.




FIGURE 9 Convergence history plots for the Rosenbrock 2D function (3 runs).

It is also possible to start by a pure exploration phase, without the
move limit strategy, and to activate this mechanism only at iteration k.
For instance in the convergence history plots the blue
lines correspond to the case where the move limit procedure is
activated at the beginning of the optimization whereas the green ones
start with a global exploration phase (without move limits) and
initiate the move limit strategy at iteration . The red curves
show the slower convergence of a strategy without the move limit. By
default, the iteration index k is equal to 20. In general, it
could be beneficial to start with an exploration phase in the whole
design space. A good compromise between exploration and exploitation
is to set this parameter to one third of the number of design
iterations.


For MINAMO in FINE™/Design3D, the options related to the move-limit procedure are available via the Move Limit Management tab. Different options related to the move-limit strategy are available:



Move Limit Active at Iteration: iteration from which the move limit strategy is activated [default = 10],

Expanding Rate: move limit expanding rate [default = 1.3],
Shrinking Rate: move limit shrinking rate [default = 0.9],

Minimum Rate: minimal coefficient of move limit [default = 0.01].




FIGURE 10 Move Limit Management Settings.

files description

Several files are associated to MINAMO; some of them are necessary to run it and some others are output files. They are described in the
next sections.

Plan file
		


			The file with the extension .plan contains the database of all
			experiments and plays a pivotal role during the execution of DoE and
			optimization. It controls which experiments will be evaluated, and
			contains the status and the responses of all the previously evaluated
			experiments. It contains basically a list of tab-separated values (ID, Status, DesignParameters, Responses, SuccessFlag, Comment), each line representing an experiment. 
			For the status, there are several denominations:

		

DONE: the experiment is well evaluated;
			
NOTYET: the experiment is not evaluated yet and responses are all 0;
			
ERROR: the experiment has not been correctly evaluated (check your simulation chain);
			
PREDICTED: the experiment has been evaluated by the surrogate models and responses contain the values predicted by the surrogate models;
			
DONE_U: the experiment has been filtered by the user as a failure experiment (success flag = 0 and DONE status) based on its responses values;
			
ERROR_U: the experiment has been filtered by the user as an ERROR experiment based on its responses values.
			


			Roughly speaking, the input to MINAMO is a plan file, and the output is also a plan file with
			experiment responses filled in. Be careful to always keep a back-up copy of this file in a safe place. The plan file has a unique ID.

		
Example of a .plan file

Here is an example of a plan file with 10 experiments for a problem
			with 2 design parameters and one response.

		

 
			# Experiment plan
			
PLAN_ID=xxxxxxxxxx
			
# Design parameters
			
X1 X2

			# Responses
			
F

			# Experiments (ID, Status, DesignParameters, Responses, Success, RunningStatus

			0 DONE 1.0000000000000001e-00 1.0000000000000001e-00 0.0000000000000001e+00 0 1:DONE; 
			
1 DONE 5.1958111222637315e-01 -3.7595259417828764e-01 4.1951695719999996e+01 1 1:DONE; 
			
2 DONE 1.3615956854467330e+00 -9.3993899157564886e-01 7.8070830391000004e+02 1 1:DONE; 
			
3 ERROR -8.2390947914437251e-01 -1.1660361713484715e+00 0.0000000000000000e+00 0 1:DONE;
			
4 DONE -1.2259445476688846e-01 -1.0021103685231587e+00 1.0471754925000000e+02 1 1:DONE;
			
5 DONE 8.0308876519924732e-01 7.9847934989160629e-01 2.3958521142000002e+00 0 1:DONE;
			
6 DONE 1.7151624129006735e+00 1.1116766974722085e+00 3.3544003666999998e+02 0 1:DONE;
			
7 DONE 6.4829382486641407e-01 -1.5414246745211515e+00 3.8495413617999998e+02 1 1:DONE;
			
8 DONE -5.6720040013131345e-01 1.5353424808892764e+00 1.4974496927000001e+02 1 1:DONE;
			
9 NOTYET -3.6804106302167228e-01 -2.0964404156333505e-01 0.0000000000000000e+00 0
		




			During and at the end of an optimization, MINAMO creates several plan files:

		

RUNNING_OPTI.plan is created during the optimization and updated at each design iteration with the newly evaluated points, at the end of the optimization, this file is identical to the FINAL_OPTI.plan and contains all the samples generated and evaluated during the optimization process. At each design iteration, an additional plan file, RUNNING.plan, is also created and contains the new sample(s) of the current iteration.
			
During an optimization, MINAMO also creates the RUNNING_OPTI_PREDICTED.plan file (and the FINAL_OPTI_PREDICTED.plan at the end). This file contains the samples generated during the optimization process (not the samples from the DoE) but evaluated with the surrogate model(s) and not with the true function/ simulation. At each design iteration, the newly generated sample(s) is (are) evaluated by the current surrogate model(s) and stored in this file.
			



Project file



In MINAMO the project file contains the optimization problem specification (design parameters, bounds, objectives and constraints).
The objectives and constraints in the project file are described hereafter.


Objective Generic

			////////////////

			These two lines are mandatory and indicate the beginning of the objective and constraint
			sections


Objectives
1
PENALTY
*******
QUANTITY_NAME Y
PENALTY_TYPE MINIMIZE
EXPONENT +1.0000000000000000
WEIGHT +1.0000000000000000
IMPOSED_VALUE +0.0000000000000000
REFERENCE_VALUE +1.0000000000000000

This section defines the optimization objectives.
The first line is simply a keyword. The second line species the number of objectives (Nobj);
Then the following lines are repeated as many times as there are objectives Nobj;

Two lines for the title with the PENALTY keyword and a line with "********" ;
Then the quantity name on which this penalty will be applied. The possible names are defined in the simulation coupling section and are the parameters and responses names;
Then the type of penalty which can be chosen among the following keywords :MINIMIZE: meaning that the optimizer will try to minimize this quantity (for Objectives, MIN in the FINE™/Design3D GUI);MAXIMIZE: meaning that the optimizer will try to maximize this quantity (for Objectives, MAX in the FINE™/Design3D GUI);UPPER BOUND: meaning that the optimizer will try to find solutions for which this quantity will be below the imposed upper limit (for Constraints, MAX in the FINE™/Design3D GUI);LOWER BOUND : meaning that the optimizer will try to find solutions for which this quantity will be above the imposed lower limit (for Constraints, MIN in the FINE™/Design3D GUI);EQUALITY: meaning that the optimizer will try to find solutions for which this quantity is as close as possible to the imposed value (for Constraints);
A penalty term (internally used by MINAMO) will be constructed using the current quantity value, using the penalty type and using the following formula:
				

where:

W (WEIGHT) is a weight factor (default value is 1);
Q is the current value of the quantity to be controlled;

 (IMPOSED_VALUE) is the imposed value of the quantity (for constraints);

 (REFERENCE_VALUE) is a reference value (positive) to
					scale the penalty term. This is highly recommended when
					working with objectives and constraints with different orders of magnitude, default value is 1; 

 (EXPONENT) is the exponent in the above formula
					(default value is 1 for objectives and 2 for constraints).


Constraints
0

This section defines the optimization constraints in a similar way to the objectives above.

Note that for MINAMO in FINE™/Design3D, the project file is automatically generated based on the information in the GUI.
See the following figures for the objective and constraints definitions.




FIGURE 32 Objectives definition.


FIGURE 33 Constraints definition
Non-dimensionalization 
The user has to pay attention to the non-dimensionalization
 of the different quantities. It is strongly recommended to normalize
 the output values to the same order of magnitude due to the way
 MINAMO handles objectives and constraints via penalties.
For
 instance, it is not good to have  and 
The non-dimensionalization and weights on
 the different penalty terms of the global objective must be defined
 by the user via the Objectives and Constraints definitions. 


Surrogate model dump file


Training a surrogate model from a set of points can be costly when the dimension
of the design space and/or the number of points become large. In order to avoid
training a surrogate model several times from the same database, MINAMOcan
save it into a binary file for future use in several other tools (such as
ANOVA, LOO, etc). A plan file is always
associated to the dump file and contains the sample points used to train the surrogate
model(s) dumped in the binary file. 



MINAMO Python card


The MINAMOcard is a Python file containing a dictionary of key-value
pairs. This dictionary contains a description of the task to perform with the optimization problem
described in the .prj file. These tasks can be a DoE, an adaptive
DoE, or an optimization task. 





                   Traceability file


MINAMO creates a traceability file containing a "DNA trace" of each experiment.
This file contains the following information for each experiment (one line per individual):



ID: the ID number of the experiment;

LocalID: the local ID number of the experiment (for example if the ID has been manually changed);

MINAMODir: the directory name where all the files generated by MINAMOare located;

LocalDir: the directory name where the directories with the evaluations of the experiments, (LocalExp), are stored;

LocalExp: the directory where the evaluation of the experiment is stored;

PLAN_ID: the ID of the plan file used to create the individual : for a DoE this will be the PLAN_ID of the plan file created by the DOEGenerator, for an optimization this is the PLAN_ID of the RUNNING_OPTI plan;

ProjectFile: the name of the project file used to generate the individual (name is sufficient, changes in the project file by the user without changing the name are the responsibility of the user);

PythonCard: the name of the Python card used to generate the individual (name is sufficient, changes in the Python card by the user without changing the name are the responsibility of the user);

DesignIteration: the design iteration number of the optimization that has generated this individual (0 if DoE);

NumberPoints: the number of points used to train the surrogate model(s) (number of success points in the training box defined by the move limit procedure, 0 if DoE);

Type: the type of points (DoE, Opti or Random/ FeasibleEA if the number of NewSamplesPerDesign is larger than 1);

Comment: it is possible to add a comment.




History/ Evolution files


During an optimization, MINAMO creates several history/ evolution files:

HISTORY.dat

This file contains the convergence history of the search process. There is one line per design iteration with the following information:

the design iteration number, 
the ID of the best current individual, 
the values of the objective(s) and constraint(s) (if applicable), 
the number of violated constraints, 
the sum of the constraints violations. 


Example:

#1. Iteration 2. Best ID 3. F ... 11. G8 Num. Viol. Cons. Sum. Violations 
 
0 10 5.272880837897407e+02 ... 2.661101195269622e+01 4 8.378561979128277e+01 
 
1 10 5.272880837897407e+02 ... 2.661101195269622e+01 4 8.378561979128277e+01 

 2 10 5.272880837897407e+02 ... 2.661101195269622e+01 4 8.378561979128277e+01 
 
3 13 7.690301831120283e+02 ... 4.213219250425234e+01 5 6.818942404498674e+01 
 
4 14 7.700141333370174e+02 ... 6.439949582962790e+01 4 7.801980453515398e+01 
 
5 14 7.700141333370174e+02 ... 6.439949582962790e+01 4 7.801980453515398e+01 
 
6 14 7.700141333370174e+02 ... 6.439949582962790e+01 4 7.801980453515398e+01 
 
7 17 8.884621583954141e+02 ... 7.536539525088494e+01 3 8.322638542448973e+01 

 8 18 4.471997017285792e+02 ... 1.393993386413563e+00 3 4.933354825865639e+00 

 9 19 3.695324318814824e+02 ... 1.004174603897281e+01 1 1.004174603897281e+01




LOOEvolution.dat

This file gives the evolution of the LOO correlation coefficients of each considered response (objective(s)/constraint(s)) with the number of design iteration. This allows to monitor the evolution of the surrogate model(s) quality. There is one line per design iteration with the design iteration number and the LOO correlation coefficient values of objective(s)/constraint(s). 

Example:

 
 # Iteration F G1 ... G8 

 0 0.778246 0.996533 ... 0.926892 
 
1 0.872843 0.990628 ... 0.931660 
 
2 0.946991 0.986708 ... 0.890054 
 
3 0.951150 0.918974 ... 0.904412 

 4 0.958042 0.937048 ... 0.905844 

 5 0.968129 0.974725 ... 0.965103 

 6 0.974093 0.986565 ... 0.979467 
 
7 0.978307 0.985530 ... 0.977804 
 
8 0.972124 0.988684 ... 0.918182 
 
9 0.969785 0.989359 ... 0.933370




EvolutionEAOnModel.dat

 This file resumes the convergence of the evolutionary algorithm performed at each design iteration on the surrogate model(s). The file contains the following information : the design iteration number, the value of the global objective, objective(s) and constraints violations (based on the surrogate model(s) predictions) at each generation of the EA and the index of the first generation at which a feasible point is found (in the sense of the surrogate model(s)). The following example illustrates this file for an optimization of 3 design iterations with 50 generations of the EA at each design iteration. 


 
# Iteration 0

# Generation Global objective F_MIN
 
0 -4.109625555598716e+01 -4.111198607051822e+01
 
1 -5.209999176373366e+01 -5.169669233507791e+01
 
2 -5.222690209823769e+01 -5.171373873973877e+01
 
... ... 

 47 -5.309038190809967e+01 -5.256919764634562e+01

 48 -5.309038190809967e+01 -5.256919764634562e+01

49 -5.309038190810042e+01 -5.256919764649238e+01

# GenFeasible 0

# Iteration 1

# Generation Global objective F_MIN

 0 -8.609926237387018e+01 -8.610086096133598e+01

 1 -8.618582219692021e+01 -8.610086096133598e+01
 
2 -8.618590761262895e+01 -8.610086096133598e+01

 ... ... 
 
47 -8.836577811437174e+01 -8.827889467287352e+01
 
48 -8.836577811437175e+01 -8.827889467287352e+01

49 -8.836577811437175e+01 -8.827889467287352e+01

# GenFeasible 0

# Iteration 2
# Generation Global objective F_MIN
 
0 -2.444247741627325e+01 -2.444255663140997e+01
 
1 -3.526294003704319e+01 -3.526054417854849e+01

 2 -3.676976939560078e+01 -3.676629322556632e+01

 ... ... 
 
47 -4.104325904919087e+01 -4.103924703986733e+01
 
48 -4.104325904919087e+01 -4.103924703986733e+01
 
49 -4.104325904919087e+01 -4.103924703986733e+01

# GenFeasible 0




SUMMARY_OPTI


At the end of the optimization, MINAMOalso creates a file (SUMMARY_OPTI) with the best solution found as follows:

Optimum solution (mono-objective optimization)


Experiment #73

Design parameters:

 
2.259312127044423e+00 X01

 2.153025057086259e+00 X02
 
8.254543585120022e+00 X03
 
4.793517994415908e+00 X04
 
8.914394931564714e-01 X05
 
1.401362665559254e+00 X06
 
1.489788701586868e+00 X07
 
9.954405358195331e+00 X08
 
8.610894972258642e+00 X09
 
8.665089402831507e+00 X10


Responses:

 
2.689293911083869e+01 F

-7.734408739364085e-02 G1

-4.867639683193659e-02 G2

-4.415084655267165e-02 G3

-1.420845181022730e+01 G4

-1.757412317885930e+00 G5

-5.054097081734152e-01 G6

-5.716988048830004e+00 G7

-5.003709985286562e+01 G8


The optimum point is feasible






Lock file


For preventing the resubmission of MINAMO, the file   MINAMO_LOCK is created at each run of MINAMO. If your job has crashed for any reason, you have to
delete the file MINAMO_LOCK before relaunching MINAMO.




Context file



At the end of each design iteration in an online SBO scheme, MINAMO
saves its optimization process history (design iteration, the size and
location of trust region and some additional information) into the file
MINAMOContext.txt.

How to deal with the constraints ?

The handling of constraints in evolutionary algorithms is a delicate task, 
which explains the important amount of techniques devised to address it.
In mono-objective optimization, Michalewicz and Coello classified them in six 
categories [12,13] :



lethalization or death penalty techniques;

penalization techniques;

methods separating the objectives and the constraints;

methods with decoders or constraint-preserving operators;

repair algorithms;

hybrid methods.



Penalty methods


The penalization of individuals violating the constraints is the most
popular approach by the EA community. 
			Penalty methods  transform
a constrained problem to an unconstrained one. A new objective function
 is defined by adding a penalty to each unfeasible
solution. In EAs, exterior penalty functions are used more than
interior penalty functions as there is no need to start with a
feasible solution in exterior penalty methods.



Different penalty methods exist and three different ones have been
implemented in MINAMO :


Static penalty

The fitness function is computed as follows:



where  is a constant defined by the user, here the penalty
 				parameter is the same for each constraint (and remains constant throughout the generations).


Joines and Houck's dynamic penalty

The Joines and Houck's dynamic
 penalty [14] deals
 with dynamic coefficients, of which the values are computed with respect to
 the number of the current generation:




where  is the generation number and ,  and  are parameters of the method (standard values recommended in
 [14] are: ,   and  ). The quality of
 a possible solution is very sensitive to changes of these penalty parameters.


Bean and Hadj-Alouane's adaptive penalty

The Bean and Hadj-Alouane's adaptive
 penalty [13]:



where  is a parameter of the method and  is re-computed 
					at each generation as follows:




 
where cases #1 and #2 denote situations where the best individual
 in the last  generations was always (case #1) or never
 (case #2) feasible. 
 and   have to be defined by the user (with  and to avoid cycling). It
 means that the penalty decreases if the best individual in the last
   generations was systematically feasible, and increases if it was
 always unfeasible; otherwise the penalty parameter remains
 unchanged. Adaptive penalization has the advantage to pay heed to
 the results obtained at previous generations. The default values in
 MINAMO are  and .




Penalization techniques provide good results without significant
modification of the standard EA. However, the difficulty in the choice
of the penalty parameters constitutes their main drawback, because no
general rule can be applied to determine their values.
To alleviate this problem, Deb[15] has proposed a constraint
tournament selection method.
Deb's constraint handling method
Deb's constraint tournament selection method:

when two individuals are compared, the feasible one is always
 preferred to the unfeasible one;