user manual igg v4.9-2

348
NUMERICAL MECHANICS APPLICATIONS IGG Interactive Grid Generator User Manual contains: IGG TM v4.9

Upload: japbello

Post on 27-Nov-2014

679 views

Category:

Documents


41 download

TRANSCRIPT

Page 1: User Manual Igg v4.9-2

N U M E R I C A L M E C H A N I C S A P P L I C A T I O N S

IGG™

Interactive Grid Generator

User Manual

contains:

IGGTM v4.9

Page 2: User Manual Igg v4.9-2

N U M E R I C A L M E C H A N I C S A P P L I C A T I O N S

IGG™

User Manual

Version 4.9-c (April 2005)

NUMECA International

5, Avenue Franklin Roosevelt

1050 Brussels

Belgium

Tel: +32 2 647.83.11

Fax: +32 2 647.93.98

Web: http://www.numeca.com

Page 3: User Manual Igg v4.9-2

Contents

IGG™ i

CHAPTER 1: Getting Started 1-1

1-1 What is IGG™ ? 1-1

1-2 Structure of the Manual 1-2

1-3 Installation and Settings 1-2Basic Installation 1-2Platform Compatibility 1-3Expert Display Options 1-3

Graphics Driver 1-3Background Color 1-3

1-4 How to Start IGG™ Interface 1-4

1-5 Terms and Concepts 1-5Block Shape Control 1-5Grid Control 1-7Internal Grid Lines 1-8Internal Faces 1-9Block, Face, Edge, Segment Numbering and Active Entities 1-9Grid Generation 1-11Boundary Conditions 1-12

1-6 Visualization 1-13Geometry 1-13Grid 1-13

CHAPTER 2: IGG™ Graphical User Interface 2-1

2-1 Overview 2-1

2-2 GUI description 2-2Menu bar 2-2Toolbar 2-3Quick Access Pad 2-4Control area 2-5

Message area 2-6Keyboard input area 2-6Mouse coordinates 2-6Information area 2-6Grid parameters area 2-7

Viewing buttons 2-7X, Y, and Z projection buttons 2-8Coordinate axis 2-8Scrolling 2-83D viewing button 2-8Rotate about x, y or z axis 2-9Zoom in/out 2-9Region zoom 2-9Fit button 2-9Original button 2-9Cutting Plane 2-9

Graphics area and views 2-10

Page 4: User Manual Igg v4.9-2

ii IGG™

Contents

2-3 GUI interaction 2-11Keyboard short cuts 2-11Default mouse bindings 2-14

CHAPTER 3: Meshing fundamentals 3-1

3-1 Introduction 3-1

3-2 Basic Block Creation 3-3Creating a block defined by two opposite vertices 3-3Creating a block by its eight vertices 3-3Creating a block by extrusion from an existing block 3-4Creating blocks by duplication of existing block(s) 3-5Block extension 3-6

3-3 Block Shape mapping 3-8Moving a vertex 3-8Adding and deleting vertices 3-9Vertex Snapping 3-10Vertex locking 3-11Edge Mapping 3-11Edge mapping onto disjointed curves 3-12Edge mapping on surface 3-13Faster vertex movement 3-13

3-4 Edge grid control 3-14Fixed Point Control 3-15Segment Control 3-16

3-5 Face generation 3-19Face generation by bilinear interpolation 3-19Face projection 3-20Mapping onto a surface 3-21Finer control on the face generation 3-21Face generation history and face regeneration 3-22

History visualization 3-22Face regeneration 3-23

3-6 Block generation 3-24

3-7 Internal edges 3-25

3-8 Internal faces 3-27

3-9 Defining patches and boundary conditions 3-28

3-10 Connections 3-30Patch connections 3-30

Matching and non matching connections 3-30Full non matching connections 3-33

Topological connections (vertex, edge, segment) 3-35Vertex connection 3-35Orphan vertex connection 3-36Topological edge connection 3-37Segment connection 3-37

Connection tools 3-37

Page 5: User Manual Igg v4.9-2

Contents

IGG™ iii

Connecting face grids 3-38Full non matching connections 3-39

Disconnecting entities 3-40Visualizing connections 3-40

3-11 Blocks grouping 3-42Block groups usage 3-42Managing groups 3-42

CHAPTER 4: Basic Tutorials 4-1

4-1 Overview 4-1

4-2 Geometry Tutorial 4-2Curves creation 4-2Curve selection 4-3Curve visualization 4-3Curve Saving 4-5Surface Creation 4-5

Creation of a lofted surface 4-5Creation of a Coons patch 4-6Creation of a surface of revolution 4-7

Surface visualization 4-7Surface selection 4-8Adding curves to the surface 4-8

4-3 Grid generation tutorial 4-10Case description 4-10Project configuration 4-12Importing and creating the boundary curves 4-12

Importing the pressure and suction sides 4-13Creating boundary curves 4-13

Creating and placing the block 4-13Grid points clustering 4-17

Clustering the boundary layer area 4-18Clustering in the wake area 4-19clustering in the leading and trailing edges areas 4-20

Grid Generation 4-20 Boundary condition settings 4-22

CHAPTER 5: Butterfly mesh 5-1

5-1 Introduction 5-1

5-2 IGG™ butterfly implementation 5-3Terminology 5-3Generation method 5-3Butterfly shape control 5-4

5-3 Butterfly dialog box 5-8"General variables" frame 5-9

Preferential direction 5-9Buffer blocks 5-9

Page 6: User Manual Igg v4.9-2

iv IGG™

Contents

Creation from uniform clustering 5-10"Section control" frame 5-11

Section number ID 5-11Preferential direction buffer depth 5-11Radial depth 5-11Control points parameters 5-13Section interactive control 5-13

"Clustering" frame 5-14Number of radial points 5-14Radial clustering 5-14Clustering reciprocity 5-15

Butterfly command buttons 5-16

5-4 Butterfly management 5-17Creation specificities 5-17Blocks naming and numbering 5-18Interaction with the butterfly topology 5-18Forbidden operations 5-20Visualization of butterfly blocks inner mesh 5-21Cells volume calculation 5-22Grid quality checking 5-22Butterfly regeneration when using template 5-22Block transformation 5-23Block duplication 5-23Imposition of an initial solution in FINE™ 5-23Current limitations 5-24

CHAPTER 6: Templates and Scripts 6-1

6-1 Introduction 6-1

6-2 Templates 6-2Introduction 6-2Fundamental assumptions 6-2Using the template option 6-3

Analyzing the input geometry 6-3Creating the template project 6-3

Geometry options 6-3Grid options 6-4Vertex positioning 6-4

Replaying the template on the modified geometry 6-4Troubleshooting 6-5Input file format 6-5

6-3 Scripts 6-6Introduction 6-6Python Language Overview 6-6

Adding Commented Lines 6-6Support for Mathematical Operations 6-6String Handling 6-7Lists Handling 6-7

Page 7: User Manual Igg v4.9-2

Contents

IGG™ v

Control Flow 6-8Function Definition 6-8File Handling 6-9Error Handling 6-9Creating and Using Modules (library of functions) 6-9

Running a Script File 6-10IGG™ Script Commands 6-11

Project Commands 6-11Geometry Commands 6-12

Global Functions 6-12Point and Vector Classes 6-13Range Class 6-14Curve Class 6-14Surface Class 6-16

Topology and Grid Classes Commands 6-17Block Class 6-18Face Class 6-22Patch Class 6-23Edge Class 6-24Segment Class 6-24BlockGroup Class 6-25Vertex Class 6-25Topology Placement 6-26

Connection Commands 6-26Quality Checking Commands 6-27MultiStage Module 6-28

Examples 6-31

6-4 Templates versus scripts 6-33

CHAPTER 7: Quick Access Pad 7-1

7-1 Overview 7-1

7-2 Geometry subpad description 7-3Point page 7-3

Cartesian Point 7-3Curve-Curve Inters 7-3Curve-Plane Inters 7-3

Curve page 7-3Polyline 7-3CSpline 7-3Arc 7-3Trim 7-4Group 7-4UnGroup 7-4Surf-Surf Inters 7-4Surf-Plane Inters 7-4Set Name 7-4

Surface page 7-4

Page 8: User Manual Igg v4.9-2

vi IGG™

Contents

Lofted 7-4Revolution 7-4Coons 7-4Linear Sweep 7-4Offset 7-5From Face Grid 7-5Set Name 7-5

Edit page 7-5Copy 7-5Mirror 7-5Translate 7-5Rotate 7-5Scale 7-5

7-3 Grid subpad description 7-6Create page 7-6

Insert New Block 7-6Insert New Block by picking vertices 7-7Insert New Face 7-8Extrude Range 7-9Duplicate Block 7-11Block by Sweeping 7-13Block by Face translation 7-13Block by Face Expansion 7-14Block by Face Rotation 7-14Create Butterfly 7-14Delete Block(s) 7-14

Insert/Edit page 7-15Insert Vertex 7-15Insert Fixed Point 7-15Insert Internal Grid Line 7-15Internal Point 7-15Internal Face 7-16Cluster Points 7-16Transform Blocks 7-16Extend Block 7-17Split Block 7-18Split Block at internal faces 7-18Merge Blocks 7-18

Connect page 7-18Edge - Edge 7-19Face - Face 7-20Whole grid 7-20Show Vertex Connections 7-21Show Edge Connections 7-21Show Segment Connections 7-21Show Face Connections 7-21

Generate page 7-222 Bnd Interpolation 7-22

Page 9: User Manual Igg v4.9-2

Contents

IGG™ vii

4 Bnd Interpolation 7-22Face Generation Tool 7-22Project Face 7-22Block 6 Bnd 7-24Regenerate Faces 7-24Show History 7-25

7-4 View subpad description 7-26Geometry Groups page 7-26Block Groups page 7-27Grid page 7-29

CHAPTER 8: File Menu 8-1

8-1 Overview 8-1

8-2 File menu description 8-1Open 8-1New 8-2Scripts --> Edit 8-2Scripts --> Save All 8-2Scripts --> Execute 8-2Scripts --> Re-execute Last 8-3Save --> Save 8-3Save --> Save As 8-3Save --> Save As Fine 6 8-3Import -> IGG Project 8-3

Prefix 8-3Importation operations 8-4

Import -> IGG Data 8-4Import -> External Grid 8-5Import -> Face Grid 8-5Import -> Topology 8-6Import -> IGES Data 8-6Import -> PLOT3D 8-7Import -> CGNS 8-8Import -> GridPro 8-8Export -> IGES 8-9Export -> Geometry Selection 8-9Export -> Geometry Control Points 8-9Export -> Block Coor 8-9Export -> Face Coor 8-10Export -> Patch Coor 8-10Export -> Segment Discretization 8-10Export -> PLOT3D 8-10Replay Template -> Import IGG Data 8-11Convert Data 8-11 Convert Data -> Rotate Data 8-11Convert Data -> Scale Data 8-12Convert Data -> Translate Data 8-12

Page 10: User Manual Igg v4.9-2

viii IGG™

Contents

Convert Data -> Mirror Data 8-12Convert Data -> Swap Data 8-13 Convert Data -> Reverse Sequence 8-13Convert Data -> Cartesian_Cylindrical 8-13Convert Data -> Extract 2D from 3D 8-13Convert Data -> Extract Curve 8-13Convert Data -> Grid : IJK_KJI 8-14Convert Data -> Grid : 2D_3D 8-14Convert Data -> Data : Expand Surface 8-14Print -> As PostScript 8-14Print -> As Bitmap PostScript 8-14Print -> As PNG 8-15Preferences 8-15

Tolerances page 8-15Geom Tol (abs) 8-15Geom Tol (rel) 8-15Topo Tol (rel) 8-16Pick Aperture 8-16

Saving page 8-17Graphics page 8-17Layout page 8-18

Project Configuration 8-18Quit 8-20

CHAPTER 9: Geometry Menu 9-1

9-1 Overview 9-1Basic Geometry Entities 9-1Curve Orientation 9-2Geometry tolerance 9-2

Absolute tolerance 9-2Relative tolerance 9-2

Attraction 9-2

9-2 Geometry menu description 9-3Draw CSpline->Free 9-3Draw CSpline->On Surfaces 9-3Draw CSpline->On Surface + Projection 9-4Draw BSpline->Free 9-4Draw B-Spline->On Surfaces 9-5Draw B-Spline->On Surface + Projection 9-5Draw Polyline->Free 9-5Draw Polyline->On Surfaces 9-6Draw Polyline->On Surface + Projection 9-6Circular Arc->Normal-Center-Point-Point 9-7Circular Arc->Normal-Point-Point-Radius 9-8Circular Arc->Point-Point-Point 9-10Create Points->Cartesian Point 9-11Create Points->Curve-Curve Intersection 9-11

Page 11: User Manual Igg v4.9-2

Contents

IGG™ ix

Create Points->Curve-Plane Intersection 9-11Create Curve->Surf-Surf intersection 9-11Create Curve->Surf-Plane inters->Point-Normal 9-12Create Curve->Surf-Plane inters->Normal to Curve 9-12Create Curve->Surf-Plane inters->Point-Point-Point 9-13Create Curve->Extend Curve 9-14Create Curve->Offset Curve (Cst) 9-14Create Curve->Offset Curve (Linear) 9-14Create Curve->Group 9-15Create Curve->UnGroup 9-15Create Curve->Trim 9-16Create Surface->Lofted 9-16Create Surface->Revolution 9-17Create Surface->Coons Patch 9-17Create Surface->Linear Sweep 9-18Create Surface->Offset 9-18Create Surface->From Face 9-18Edit->Copy 9-18Edit->Translate 9-19Edit->Rotate 9-19Edit->Scale 9-19Edit->Mirror 9-20Edit->Convert to CSpline 9-20Modify Curve->Add Control Point 9-20Modify Curve->Remove Control Point 9-21Modify Curve->Project 9-21Modify Curve->Modify Point 9-21Modify Curve->Modify Point On Surface 9-22Modify Curve->Discretization 9-22Modify Curve->Divide 9-22Modify Curve->Reverse 9-22Modify Curve -> Set Name 9-23Modify Surface->Discretization 9-23Modify Surface->Representation 9-23Modify Surface->Add uv Curves 9-23Modify Surface->Divide 9-24Modify Surface-> Set Name 9-24Select->Cartesian Points 9-24Select->Control Points 9-25Select->Curves 9-25Select->Surfaces 9-25View->Curves 9-26View->Surfaces 9-27View->Hide Selected Cartesian Points 9-28View->Hide Selected Curves 9-28View->Hide Selected Surfaces 9-28View->Control Points 9-28View->Curve Orientation 9-28View->Lofting curves 9-28

Page 12: User Manual Igg v4.9-2

x IGG™

Contents

View->Prepare View 9-28View->Clear View 9-29View->View Wireframe 9-30View->View Solid 9-30Delete Cartesian Points 9-30Delete->Curves 9-30Delete->Surfaces 9-30Distance 9-30

CHAPTER 10:Grid Menu 10-1

10-1 Overview 10-1Boundary Conditions setting 10-1Coarse Grid Levels 10-2

10-2 Grid menu description 10-4Periodicity 10-4Grid Settings 10-5

Resizing of one block 10-8Limitations 10-9

Boundary Conditions 10-9Patch browser 10-10Filters 10-10Patch type specification 10-10Patch definition and editing 10-11Automatic connectivity search 10-12

Mirror boundary conditions 10-13Connections 10-13Automatic search 10-13Tips and tricks 10-14

Manual Connectivity Settings 10-15Full non matching connections 10-16

Grid Quality 10-19Quality criterion definitions (Block page) 10-21

Criterion class 10-21Criteria definition 10-21

Quality criterion definitions (Boundaries page) 10-232D project particularities 10-24

Negative cells 10-24Internal Grid line/Create from grid 10-26Internal Grid line/Delete 10-26Internal Grid line/Index 10-26Internal Face/Create 10-27Internal Face/Delete 10-28Internal Face/Index 10-28Create Edge/Copy Edge 10-28Create Face/Linear 2Bnd 10-28Create Face/Linear 4Bnd 10-29Create Face/Generation Tool 10-29

Page 13: User Manual Igg v4.9-2

Contents

IGG™ xi

Grid Page 10-29 Internal Grid Lines Page 10-33

Create Face/Project onto Surfaces (N) 10-34Create Face/Project onto Surfaces (T) 10-34Create Face/Rotate Edge 10-35Create Face/Copy Face 10-35Create Face/Copy Face Range 10-35Create Block/Linear 2Bnd 10-37Create Block/Linear 4Bnd 10-37Create Block/Linear 6Bnd 10-38Create Block/Smoothing 10-38Create Block/Elliptic/Multigrid 10-38Create Block/Elliptic/Multigrid Parameters 10-39Create Block/Elliptic/SLOR 10-40Create Block/Butterfly 10-40Create Block/Change axis 10-40Create Block/Split 10-41

Limitations 10-41Create Block/Split at internal faces 10-43Create Block/Merge 10-43

Limitations 10-43Create Block/Sweeping 10-44Create Block/Extrude Normally 10-45Create Block/Translation 10-46Create Block/Rotation 10-47Grid Density/Clustering 10-47

Clustering types 10-49Clustering groups 10-50Clustering convergence 10-51Segment optimum settings 10-52

Grid Density/Copy 10-53Grid Density/Move Pt 10-54

CHAPTER 11:View Menu 11-1

11-1 Overview 11-1Views 11-1View repetitions 11-1

11-2 View menu description 11-2Patch Viewer 11-2Sweep Surfaces 11-3Sweep Cells 11-4Show Unmapped vertices 11-5Coarse Grid 11-5Repetition 11-6View Position 11-6Face Displacement 11-7View Depth 11-7

Page 14: User Manual Igg v4.9-2

xii IGG™

Contents

Perspective 11-7Hidden lines 11-7Insert Text 11-8Delete->Delete Text 11-8

CHAPTER 12:Input and Output Files 12-1

12-1 Overview 12-1

12-2 Input Data Files 12-1Curve data files 12-1Surface data files 12-3

Wireframe surfaces 12-3Multiple wireframe surfaces 12-4Lofted surfaces 12-4

Combined curve and surface data files 12-5Block data files 12-5

12-3 Grid file format 12-7CGNS file 12-7Boundary Conditions file format 12-7

Format description 12-8

12-4 PLOT3D file format 12-12Single-block file 12-13Multi-block file 12-13

CHAPTER 13:Tutorials 13-1

13-1 Mesh Generation in pipes 13-1Introduction 13-1Geometry Definition 13-2Meshing the larger cylinder 13-4Meshing the small cylinder 13-6Generating the block grids 13-9Butterfly topology creation 13-9Connecting the blocks 13-10

INDEX

Page 15: User Manual Igg v4.9-2

IGG™ 1-1

CHAPTER 1: Getting Started

1-1 What is IGG™ ?IGG™ is a powerful structured grid generator software designed to facilitate the generation ofmulti-blocks structured grids around complex 2D and 3D geometries. It is a fully interactive systemcombining interactive 3D graphics capabilities with advanced GUI capabilities.

An optional module, AutoGrid, allows to perform fully automatic grid generation for turbomachin-ery problems. Complex grids can be generated by using AutoGrid, including splitters, seal leakageand more in a few minutes.

IGG™ provides a geometry module dedicated to the importation and manipulation of external CADgeometries. Additionally it provides tools for the creation of simple and more advanced NURBScurves and surfaces. This module can be used to close an incomplete geometry model or to create ageometry model from scratch.

Starting from this geometry, IGG™ provides powerful tools to perform the meshing process. Initialblocks can be created very rapidly and interactively deformed onto the geometry. The mapping ofthe block boundaries is done instantaneously so that the real shape of the blocks is obtained at anytime. When more control is needed over the boundary shape, control vertices can be easily added orremoved and moved interactively. A powerful snapping feature automatically attracts the verticesto the closest point, curve or surface.

Through its concept of tolerant vertex, blocking can be performed on geometries presenting gapswithout going through a CAD repair stage. IGG™ automatically closes the gaps to a given level oftolerance.

The Grid module provides tools to generate face and block grids in a flexible way. Algebraic andelliptic smoothers can be used to generate surface and volume meshes. Projection or mapping onCAD surfaces insure the generation of body fitted meshes. Additionally IGG™ provides uniquefeatures for controlling the quality of the grid through the concept of internal edge and internalfaces.

To facilitate the grid generation process IGG™ provides connection tools which enable to performconnections at different levels of the grid generation process: topological connections, block bound-aries connections and face grid connections.

Finally IGG™ provides full support to the CGNS standard. Using this file format, grids generatedwith IGG™ can be readily understood by more and more solvers.

Page 16: User Manual Igg v4.9-2

Getting Started Structure of the Manual

1-2 IGG™

This chapter provides a discussion over the following topics:

• Structure of the manual,

• System requirements,

• How to run IGG™,

• Terms and concepts.

1-2 Structure of the ManualThe structure of the IGG™ manual consists of several dedicated chapters which can be summarizedas follows:

• Chapter 1 describes the basic terms needed to understand IGG™ functionalities.

• Chapter 2 describes the GUI and the different interaction modes with the system.

• Chapter 3 describes the fundamentals of meshing and the most commonly used options.

• Chapter 4 provides a basic hands-on tutorial for geometry modelling, topology decompositionand structured grid generation. It is highly recommended to follow this chapter before going anyfurther with IGG™.

• Chapter 5 to Chapter 11 provide a detailed description of each functionality available in the dif-ferent modules. Each chapter is a description of a menu contained in the IGG™ interface.

• Chapter 12 describes IGG™ file formats for importing and exporting data.

• Chapter 13 provides more advanced tutorials showing the grid generation for more complexconfigurations.

The first four chapters provide a complete overview of IGG™ and are recommended for first timeuse. Following chapters provide more detail to serve as reference during the use of IGG™.

1-3 Installation and Settings

1-3.1 Basic Installation

When using IGG™ for the first time it is important to verify that IGG™ is properly installedaccording to the installation note. The installation note provided with the software should be readcarefully and the following points are specifically important:

• Hardware and operating system requirements should be verified to see whether the chosenmachine is supported.

• Installation of IGG™ according to the described procedure in a directory chosen by the user andreferenced 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.

Page 17: User Manual Igg v4.9-2

Installation and Settings Getting Started

IGG™ 1-3

• Each user willing to use IGG™ or any other NUMECA software must perform a user configu-ration as described in the installation note.

When these points are checked the software can be started as described in the installation note orsection 1-4 of this users guide.

1-3.2 Platform Compatibility

IGG™ projects are 100% compatible across heterogeneous platforms. For example, an IGG™project can be started on an NT platform, continued on a SGI machine and reloaded on a DEC,without any modification.

1-3.3 Expert Display Options

a) Graphics Driver

The Graphics area of IGG™ interface uses by default an OPENGL driver that takes advantage ofthe available graphics card. When the activation of OPENGL is causing problems, IGG™ uses anX11 driver (on UNIX) or MSW driver (for Windows) instead.

It is possible to explicitly change the driver used by IGG™ in the following ways:

On UNIX:

in csh, tcsh or bash shell:setenv NI_DRIVER X11

in korn shell:NI_DRIVER=X11export NI_DRIVER

The selection will take effect at the next session.

On Windows:

• 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.

b) Background Color

The background color of IGG™ can be changed by setting the environment variableNI_IGG_REVERSEVIDEO on UNIX/LINUX platforms or IGG_REVERSEVIDEO on Windowsplatforms. Set the variable to ’ON’ to have a black background and set it to ’OFF’ to have a whitebackground. The variable can be manually specified through the following commands:

On UNIX:

in csh, tcsh or bash shell:

setenv NI_IGG_REVERSEVIDEO ON

in korn shell:

NI_IGG_REVERSEVIDEO=ONexport NI_IGG_REVERSEVIDEO

The selection will take effect at the next session.

Page 18: User Manual Igg v4.9-2

Getting Started How to Start IGG™ Interface

1-4 IGG™

On Windows:

• Log in as Administrator.

• Launch System Properties from the Start/Settings/Control Panel/System menu.

•Go in the Environment Variables.

•Modify or add the IGG_REVERSEVIDEO entry to either ON or OFF.

The selection will take effect at the next session.

1-4 How to Start IGG™ InterfaceIn order to run IGG™, the following command should be executed:

On UNIX and LINUX platforms type: igg <Enter>

� When multiple versions of IGG™ are installed the installation note should be consultedfor advice on how to start IGG™ in a multi-version environment.

On Windows click on the IGG™ icon in Start/Programs/NUMECA software/fine#. AlternativelyIGG™ can be launched from a dos shell by typing:

<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin\igg.exe <Enter>

where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in section 1-3.1 and #is the number corresponding to the version to be used.

Page 19: User Manual Igg v4.9-2

Terms and Concepts Getting Started

IGG™ 1-5

1-5 Terms and ConceptsThis section describes the terms and concepts used in this manual. For more details on a specifictopic 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 decomposedinto two major steps: the blocking step, also called topological decomposition, and the meshingstep.

Blocks are used to decompose complex 3D domains into simpler meshable sub-regions. To create amesh, blocks are created, initially simple cubes, and adapted to the geometry by deforming theirboundaries (edges) so that they lie onto geometry curves or surfaces. Blocks can be created asneeded and they are connected together to insure non overlapping filling of the domain. The crea-tion, 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 facehaving four edges. Furthermore each edge is shared by exactly two faces. There are consequently12 edges for a block.

Blocks can be thought of as cubes whose edges are deformed to lie onto the CAD geometry. Thefollowing picture shows two blocks deformed to lie on the geometry.

FIGURE 1.5.0-1 Edges deformed and positioned on a geometry.

1-5.1 Block Shape Control

The shape of a block is directly defined by the shape of its grid edges (edge belonging to a blockface). These grid edges are supported and handled by topological edge(s). These topological edgesare used to capture the geometry and must not be confused with a grid edge (more commonly callededge). 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 areshared 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 the following figure.

Block 1

Block 2

Page 20: User Manual Igg v4.9-2

Getting Started Terms and Concepts

1-6 IGG™

FIGURE 1.5.1-1 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 edgesonto 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 meansthat 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 geometryentity 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 thevertex 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 astraight 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 informa-tion 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. The following figure shows an example of two curves lying next toeach 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 themapping of the edge onto the two curves.

FIGURE 1.5.1-2 Internal vertex insertion in an edge.

geometry curve

curve 1curve 2

Vertex required to map the edge on both curves

Page 21: User Manual Igg v4.9-2

Terms and Concepts Getting Started

IGG™ 1-7

When inserting the internal vertex into the edge, the initial topological edge is replaced by two newtopological edges (a topological edge is delimited by two consecutive vertices). Therefore the firsttopological edge can be mapped on curve 1 and the second one on curve 2. In fact, at each internalvertex insertion, the number of topological edges of the grid edge is increased by one. Therefore anedge defined by N vertices has exactly N-1 topological edges.

The following figure shows an example of an edge being defined by several topological edges.

FIGURE 1.5.1-3 Grid edge defined by 4 vertices (3 topological edges)

IGG™ provides a tolerance mechanism to deal with input geometries presenting small gaps. A tol-erance is attached to each vertex participating in the definition of an edge. When a vertex is placedat the junction of two curves, as in the following figure, IGG™ attempts to fill the possible gap (ifexisting).

FIGURE 1.5.1-4 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 insertedon the edge and moved to the curve 1 end point. If the tolerance of this intermediate vertex is toosmall, the edge cannot map the curve 2. If it is sufficient, the edge also maps the curve 2, filling inthe gap with a straight line.

When gaps are big, the tolerance can be controlled for each vertex separately.

1-5.2 Grid Control

Once block edges are well positioned to capture the geometry, grid points can be positioned onedges.

start vertexend vertex

internal vertices

topological edges

Curve 1

Curve 2

Gap

End vertex

Start vertex

Edge

Intermediatevertex

Small tolerance Greater tolerance

Page 22: User Manual Igg v4.9-2

Getting Started Terms and Concepts

1-8 IGG™

Due to the structured approach, the edges varying along a same direction (I, J or K) are constrainedto have the same number of points. The number of grid points can be controlled independently forthe 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 pointson an edge. Using these segments, the clustering (distribution) can be locally controlled along theedge. By default, each edge has one segment. Moreover, for each new created segment, grid pointsare distributed at equal intervals (uniform spacing).

The creation of segments in an edge is done by insertion of fixed points ( ), as shown in the fol-lowing figure:

FIGURE 1.5.2-1 Edge division in segments using fixed points.

Fixed points define the limits of the segments. They also control the range of grid points controlledby the segments. Changing the index of a fixed point changes the number of points in the surround-ing 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 itsedge.

1-5.3 Internal Grid Lines

FIGURE 1.5.3-1 Two internal edges added to the face

segment 1

segment 2

segment 3

Fixed point shared bysegments 1 and 2

Fixed point shared bysegments 2 and 3

Start vertexEnd vertex

Edge 1

Edge 2

Edge 4Edge 3 Edge 6

Edge 5

Page 23: User Manual Igg v4.9-2

Terms and Concepts Getting Started

IGG™ 1-9

Internal edges ( ) are used to obtain a better control of the grid quality during face grid genera-tion. They enable to decompose a face grid into smaller, more manageable areas and can be manip-ulated 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.5.3-1 showsa 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 aswell as the other existing internal edges. At each intersection IGG™ creates a fixed point attachedto a vertex. This vertex-fixed point is shared by the edges and insure topology and grid consistencyat any time (indeed internal grid lines cannot be separated at their intersection with other edges).

1-5.4 Internal Faces

Internal faces ( ) are used to obtain a better control of the grid quality during block grid genera-tion by inserting controllable faces within the blocks. They decompose a block into smaller regionswhich can be independently generated and manipulated.

Internal faces are bound by four edges. These edges have the same general orientation as the bound-ary 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 internaledge at each intersection. These edges are shared by the crossing faces to insure a consistency dur-ing 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 inter-polation.

1-5.5 Block, Face, Edge, Segment Numbering and Active Entities

Each entity defining the grid topology (block, face, edge, segment) is identified by an index inIGG™.

Each block is defined by a local IJK coordinate system giving a natural naming convention for thefaces. Faces, edges and segments are further numbered and identified by indices as indicated in theFigure 1.5.5-1.

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 face4 of block 2.

• An edge is identified by its block, face and edge indices. For example, edge "1 5 2" refers tothe edge 2 of the face 5 of the first block.

• A segment is identified by its block, face, edge and segment indices. The segment index issimply 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".

Page 24: User Manual Igg v4.9-2

Getting Started Terms and Concepts

1-10 IGG™

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). Further-more each edge has a natural orientation given by the positive direction of the I, J and K axis, asshown in the previous figure. On the other hand, segments have the same orientation as their under-lying edge.

FIGURE 1.5.5-1 : Standard notation for the block, faces and orientation of edges

Active block, face, edge and segment

Some operations like face grid generation, visualization... must be operated on specific entities. InIGG™, 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 recog-nized from non active entities.

Activation of an edge, face or block is done by simple left mouse click on the desired entity in thegraphics area. When several entities lie at the same position, the left-click operation may need to berepeated until the proper entity is highlighted. Alternatively, an entity can be activated by enteringits 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).

4

2

3

1

2

41

2

3

4

6

I

J

K

5

3

2

1

4

3

1

2

1 4

4

23

3

2

1

43

K = 1

K = Kmax

J = 1

I = 1

I = Imax

J = Jmax

FACES EDGES

BLOCK

1

Edge 2

Edge 4Edge 3

Edge 1

Seg 1 Seg 2 Seg 3

Axis 1

Axis 2

SEGMENTS

Page 25: User Manual Igg v4.9-2

Terms and Concepts Getting Started

IGG™ 1-11

1-5.6 Grid Generation

After the grid points along the block boundaries (edges) have been correctly positioned, the facesgrid must be generated. Then the block grid generation can be performed by using these faces gridpreviously generated. The grid boundaries can have slope and/or line continuity or be totally dis-continuous 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 ( ).

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 normals 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 ( ).

Moreover the following options can be applied on a grid initially created:

• 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 ellip-

tic method ( ).

Algebraic methods based on transfinite interpolation are the most attractive options, due to fast realtime generation for face and block grids. The smoothness of such algebraic grids can be improvedby 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 interpolationThis type of algebraic generation is based on the determination of internal grid points of a blockby linear (Lagrange) interpolation from the surface grids generated on six boundary faces (notapplicable to face grids). Thus the grid conforms to the point distributions defined over the sixboundary faces. The surface grid normal lengths have no effect on the grid, since the orthogo-nality is not considered for linear interpolation.

• Linear four-boundary transfinite interpolationWith 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 distri-butions on four boundary edges are used for interpolation. Such a grid can also be considered asa bilinearly blended Coons patch. The block grids are obtained from the grid created on four boundary faces, on which a variablecoordinate index is common (faces 1, 2, 3 and 4 for common I index, faces 1, 2, 5 and 6 forcommon J index and faces 3, 4, 5 and 6 for common K index). The grid normal length distribu-tions defined on the boundary curves or the surface normal lengths specified for the boundaryfaces have no effect on the grid, since the orthogonality is not considered for this case.

Page 26: User Manual Igg v4.9-2

Getting Started Terms and Concepts

1-12 IGG™

• Linear two-boundary interpolation + user-specified stretchingThis technique has been introduced as a two step generation process using the opposite bounda-ries of each block. The face grids are generated by linear interpolation from the two oppositeboundary edges (e.g. edges 1 and 2). The grid points along constant index lines between thesetwo edges are then redistributed according to the user-defined grid point distributions on theother opposite boundaries (e.g. edges 3 and 4). Thus the grid conforms to distributions definedon 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 pointdistributions 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 orthogonalityconstraints, the grid points may overlap initially. Simply try to smooth the grid locally oras 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 key-board. 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. How-ever, the base grid (e.g. face 1) is swept along a specified sweep edge. The grid points along thesweeping edge are created according to the user-specified point distribution. Sweeping can alsobe combined with rotation and scaling.

• Rotating a face grid:This option is especially suitable for the generation of grids around turbomachinery compo-nents. A face grid can be rotated around any coordinate axis at a user-specified angle to form theblock grid. For blade passages, the pressure side can be rotated around the axis of rotation at anangle of blade pitch and the resulting block grid can be intersected by a geometry surface repre-senting the suction side stored in the geometry repository.

1-5.7 Boundary Conditions

Each block face can be divided in a certain number of patches on which will be applied the bound-ary 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 thephysics of the flow. The boundary conditions setup is normally performed when the grid has beengenerated.

The following standard notation is used to identify the type of the boundary condition applied on apatch:

• 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.

Page 27: User Manual Igg v4.9-2

Visualization Getting Started

IGG™ 1-13

• ROT : rotating. Used for rotor-stator interaction.

• CON : matching connection.

• NMB : non matching connection.

• PER : periodic matching connection.

• PERNM : periodic non matching connection.

1-6 Visualization

1-6.1 Geometry

Understanding the input geometry model is essential to perform fast and efficient meshing. Geome-try models tend to be more and more complex and composed of lot of curves and surfaces. To facil-itate the manipulation and visualization of these entities a grouping option is provided. Groupingallows 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 greatlyhelp during the interactive placement of blocks on the geometry. Interactive snapping of verticescan then be performed on a restrained number of entities avoiding the risk of interference with otherunnecessary entities.

1-6.2 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,

• 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, blockor grid.

Page 28: User Manual Igg v4.9-2

Getting Started Visualization

1-14 IGG™

Page 29: User Manual Igg v4.9-2

IGG™ 2-1

CHAPTER 2: IGG™ Graphical User Interface

2-1 OverviewThis 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 followingpage 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 short cuts and default mouse bindings.

Page 30: User Manual Igg v4.9-2

IGG™ Graphical User Interface GUI description

2-2 IGG™

2-2 GUI description

FIGURE 2.2.0-1 IGG™ Graphical User Interface.

2-2.1 Menu bar

The menu bar contains a part of available options of IGG™. Menu items can be activated usingclick and drag or click and release modes.

The pull-down menu Modules is a dedicated menu which allows to switch between the differentmodules of IGG™: IGG™, AutoGrid, FINE™/Turbo.

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 "tearoff" fea-ture. When tearoff menus are enabled, a dotted line appears as the very first item of each pull-downmenu. Selecting this line will isolate the menu in a permanent window on the screen.

Toolbar

Menu bar

Viewing buttons

Information areaGrid parameters area Mouse coordinates

Graphics area

Quick Access Pad

Keyboard input area

Message area

Controlarea

Current project name

Page 31: User Manual Igg v4.9-2

GUI description IGG™ Graphical User Interface

IGG™ 2-3

Tearoff 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-2.2 Toolbar

The toolbar contains five icons providing fast input/output options and three icons for often usedoperations. These are also available through the menu bar (See in the related chapters the completedescription of the icon functions).

Moreover, it contains a set of buttons allowing to control the vertex attraction.

FIGURE 2.2.2-1 Toolbar vertex attraction control

This set of four buttons provides an easy visualization and control of the vertex attraction. This ver-tex attraction is controlled by vertex. Each button can be toggled individually and it enables or dis-ables 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

TABLE 1.

Icon Description

Opens an existing project previously created by IGG™.

See the File/Open menu item description on page 8-1.

Saves the current work in the files of the current project.

See the File/Save/Save menu item description on page 8-3.

Closes the current project and opens a new empty one.

See the File/New menu item description on page 8-2.

Used to import CAD data stored in the standard IGES format.

See the File/Import/IGES Data menu item description on page 8-6.

Used to import external curves and surfaces stored in an ASCII IGG™ format.

See the File/Import/IGG Data menu item description on page 8-4.

Used to check the grid quality.

See the Grid/Grid Quality menu item description on page 10-19.

Used to check the negative cells.

See the Grid/Negative cells menu item description on page 10-24.

Used to measure distance between geometry or grid entities.

See the Geometry/Distance menu item description on page 9-30.

Page 32: User Manual Igg v4.9-2

IGG™ Graphical User Interface GUI description

2-4 IGG™

• 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 thebuttons.

3. Move the mouse to the attraction control zone and select the appropriate mode(s).

2-2.3 Quick Access Pad

The Quick Access Pad is located in the left part of the GUI. It contains icons and more evolvedoptions providing a fast access to the more used functions of IGG™. Some of these functions areonly accessible through the Quick Access Pad whereas others are also accessible through the menubar, 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 chapter 7“Quick Access Pad”.

The three subpads are composed of pages containing icons or more evolved options. The icons per-form specific function related to the subpad and the page. Each page can also be toggled by a sim-ple mouse left-click.

The Geometry subpad commands and tools allow the creation and the modification of geometryentities like points, curves and surfaces. It consists of four pages; three for geometry entities crea-tion (respectively point, curve and surface creation) and one for curves and surfaces editing.

FIGURE 2.2.3-1 Geometry subpad

The Grid subpad commands and tools allow the creation and the manipulation of blocks andrelated entities like vertices, fixed points, internal faces, internal grid lines,...

Page 33: User Manual Igg v4.9-2

GUI description IGG™ Graphical User Interface

IGG™ 2-5

FIGURE 2.2.3-2 Grid subpad

The View subpad allows viewing operations on the geometry and the grid. In particular, the twofirst pages provide options permitting the creation and the visualization of geometry and blockgroups.

FIGURE 2.2.3-3 View subpad

2-2.4 Control area

The control area is composed of six major areas:

• Message area

Page 34: User Manual Igg v4.9-2

IGG™ Graphical User Interface GUI description

2-6 IGG™

• Keyboard input area

• Mouse coordinates

• Information area

• Grid parameters area

• Viewing buttons

Each one is described in the following sections.

2-2.4.1 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 orGraphics area

— Display of general information messages (current function options,...)

2-2.4.2 Keyboard input area

Most of the options in IGG™ require numerical inputs from the user. For example, rotating a curvearound 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 numericalinputs, a message is indicated in the Message area. Without leaving the graphics area, the user canthen type the required data. The keystrokes are automatically echoed in the keyboard input area andthe 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 fol-lowed by <Enter>.

The Keyboard input area can also be used to select the active block, face, edge or segment. Sim-ply enter the related indices separated by blanks and press <Enter> to make the correspondingentity active. This obviously causes the update of the Grid parameters area.

2-2.4.3 Mouse coordinates

This area displays the mouse cursor coordinates in the Graphics area. If the cursor is out of it, itindicates the last cursor position in it.

2-2.4.4 Information area

This area gives general informations (about edges, curves,...). For example, when moving a vertexand attracting it to a curve, the name of that curve is displayed in this area.

Page 35: User Manual Igg v4.9-2

GUI description IGG™ Graphical User Interface

IGG™ 2-7

2-2.4.5 Grid parameters area

This area shows very useful informations 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 theblocks have been deleted.

2-2.5 Viewing buttons

The Viewing buttons are used to perform viewing manipulations on the active view, such as scroll-ing, zooming and rotating. The manipulations use the left, middle and right buttons of the mouse indifferent ways. The sub-sections below describe the function associated with each mouse button foreach viewing button.

� For systems that only accept a mouse with two buttons, the middle mouse button can beemulated 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 tokeep a reasonable speed during rotation, translation or zoom operations. The completepicture is restored after a viewing operation is finished. A ‘full visibility’ can be explic-itly requested during viewing operations by calling the File/Preferences dialog box andsetting the visibility flag to Full in the Graphics page.

� Viewing manipulations can be done while another action is already undertaken (forexample, a vertex displacement). That action is temporarily stopped until the viewingoperation is finished; then, the action can be performed just like before the viewing. This

Active block, face, edge and segment indices

Number of blocks, faces, edges and segmentsfor the active topology

Page 36: User Manual Igg v4.9-2

IGG™ Graphical User Interface GUI description

2-8 IGG™

is useful when operations have to be executed in very distant areas of the model. Moreo-ver, to avoid the displacement of the mouse cursor over the correct viewing button, sev-eral viewing commands and tools are accessible with keyboard short cuts listed in thededicated section of this chapter (see section 2-3.1 on page 2-11).

2-2.5.1 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 samebutton is pressed more than one time, the horizontal axis sense changes at each press.

2-2.5.2 Coordinate axis

The coordinate axis button acts as a toggle to display different types of coordinate axis on the activeview using the following mouse buttons:

• Left : press to turn on/off the display of symbolic coordinate axis at the lower right corner ofthe view.

• Middle : press to turn on/off the display of scaled coordinate axis for the active view. The axissurrounds 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 BlockViewing Scope) or of all the blocks (in Grid Viewing Scope). (For more informations about theviewing scope, see the View/Grid page of the Quick Access Pad).

2-2.5.3 Scrolling

This button is used to translate the contents of active view within the plane of graphics window inthe 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 isproportional to the mouse displacement. Release the button when finished. The translation magnitude is automatically calculated by measuring the distance between theinitial clicked point and the current position of the cursor.

• Middle : press and drag the middle mouse button to indicate the translation direction. The trans-lation is continuous in the indicated direction. Release the button when finished. The translation speed is automatically calculated by measuring the distance between the initialclicked point and the current position of the cursor.

2-2.5.4 3D viewing button

This button allows to perform viewing operations directly in the graphics area. Allowed operationsare 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 geom-etry curve, a vertex or a surface (even if this one is visualized with a wireframe model). Thecentre of rotation is always located in the center of the screen. So, when changing it, the modelis moved according to its new value.

� This 3D viewing tool is also accessible with the <F1> key.

Page 37: User Manual Igg v4.9-2

GUI description IGG™ Graphical User Interface

IGG™ 2-9

2-2.5.5 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 Zaxis. The rotations are always performed around the centre of the active view. Following functionscan be performed with the mouse buttons:

• Left : press and drag the left mouse button to the left or to the right. A clockwise or counter-clockwise rotation will be performed, proportional to the mouse displacement. Release the but-ton when finished.

• Middle : press and drag the middle mouse button to the left or to the right. A continuous rota-tion will be performed, clockwise or counterclockwise. Release the button when finished.

2-2.5.6 Zoom in/out

This button is used for zooming operations on the active view. Zooming is always performedaround 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 willbe 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 zoomin - zoom out will be performed. Release the button when finished.

2-2.5.7 Region zoom

This button allows to specify a rectangular area of the active view that will be fitted to the viewdimensions. 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 operationThese 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.

2-2.5.8 Fit button

The fit button is used to fit the content of the view to the view limits without changing the currentorientation of the camera (which can be interpreted as the user’s eyes).

2-2.5.9 Original button

The original button is used to fit the content of the view and to give a default orientation to the cam-era.

2-2.5.10 Cutting Plane

This option displays a movable plane that cuts the geometry and the blocks of the mesh. The planeis 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

Page 38: User Manual Igg v4.9-2

IGG™ Graphical User Interface GUI description

2-10 IGG™

• 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 transpar-ent). It is highly advised to deactivate the plane transparency when using X11 driver to increasethe execution speed.

2-2.6 Graphics area and views

The graphics area is the region of the screen dedicated to the display of all graphical objects createdby the system. These graphical objects may be distributed in different windows called ’views’ inthe IGG™ terminology. Up to four views can be displayed simultaneously in the graphics area.

The position of the views and the camera orientation for each view can be specified with the View/View Position menu.

Although several views can be visible at a time, only one can be active. This view is identified by ared border and is called the ’active view’. The active view can be changed with the left mouse but-ton.

Page 39: User Manual Igg v4.9-2

GUI interaction IGG™ Graphical User Interface

IGG™ 2-11

2-3 GUI interaction

2-3.1 Keyboard short cuts

IGG™ provides short cuts for the most commonly used options which allow to activate optionswithout accessing the menus. A short cut consists of a single key or a 2 keys combination and isindicated at the right of each menu item, when available. To use a short cut:

•Move the mouse to the graphics area

•Press the key corresponding to the short cut. The menu option is activated automatically.

For example, the selection of curves can be activated using the Geometry/Select/Curves menu orsimply by pressing <s> in the graphics area.

A list of the available short cuts is given in the following table.

TABLE 2.

Short cuts Function

Alt-e Sets the viewing scope to Edge mode.

See the Quick Access Pad View/Grid page description on page 7-29.

Alt-f Sets the viewing scope to Face mode.

See the Quick Access Pad View/Grid page description on page 7-29.

Alt-b Sets the viewing scope to Block mode.

See the Quick Access Pad View/Grid page description on page 7-29.

Alt-g Sets the viewing scope to Grid mode.

See the Quick Access Pad View/Grid page description on page 7-29.

Alt-s Toggles solid representation of selected surfaces.

See the Geometry/View/View solid menu item description on page 9-30.

Alt-w Toggles wireframe representation of selected surfaces.

See the Geometry/View/View wireframe menu item description on page 9-30.

Alt-x Used to insert an internal face.

See the Grid/Internal Face/Create menu item description on page 10-27.

Ctrl-o Toggles the visualization of curves orientation.

See the Geometry/View/Curve Orientation menu item description on page 9-28.

Ctrl-e Closes the current project and opens a new empty one.

See the File/New menu item description on page 8-2.

Ctrl-y Used to import external curves and surfaces stored in an ASCII IGG™ for-mat.

See the File/Import/IGG Data menu item description on page 8-4.

Ctrl-g Saves the current work in the files of the current project.

See the File/Save/Save menu item description on page 8-3.

Ctrl-a Toggles the display of the Quick Access Pad.

See the File/Preferences menu item description on page 8-15.

Page 40: User Manual Igg v4.9-2

IGG™ Graphical User Interface GUI interaction

2-12 IGG™

Ctrl-q Used to end the current session.

See the File/Quit menu item description on page 8-20.

Ctrl-z Toggles the block faces grid.

See the Quick Access Pad View/Grid page description on page 7-29.

Ctrl-l Toggles grid points.

See the Quick Access Pad View/Grid page description on page 7-29.

Ctrl-j Toggles edges.

See the Quick Access Pad View/Grid page description on page 7-29.

Ctrl-m Toggles blocks shading.

See the Quick Access Pad View/Grid page description on page 7-29.

Ctrl-x Used to set the active coarse grid levels.

See the View/Coarse Grid menu item description on page 11-5.

Ctrl-c Used to select curves to be displayed.

See the Geometry/View/Curves menu item description on page 9-26.

Ctrl-f Used to select surfaces to be displayed.

See the Geometry/View/Surfaces menu item description on page 9-27.

Ctrl-t Toggles the selected curves control points.

See the Geometry/View/Control Points menu item description on page 9-28.

Ctrl-p Used to display the control point coordinates.

See the Geometry/Select/Control Points menu item description on page 9-25.

Ctrl-s Used to select surfaces.

See the Geometry/Select/Surfaces menu item description on page 9-25.

Ctrl-d Deletes the selected curves.

See the Geometry/Delete/Curves menu item description on page 9-30.

Ctrl-r Deletes the selected surfaces.

See the Geometry/Delete/Surfaces menu item description on page 9-30.

Escape Stops the current tool.

Page-Up Used to zoom in on UNIX.

Page-Down Used to zoom out on UNIX.

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 “3D viewing button” on page 2-8.

F2 Used to perform a zoom in/out.

See “Zoom in/out” on page 2-9.

TABLE 2.

Short cuts Function

Page 41: User Manual Igg v4.9-2

GUI interaction IGG™ Graphical User Interface

IGG™ 2-13

F3 Used to fit the content of the view.

See “Fit button” on page 2-9.

F4 Used to fit the content of the view and reset the camera orientation.

See “Original button” on page 2-9.

> Opens the segment clustering dialog box.

See the Grid/Grid Density/Clustering menu item description on page 10-47.

H Performs a four boundaries interpolation on the active face.

See the Grid/Create Face/Linear 4Bnd menu item description on page 10-29.

I Performs a six boundaries interpolation on the active block.

See the Grid/Create Block/Linear 6Bnd menu item description on page 10-38.

N Opens the project face dialog box.

See the Quick Access Pad Grid/Generate page description on page 7-22.

S Opens the grid settings dialog box.

See the Grid/Grid Settings menu item description on page 10-5.

T Opens the periodicity dialog box.

See the Grid/Periodicity menu item description on page 10-4.

X Opens the boundary conditions dialog box.

See the Grid/Boundary Conditions menu item description on page 10-9.

a Draws an arc by specifying the center and two points.

See the Geometry/Circular Arc/Normal-Center-Point-Point menu item description on page 9-7.

b Draws a bspline.

See the Geometry/Draw BSpline/Free menu item description on page 9-4.

c Draws a cspline.

See the Geometry/Draw CSpline/Free menu item description on page 9-3.

e Used to change in a cyclic way the mode of the viewing scope.

See the Quick Access Pad View/Grid page description on page 7-29.

f Opens the generation tool dialog box.

See the Grid/Create Face/Generation Tool menu item description on page 10-29.

i Used to insert a new vertex in an edge.

See the Quick Access Pad Grid/Insert/Edit page description on page 7-15.

m Used to modify a curve control point.

See the Geometry/Modify Curve/Modify Point menu item description on page 9-21.

p Draws a polyline.

See the Geometry/Draw Polyline/Free menu item description on page 9-5.

s Used to select curves.

See the Geometry/Select/Curves menu item description on page 9-25.

TABLE 2.

Short cuts Function

Page 42: User Manual Igg v4.9-2

IGG™ Graphical User Interface GUI interaction

2-14 IGG™

2-3.2 Default mouse bindings

• Left button bindings (<1>): when the cursor is in the Graphics area, the left button is used forentity selection and positioning. The entities that can be selected by a simple click and releaseare listed here below:

— Segment: as soon as a segment is created and is visible within the limits of the views, it canbe interactively selected with the mouse to become active. The selected segment is automat-ically displayed in yellow with an arrow showing its orientation and general informationsabout it is shown in the Information area. When the parent edge (which is also active) com-prises 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 parentblock in red which means that both become active. As a segment can belong to several facesor several segments can lie in the same place, multiple clicks on a segment will change theactive face and/or active block.

— Vertex, Fixed point: when the cursor is close enough, these entities are displayed in yellowwhich means that they can be selected. When selected, an entity can be moved by simplydragging the mouse and replaced with a second click and release. A Fixed point can bemoved only along its parent edge.

As said in the previous section, the left mouse button is also used to select the active viewamong the views displayed in the graphics area.

• Right button bindings (<3>): when the cursor is in the Graphics area, the right button givesaccess 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 icons.The pop-up menus and the commands associated depend on the entity lying under the mousecursor. Some menus are directly accessible by the right mouse button whereas others are acces-sible 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 specifyingthe vertex attraction features.The following figure shows two examples of pop-up menus and the way to access them:

t Toggles vertices.

See the Quick Access Pad View/Grid page description on page 7-29.

w Opens the view position dialog box.

See the View/View Position menu item description on page 11-6.

x Opens the sweep surfaces dialog box.

See the View/Sweep Surfaces menu item description on page 11-3.

y Opens the copy distribution dialog box.

See the Grid/Grid Density/Copy menu item description on page 10-53.

TABLE 2.

Short cuts Function

Page 43: User Manual Igg v4.9-2

GUI interaction IGG™ Graphical User Interface

IGG™ 2-15

FIGURE 2.3.2-1 Two pop-up menus accessible with a right-click (<3>)

Press <3> over a segment Press <Ctrl> + <3> over a vertex

Page 44: User Manual Igg v4.9-2

IGG™ Graphical User Interface GUI interaction

2-16 IGG™

Page 45: User Manual Igg v4.9-2

IGG™ 3-1

CHAPTER 3: Meshing fundamentals

3-1 IntroductionBlocks are used to decompose the space into smaller regions that can easily be meshed using alge-braic or elliptic methods. They are constrained to have exactly six faces that may possibly bedegenerated. There is no theoretical limit to the number of blocks being used to completely cover adomain. Two approaches can be used to mesh a problem: use the minimum number of blocks toavoid increased complexity in block management or use more blocks as they are needed. In the firstcase, block shapes might be significantly distorted to capture the geometry and the generation ofmeshes with good quality might be more difficult. In the second approach the shape of the blocksmay be simpler and their placement on the geometry may be facilitated, at the expense of moreblocks to control and additional management of connections between blocks.

The complete procedure to generate a mesh on a given geometry can be decomposed into sev-eral 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 toadd new blocks to already existing blocks and connect them at a later stage or to define patchesafter face grid generation. This chapter introduces all the concepts needed to generate a mesh withIGG™.

The chapter describes the following:

•Basic block creation;

•Block mapping to the geometry;

•Edge Grid Control;

•Face grid generation;

•Block grid generation;

•Internal edges and faces insertion;

Page 46: User Manual Igg v4.9-2

Meshing fundamentals Introduction

3-2 IGG™

•Patch definitions and boundary condition settings;

•Connections;

•Blocks grouping.

Page 47: User Manual Igg v4.9-2

Basic Block Creation Meshing fundamentals

IGG™ 3-3

3-2 Basic Block CreationThis section describes the various methods to create a block in a project using fast interactive place-ment of the block vertices (corners).

3-2.1 Creating a 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 thedesired entity. See section 3-3.3 on page 3-10 for more details on vertex snapping.

3. As the mouse is moved around, a box attached to the cursor appears. The box boundariesrepresent 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 coordinatesin 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.2.1-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 <s> key.

7. Left-click to complete the block creation. When the block is created the vertices of theblock 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 section 3-3.1 on page 3-8.

3-2.2 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

Page 48: User Manual Igg v4.9-2

Meshing fundamentals Basic Block Creation

3-4 IGG™

input area. Attraction to existing vertices or curves is also possible.

3. Repeat the operation to place the other three next vertices defining the first face.

4. When the first four vertices are specified, a 3D block appears following to the cursor.

FIGURE 3.2.2-1 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 avector direction through the keyboard input area,

•<u> to unlock.

5. 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 twotimes (depending of the current creation status). This will give a default position for theremaining vertices.

When all the corners are defined, the IJK axis appears at a default corner that can be changed in the following optional steps:

6. To change the origin of the IJK axis repeatedly press the <o> key.

7. To change the orientation of the IJK axis press the <s> key.

8. Left-click to complete the block creation.

After all the vertices have been defined, IGG™ attempts to automatically perform a mapping of theedges of the new block onto the geometry, as the latest stage of the creation process.

3-2.3 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 itcan 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, gridpoints (segments) and patches.

current vertex

first vertices

Page 49: User Manual Igg v4.9-2

Basic Block Creation Meshing fundamentals

IGG™ 3-5

To create a block by extrusion:

1. Click on the dedicated icon.

The following dialog box is opened:

2. Select in the graphics area the face from which the block will be extruded. The face ofextrusion is highlighted in red.

3. In the dialog box, select the range of the face to extrude (see the reference chapter for moredetails on how to select the range). The range appears in red 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 theextrusion direction, by which the new block will be extruded, in absolute units.The defaultvalue is an average of the reference face size.

6. Press the Extrude button to perform the final operation.

A new block is created.

� When the range of extrusion covers the reference face only partially, internal grid linesare automatically created in the reference face. These internal grid lines are used to con-nect the new block to the existing block.

� During the extrusion, the vertices, topological edges, segments and patches are automat-ically connected. See the reference chapter about the limitations.

3-2.4 Creating blocks by duplication of existing block(s)

1. Click on the dedicated icon.

The following dialog box is opened:

Active face rangePatch selection

Page 50: User Manual Igg v4.9-2

Meshing fundamentals Basic Block Creation

3-6 IGG™

2. In the dialog box, select the block(s) which will be duplicated: active block, blocks selectedby 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, transla-tion or scaling.

5. Select the topology creation mode:

No Topology: only the block mesh is duplicated.

Topology from Grid: block edges are created by using the boundary grid points of the duplicated block. 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.

3-2.5 Block extension

This option allows to extend an existing block, starting from one of its faces. This option does notcreate a new block, but rather prolongates a block along the I, J or K direction, allowing to constructblocks incrementally in an efficient way.

Page 51: User Manual Igg v4.9-2

Basic Block Creation Meshing fundamentals

IGG™ 3-7

FIGURE 3.2.5-1 Block extension along the J direction

During an extension operation, IGG™ automatically inserts a new internal face at the position ofthe 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. Internaledges are inserted in the new internal face at the same position and with the same shape as internaledges of the reference face.

� The connections of the reference face (vertices, edge, segments and patches) are deletedduring the extension operation. A warning appears when a deletion of connections is per-formed.

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 acknowledgethe 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 refer-ence face is translated at once, according to the vertex movement. This vertex can be placed inthe same way as when moved alone, and in particular its coordinates can be entered in the key-board input area.

4. Left-click to end the block extension.

Reference face with internal grid line

Newly created internal face

New reference face position

I

K

J I

K

J

21 grid points 21 grid points

2 grid points

Page 52: User Manual Igg v4.9-2

Meshing fundamentals Block Shape mapping

3-8 IGG™

3-3 Block Shape mappingThe mapping of a block shape consists of deforming its edges so they partly or completely lie ontothe geometry. The operation is essentially done by moving the vertices attached to the edges and byautomatic 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.

3-3.1 Moving a vertex

To move a vertex of a block:

1. Make it visible with the Toggle Vertices icon (see section 7-4.3 on page 7-29).

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 auto-matically following the vertex.

� When the vertex is close enough to another vertex, curve or surface, it is automaticallysnapped to this entity. See section 3-3.3 on page 3-10 for more detail on vertex snapping.

� The edges are automatically mapped onto the geometry when the vertices used by theedges are on a same curve or surface. Controlling the mapping is explained in a next sec-tion (section 3-3.5 on page 3-11).

3. 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 awhole 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> short cuts 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, thenpress the proper key binding.

Page 53: User Manual Igg v4.9-2

Block Shape mapping Meshing fundamentals

IGG™ 3-9

3-3.2 Adding and deleting vertices

By default edges are controlled by two vertices which appear as filled black squares. Additionalvertices can be inserted or deleted to allow finer control over the block shape. These vertices aredrawn using hollow squares.

� Vertex insertion is required when an edge of a block needs to be placed on several geom-etry curves. In this case, one vertex is required at the junction of each curve. The sameprinciple holds when edges need lying on several surfaces.

FIGURE 3.3.2-1 Mapping an edge on several curves

When a grid edge is defined by more than two vertices, the edge is said to have several topologicaledges. Topological edges are entities defined by two consecutive vertices. They can be controlledindependently.

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 short cut <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 edgehas been identified.

3. Left-click to insert a new vertex.

4. Move the vertex and left-click again to fix its position.

5. This vertex can subsequently be moved as described above.

� The insertion of a vertex splits the existing topological edge into two new topologicaledges. The edge mapping control is explained in section 3-3.5 on page 3-11.

To delete an existing vertex:

1. Move the mouse to the vertex. The vertex is highlighted when the mouse pointer is in theclose vicinity.

2. Right-click to pop-up a menu for the vertex. Notice that this menu is context sensitive andonly 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 bedeleted to keep block consistency.

curve 1curve 2

Vertex required to map the edge on both curves

Page 54: User Manual Igg v4.9-2

Meshing fundamentals Block Shape mapping

3-10 IGG™

3-3.3 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 isattracted by the curve. When a vertex is snapped onto a surface, the surface is highlighted in a bluewireframe 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 oper-ation (<F1>) can be performed on the desired curve, then the placement of the vertex canbe 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 modewhen it snaps the vertex.

� When several surfaces are stacked onto each other, IGG™ takes the one closer to theuser. To change the current surface, middle-click repeatedly (surface sweeping) until thevertex lies on the proper surface. The new surface is highlighted in a blue wireframemode 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 inter-section 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 themouse 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 ordisable the snapping for the desired type of entity by pressing the corresponding button.

3. Place the vertex.

Page 55: User Manual Igg v4.9-2

Block Shape mapping Meshing fundamentals

IGG™ 3-11

3-3.4 Vertex locking

By default a vertex is allowed to freely move in the 3D space and can be snapped to curves or sur-faces that are far from the current vertex position. It is possible to constrain the movement of a ver-tex by locking it to a geometry entity. When a vertex is locked, IGG™ performs the snappingoperation on the locked entity first. If the snapping fails (i.e. the vertex was moved away from theentity), the snapping is then performed on the other visible entities.

� Using the locking mechanism, the movement of the vertex is constrained to a small boxsurrounding the vertex and snapping to geometry entities will only occur if the entitiesintersect 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.

3-3.5 Edge Mapping

Edge mapping is the feature that automatically maps the edges of a block onto the geometry as soonas its vertices lie on geometry entities. As discussed previously, a grid edge is defined by two ormore vertices. The mapping is performed for each piece between two consecutive vertices (topo-logical 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 curveat 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. trimmingcurve).

FIGURE 3.3.5-1 Placing a face on a single curve.

single curve edge 1

edge 2

edge 3 edge 4

Placing a face

mapped on curve

mapped on curve

mapped on curve

mapping disabled

Page 56: User Manual Igg v4.9-2

Meshing fundamentals Block Shape mapping

3-12 IGG™

It is sometimes necessary to disable the mapping of some topological edges for specific types ofentities. This is for example the case when a face of a block needs to be placed on a single curve, asshown in Figure 3.3.5-1.

In this example the edges 1, 3 and 4 are mapped onto the curve. The edge 2 should close the gap ofthe open part of the curve. By default, this edge is also mapped onto the curve, since its vertices lieon this curve. To make the edge close the face it is consequently needed to disable the curve map-ping 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.

3-3.6 Edge mapping onto disjointed curves

It may happen that geometry curves imported in IGG™ present small gaps where they should nor-mally join. IGG™ provides a tolerance mechanism allowing to automatically fill gaps without add-ing additional vertices. This tolerant mapping is accomplished by giving a tolerance to each vertexdefined in the project. As seen in section 3-3.2 on page 3-9, a vertex is required at the junction ofeach curve on which an edge should be mapped.

FIGURE 3.3.6-1 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 remedy 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 theclose 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 abso-lute 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 sur-rounding vertices of the edge.

Curve 1

Curve 2

Gap

End vertex

Start vertex

Edge

Intermediatevertex

Small tolerance Greater tolerance

Vertex tolerance entry

Page 57: User Manual Igg v4.9-2

Block Shape mapping Meshing fundamentals

IGG™ 3-13

3-3.7 Edge mapping on surface

When two consecutive vertices of an edge lie on a same surface, IGG™ automatically maps theportion 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 parametri-zation (dependent on the way the surface was generated by a CAD system), the edge shape could beirregular and not correspond to a shortest path between its two vertices. In these cases, adding inter-mediate vertices to the edge would not help in a satisfactory way.

To circumvent this limitation another type of mapping has been introduced, giving much bettersolutions in these extreme cases. It consists of intersecting the surface by a plane passing throughthe 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. Thismode may fail when the vertices of an edge lie far apart on folded surface. In that case, introducingone or more additional vertices will solve the problem.

� Since the default edge mapping works in most cases, the second mapping type shouldonly be used when the surface parametrization leads to poor results.

3-3.8 Faster vertex movement

When the number of curves or surfaces is large or when surfaces are over-defined (lots of controlpoints), the interactive movement of a vertex may be significantly slowed down by the dynamicmapping of the edges which is performed automatically for each new vertex position. To acceleratethe 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 tem-porarily 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 thattime.

Page 58: User Manual Igg v4.9-2

Meshing fundamentals Edge grid control

3-14 IGG™

3-4 Edge grid controlThe meshing of a block starts by controlling the grid parameters along the boundaries of the blocksuch 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 arange 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 toan edge is done by inserting fixed points into existing segments. This insertion divides a segmentinto two new ones.

FIGURE 3.4.0-1 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 posi-tion,

• insure grid consistency.

This last case occurs when internal grid lines are inserted in a face as shown in the following figure.

FIGURE 3.4.0-2 Fixed Point insertion through internal grid line creation

segment 1

segment 2

segment 3

Fixed Point shared bysegments 1 and 2

Fixed Point shared bysegments 2 and 3

Start vertexEnd vertex

fixed point automatically insertedduring Internal Grid Line insertion

Page 59: User Manual Igg v4.9-2

Edge grid control Meshing fundamentals

IGG™ 3-15

During the creation of internal grid lines (IGL), IGG™ automatically inserts a fixed point and a ver-tex into all crossing edges (boundary edges or existing internal grid lines). Any subsequent modifi-cation of that vertex/fixed point will modify the internal line and the boundary edges consistently.

3-4.1 Fixed Point Control

A fixed point is defined by an index (grid point index) on the edge to which it belongs. When afixed point is at the intersection of two or more internal grid lines it has several indices, one for eachedge. 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 theposition of the point by attaching it to a vertex. This is very useful when a fixed point needs to beplaced at a geometric corner. In this case, attaching the fixed point to a vertex and placing the vertexto 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:

1. Visualize the grid points for the desired edges (See section 7-4.3 on page 7-29)

2. Click on the Insert Fixed Point icon in the Quick Access Pad/Grid Insert/Edit page.

3. Move the mouse to the desired edge near a grid point to fix. A small marker is displayedwhen the insertion can be performed.

4. Left-click to insert a new fixed point. The index of the fixed point will be that of the closestgrid point.

5. Move the point and left-click again to fix its position.

6. This fixed point can subsequently be moved as described here below.

To Move a fixed point:

1. Move the mouse to the desired fixed point. The index of the fixed point will appear whenit can be selected.

2. Left-click to start moving the point. The fixed point is constrained to move along the edgeto 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 algebraic4 boundary interpolation. If these faces were generated using other options, like smooth-ing or projections on surfaces, they will need to be explicitly regenerated with theRegenerate Faces option (see section 3-5 on page 3-19).

3. Left-click to stop the modification.

To Delete a fixed point:

1. Move the mouse to the desired fixed point. The index of the fixed point will appear when itcan be selected.

Page 60: User Manual Igg v4.9-2

Meshing fundamentals Edge grid control

3-16 IGG™

2. Right-click to pop-up a menu for the fixed point. Notice that this menu is context sensitiveand only displays menu items when applicable to the fixed point.

3. Select the Delete menu item to delete the fixed point.

� Fixed points at the intersection of two internal edges cannot be deleted.

Changing the index of a fixed point:

1. Move the mouse to the desired fixed point. The index (indices) of the fixed point willappear when it can be selected.

� When fixed points are at the intersection of two internal grid lines or when they are con-nected to others (as a consequence of connected segments), several indices will appear.

2. Right-click to pop-up a menu for the fixed point.

3. 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.

4. 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 the figure.

FIGURE 3.4.1-1 Changing the index of a fixed point

� When a fixed point is belonging to an internal edge or to an internal face, IGG™ keepsgrid consistency by automatically changing the index for the internal edge or face.

Attaching 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, createone vertex as indicated in section 3-3.2 on page 3-9 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.

3-4.2 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 getsactivated. Further, go to the Segment sub-menu.

s1K = 21

K = 31

s2s3

s1 - 21 pointss2 - 11 points

Kmax = 51

s3 - 21 points

s1K = 17

K = 31

s2s3

s1 - 17 pointss2 - 15 points

Kmax = 51

s3 - 21 points

Changing first point index

Page 61: User Manual Igg v4.9-2

Edge grid control Meshing fundamentals

IGG™ 3-17

2. Select the Set Number of Points menu item.

The following dialog box will appear:

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 ref-erence 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. The Preview button should consequently give a clear picture of the operation.

3. Press the Apply button. It evaluates and applies the segment resizing on the active blockand all the connected blocks. This operation will reflect the operations explained for thePreview button. Each segment affected by the operation will have its grid points visual-ized, until the closing of the dialog box. When a resizing cannot be propagated along a spe-cific 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 direc-tion, are automatically adapted and the faces touched by this operation are regeneratedusing an algebraic 4 boundary interpolation.

See the section 10-2.2 on page 10-5 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 optioncan also be accessed via the pop-up menu obtained by right-clicking on the segment (Seg-ment/Distribution).

The Clustering dialog box 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 clusteringgroup on which a same clustering will be applied.

Page 62: User Manual Igg v4.9-2

Meshing fundamentals Edge grid control

3-18 IGG™

To define a clustering group:

1. Press the Define/Edit group button of the "Clustering" dialog box. The Clusteringgroups dialog box is opened:

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 segmentswith left-click (<1>), add the selected segment in the group by middle-click (<2>), thenright-click (<3>) to quit the tool.

5. The group and its segments appear in the list of the "Clustering groups" dialog box. Theycan 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 asingle segment.

3. Press the Apply to group button to apply the clustering on the selected group.

Page 63: User Manual Igg v4.9-2

Face generation Meshing fundamentals

IGG™ 3-19

3-5 Face generationFace grid generation is an essential step of the complete generation process. It must be performedfor the six faces of a block before the volume grid generation can proceed. In fact, the basic volumegeneration methods interpolate grid points within the block from the grid points on the boundaryfaces. 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 con-cept is introduced in a following section (see section 3-7 on page 3-25).

3-5.1 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 theleft-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 the following dialog box that allows to select the faces to generate:

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.

Page 64: User Manual Igg v4.9-2

Meshing fundamentals Face generation

3-20 IGG™

FIGURE 3.5.1-1 Active face generated by bilinear interpolation.

3-5.2 Face projection

Algebraic face grid generation (bilinear interpolation) does not in general insure that grid pointswill lie on CAD surfaces. To insure this, projection of the face grid on the surfaces must be per-formed. Surface projection consists of projecting the grid points of a face onto one or more CADsurfaces, along the normals to the face. To insure a correct projection, it is required that the initialface 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 sur-faces. Right-click when the selection is finished.

2. Select the face grid to project.

3. Click on the Project Face icon in the Quick Access Pad/Grid/Generate page.

A dialog box will be opened to select parameters and to perform the projection:

FIGURE 3.5.2-1 Face projection dialog box.

Surface specification

Projection mode

Range to project Can be the whole face or a range

Range Selection Click on the border to changethe current limit

Page 65: User Manual Igg v4.9-2

Face generation Meshing fundamentals

IGG™ 3-21

4. Select the target surfaces on which to project: selected surfaces or surfaces contained in ageometry 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 (thedefault is not to project these grid points since they belong to block edges which are sup-posed to be mapped on the surface before the projection).

� the boundaries projection is only useful for patches which have no common boundarieswith 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 over-lapped surfaces fails. In this case, projecting patch by patch onto dedicated surfaces mayhelp.

9. 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 oftrimmed surfaces overlap, leading to some ambiguities in the automatic choice of the closestprojection surface. In this case it may be necessary to remove one of the surfaces from the list ofsurfaces or to project the face grid by patches.

• Negative cells may appear in the face grid. This can happen when the initial grid is significantlyaway from the surfaces. Introducing internal grid lines placed onto the surfaces may improvethe initial mesh and remove the problem. It is also possible to get rid of the problem by smooth-ing the face grid and re-applying the projection. Smoothing is available through the Face Gen-eration Tool icon of the Quick Access Pad/Grid/Generate page.

• When the projection is not working, it can be due to the edge discretisation. When this discreti-sation 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, additionnal vertices ( ) need to be added

on the edge.

3-5.3 Mapping onto a surface

When a face completely lies on one geometrical surface, it is possible to avoid the projection optionand to use a mapping instead. This method does not require an initial grid to be generated and isconsequently 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,

5. Close the dialog box.

3-5.4 Finer control on the face generation

When the basic generation options are not giving satisfactory grids, more control can be performedon the face grid generation.

Page 66: User Manual Igg v4.9-2

Meshing fundamentals Face generation

3-22 IGG™

1. Click on the Face Generation tool icon in the Quick Access Pad/Grid/Generate page.

The following dialog box appears:

This dialog box allows to control the face generation by range (either existing patches or a rangedefined by its limits).

3-5.5 Face generation history and face regeneration

To keep at any time the face grids in conformity with the boundary information the face grids areautomatically generated by IGG™ using the default algebraic 4 boundaries interpolation. Thisdynamic update is applied when performing actions such as modifying the clustering or moving thetopology. It removes the effects of other face generation options such as face smoothing, projectionor mapping.

When such face has been previously projected on surfaces or smoothed, it is normally necessary torepeat 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 generationof each face grid. This information can later be used to visualize the generation operations appliedon a face and to regenerate a face by replaying automatically each generation operation.

3-5.5.1 History visualization

Face generation history can be monitored and to some extend edited by using the Quick AccessPad/Grid/Generate/Show History item. It is most useful to keep track of complex operations per-formed on a face grid like projection by patches or to delete obsolete operations. It opens a dialogbox showing the list of the operations performed on the active face grid:

FIGURE 3.5.5-1 Face generation history.

Page 67: User Manual Igg v4.9-2

Face generation Meshing fundamentals

IGG™ 3-23

The list of operations is dynamically updated when selecting a new active face. It is to be remem-bered that a bilinear interpolation is always performed implicitly by IGG™ as the very first opera-tion performed on a face. This operation is not shown in the list (except if it has been doneexplicitly, as in the previous example).

Editing

One or more operations can be deleted from the list by selecting the desired operation and pressingthe Delete button. For speed reason, IGG™ does NOT automatically regenerate the face after adeletion. This operation must be performed explicitly with the "Regenerate Faces" option.

3-5.5.2 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.

Page 68: User Manual Igg v4.9-2

Meshing fundamentals Block generation

3-24 IGG™

3-6 Block generationAfter all the faces of a block have been generated, the generation of the block can proceed. Thissection 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 operationuntil the proper block is activated.

2. Click on the Block 6 Bnd icon in the Quick Access Pad/Grid/Generate page.

3. The following dialog box appears and enables to select the block(s) to generate.

4. Press Apply to generate the specified block(s).

After the generation the boundary faces of the generated block(s) are automatically visualized.

Blocks specified by their indices

Page 69: User Manual Igg v4.9-2

Internal edges Meshing fundamentals

IGG™ 3-25

3-7 Internal edgesInternal edges, also called internal grid lines, correspond to edges inserted inside a face. They areused 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.7.0-1 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/Editpage.

3. Move the mouse to the active face. When moving the cursor over a grid line, the grid line ishighlighted 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.

The newly created internal grid line is visualized and automatically intersects the other already existing edges as shown is the following figure.

FIGURE 3.7.0-2 Fixed point insertion through internal grid line creation

Internal grid lines

Internal grid lines

Block 2

Block 1

fixed point automatically insertedduring Insert Grid Line insertion

Page 70: User Manual Igg v4.9-2

Meshing fundamentals Internal edges

3-26 IGG™

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:

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:

>> 7

The fixed points of the internal edges are automatically updated.

Page 71: User Manual Igg v4.9-2

Internal faces Meshing fundamentals

IGG™ 3-27

3-8 Internal facesInternal faces are very convenient to add control to the block generation and to improve the genera-tion of blocks in case negative cells appear. They can be generated as boundary faces. It is possibleto 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 following dialog box appears.

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.8.0-1 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):

>> 6

Internal edges insertedinto boundary faces

Page 72: User Manual Igg v4.9-2

Meshing fundamentals Defining patches and boundary conditions

3-28 IGG™

3-9 Defining patches and boundary conditionsPatches 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 face grid extending over the whole face. Patch creation isdone by division of an existing patch in one of the two directions of the face. To create morepatches a recursive division must be done.

To define patches on a face:

1. Select the desired face.

2. Open the Grid/Boundary Conditions... dialog box.

The list of all patches for the current project is displayed.

� Use the filters to reduce the list and make the selection easier.

3. In the list, select one patch belonging to the desired face. The patch is highlighted in thegraphics 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.

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 repeatstep 6.

8. Enter the division index and press <Enter> in the field to perform the division.

To change the limits of a patch:

1. Open the Grid/Boundary Conditions... dialog box.

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 newvalue.

4. Enter the value and press <Enter>.

To specify a boundary condition for a patch:

1. Open the Grid/Boundary Conditions... dialog box.

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 betweenperiodic adjacent patches (PER and PERNM) cannot be specified explicitly with thismenu item and there are detected automatically by pressing the Search button. Checksmust be done by IGG™ for these connections to insure integrity of data for the solver(i.e. relative orientation of the connected patches).

� Limitation: if the Boundary Conditions dialog box has been resized before clicking on

Page 73: User Manual Igg v4.9-2

Defining patches and boundary conditions Meshing fundamentals

IGG™ 3-29

the Edit Patch >> button, the dialog box will not extend. In this case the dialog box hasto be closed and opened again.

To specify periodic boundaries:

The imposition of the periodic connections requires that the periodicity is correctly specified foreach block first.

1. Open the Grid/Periodicity... dialog box.

2. Set the periodicity information for each block. See section 10-2.1 on page 10-4 for moreinformation.

Page 74: User Manual Igg v4.9-2

Meshing fundamentals Connections

3-30 IGG™

3-10 ConnectionsIGG™ is a multiblock structured grid generator. To be able to use such multiblock meshes with asolver, one must know how blocks are located and how they are interacting together. Thus "connec-tions" must be established between block interfaces in order to transfer information from one blockto another. Such connections are mandatory to obtain a usable mesh and they are established inIGG™ between patches, which are sub-ranges of a block face. For information about patches defi-nition, see section 3-9 on page 3-28. A section here below is specially dedicated to patch connec-tions.

On the other hand, beside these patches connections, other connection levels are provided intoIGG™ to facilitate the grid generation process. These additional levels are optional though it con-siderably reduces the number of operations required to insure face grid consistency at the interfacebetween 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. There-fore vertices must be connected before topological edges, which ones must be connected beforesegments. Moreover, any failure or forgotten step in the connection process prevents followingother connections. For example, if vertices connections are not performed, the connection betweenthe corresponding topological edges cannot be executed.

The same rule applies to disconnections, but in the reverse order. Indeed, a vertex disconnectionimplies automatically a topological edge disconnection and thus also the corresponding segmentdisconnection. On the other hand, a segment disconnection leaves the vertices and edges connected.

Another section is specially dedicated to these types of connections (See section 3-10.2 ”Topologi-cal connections (vertex, edge, segment)”).

Finally, a section lists all the several means that can be used in IGG™ to perform connections at dif-ferent levels: vertex, topological edge, segment and patch (See section 3-10.3 ”Connection tools”).

3-10.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 bounda-ries whereas full non matching connections allow to connect several patches of several blocks withnon matching boundaries.

a) Matching and non matching connections

Matching connections are obtained between two patches with same number of grid points along thetwo directions, and when all their points are matching at a specified tolerance. Non matching con-nections are obtained when some patches points are not matching at the specified tolerance, orwhen 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:

• Four patch corners must be matching at the given tolerance.

Page 75: User Manual Igg v4.9-2

Connections Meshing fundamentals

IGG™ 3-31

• 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 areprojected on the surfacic cells of the second patch. An intersection must be found and thedistance between the point and its projection must be lower than an internally calculatedvalue based on the given tolerance and the patch dimension.

• All the patch points must be matching at the given tolerance. Obviously, when number ofgrid 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 determineif a connection is possible between the two considered patches. The last test determines if the con-nection 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.10.1-1where a principal block has to be connected to two adjacent blocks. In this example, the face of theprincipal block that has to be connected must be divided into two patches before performing con-nections.

FIGURE 3.10.1-1 Division into patches

Secondly, to connect two patches, their boundaries must be coincident. If it is not the case, it can beachieved by inserting fixed points or internal grid lines into faces.

As shown in case a) of Figure 3.10.1-2, a principal block has to be connected with a smaller adja-cent block. The face of the principal block that has to be connected is divided into two patches, butthe boundaries of the first patch are not matching the boundaries of the single patch of the adjacentblock. The boundaries match after insertion of an internal grid line, as in the case b) ofFigure 3.10.1-2.

Finally, for matching connections, the grid points of the patches must be matching at the specifiedtolerance. 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 sec-ond face, their grid points would not be coincident, as shown in Figure 3.10.1-3.

Face of first blockmust be divided intotwo patches

Principal block

Adjacent blocks

Page 76: User Manual Igg v4.9-2

Meshing fundamentals Connections

3-32 IGG™

FIGURE 3.10.1-2 Matching and non matching patch boundaries

FIGURE 3.10.1-3 Different methods used for face generation

Adjacent block

Principal block

Patches boundaries for principal block

First patch of principalblock

Second patch of principal block

Patch boundary foradjacent block

a) Non matchingboundaries

b) Matchingboundaries

Patches boundaries coincident forfirst patch of principal block andpatch of adjacent block

First block: face generatedby a 4Bnd interpolation

Second block: smoothing appliedon face

Patches with matching boundariesand non matching grid points

Page 77: User Manual Igg v4.9-2

Connections Meshing fundamentals

IGG™ 3-33

Therefore faces mesh should be generated in the same way (by using the same method) in order toobtain matching points, or the tolerance must be increased to force the connection. However, this isonly valid for small gaps between grid points (compared to the patch size) and it is highly recom-mended to avoid setting a tolerance close to the patch size, otherwise connection can be foundincorrectly. For example, having two square patches of size 1 and distant of 2, a tolerance of 3 willconnect them whereas they should remain unconnected.

b) Full non matching connections

This type of connection is used to connect several patches with non matching boundaries. Obvi-ously, it can therefore be also used to connect two patches with matching boundaries (matching andnon matching connections) though it is useless and not recommended, except to replace some nonmatching connections. Indeed, the treatment by the flow solver of a same connection can be differ-ent 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 ofthe flow solver to support such type of connections. In the case of NUMECA solver, this capabilityis fully supported.

The following picture shows an example of full non matching connection between two blocks.

FIGURE 3.10.1-4 Full non matching connection between two blocks

In this example, the connection region between the two blocks is polygonal and crosses over thetwo patches of first block and over the unique solid patch of second block. As it can be seen, thelimits of this region do not, in general, correspond to the rectangular limits of the patches. Moreoverthe 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 theconnection 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 isbasically sufficient for IGG™ and the solver to proceed further. The patches in one list are notrestricted 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 patchesand that these ones must have a valid basic type (no undefined type (UND)), even if the patch is

Solid patch (block 2, face 1)

Inlet patch (block 1, face 2)

Solid patch (block 1, face 2)

Common region (connection)

Page 78: User Manual Igg v4.9-2

Meshing fundamentals Connections

3-34 IGG™

entirely contained in the connection region. In the previous example, the basic type of the patchesof block 1 face 2 are inlet and solid. However a region of these patches actually belongs to the fullnon matching connection.

� In the case a patch has an undefined type (UND) and is used in the definition of theFNMB (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) andone FNMB connection. It is illustrated in the following figure.

FIGURE 3.10.1-5 Patch contained in two FNMB connections

2. A patch closed on itself (two patch boundaries are matching) cannot be used if the connec-tion region includes the closing part. In this case, the patch must be divided in two patches.

FIGURE 3.10.1-6 Patch closed on itself

3. Two patch points cannot be coincident. For example, a O-type patch with a singular line ora triangular patch cannot be used in a FNMB connection.

FIGURE 3.10.1-7 Patches with coincident points

Patch 1

Patch 2Patch 3

Second FNMBconnection

First FNMBconnection

Closing part of the patch

Page 79: User Manual Igg v4.9-2

Connections Meshing fundamentals

IGG™ 3-35

4. For periodic FNMB connections, all the patches defining the connection must have thesame periodicity information. This information is set for the patch block (see section 10-2.1 "Periodicity" on page 10-4).

3-10.2 Topological connections (vertex, edge, segment)

a) Vertex connection

A vertex belongs to a topological edge. The connection consists of searching matching vertices at aspecified tolerance and to merge them by replacing one by the other (the second vertex is replacedby the first one in the definition of its topological edge). So after the connection, the two topologi-cal edges are sharing a same common vertex. Therefore when modifying one edge by moving thisvertex, the second edge is also modified.

In order to keep consistency, topological edges using the replaced vertex are remapped on thegeometry, if possible, otherwise their shape is updated according to the new vertex position. It isillustrated in the following figure.

FIGURE 3.10.2-1 Edge remapping after connection

� Limitation: two vertices belonging to an edge closed on itself should not be connected ifa fixed point is attached to one of the two vertices, as illustrated in the following figure.

FIGURE 3.10.2-2 Edge closed on itself

Edge 1

Edge 2

Gap smalller thanspecified tolerance

Vertex shared by edge 1and edge 2

Edge 2 shape modified automaticallyafter vertex connection

=> possible connection

Edge closed on itself These vertices should not beconnected if one of them isattached to a fixed point

Page 80: User Manual Igg v4.9-2

Meshing fundamentals Connections

3-36 IGG™

b) Orphan vertex connection

An orphan vertex is a vertex that appears on one edge and not on the other, although the edgesappear at the same position and should be connected.

FIGURE 3.10.2-3 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), atthe same position as the orphan vertex, and connect the two vertices together (orphan and new ver-tex). 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 isless than a specified tolerance.

In order to keep consistency, topological edges in which a vertex is inserted are remapped on thegeometry, if possible, otherwise their shape is updated according to the new vertex position. It isillustrated in the following figure.

FIGURE 3.10.2-4 Edge remapping after connection

Orphan vertex

Grid edge 1 with one topological edge

Grid edge 2 with two topological edgesEdges at same locationwithin tolerance

CurveTopo edge 1 Topo edge 2

Topo edge 3

Topo edge 1 and 2 mapped on curve

Topo edge 3 mapped on curve aftervertex connection

Gap smaller than specified tolerance=> possible connection

Page 81: User Manual Igg v4.9-2

Connections Meshing fundamentals

IGG™ 3-37

c) 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 tomerge them by replacing one by the other (the second topological edge is replaced by the first onein the definition of its grid edge). So after the connection, the two grid edges are sharing a samecommon topological edge.

FIGURE 3.10.2-5 Topological edge connection

Shared topological edges are required to insure that grid edges lie at the same physical position andthat any operation, like inserting a vertex, is performed consistently on all entities.

� Topological edge connection requires that the edge vertices are already connected.

d) Segment connection

Segment connection consists of finding segments that are at the same position at a specified toler-ance, with the same number of points and to establish a link between the two entities. The points ofthe segments to connect do not have to be at the same position, but only the extremities. This typeof connection insures that grid points at the interfaces between two grid edges have exactly thesame position.

Connecting segments provides following other benefits:

• Modifying the distribution of the grid points along one segment automatically modifies the gridpoint distribution on the connected segment.

• The insertion or removal of fixed points in a segment (segment division) is automatically doneon the connected segment to keep the grid connection.

� Segment connection requires that their underlying topological edge(s) are already con-nected.

� Two segments belonging to an edge closed on itself will not be connected.

3-10.3 Connection tools

Connection tools can be accessed through the Quick Access Pad/Grid/Connect page and theGrid/Boundary Conditions dialog box (see section 7-3.3 on page 7-18 and section 10-2.3 on page10-9 for a detailed description).

Topological edge connectiondoes not imply the entiregrid edge connection.

Page 82: User Manual Igg v4.9-2

Meshing fundamentals Connections

3-38 IGG™

Tools of the Quick Access Pad are the following:

• Connect Edge - Edge

• Connect Face - Face

• Connect Whole grid

They are used to perform connections between two edges, two faces and for the whole grid, respec-tively.

Topological connections (vertex, topological edge, segment) are exclusively performed by usingthese Quick Access Pad tools.

Patch connections can be performed by several means:

• The first one is the use the Grid/Boundary Conditions... menu (See section 10-2.3”Boundary Conditions”). It allows to find and define all connections: matching, non match-ing and full non matching; periodic or not. The most interesting mode is the "automaticsearch" (Search button), which performs automatically the search and the effective connec-tion 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 thiscase, 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. This last tool isstrictly equivalent to the "automatic search" previously described, except that it finds onlyCON connections.

3-10.3.1 Connecting face grids

In this section connectivity control between two faces is described. Connecting two edges or thewhole 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 opera-tion. By convention IGG™ keeps the reference face unchanged and applies the modifications on thesecond 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 procedureuntil 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-clickprocedure 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 iden-tified by a button in the dialog box.

� For the first four "topological" levels, an order must be respected as explained in thebeginning of this section on page 3-30. On the other hand the Patches level can beapplied independently. The All button performs all the connections of the previous but-tons, if possible.

For vertex or orphan vertex connections, the topological edges using the replaced vertex are rema-pped on the geometry.

Page 83: User Manual Igg v4.9-2

Connections Meshing fundamentals

IGG™ 3-39

For each level, the connected entities found are highlighted in green in the graphics area. Entitiesthat were connected in a previous operation are highlighted in red.

3-10.3.2 Full non matching connections

Such patch connections are described previously in this chapter (See section 3-10.1 ”Patch connec-tions”). 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:

1. Open the Grid/Boundary Conditions... dialog box. This dialog box offers an additional field“Full Non Matching” that can be activated by pressing on the Define... button. It opens the dia-log box shown below:

FIGURE 3.10.3-1 Full Non Matching Connections dialog box

2. Select the patches defining the “left” side. These patches are highlighted in yellow in the graph-ics 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 button to define a periodic FNMB connection.

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 onlyserves to visualize the triangulation that will be used by the solver and to verify that the connectionis correctly performed. Calling this item is optional in IGG™.

Connection name (mandatory)

List of created FNMB connections

Computes and visualizes the connection(optional)

Page 84: User Manual Igg v4.9-2

Meshing fundamentals Connections

3-40 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 auto-matically highlighted in the dialog box as well as in the graphics area. A "*" is also dis-played next to the patch type to indicate that the patch is involved in a FNMB connection. Ifthe computation of the triangulation was performed for this connection, it will also beshown on the screen.

• To list only the patches involved in the desired connection, middle-click on it in the connec-tion list.

• Press the Delete button to delete the selected FNMB connection (the type of the corre-sponding patches is unchanged but the "*" symbol is removed).

3-10.4 Disconnecting entities

Disconnection can be performed by Segment, Edge, Face or Block. When performing a disconnectoperation, IGG™ disconnect all the entities at once. For example, disconnecting an edge discon-nects 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 Grid menu and go to the Face sub-menu.

3. Select the Disconnect All menu item.

All the vertices, topological edges, segments and patches making up the face will be discon-nected.

3-10.5 Visualizing connections

Visualization of connections can be done for vertex, topological edges, segments (grid points) orpatch grids. The visualization of vertex, topological edges or segments operates in the same waywhereas 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/Connectpage.

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.

The visualization of connected topological edges and segments proceeds in the same way.

To visualize connected patches:

1. Select The Grid/Boundary Conditions... menu item.

2. Go to the Type combo box and select the CON type.

Page 85: User Manual Igg v4.9-2

Connections Meshing fundamentals

IGG™ 3-41

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 inthe graphics area.

4. Open the Edit Patch >> area. The bottom right area indicates the indices of the connectedpatch.

Connected Patch indices

Page 86: User Manual Igg v4.9-2

Meshing fundamentals Blocks grouping

3-42 IGG™

3-11 Blocks groupingBlock groups are powerful means of classifying blocks by grouping them under a same logicalname. Using groups, selective visualization of parts of interest and focus on the current regionbeing meshed can easily be performed. This tool becomes handy when a project contains lots ofblocks.

For the sake of convenience, block groups appear permanently in a browser in the Quick AccessPad/View where they can be accessed to control the visualization.

FIGURE 3.11.0-1 Block groups browser.

3-11.1 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 above. It operates in collabora-tion with the icons of the Quick Access Pad/View/Grid page. By pressing on the check button infront of a group, the block boundaries visualization can be toggled. By pressing on the check buttonin 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 thegroup will be displayed on the screen.

� It may be needed to fit the view to see all the blocks properly.

3-11.2 Managing groups

Groups can be created, modified or deleted. Blocks can currently appear several times in differentgroups.

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.

Group browserList of blocks in the group

Check button allowing selectivevisualization of items.

Page 87: User Manual Igg v4.9-2

Blocks grouping Meshing fundamentals

IGG™ 3-43

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 steps 3 to 5 to add other blocks.

7. Right-click to complete the creation.

Page 88: User Manual Igg v4.9-2

Meshing fundamentals Blocks grouping

3-44 IGG™

Page 89: User Manual Igg v4.9-2

IGG™ 4-1

CHAPTER 4: Basic Tutorials

4-1 OverviewThis chapter will introduce some of the most commonly used features and tools of IGG™. The useof basic operations of IGG™ will be learned through tutorials, in a faster way than by reading theentire User Manual.

This chapter is divided into two tutorials:

• Geometry tutorial

• Topology and grid generation tutorial

The first tutorial describes basic geometry modelling operations, including curves and surfaces cre-ation, and their manipulation.

The second tutorial describes the creation of a block topology and the generation of a simple mesh.

Before beginning the tutorials of this chapter, chapter 1 “Getting Started” should be necessarilyread, to familiarize with some fundamentals, including:

• Running IGG™• Terminology

• Topology and grid generation concepts

Page 90: User Manual Igg v4.9-2

Basic Tutorials Geometry Tutorial

4-2 IGG™

4-2 Geometry Tutorial

4-2.1 Curves creation

The following section describes how to:

— create basic curves

— use the keyboard or the mouse to input points

— use the attraction feature

The following geometry, consisting of two polylines, one cspline and one arc, will be created.

FIGURE 4.2.1-1 Creation of basic curves.

Creation of a polyline curve

1. Select the Geometry/Draw Polyline/Free menu option to initiate the creation of a polyline.

2. While in the graphics area, enter the sequence ’1 0 0’ in the keyboard input area with the key-board followed by <Enter>. This action will create the first point of the polyline.

� the keystrokes are automatically echoed in the keyboard input area.

3. Enter a second point at position (1.2,0.5,0) and press <Enter>.

4. Enter a third point at position (1,1,0) and press <Enter>.

5. Press the right mouse button or <q> in the graphics area to end the polyline creation.

6. Create another polyline passing through the points (0,0,0), (-0.2,0.5,0) and (0,1,0),

Creation of a cspline curve

1. Select the Geometry/Draw CSpline/Free menu option to initiate the creation of a csplinecurve.

2. Move the mouse near the point (0,0,0) of the second polyline. When close enough, the pointselected will normally be attracted to this point if the attraction to points feature is enabled. Ifthere is no attraction, press <a> in the graphics area. Then, press the left mouse button to addthis point to the cspline.

3. Move the mouse somewhere between the points (0,0,0) and (1,0,0) and add a point by pressingthe left mouse button.

polyline 1

polyline2

cspline

arc

Page 91: User Manual Igg v4.9-2

Geometry Tutorial Basic Tutorials

IGG™ 4-3

4. Add a third point by attracting it to the point (1,0,0) of the first polyline.

5. End the cspline creation with the right mouse button or by pressing <q>.

Creation of a circular arc curve

1. Select the Geometry/Circular Arc/Normal-Point-Point-Radius menu option to initiate thecreation of a circular arc. Several inputs will be requested to define the arc:

Enter normal to the arc

2. Enter ’0 0 1’, followed by <Enter> to define the arc normal.

Enter start point

The start point will be specified with the keyboard:

3. Enter ’1 1 0’, followed by <Enter> to define the starting point.

Enter end point

The end point will be specified with the mouse by attracting it to an existing point:

4. Move the point near the point (0,1,0) of the second polyline. When close enough the point willbe highlighted (if there is no attraction, press <a> in the graphics area). Press the left mouse but-ton to define the end point.

Enter Radius

5. ’0.6’ <Enter>

Select Sense

6. Press <o> until the circle has the same shape as the one of Figure 4.2.1-1 on page 4-2. Then,press the left mouse button to create the arc.

4-2.2 Curve selection

The curve selection operation is used to activate one or more curves for subsequent operations ingeometry modelling or grid generation. When a curve is selected it appears highlighted in green(default). All the curves created in the previous steps are selected.

1. Select the Geometry/Select/Curves option to initiate curve(s) selection.

� The <s> short cut can also be used to activate the option without accessing the menu.

2. Press <a> to unselect all the curves, which become unhighlighted.

3. Move the mouse over the cspline which is then highlighted. At the same time, the name, type ofcurve and approximate arc length of the curve appear in the Information area.

4. Press the left button to select it.

5. Select in the same way the first created polyline.

6. Quit the selection operation with the right mouse button.

� Selection and deselection of all curves can be done by pressing <a> repeatedly (toggleoption).

4-2.3 Curve visualization

When importing complex models, many curves may be created and visualized in IGG™, makingthe graphics unclear. It is possible to visualize only specific curves on the screen, hiding all others,in the following way:

Page 92: User Manual Igg v4.9-2

Basic Tutorials Geometry Tutorial

4-4 IGG™

1. Select the Geometry/View/Curves option. A curve chooser appears with the name of all thecurves. All the names are highlighted since all the curves are visible.

2. Select the cspline in the chooser (by left-clicking on it) and press Apply. Only the cspline curvenow appears in the view.

3. Select the first polyline in the chooser while holding the <Ctrl> key. The polyline is highlightedin the chooser, together with the cspline. Press Apply to visualize both curves.

FIGURE 4.2.3-1 Curve chooser

4. Select the first and last curves in the chooser while holding the <Shift> key. All the curves arenow selected. Press Apply to visualize them all.

� Notice that the curves that were hidden are now unselected.

5. Close the chooser.

At this stage, only the cspline is selected. Before going through the next steps, add the polyline1 tothe selected curves by using the Geometry/Select/Curves menu (see curve selection section).

The selected curves can be further investigated in the following way:

6. Select the Geometry/View/Curve Orientation menu. The default orientation of the selectedcurves is shown. This orientation is important for other geometry modelling and grid generationoperations. These orientations can be hidden by selecting the menu once again (toggle option).

7. Select the Geometry/View/Control Points menu. The control points of the selected curvesappear now. This options acts as a toggle (display on-off) on all selected curves.

8. Select the Geometry/Select/Control Points menu. A control point must be selected. Whenmoving the mouse near a control point, the point becomes highlighted. Press the left mouse todisplay the point coordinates in the Information area.

9. Press the right button to quit the option.

10. Select the Geometry/Distance menu. A prompt appears to select two points between which thedistance will be measured and displayed.

11. Press <c> to disable the attraction to curves (this can be verified by moving the cursor near thecspline. Normally, there is no attraction to the curve. Otherwise, press <c> a second time).

12. Move and attract the cursor over the first point of the cspline curve. If there is no attraction,press <a>. Select the first point by pressing the left mouse button.

Page 93: User Manual Igg v4.9-2

Geometry Tutorial Basic Tutorials

IGG™ 4-5

13. When moving the mouse, the distance between the selected point and the cursor is indicated.Move the mouse over the last point of the cspline. The cursor is attracted to the point and thedistance should indicate "d=1".

14. Press the left mouse button to fix the distance on the screen.

The operations can be repeated to measure the distance between other points.

15. Press the right button to quit the option.

4-2.4 Curve Saving

It is possible to save during the work the curves created in the previous steps. Only the curvesselected (with Geometry/Select/Curves - highlighted in green) are saved into a file:

1. Select File/Export/Geometry Selection... menu. A file chooser is opened to specify the nameof a file. The name should have a ’.dat’ extension. This file can be read back using the File/Import/IGG Data... menu.

4-2.5 Surface Creation

In this section simple surface creation is described, starting from a set of curves. A new session willbe opened to clear all previous drawings.

1. Select File/New to close the current project and open a new, empty, project.

� Opening a new project closes the current project without automatic saving.

4-2.5.1 Creation of a lofted surface

2. Select File/Import/IGG Data and choose the file geo_tuto_2.dat in the /Test-Case/IGG direc-tory of the installation cdrom. Three curves are read and stored in the geometry repository.

FIGURE 4.2.5-1 Imported geometry curves, after some viewing manipulations

3. Select the curves using Geometry/Select/Curves (<s>) in the order indicated on the figure.

4. Select the Quick Access Pad/Geometry/Surface/Lofted menu. A NURBS surface, interpolat-ing the curves is now created. Notice that two new curves, representing surface boundaries, arecreated. These curves automatically appear in the curve chooser (Geometry/View/Curves)when it is opened.

1

2

3

Page 94: User Manual Igg v4.9-2

Basic Tutorials Geometry Tutorial

4-6 IGG™

FIGURE 4.2.5-2 Lofted surface

4-2.5.2 Creation of a Coons patch

A Coons surface is a surface interpolating 4 boundary curves using a bilinear interpolation. Toavoid overlapping with the lofted surface, the selected curves will be copied and translated.

1. Select the four boundary curves (<s>) of the lofted surface, in the order indicated in the figure.

2. Select the Quick Access Pad/Geometry/Edit/Copy menu. The selected curves are duplicatedand automatically selected (the other curves are now unselected). IGG™ interrogates whetherthe duplicated curves must be translated, rotated, scaled, mirror or not. To avoid overlappingwith the existing curves and surface, a translation will be performed:

Enter name prefix for new entities (only important for scripts)

>> <Enter>

Translation (t), Rotation (r), Scale (s), Mirror (m), None ?>> t <Enter>

Translation vector (q) ?>> 1 1 1 <Enter>

3. Select the Quick Access Pad/Geometry/Surface/Coons menu. A new surface is created whichinterpolates the four selected curves.

FIGURE 4.2.5-3 Coons patch

Boundary curvesautomatically created

1

2

3

4

Page 95: User Manual Igg v4.9-2

Geometry Tutorial Basic Tutorials

IGG™ 4-7

It can be noticed that 4 additional curves have been created. These are curves following the para-metric directions of the surface and are used to provide a better visualization of the surface.

4-2.5.3 Creation of a surface of revolution

A surface of revolution will be created by rotating a newly created curve around the Y axis.

1. First create a cspline (Quick Access Pad/Geometry/Curve/CSpline) between the points (-0.5,-2,0.1), (-0.5,0.,0.2) and (-0.5,2,0.1). These points were selected so that the surface of revolutionthat will be created intersects the lofted surface.

2. Make this curve the only selected curve (Geometry/Select/Curves).

A surface of revolution will now be created by rotating this curve around a line parallel to the Yaxis. The rotation origin is taken so that the surface of revolution intersects the lofted surface.

3. Select the Quick Access Pad/Geometry/Surface/Revolution and follow the instructionsrequested by IGG™ as follows:

Rotation axis vector (q)>> 0 1 0

Rotation axis origin (q)>> -0.5 0 -1

Rotation angle (q)>> 300

FIGURE 4.2.5-4 Surface of revolution

As it may be noticed, the curve used for the rotation constitutes the first boundary of the surface.Three other boundary curves are automatically created to delimitate the surface. Finally two curvesin the rotation direction are created to better visualize the surface of revolution.

4-2.6 Surface visualization

Surfaces stored in IGG™ are by default visualized by displaying their boundaries. As soon as theboundary curves of a surface are visible, the surface is considered visible. The following stepdescribes how to hide surfaces, hence hide their boundaries.

boundary curves

Page 96: User Manual Igg v4.9-2

Basic Tutorials Geometry Tutorial

4-8 IGG™

1. Select the Geometry/View/Surfaces option. A surface chooser appears with the name of all thesurfaces in the geometry repository. All surfaces in the chooser are highlighted since they are allvisible in the graphics area.

2. Select the lofted surface in the chooser and press Apply. The lofted surface appears alone in thegraphics area.

3. Select the surface of revolution in the chooser while holding the <Ctrl> key. The surface of rev-olution is highlighted in the chooser, together with the lofted surface. Press Apply to visualizeboth surfaces. Notice that the surface of revolution is now unselected in the graphics area (high-lighted in blue).

4. Select the first and last surfaces in the chooser while holding the <Shift> key. All surfaces arehighlighted in the chooser. Press Apply to visualize them all in the graphics area.

� The <Ctrl> key is used in combination with the mouse to select non contiguous surfacein the chooser.

� The <Shift> key is used in combination with the mouse to select a range of surfaces inthe chooser.

5. Close the chooser.

4-2.7 Surface selection

The surface selection operation is used to activate one or more surfaces for subsequent operations ingeometry modelling (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.

1. Select the Geometry/Select/Surfaces menu to initiate surface(s) selection.

� The <Ctrl-s> short cut can also be used to activate the same option, without accessing

the menu.

2. Press <a> to unselect all the surfaces (toggle option), which become unhighlighted (boundarycurves are unhighlighted).

3. Move the mouse over one of the curves of the lofted surface. The surface becomes highlighted(boundary curves highlighted).

4. Press the left button to select the surface. The boundary curves remain now permanently in red.

5. Select in the same way the surface of revolution.

6. Quit the selection operation with the right mouse button.

� Selection and deselection of all the visible surfaces can be done by pressing <a> repeat-edly (toggle option).

4-2.8 Adding curves to the surface

When manipulating parametric surfaces (i.e. bsplines, or NURBS), it is possible to create curves inthe parametric directions of the surfaces. These curves can be used to better visualize the surfacesor for other geometry and grid modelling operations.

1. Select the Geometry/Modify Surface/Representation menu. IGG™ requests the number ofcurves to be created in the u and v direction of each selected surface:

Number of curves in the u and v directions (q)>> 15 15

2. Repeat the previous operation and specify 5 curves in each direction.

Page 97: User Manual Igg v4.9-2

Geometry Tutorial Basic Tutorials

IGG™ 4-9

1. Select the Geometry/Modify Surface/Add uv Curves menu. Then a point must be selected onthe selected surfaces.

2. Move the mouse inside the limits of the selected surfaces. Two orthogonal curves appear at themouse position. The attraction feature can be enabled, if needed.

3. Press the left mouse button to add the two curves in the geometry repository.

� The curves created in the previous steps are deleted when the surface is deleted, except ifthey are used by other entities.

Page 98: User Manual Igg v4.9-2

Basic Tutorials Grid generation tutorial

4-10 IGG™

4-3 Grid generation tutorialA C-type single block grid around an airfoil is proposed to explain the basic features of the majortopology and grid generation modules. The tutorial shows the successive steps that must be fol-lowed to generate a 2D mesh and to define the boundary conditions required before starting asolver:

• setting up a 2D project

• importing and creating geometry curves needed for meshing

• defining the topology before meshing

• creating and placing a block

• specifying the clustering

• generating a face grid

• defining the boundary conditions

4-3.1 Case description

A mesh around a 2D airfoil is created in this example case. The input geometry describing the air-foil consists of the pressure and suction sides, provided as curves defined in two ".dat" files.

Using the 2D option, only one face of a block (lying in the plane) will be generated, instead of sixclassically required when generating 3D blocks. During the saving of the mesh, IGG™ will auto-matically generate the volume grid by extruding one cell in the orthogonal direction, to match withthe requirement of the EURANUS solver.

A single, C-type, block will be used to mesh around the airfoil. Obtaining a C-type grid using body-fitted capabilities is performed by deforming an initial square block around the airfoil as show inthe following figure.

FIGURE 4.3.1-1 Deforming a block to get a C-type mesh.

Before running the IGG™ system, it is advised to make a sketch of the face to generate and to iden-tify the grid boundaries, as well as the number and orientation of segments on each of the edges.Conventionally in 2D, the face being generated is always the face 1 of the 3D block. For this face,the topology selected for the airfoil is shown in the following figure:

e3

e1e2

e4e1

e2e2

e1

e3

e3

e4e4

Page 99: User Manual Igg v4.9-2

Grid generation tutorial Basic Tutorials

IGG™ 4-11

FIGURE 4.3.1-2 C-type grid topology for the airfoil.

In the topological space of the face, our boundary decomposition is as follows:

FIGURE 4.3.1-3 Topological representation of the 2D face.

A few comments can be made from the previous figures:

s1s4

s2

s3

s1

s1

s4

s3

s2

s1

e1

e2

j

ie3

I =1I =Imax

J = 1

J = Jmax

xy

41 pts

41 pts

21 pts

21 pts

63 pts

63 pts

63 pts

21 pts

21 pts

63 pts

0,0- 9,0

1,10 5,10

5,0

1,-10 5,-10

1,0

Nodes : 41 x 165

Edge 3

Edge 2Edge 1

Edge 4

21 2163 63

21 2163 63

s1 s2 s3 s4

s1 s2 s3 s4

4141

s1s1

e2

e3

e1

e4

e4

Page 100: User Manual Igg v4.9-2

Basic Tutorials Grid generation tutorial

4-12 IGG™

• edges 1 and 2 have only one segment. The start point of the segment of edge 1 correspondsto the start point of the segment of edge 2.

• edge 3 is used to model the pressure and suction sides of the airfoil as well as the wake. It isdecomposed into 4 segments to capture the discontinuity in the wake and to facilitate thegrid point distribution settings.

• edge 4, opposite to edge 3, is also decomposed into 4 segments.

• segments 1 and 4 of the edge 3 coincide geometrically. They do however have an oppositeorientation.

4-3.2 Project configuration

When launching IGG™, a 3D project is by default initialized. For this tutorial, the 2D option needsto be activated as follows:

1. Select File/Project Configuration... menu. A dialog box is opened. In the Dim area, left-clickon the 2D button and then press the Apply button to validate the input. A confirmation is asked.Answer "yes" and Close the dialog box.

A new 2D project is now initialized and only the XY plane is active. The depth of the view, control-ling the z coordinate, is invariably set to 0.

4-3.3 Importing and creating the boundary curves

The next steps describe the importation and creation of geometry curves needed to delimitate thecomputational domain. The initial input data are the pressure and suction sides of the airfoil,described as curves stored in two separate ".dat" files.

In order to place at a later stage the four edges of the face, as sketched in previous figures, addi-tional curves, depicting the external boundaries of the domain, will be created as shown here below:

FIGURE 4.3.3-1 Geometry curves.

Notice the orientation of the curves used to localize the start and end points of the curves. Thesepoints will be used later to place the face boundaries.

p1

p3

p2

a1

a2

pressure

suction

(5,10,0)

(5,0,0)

(5,-10,0)

(1,10,0)

(1,0,0)

(1,-10,0)

(-9,0,0)

Page 101: User Manual Igg v4.9-2

Grid generation tutorial Basic Tutorials

IGG™ 4-13

4-3.3.1 Importing the pressure and suction sides

2. Select File/Import/IGG Data... menu. A file chooser is opened. Select the suction.dat file inthe /Test-Case/IGG/airfoil directory of the installation cdrom. The curve is loaded in IGG™ anddisplayed in the active view.

3. Import in the same way the pressure.dat file located in the same directory.

4-3.3.2 Creating boundary curves

The missing curves are now created by using the IGG™ geometry moduling capabilities. For acomplete description on how to create basic curves refer to section 2.3 of this manual.

4. Create a polyline (Quick Access Pad/Geometry/Curve/Polyline) 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 fit-ted to the curve sizes.

5. Left-click on the Default orientation button ( ) in the viewing buttons area.

Next, the name of the curve will be modified. Naming a curve explicitly is needed when using tem-plate capabilities. It is performed here as an exercise.

6. Select the polyline alone (Geometry/Select/Curves or <s>).

7. Select the Quick Access Pad/Geometry/Curve/Set Name option and change the name of thecurve to "p1". Apply and Close the dialog box.

8. Create a polyline between the points (1,-10,0) and (5,-10,0) and name it "p2".

9. Create a polyline between the points (5,10,0) and (1,10,0) and name it "p3".

10. Create a circular arc (Quick Access Pad/Geometry/Arc/Normal-Center-Point-Point) byentering the normal to the arc (0,0,1), the center (anchor point) (1,0,0), the start point (1,10,0)and the end point (-9,0,0). Name the curve "a1".

11. Create a second circular arc by entering the normal (0,0,1), the center (anchor point) (1,0,0), thestart point (-9,0,0) and the end point (1,-10,0). Name the curve "a2".

4-3.4 Creating and placing the block

This section describes the creation of the block around the airfoil. When dealing with a 2D project,only one face must be manipulated (face 1).

1. Left-click on the Insert New Face icon ( ) of the Quick Access Pad/Grid/Create page. Asquare face will appear in the graphics area.

2. Move the cursor (representing the left corner of the rectangle) near the start point of the polylinep1 (see figure below). Once the point is attracted, left-click to place the first point.

3. 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.

4. Left-click to accept this default orientation and to complete the face creation.

Page 102: User Manual Igg v4.9-2

Basic Tutorials Grid generation tutorial

4-14 IGG™

FIGURE 4.3.4-1 Creation of the first face

At this stage the face is created. Its four edges appear as straight lines which still need to bewrapped around the airfoil. The number of grid points along the I and J directions is currently 9(default) and will be changed to (41x165), as described in the initial sketch.

5. The number of grid points will be changed as follows:

• Select the Grid/Grid Settings... menu. A dialog box is opened.

• Specify the number of grid points in each direction. To this end, move the cursor to theImax box and type ’41’ followed by <Enter>.

� This setting takes effect immediately after pressing <Enter> and deletes any previouslygenerated grid.

• Specify in the same way Jmax = 165. Notice that Kmax has a value of 2 in the 2D option.This value cannot be changed. Close the dialog box. The initial mesh can be visualized by

pressing the Toggle Face Grid icon ( ) of the Quick Access Pad/View/Grid page.

The face can now be positioned correctly around the airfoil:

6. Move the cursor over the upper right vertex. When it is highlighted, left-click on it to initiate theplacement. Move and attract the cursor to the start point of the polyline p3. Then, left-click tofix the position of the vertex.

7. To map the edge 4 on the polyline p3, an additional vertex must be inserted. Left-click on the

Insert Vertex icon ( ) of the Quick Access Pad/Grid/Insert/Edit page. Move the cursornear the edge 4. A marker representing the vertex (square) will appear when being close enoughto the edge. Left-click to fix the vertex on the edge and place it (by left-clicking) on the polylinep3 end point.

During this placement, the vertex was attracted to curves and curve end points. To be sure the vertex is placed on polyline p3 end point, the attraction to curves can be deactivated. While holding the <Ctrl> key, right-click on the vertex to pop up a menu; drag the mouse over Attract to Curves button (to deactivate the attraction) and release the right mouse button.

� To ease the attraction, the value of the Pick Aperture, in the File/Preferences menuunder the thumbnail Tolerances, can be increased to 0.3. This option controls how closethe cursor needs to be from the curve before being attracted.

first point

second point

J

I

e4

e3

e1e2

Page 103: User Manual Igg v4.9-2

Grid generation tutorial Basic Tutorials

IGG™ 4-15

Now move again the vertex which will be attracted to polyline p3 end point but not to polyline p3or other curves.

� Use the short cut <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 thesketch made previously, a fixed point must be inserted. Move the cursor over the additional ver-tex. When it is highlighted, right-click to pop up a menu. Drag the mouse over the Attach FixPoint item and release the right mouse button. This will merge a fixed point with the vertex andthe square shape of vertex marker will be transformed into a diamond shape.

The result of these operations is shown in the following figure:

FIGURE 4.3.4-2 Insertion of the block face

Capturing the pressure and suction sides:

The edge 3 will be used to capture the shape of the airfoil.

8. Now, a zoom can be performed on the airfoil. To do this, left-click on the Zoom Area button

( ) of the Viewing buttons area. Press and drag the left mouse button to select a rectangularregion around the airfoil, then release the left button to perform the zoom.

9. Insert one vertex (v5) on edge 3 and place it on the start point of the suction curve. Then, to besure to firstly map edge 3 on the suction curve and not on the pressure curve, insert another ver-tex (v6) on edge 3, and place it on the suction curve (about in the middle). Eventually, insert andplace a third vertex (v7) on the end point of suction curve, as in the following figure. Attach twofixed points to vertices v5 and v7.

FIGURE 4.3.4-3 Mapping on the suction curve

v1

v2v3

v4

edge 1

edge 3

edge 4

edge 2

v5v7v6

Page 104: User Manual Igg v4.9-2

Basic Tutorials Grid generation tutorial

4-16 IGG™

10. Move the vertex v3 on the polyline p2 end point and the vertex v4 on the vertex v1, as shown inthe following figure. Insert two other vertices on edge 4 and place them on the end points of thearc a1 and arc a2; this will allow to map the grid along these curves. Attach two fixed points tothese additional vertices.

FIGURE 4.3.4-4 Mapping on the boundary curves

11. At this stage, the pressure curve still has to be captured. To this end, insert a vertex v8 betweenv7 and v4 on edge 3 and place it on the pressure curve (about in the middle). Then, insertanother vertex v9 between v8 and v4 and place it in the insertion point (So, simply left-clicktwice on the edge to insert v9). Attach a fixed point to it. Finally, move v9 on vertex v5. Thesesteps are explained in the following figure:

FIGURE 4.3.4-5 Mapping on the pressure curve

v1, v4

v2

v3

v5v7

v8

v8v5, v9

v5v7

v7

v6

v6

v6

Page 105: User Manual Igg v4.9-2

Grid generation tutorial Basic Tutorials

IGG™ 4-17

Now, the face is correctly placed and the segments are created according to the sketch made previ-ously. The mesh can be visualized (the face mesh is automatically generated) by pressing the Tog-

gle Face Grid icon ( ) of the Quick Access Pad/View/Grid page. At this stage, The mesh may

perhaps look quite distorted because the fixed points indices have a default value, which still needto be adapted. So, the last thing to do is to set the correct fixed points indices.

12. To see the current index of a fixed point, move the cursor over it. The index is then displayed.To change the index, right-click on the fixed point to pop up a menu. Drag the mouse to theChange ... index item and release the right mouse button. The following prompt will appear:

Enter new index:(q)

Enter the new index in the keyboard input area and press <Enter>. The new index can be visual-ized as explained before. In some cases, the index will not be changed because the new value ishigher than the index of the next fixed point on the same edge. So, the index of the next fixedpoint must be changed first before changing the one of the current fixed point. Set the fixedpoints indices as in the following figure:

FIGURE 4.3.4-6 Fixed points indices

Some problems may occur for the fixed points v5 and v9 because they lie in the same place sothat indices cannot be changed for both. Simply separate the fixed points by moving v5 or v9 inanother location, then change the indices. Once it is done, place the fixed points back to theiroriginal position.

4-3.5 Grid points clustering

Once the edges of the face are set-up adequatly, the next step consists of specifying the clustering ofgrid points along each edge. This step is essential before proceeding to the face grid generationsince the location of the grid points at the boundaries (on the edges) is directly used to interpolatethe face grid.

Grid point clustering will here be specified to capture:

• the boundary layer on the pressure and suction sides

• the wake

• the leading edge and trailing edges

The following picture shows the segment numbering and orientation selected in the next comingsteps. I and J constant grid lines are also outlined.

J = 21

J = 83

J = 145

v9: J = 145

v5: J = 21v7: J = 83

Page 106: User Manual Igg v4.9-2

Basic Tutorials Grid generation tutorial

4-18 IGG™

FIGURE 4.3.5-1 Segment numbering and orientation.

a) Clustering the boundary layer area

Boundary layers on the pressure and suction sides are controlled by modifying the grid point distri-bution on segments s1 (segment 1 1 1 1) and s2 (segment 1 1 2 1). Indeed, by setting more pointsnear the start of these segments, the grid lines parallel to the airfoil will tend to be closer to the air-foil.

To modify the distribution symmetrically on segments s1 and s2, a group containing the two seg-ments will be created and used to specify the clustering.

1. Select the Cluster Points icon ( ) in the Quick Access Pad/Grid/Insert/Edit menu. A dia-log box for controlling the distribution is opened.

FIGURE 4.3.5-2 Clustering dialog box

s1

s2

s3

s4

s5

s6

s7

s8

s9

s10

I cste linesJ cste lines

Page 107: User Manual Igg v4.9-2

Grid generation tutorial Basic Tutorials

IGG™ 4-19

2. Select the Define/Edit group button to define a new group. Another dialog box is opened.

FIGURE 4.3.5-3 Segment group definition dialog.

3. Select the Create button. The dialog is extended to provide a field in which the name of thegroup can be specified. Enter the name "group1" and press <Enter> (or the Create button). Thegroup is added to the list. Do not close the dialog at this stage.

The segments will now be added to the group one by one in the following way:

4. Move the cursor to the 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 seg-ment, repeat step 4.

5. Middle-click to add the segment to the list. The segment appears in the group in the dialog box.

6. Repeat steps 4 and 5 to add the segment s2 (segment 1 1 2 1).

7. Select the Close button in the dialog box or right-click in the graphics area to complete thegroup creation.

The group is now defined and can be used to specify the clustering on both segments at once.

8. In the popup menu of the Clustering dialog box select the group name "group1" (it should bethe default).

9. Select the distribution type At Both Ends 2 and set the initial spacing at start to 1e-5, the ini-tial spacing at end to 0 and the number of constant cells to 10.

10. 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/ToggleGrid Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing themesh using the icon Quick Access Pad/View/Grid/Toggle Face Grid (<Ctrl-z>).

b) Clustering in the wake area

The grid point distribution in the wake can be controlled with the segments s3 (segment 1 1 3 1) ands4 (segment 1 1 3 4). Notice that they have an opposite direction. To have a matching connectionbetween the two segments, the clustering should be specified in a consistent way by reversing theclustering of one of the segments (this takes into account the reverse orientation of the segments).Additionally, segments s5 (segment 1 1 4 1, opposite to 1 1 3 1) and s6 (segment 1 1 4 4, opposite to1 1 3 4) should be modified in the same way, to keep the mesh as regular as possible.

For this purpose, a group containing the four segments will be created.

1. Select the Create button

2. Enter the name of the group

3. Group is added to the list

Page 108: User Manual Igg v4.9-2

Basic Tutorials Grid generation tutorial

4-20 IGG™

11. Select the Define/Edit group button and create a new group named "group2" as in step 3. Thenfill the group in the following way:

12. Select the segment s3 (left-click) and add it to the group (middle-click).

13. Select the segment s4.

This segment must be added to the group using a reverse orientation:

14. Press the <o> key in the graphics area. The message appearing in the information area will beadapted accordingly. The arrows will also be updated to reflect the current orientation status.

15. Middle-click to add the segment to the group.

16. Select the segment s5 and add it to the group.

17. Select the segment s6, reverse the orientation (<o>) and add it to the group.

18. Complete the group creation by right-clicking in the graphics area and close the dialog box.

Now the clustering can be easily applied on all segments at once:

19. Select the group "group2" in the combo box of the Clustering dialog box.

20. Select the distribution type At Both Ends 2 and set the initial spacing at start to 0, the initialspacing at end to 0.005 and the number of constant cells to 10.

21. Press the Apply to group button to apply the clustering.

c) clustering in the leading and trailing edges areas

The clustering on the segments controlling the leading and trailing edges will be set one by one,with no group defined, as an exercise.

22. Select the segment (1,1,3,2). This segment extends from the far field to the trailing edge andallows to control the grid point distribution in the wake.Select the distribution type Hyperbolic Tangent and set the initial spacing at start to 0.005,and the initial spacing at end to 0.001. Then press on the Apply to seg button to perform theclustering.

23. Select the segment (1,1,3,3). This segment extends from the trailing edge to the far field and isactually located at the same position as the segment (1,1,3,2), but with a reverse orientation. Itsdistribution should consequently be opposite to this segmentSelect the distribution type Hyperbolic Tangent and set the initial spacing at start to 0.001,and the initial spacing at end to 0.005. Then press on the Apply to seg button to perform theclustering. Close the dialog box.

Finally, the clustering on segments s9 and s10 will be copied from the segments s7 and s8, respec-tively.

24. Select the Grid/Grid Density/Copy... menu to copy the grid points clustering of the segment s7to the segment s9. Enter ’1 1 3 2’ in the From box and ’1 1 4 2’ in To box then press the Applybutton to perform the copy.

25. In the same dialog box, enter ’1 1 3 3’ in the From box and ’1 1 4 3’ in To box then press theApply button to copy the distribution from segment s8 to s10.

4-3.6 Grid Generation

This section describes the grid generation and orthogonality control of the mesh near the solid wall.

1. Select The item Quick Access Pad/Grid/Generate/Face Generation Tool ( ) to access thedialog box dedicated to the face generation tools and press the Algebraic button. The grid iscreated using a linear interpolation of the four edges.

Page 109: User Manual Igg v4.9-2

Grid generation tutorial Basic Tutorials

IGG™ 4-21

FIGURE 4.3.6-1 Zoom near the airfoil : 4 Bnd interpolation

The orthogonality of the mesh to the pressure and suction sides could still be improved and must beimproved. To do this, the cubic interpolation option (orthogonality control + algebraic generation)will be used. Orthogonality will be enforced between the edges 3 and 4.

2. Select Edges: 3-4 and Orthogonality Control buttons to set up the orthogonality controlbetween edge 3 and edge 4. The normals are displayed in black (or white) indicating the rangeand the level of orthogonality.

The normals are currently too large and must be reduced before regenerating the face:

3. Reduce the Ratio 1st Edge to 0.1 and the Ratio 2st Edge to 0.01 and press the Algebraic but-ton to regenerate the grid according to these values. Then unselect the Orthogonality Controlbutton.

FIGURE 4.3.6-2 Orthogonality control - detection of the overlapping cells

Page 110: User Manual Igg v4.9-2

Basic Tutorials Grid generation tutorial

4-22 IGG™

4. Activate Overlapping button to see the overlapping cells near the trailing edge. Overlappingcells are highlighted using a small circle.

5. Select 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 EllipticSmoothing button, then press 3 times the Smooth button to remove the overlapping cells. Closethe dialog box.

The face 1 of the block is now completely created and generated.

4-3.7 Boundary condition settings

This section explains the division of a face into patches and the setting of a boundary condition typefor each patch.

As explained in the introduction, a 2D project consists of a 2D face grid extruded orthogonally toyield a 3D block. Within the 2D project, boundary conditions are specified directly on this 3Dblock. The extrusion is performed automatically by IGG™ when opening the dialog box for bound-ary condition setting.

1. Select the menu item Grid/Boundary Conditions... to open the dialog box. The 3D block isautomatically extruded and appears in a 3D view:

FIGURE 4.3.7-1 3D block created by extrusion of face 1

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 boundarycondition type cannot be changed). The face 3 is activated in the dialog box and displayed in pinkmeaning that its boundary condition type is undefined.

2. For the face 3, set the Patch Type to EXT (external boundary condition). For this, left-click onthe Set Patch Type menu, drag the mouse to the EXT button and release the left mouse button.

face 1

face 2

face 3

face 4

face 6

face 5

Page 111: User Manual Igg v4.9-2

Grid generation tutorial Basic Tutorials

IGG™ 4-23

3. Select the face 4 in the dialog box (by left-clicking on it) and set the Patch Type to EXT.

4. Select the face 6 in the dialog box and set the Patch Type to EXT.

The face 5, corresponding to the face wrapping around the airfoil, must be divided into severalpatches. The patches will be obtained by dividing successively existing patches into two. Threedivisions, yielding four patches, will be performed:

5. Select the face 5 and press the button Edit Patch >>. Use the right mouse button in the K-Jdomain to activate 3 times the Divide Patch vertically option to divide the face 5 at the indices21, 83 and 145 (press <Enter> to validate the division). Set Patch Type of the patch 2 and 3 ofthe face 5 to SOL (solid boundary condition). This last face is then divided in 4 patches (seeFigure 4.3.7-1).

Two patches remain undefined (UND). These patches should be connected together, since they arelocated at the same position.

6. Press the Connectivity/Search button to set up automatically the connection between thepatches 1 and 4 of the face 5.

7. Close the dialog box. The view is set automatically back to the projected XY view. Then, savethe mesh using the menu item File/Save/Save. The mesh file is now ready to be loaded in theFINE™ GUI environment.

Page 112: User Manual Igg v4.9-2

Basic Tutorials Grid generation tutorial

4-24 IGG™

Page 113: User Manual Igg v4.9-2

IGG™ 5-1

CHAPTER 5: Butterfly mesh

5-1 IntroductionThe butterfly technique is a multi-block method used to mesh curved geometrical configurationsthat aims at greatly improving the mesh quality. Generally, a butterfly topology consists of sevenblocks. A simple case illustrating this general topology is the meshing of a sphere. A single smallblock is inserted at the center and is surrounded by six more blocks, each extruding from one of thesix faces of the center cube. The 2D analogue of the sphere is the circle. Meshed with a single Hblock, it leads to high distorted cells near the four block corners with cell angles approaching 180degrees just at the corners. Meshed with a 5 blocks butterfly topology, it leads to cell angles of 120degrees near the four corners of the inner block, hence a high improvement of the mesh quality.

FIGURE 5.1.0-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 butterflytopology can contain up to six buffer blocks. Configurations with six or five blocks are used tomesh pipes with a circular section, for example. Configurations with four or three blocks are usefulto mesh special cases where there is less than four straight angles, like a semi cylinder. The follow-ing figure shows configurations with respectively five, four and three blocks (there are no bufferblocks along the direction of the cylinder axis).

Page 114: User Manual Igg v4.9-2

Butterfly mesh Introduction

5-2 IGG™

FIGURE 5.1.0-2 Examples of different butterfly topologies

Page 115: User Manual Igg v4.9-2

IGG™ butterfly implementation Butterfly mesh

IGG™ 5-3

5-2 IGG™ butterfly implementation

5-2.1 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.

The following figure illustrates the position of the butterfly blocks for a butterfly topology withseven blocks.

FIGURE 5.2.1-1 Butterfly topology with seven blocks

5-2.2 Generation method

The generation of a butterfly topology in IGG™ starts from an initial H type block, called parentblock. Then the butterfly blocks are automatically inserted in this parent block. Their shape (edgeshape and vertices position) is based on the parent block mesh.

FIGURE 5.2.2-1 Default shape representation of the butterfly topology

Buffer blocks

Inner block

Buffer blocks

Page 116: User Manual Igg v4.9-2

Butterfly mesh IGG™ butterfly implementation

5-4 IGG™

At the creation of a butterfly topology, a default calculated shape of the butterfly blocks is automat-ically displayed in the graphics area (Figure 5.2.2-1). In fact, butterfly blocks are not directly cre-ated but their edges are represented by geometric curves. Each change in the generation parameterswill update this representation.

Once the butterfly topology has been created, the parent block will remain in the grid (it is notdeleted) and the butterfly blocks will not be added in the grid. This method gives the possibility tocome back to the H-type configuration and does not imply the deletion of the butterfly blocks and anew 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 thebutterfly blocks numbering and naming is hidden to the user (for more details, see section 5-4.2 onpage 5-18).

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 facenumber as the parent block face.

It results from this convention that the buffer block K axis will always be directed from its associ-ated parent block face towards the corresponding inner block face.

FIGURE 5.2.2-2 Buffer blocks orientation

5-2.3 Butterfly shape control

Before the real creation of the butterfly blocks, these ones are represented by geometric curvessymbolizing the edges (see Figure 5.2.2-1).

Firstly, to control the butterfly shape, the type of the butterfly topology must be chosen, i. e. thenumber of blocks and their position. Indeed, the inner block is always present in a butterfly topol-ogy and buffer blocks can be chosen to lead to several configurations, with six buffer blocks atmaximum. In fact, a buffer block can be associated to each parent block face, as illustrated in thefollowing figure.

K K

KK

Faces 1Faces 2

Page 117: User Manual Igg v4.9-2

IGG™ butterfly implementation Butterfly mesh

IGG™ 5-5

FIGURE 5.2.3-1 Buffer blocks association to parent block faces

Secondly, the curves symbolising the edges can be modified to give the desired shape to the futureedges and therefore to control the shape of the butterfly blocks. The curves can be modified bymoving control points. Each curve has by default two control points at its extremities and additionalcontrol points can be inserted. Control points are constrained to move on a geometric surface con-structed from a face mesh, materializing a "section". These sections are all aligned in the samedirection, 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 sec-tions can be seen as a control of the shape of the butterfly block faces aligned along a same direc-tion. This control is illustrated in the following figure.

FIGURE 5.2.3-2 Control points displacement

The minimum number of sections is two, corresponding to the two faces of the parent block perpen-dicular to the preferential direction chosen. Moreover an additional section is added for each inter-nal face of the parent block perpendicular to the preferential direction. The following figure showstwo geometric representations of a butterfly topology just before creation. On the left block, there isan internal face aligned with the preferential direction chosen, which gives three control sections.

Buffer blocks associated to faces 1 and 2 No buffer block associated to face 1

Preferential direction K

Surface 1 constructed

Surface 2 constructed

from face 1 grid

from face 2 grid

Control point constrainedto move on surface 2

Control point constrainedto move on surface 1

Page 118: User Manual Igg v4.9-2

Butterfly mesh IGG™ butterfly implementation

5-6 IGG™

For the right block, the internal face is not aligned in the preferential direction, leading to only twocontrol sections.

FIGURE 5.2.3-3 Butterfly topology representation and section control

The geometric surface defining a section is generally fixed except for the first and last control sec-tions if there is a buffer associated to the corresponding face. In this case, a mesh is interpolatedalong the preferential direction to construct the surface, which position is controlled by a parameter,as illustrated in the following figure.

FIGURE 5.2.3-4 Different geometric surface positions for first control section

The shape of the four edges linking the control sections (i.e. aligned along the preferential direc-tion) 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 geometricsurface, assuming that a straight line links the two end control points of an edge in the parameterspace of the surface.

FIGURE 5.2.3-5 Edge mapping on section surface

Preferentialdirection

Edge mappedon the section surface

Edges interpolatedin the parent blockmesh

Page 119: User Manual Igg v4.9-2

IGG™ butterfly implementation Butterfly mesh

IGG™ 5-7

To control further the shape of an edge, an unlimited number of additional points can be inserted inthe curve representing the edge. In order to obtain "smooth" edges, a cspline is interpolated throughthe points of an edge in the parameter space of the surface, instead of a polyline which leads to dis-continuous edges. As these additional points are only used to modify the shape of an edge, they willnot result in the insertion of additional vertices in the edge after the butterfly creation.

FIGURE 5.2.3-6 Additional points insertion on edge

Additional points can always be inserted in the four inner block edges of the section. It is also pos-sible in some cases to insert such points in the radial edges, i.e. the edges directed from the parentblock towards the inner block. This is always possible for additional sections and only for first andlast 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 edgesare 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 thusnot containing additional points.

FIGURE 5.2.3-7 Straight and mapped radial edges for first and last control section

Buffer block atfirst control section

Straight edges

No buffer blockat last controlsection

Additional pointon radial edge

Page 120: User Manual Igg v4.9-2

Butterfly mesh Butterfly dialog box

5-8 IGG™

5-3 Butterfly dialog boxAfter 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 theQuick Access Pad/Grid/Create page. The following dialog box will appear:

FIGURE 5.3.0-1 Butterfly dialog box

The Block box allows to choose the block in which the butterfly topology will be created. Whenchanging this number, the corresponding block becomes active in the grid. Next to this box, theselected block name and the grid points number in each direction are displayed. By default, whenopening the butterfly dialog box, the active block is selected. If it is not generated or has been mod-ified since the last generation (by moving a vertex, for example), the following message willappear:

FIGURE 5.3.0-2 Message indicating that the block may be regenerated

Page 121: User Manual Igg v4.9-2

Butterfly dialog box Butterfly mesh

IGG™ 5-9

� It asks for block regeneration. If the ’no’ button is pressed and the butterfly topology isnot created yet in the active block, the butterfly dialog box will be closed.

The dialog box contains three frames allowing to control the different parameters of the butterflytopology on the active block. The two first frames allow to control the shape of the butterfly blockswhereas the third one allows to change mesh parameters such as number of points and clustering. Ifthe butterfly topology of the chosen block is already created, the parameters of the two first framescannot be changed until the butterfly topology is deleted by pressing the "Delete" button.

5-3.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 "Sectioncontrol".

5-3.1.1 Preferential direction

This first item allows to choose the preferential direction along which the section control will pro-ceed. The possible values for this direction are the I, J or K axis of the parent block. Obviously, theshapes obtained with different directions are rather variable because the geometric surfaces of thecontrol sections are constructed by taking different surfacic meshes.

� Consequently all the parameters of the butterfly dialog box are reset to default values anda new optimized shape is calculated. To prevent wrong manipulations and a non desiredreset of the parameters, a dialog box asking for confirmation appears when changing thepreferential direction.

FIGURE 5.3.1-1 Influence of preferential direction on shape control

5-3.1.2 Buffer blocks

This second item is a set of buttons allowing to choose the type of the butterfly topology that will begenerated. For each parent block face, a buffer block can be set by simply clicking repeatedly on thebutton corresponding to the face number.

J

I

KPreferential directionalong J axis

Preferential directionalong K axis

Page 122: User Manual Igg v4.9-2

Butterfly mesh Butterfly dialog box

5-10 IGG™

FIGURE 5.3.1-2 Buffer block selection by parent face index

5-3.1.3 Creation from uniform clustering

For each control section, a geometric surface is created from a surfacic mesh, leading to a differentedge mapping if the mesh is different. Also, the edges interpolated in the parent block mesh have adifferent shape when using different meshes. This option allows to change the mesh used to calcu-late the edges position.

� It is important to note that the activation of this option is not modifying the mesh of theparent 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 obtainthe same butterfly blocks shape with different clusterings. This option is illustrated in the followingfigure.

FIGURE 5.3.1-3 Creation of a butterfly topology by using a uniform clustering

As shown by the crosses on Figure 5.3.1-3, the parent block (cylinder) is clustered. The left butter-fly topology is obtained by activating the option and recalculating a default shape (a default shapecan be recalculated by changing the preferential direction). The right topology is obtained from theleft one by simply deactivating the option, showing its influence. Thus, the parametric position ofthe control points is left unchanged and these ones are simply repositioned on the new geometricsurfaces created, leading to the different shapes. If a default shape was recalculated on the rightcase, it will lead to approximately the same shape as the left one, because the shape will result froman optimization procedure which recalculates the parametric position of the control points.

J

KI

Faces 1, 2 and 5 withoutbuffer block associated:

Uniform clustering activated Uniform clustering deactivated

Page 123: User Manual Igg v4.9-2

Butterfly dialog box Butterfly mesh

IGG™ 5-11

Consequently this option is useful when the parametric position of the control points remainsunchanged, for example when replaying a template on a butterfly topology, or when copyingparameters from one parent block to another one.

5-3.2 "Section control" frame

This frame allows to control the shape of the butterfly topology within a section. The number ofsections is at minimum two and an additional section is added for each internal face of the parentblock aligned in the chosen preferential direction.

5-3.2.1 Section number ID

The parameters of the "Section control" frame are applied on the active section, i.e. the one forwhich the control points are displayed. This item is therefore used to select the active section bysimply setting the section number ID which goes from 0 (for the first section) to the total number ofsections minus 1 (for the last section).

Section with number ID = 0 corresponds to parent block face 5, 3 or 1 when preferential direction isset to I, J or K, respectively.

5-3.2.2 Preferential direction buffer depth

This parameter is used to position the section along the preferential direction chosen, i.e. constructthe geometric surface corresponding to the section. It is only used for the first and last section ifthere is a buffer block associated to the section. Indeed, if there is no buffer associated, the surfacicmesh used to construct the geometric surface is the mesh of the corresponding face of the parentblock, which is fixed. It is also the case for internal sections where the mesh of the correspondinginternal face of the parent block is used. Consequently, in these two cases, the parameter is deacti-vated. Otherwise the parameter controls the position of a surfacic mesh interpolated along the pref-erential direction, to construct the geometric surface. It can be seen as a sweeping of the parentblock mesh along the preferential axis. It is illustrated in the following figure.

FIGURE 5.3.2-1 Different geometric surface positions for first control section

This parameter can vary continuously from 0 to 100%, corresponding respectively to the face at thebeginning and the face at the end of the preferential axis. When this parameter is changed, the para-metric position of all the section control points remains unchanged and is used to replace the controlpoints on the new created surface.

5-3.2.3 Radial depth

This parameter controls the global position of the inner block corners within a section. An auto-matic optimization is done on the corners position in order to put them on the bisecting line calcu-lated at the corresponding corner of the parent block.

Page 124: User Manual Igg v4.9-2

Butterfly mesh Butterfly dialog box

5-12 IGG™

FIGURE 5.3.2-2 Optimization on inner block corners position

The parameter controls the position of each corner on its bisecting line. When decreasing thisparameter, 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 "Radialdepth" parameter is thus used to initialize the v value of the first corner, which is obtained by divid-ing the parameter by 100. For example, if the parameter is set to 20, the normalized v value is set to0.2. Then the u value of the first corner and all the (u,v) values of the other corners are calculated inorder to be on bisecting lines.

Generally, depending on the section shape, the optimization cannot converge for all possible valuesof the "Radial depth". Thus there is a limit value of the parameter for convergence, and over whichall the corners (u,v) values are assigned to default values based on the "Radial depth". This leadsobviously to a radical change in the section shape, as illustrated in the following figure.

FIGURE 5.3.2-3 Different shapes obtained by increasing the "Radial depth"

� This optimization cannot be deactivated manually. It is always applied as long as there isconvergence. When it cannot converge, it is automatically deactivated and default valuesare assigned to the points parameters.

� It is important to note that all the additional control points of the active section aredeleted when changing this parameter, as the optimization can only be done on the innerblock corners.

Bisecting linefor first controlpoint

Radial depth: 11 Radial depth: 19

Radial depth: 20

Convergence ofoptimization:

Radial depth: 40

No convergence ofoptimization:

Limit value for convergence

(0.2,0.8)(0.2,0.2)

(0.8,0.8)

(0.8,0.2) (0.4,0.4)

Page 125: User Manual Igg v4.9-2

Butterfly dialog box Butterfly mesh

IGG™ 5-13

5-3.2.4 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 sur-face with exactly the same parametric values as in the original section. It is illustrated in the figurebelow.

� This option is useful to ensure a same butterfly shape at the interface of two parentblocks that must be connected. Consequently to the method used and in order to obtainexactly identical shapes and positions, the geometric surface of the two sections must bethe 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), nothinghappens and a new face can be selected or the copy mode can be exited by right-clicking. Once thecopy operation is performed, the working mode is reset to the default one and the "Copy from sec-tion" button must be pressed again to make another copy.

FIGURE 5.3.2-4 Copy of section parameters

5-3.2.5 Section interactive control

When the section shape obtained by modifying parameters of the "Section control" frame is not sat-isfactory enough, a more precise control is provided by modifying interactively the control pointsposition. As for the "Section control" frame, the control acts on the active section, i.e. the one forwhich the control points are displayed. The default prompt is the following one:

Section control : select point(<i> = insert point, <d> = delete point)

Active section

Reference sectionchosen for copy

Control points copiedfrom reference sectionto active section=> same shape obtained

Page 126: User Manual Igg v4.9-2

Butterfly mesh Butterfly dialog box

5-14 IGG™

To move a control point, move the mouse on the corresponding marker to highlight it and select itby a left-click. Then it can be positioned continuously on the geometric surface of the section bymoving 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 ofthe active section. When the cursor is close enough and an additional point can be inserted, amarker appears; left-click to insert the corresponding control point. Then it can be moved as previ-ously.

To delete an additional control point, press <d> and move the mouse cursor on the desired controlpoint. When it is highlighted, left-click to delete it. Then the corresponding edge is remapped auto-matically on the geometric surface.

5-3.3 "Clustering" frame

This frame allows to control globally mesh parameters on all the butterfly blocks at once. Theparameters of this frame can be changed even if the butterfly topology of the parent block is alreadycreated. The changes are simply taken into account by pressing the "Create/update" button of thedialog box.

5-3.3.1 Number of radial points

This box controls the number of points along the K axis of the buffer blocks (axis directed from aparent block face towards its corresponding inner block face).

5-3.3.2 Radial clustering

This button is used to set the clustering along the K axis of the buffer blocks. The same clustering isapplied to all the buffer blocks edges along this axis. Simply click repeatedly on this button to tog-gle the corresponding dialog box:

FIGURE 5.3.3-1 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 islocated at the inner block corner.

A default clustering is automatically calculated at each parameter modification in the two firstframes of the dialog box.

When connecting two buterfly block faces without buffer block associated, this "Radial clustering"value must be the same for the two butterfly topology in order to obtain a matching connection.

Page 127: User Manual Igg v4.9-2

Butterfly dialog box Butterfly mesh

IGG™ 5-15

5-3.3.3 Clustering reciprocity

The two buttons "Clustering reciprocity" are used to link the clustering of the parent block to theone of the inner block. In fact, at each butterfly creation, an optimized clustering on the inner blockis automatically calculated in order to obtain in this block a first layer of cells with a constant thick-ness. The purpose of such layer is the minimization of the cells size variations between the innerblock and the buffer blocks.

If the button "Clustering reciprocity inner->parent" is activated before the butterfly creation, theoptimized clustering of the inner block is copied on the parent block, thus destroying any cluster-ing set previously on this block. This button has an effect on clustering only if it is activatedbefore butterfly creation. If it is activated after, only the recording of the parameter is done for theactive parent block.

If the button "Clustering reciprocity parent->inner" is activated (before or after the butterfly crea-tion), the clustering of the parent block is copied on the inner block, destroying the optimizedclustering. Moreover both clusterings (on parent and inner blocks) will be linked, meaning thateach modification of the parent block clustering will be applied automatically on the inner block.

If both buttons are activated (assuming that first button is activated before butterfly creation), theoptimized clustering of the inner block is copied on the parent block and both clusterings (on parentand inner blocks) will be linked, meaning that each modification of the parent block clustering willbe applied automatically on the inner block.

These options are illustrated in the figure below.

FIGURE 5.3.3-2 Clustering reciprocity options

� Each button selection must be validated by pressing the "Create/update" button.

Buttons deactivated: uniform clustering

on parent block, optimized clusteringon inner block; first layer of cells with

First button activated before creation:

optimized clustering on parent andinner blocks; first layer of cells with

Second button activated before creation: uniform clustering on parent and inner blocks; first layer of cells with

constant thickness in inner block.

constant thickness in inner block.

great variations in thickness for inner block.

Page 128: User Manual Igg v4.9-2

Butterfly mesh Butterfly dialog box

5-16 IGG™

5-3.4 Butterfly command buttons

The 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 geo-metrical representation to a real creation of the butterfly blocks. It is also used to update the butter-fly 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. Allthe parameters of the butterfly topology deleted are kept and the corresponding geometric represen-tation is displayed in the graphics area. So it allows to modify a generation parameter (e.g. a sectionshape) without losing all the information of the butterfly topology previously created. Even whenthe dialog box is closed, the butterfly parameters are not lost. They are recovered at the reopeningof the dialog box. It is valid until the IGG™ session is closed (without creating the butterfly topol-ogy).

The Split button is used to split the butterfly group, which implies that the butterfly blocks areadded into the grid and that the parent block is deleted. This is an irreversible operation, meaningthat the butterfly dialog box cannot be used any more on the complete split topology; the blocks ofthe split topology must be considered as normal blocks. If two butterfly groups are connected, thecorresponding patches type is reset to "UND" when one of the groups is split. The correct type isrestored when the second group is split. On the other hand, if a parent block is topologically con-nected (vertices, edges, segments) to a neighbouring block, these connections disappear after split-ting, because the parent block is deleted.

Page 129: User Manual Igg v4.9-2

Butterfly management Butterfly mesh

IGG™ 5-17

5-4 Butterfly management

5-4.1 Creation specificities

Several parent block configurations can lead to warnings during the butterfly creation, or evenmore, to a butterfly creation failure.

• Face divided into several patchesIf a parent block face has no associated buffer block and if this face contains several patches, thebutterfly topology cannot be created. The reason is that, in general, it is impossible to associate but-terfly blocks patches to parent block patches in this case. So the following message will appear:

FIGURE 5.4.1-1 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. Thefollowing message will appear:

FIGURE 5.4.1-2 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 willappear:

FIGURE 5.4.1-3 Creation of the butterfly topology forbidden

• Invalid connections (of type CON or NMB)

Page 130: User Manual Igg v4.9-2

Butterfly mesh Butterfly management

5-18 IGG™

Invalid connections can appear when creating a butterfly topology. For example, when two blocksare connected and a butterfly is created in the first block, the connection can become invalid if thereis no buffer associated to the connected face. It means that this connection is nonsense within thetopology chosen and that a full non matching configuration will be created. So the following mes-sage will appear:

FIGURE 5.4.1-4 Invalid connections detected

After pressing the "ok" button, the corresponding forbidden connection is deleted. This message isdisplayed for each forbidden connection encountered. Then the butterfly topology is created.

5-4.2 Blocks naming and numbering

As said in the section 5-2.2 "Generation method" on page 5-3, the butterfly blocks numbering andnaming 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 replacedby "split". If the parent block name is changed, the butterfly blocks names are automaticallyupdated according to this rule.

Concerning the butterfly blocks numbering, as they are not added in the grid, their number is notseen. However, there are differences in blocks numbering between IGG™ and FINE™, EURANUSand 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, thenumber of blocks can also be different. For example, for one parent block containing a butterflytopology, there is one block seen by the user in IGG™ whereas there are 7 blocks in FINE™ (thebutterfly blocks).

On the other hand, when a butterfly group is split, the parent block is deleted and the butterflyblocks 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: par-ent block 1 is deleted and parent block 2 becomes block number 1. So, to split the remaining butter-fly group, block number 1 must be split and not the block number 2, which has no more a butterflytopology!

5-4.3 Interaction with the butterfly topology

As the butterfly blocks are not added in the grid, the user will always interact with the parent blockand never directly with the butterfly blocks. Here below are listed the main operations executedthrough the parent block.

Page 131: User Manual Igg v4.9-2

Butterfly management Butterfly mesh

IGG™ 5-19

• Setting blocks number of pointsThe number of points of the butterfly blocks is updated automatically in order to be always match-ing with the parent block. The radial number of points, independent from the parent block, must be

changed in the Butterfly dialog box ( ).

• Setting segments clusteringClustering is automatically applied from a parent block segment to the underlying buffer block seg-ment, if existing. Moreover, the same arc-length distribution can be applied from a parent blocksegment to the corresponding segment of the inner block by using the "Clustering reciprocity par-

ent->inner" option of the Butterfly dialog box ( ).

The radial clustering, independent from the parent block, must be changed in the Butterfly dialog

box ( ).

• Face generationWhen a face mesh is modified (for example by projecting a face) and that there is a buffer blockassociated, the face 1 of this buffer block is automatically updated.

• Block generationThe butterfly blocks are generated by generating the parent block.

• Block deletionObviously, when the parent block is deleted, the butterfly topology is also removed.

• Boundary conditions, connection of patches and division of the faces into patchesIf a parent face is associated to a buffer block, the same division into patches will be applied fromthis face to the face 1 of the buffer block. If there is no associated buffer block, the parent face cancontain only one patch and cannot be divided.

Connections are performed between parent blocks. Then connections between corresponding but-terfly blocks are set automatically. If the butterfly blocks configuration does not allow this connec-tion, the connection between parent blocks is not found.

FIGURE 5.4.3-1 Face without buffer block associated

Parent block face containing 1 patch.

Patch type set to SOL or patch includedin a FNMB connection

Five butterfly patches.Their type is set to SOL or they areall included in the FNMB connection

Parent block Butterfly topology created

No buffer block associated.

Page 132: User Manual Igg v4.9-2

Butterfly mesh Butterfly management

5-20 IGG™

Concerning the boundary conditions, the patch type is applied from the parent block patch to thecorresponding butterfly blocks patch. If there is no buffer associated to the patch face, the sametype is applied to all the butterfly block patches adjoining the parent face. It is exactly the same forthe full non matching connections, as illustrated in Figure 5.4.3-1.

All these operations can be performed before or after the creation of the butterfly topology; theywill be taken into account in both cases.

• VisualizationEdges of butterfly blocks are visualized but cannot be accessed. They are toggled with the edges ofthe 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 associ-ated to a parent block face, the adjoining butterfly faces will be shown, as illustrated in the follow-ing figure.

FIGURE 5.4.3-2 Face grid representation

5-4.4 Forbidden operations

• Vertex displacement

To keep consistency between the parent block and its corresponding butterfly blocks, the vertices ofthe parent block cannot be moved when the butterfly topology is created. If a vertex has to bemoved, the butterfly topology must be deleted and then re-created after vertex displacement.

• Vertices connection

When connecting vertices of the parent block, some care must be taken to avoid vertex displace-ment and therefore keep consistency between parent and butterfly blocks. Indeed a vertex can bedisplaced automatically when connecting it to another vertex if it is too far away. If a vertex ismoved, 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 modi-fication.

Butterfly faces displayedNo buffer block associated

Page 133: User Manual Igg v4.9-2

Butterfly management Butterfly mesh

IGG™ 5-21

• Internal facesAt the creation of a butterfly topology, internal faces are automatically inserted in the butterflyblocks 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 butterflytopology must be deleted and then re-created.

• Face grid modificationWhen there is no buffer block associated to a parent block face, the edges of the butterfly blocksadjoining this face are mapped on a surface constructed from the face mesh. If this mesh is thenmodified (e. g. by face projection), the edges will not be remapped and will not lie any more on facemesh. To ensure this, the butterfly topology needs to be re-created.

• Block modificationTo 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

5-4.5 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 direc-tion of sweeping is one of the three directions of the parent block (I, J or K). The faces of the butter-fly blocks that will be displayed are normal to the direction of sweeping. When sweeping in onedirection, all the butterfly blocks will be swept except the possible buffer blocks related to the facesthat are normal to the direction (the blocks that will be swept must have the same number of pointsalong the chosen direction). For example, when sweeping the K direction, the buffer blocks corre-sponding to faces 1 and 2 will not be swept. However, their mesh can be visualized by sweeping inthe two other directions. This is illustrated in the following figure.

FIGURE 5.4.5-1 Sweeping of butterfly blocks mesh

Page 134: User Manual Igg v4.9-2

Butterfly mesh Butterfly management

5-22 IGG™

5-4.6 Cells volume calculation

For butterfly topologies, the calculation of the cells volume is performed on all the butterfly blocksof the specified parent block. The number of negative cells of each butterfly block is added and dis-played in the Negative cells dialog box by referencing the parent block.

5-4.7 Grid quality checking

The "Mesh Quality" dialog box (Grid/Grid Quality... menu item) contains a special item dedicatedto butterfly topologies allowing to choose the butterfly block in which the quality will be checked.

The "Block" entry allows to choose the block that will be checked. When it is a parent block, thesecond entry "Butterfly block" is activated, displaying the number of the butterfly block which isanalysed. The range goes from 0 to 6. The number 0 represents the inner block and is thereforealways present. The other numbers between 1 and 6 represent the parent face number and thus theassociated buffer block. If there is no associated buffer, the corresponding number does not appear.

FIGURE 5.4.7-1 Grid quality checking on butterfly topology

5-4.8 Butterfly regeneration when using template

When replaying a template by geometry importation, all the curves and surfaces of the currentIGG™ project having the same name as a corresponding entity in the geometry data file importedcan 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 correctlyaccording to the curve or surface modification (see section 6-2 on page 6-2).

By simply importing a geometry data file, since the vertices and edges of a butterfly topology haveno underlying geometry, they remain at the same position while the parent block is adapted accord-ing to the new imported geometry. Thus it leads to a mismatch between the butterfly topology andits associated parent block.

Page 135: User Manual Igg v4.9-2

Butterfly management Butterfly mesh

IGG™ 5-23

Consequently a new option has been added in order to replay a template by geometry file importa-tion and then to automatically regenerate all the butterfly topologies of the grid. This is accessiblein the File/Replay Template/Import IGG Data... menu item. Obviously, this option is only appli-cable 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 but-terfly topology because in general, a clustering is always set on a parent block after the butterflycreation. On the other hand, it is not restrictive as it is advised to create a butterfly topology on aparent 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 theyare deleted when removing the existing butterfly topology.

5-4.9 Block transformation

When a parent block is transformed (Quick Access Pad/Grid/Insert/Edit page), its butterflytopology is automatically regenerated by IGG™. The following steps will be executed to regeneratea 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.

5-4.10 Block duplication

When a parent block is duplicated (Quick Access Pad/Grid/Create page), a butterfly topology iscreated in the duplicated block(s). This is valid except if the "No Topology" option is selected, inwhich 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 butter-fly topology in the duplicated block(s).

5-4.11 Imposition of an initial solution in FINE™

The axis system of the butterfly blocks is imposed by IGG™ and cannot be changed. When impos-ing the flow direction of the initial solution in FINE™, the butterfly blocks axis system do not havethe same orientation. However their orientation can be found according to the one of the parentblock 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 fol-lowing rule:

Page 136: User Manual Igg v4.9-2

Butterfly mesh Butterfly management

5-24 IGG™

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 replacedby "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 theparent block is respectively K, J or I, the corresponding flow direction for the butterfly blocks willbe 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

5-4.12 Current limitations

• Avoid using the "File/Export/Block Coor" functionality if butterfly blocks have to beexported. 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 isnot applied from the parent block to the butterfly blocks. Moreover, there is no warning mes-sage. 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 curvededges. It is due to the parametrization of the surface. In this case additional control points can beinserted in the edge to improve its shape.

• Coarse grids cannot be visualized for butterfly blocks because their coarse grid levels are differ-ent than the ones of the parent block (due to the radial number of points).

Page 137: User Manual Igg v4.9-2

IGG™ 6-1

CHAPTER 6:Templates and Scripts

6-1 IntroductionIGG™ provides two options to automate the generation of grids around similar geometries: tem-plates and scripts.

In the template concept, an initial mesh is created manually around an "initial geometry" and savedin a ".igg" project file. This project file is then reused as a template by importing the new geometryand replacing the corresponding entities. The block boundaries are then automatically remappedonto the new geometry.

In the script concept, a set of commands describing each step of the grid generation of a given gridis provided in a script file and executed by IGG™. These commands operate on a reference geome-try and can be replayed on any similar geometry.

Both options fundamentally require that the reference and modified geometries keep the sametopology. This means that the reference and the modified geometries have the same surfaces, organ-ized in the same way, but with different shapes. This assumption is completely justified in a designconcept, 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 oper-ations to correct local problems.

The advantages and limitations of each method are described in section 6-4 "Templates versusscripts" on page 6-33.

Page 138: User Manual Igg v4.9-2

Templates and Scripts Templates

6-2 IGG™

6-2 Templates

6-2.1 Introduction

As mentioned in the introduction, templates allow the reuse of an existing IGG™ project created ona reference geometry such that the topology may be applied to a similar, modified geometry. Byapplying the IGG™ project to a modified geometry, the user will be able to directly recover all thegrid-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, usingthe standard tools of IGG™. In particular, the user defines the blocks by placing their vertices onthe input curves and surfaces. At any time, the position of the vertices is stored using a normalizedparametric 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 ofthe vertices and to correctly place them onto a new geometry. The rest of the grid generation pro-ceeds 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 byimporting the new geometry in the opened project. During the importation, IGG™ will automati-cally replace the geometrical entities with the same name and will perform an automatic remappingof the topology on the new geometry. The regeneration of the face grids is then performed manuallywhen applying the Regenerate Faces option.

As mentioned, the implementation uses the normalized parametric position of the vertices on theinput curves or surfaces to localize the new position of the vertices on the modified geometry. Thisintroduces some limitations on the range of validity of the automatic regeneration, when the para-metrization changes widely. In that case, manual corrective operations may be needed to obtain anoptimized topology.

6-2.2 Fundamental assumptions

A few basic assumptions must be fulfilled in order for the template implementation to work prop-erly:

• Same topology of the geometry:The reference and modified geometries must have the same topology. This means that theyshould contain the same entities (curves and surfaces), arranged in a similar way. The shape ofthese 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 orig-inal geometry. IGG™ uses these names to detect a one-to-one correspondence between the enti-ties in the two geometries and to perform the replacement of one by the other.

Page 139: User Manual Igg v4.9-2

Templates Templates and Scripts

IGG™ 6-3

6-2.3 Using the template option

To successfully use the template option, a number of conventions must be observed. As a generalrule, creating a template project must be planned from the start. In particular, taking an existingproject and attempting to use it as a template, will, in general, not work. With this in mind, thesequence 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.

6-2.3.1 Analyzing the input geometry

Before creating the initial grid, the user should verify that the reference and modified geometriesconform to the basic assumptions enumerated above. To do this, the user should open the referenceand modified geometries in separate IGG™ sessions and compare them using the visualizationtools.

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 canbe displayed by using the Geometry/Select Curves (<s>) or Surfaces (<Ctrl-s>) and by mov-ing 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 byassigning explicitly a proper name to the curves or surfaces, using the Quick Access Pad/Geome-try/Curve/Set Name or Quick Access Pad/Geometry/Surface/Set Name options. Name assign-ment should of course be performed in a consistent way in each project.

6-2.3.2 Creating the template project

Creating a template project consists in generating a grid on the reference geometry. Saving the gridwill yield a ".igg" project which will be used as template project. It is to be noticed that templateprojects 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 howeverin the use of some options.

a) Geometry options

Geometry creation or modification options should not be used during the creation of the grid. Plac-ing vertices on such entities is not suitable for template purposes. This limitation exists because thecurves or surfaces created interactively, although saved in the project, are not parameterized. Theywill 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 thereference geometry and reproduce exactly the same steps for the modified geometry, before apply-ing the template. To do this, create the entities in the template project, and name them explicitlyusing the Quick Access Pad/Geometry/Curve/Set Name and Quick Access Pad/Geometry/Sur-face/Set Name tools.

Then, before replaying the template on a modified geometry, the user must recreate these entitiesin a separate session, in the same way as for the reference geometry, but using the new geometryshape. Renaming must be performed exactly in the same manner. Finally, these entities must be

Page 140: User Manual Igg v4.9-2

Templates and Scripts Templates

6-4 IGG™

saved using the File/Export/Geometry Selection option. The ’.dat’ file created in this operationcan then be used together with the modified geometry file when using the template.

b) 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 bound-ary condition specifications, block generation.

A few options, however, have to be used with some care. These are the options that automaticallycreate or place vertices as a result of a generation option. For instance the option Quick AccessPad/Grid/Create/Extrude Range creates a block by extruding from an existing face. In this proc-ess, some vertices of the new block will be localized on construction curves, not necessarily visibleor accessible to the user. These curves receive an arbitrary name that, most probably, will changefrom one session to another. Consequently, these vertices are not directly suitable for templates. Tosolve this problem, these vertices must be moved explicitly by the user to a visible curve or surfaceof the reference geometry.

c) Vertex positioning

Vertices with an absolute position (i.e. vertices not on a curve or surface) will stay at the same abso-lute position after replay of the template.

6-2.3.3 Replaying the template on the 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 thesame name as the entities in the current project. The following dialog box appears as soon as onecurve or surface being loaded has the same name as an existing curve or surface:

In the context of templates, the Replace mode should be used. This option will instruct IGG™ toautomatically replace the old curves and surfaces by the new ones. Replacement will take placeafter the Apply or Apply to All buttons has been pressed

At the end of the importation, IGG™ will automatically remap all the vertices and edges lying onthese curves or surfaces.

At this stage the edges of the blocks should be checked to verify that the mapping has been per-formed in a satisfactory way. Depending on the parametrization of the new geometry, the new posi-tion of the vertices may not be optimum on the new geometry. Also, if the topology of the new

Page 141: User Manual Igg v4.9-2

Templates Templates and Scripts

IGG™ 6-5

geometry is different from the original one, straight edges may appear. In these cases, manual cor-rective 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 thefaces 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....

6-2.4 Troubleshooting

• Using the vertex attraction to curve intersections, on curves that intersect several times (i.e. aclosed circle with a straight line), may create problems during a replay, when the new geometryis significantly different from the original one. Since several intersections exist, IGG™ has tomake the choice of which intersection to assign to the vertex. Currently the closest parametricintersection to the current vertex position is taken, which may be the wrong choice when thegeometry is much different. A work around is to split in the input geometry one of the curves sothat only one intersection exists between curves.

• When using the Quick Access Pad/Grid/Create/Extrude Range option on a range of a blockface, IGG™ automatically creates new internal grid lines on the reference face. Additionalcurves are also created on which these internal grid lines lie. These automatically created curvesshould not be used in the template since they are not part of the parametric definition of thegeometry. The solution to this limitation is to delete the four created curves, and manuallyremap all the newly created vertices on the input geometry. To check that the vertices lie ontothe input geometry, move the mouse to the vertex and check in the status bar (at the bottomright) 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 theintersection with the other edges of the block. By default these vertices do not lie on the inputgeometry but on internally generated curves. It is consequently needed to manually touch andreposition these vertices so that they lie on the input geometry.

• IGG™ uses a vertex tolerance mechanism to automatically close gaps between surfaces that donot exactly match. When these gaps are significantly larger in a modified geometry, it may hap-pen that the default tolerance of a vertex, which used to work on the original geometry, is notlarge enough to close the gaps in the modified geometry. Straight edges will appear which mustbe corrected by increasing the tolerance of the vertices.

6-2.5 Input file format

For this version, only ‘.dat’ files can be used with the template option. The format is described insection 12-2 on page 12-1. 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.

Page 142: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-6 IGG™

6-3 Scripts

6-3.1 Introduction

IGG™ provides a new powerful scripting tool that enables the user to automate a wide variety oftasks and to better integrate the grid generation in an engineering process.

Geometry creation: the user can write scripts to automate the creation of geometries. By para-metrizing numerical values used in the definition of entities, the user can change very fast thegeometry 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, filemanagement, batch execution of modules, like AutoGrid.

Custom exportation: By accessing block coordinates within scripts, the user can write simplescripts to export the grid to its own solver. A script file exporting in PLOT3D format is providedwith the distribution in the /Test-Case/IGG/scripts directory of the installation cdrom, as an exam-ple.

Automatic recording of operations can be performed in IGG™. The menu item File/Scripts/SaveAll... 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.

6-3.2 Python Language Overview

Scripts are available in IGG™ through the object-oriented Python language. Python is a popularscripting language designed to be easily extendible to a specific application. It provides the majorfunctionalities classically found in languages such as C or C++, in a dynamic, interpreted environ-ment.

This section provides a brief overview of the basic features of the Python language. Interested read-ers should consult the tutorial documents or the systematic description of the language available onthe Python web site (http://www.python.org).

Scripts are evaluated line by line. However, line evaluation continues on the next line if the charac-ter ‘\’ is the last character of the line.

6-3.2.1 Adding Commented Lines

The ‘#’ character specify that the rest of the line is a comment and will be skipped while the macrois executed.

6-3.2.2 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,

Page 143: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-7

• 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.

6-3.2.3 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 variablename 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 atmost 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 havingat 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)

6-3.2.4 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 beempty,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 indi-ces 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),

Page 144: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-8 IGG™

• the functions insert(index, value) inserts value at position index, the elements at upper positionare 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 andreturning the number of elements in the list.

6-3.2.5 Control Flow

The body part of these instructions is defined by the indented lines and the specific control lines areterminated by a colon. The end of the loop body is marked by the first line that does not start by atab 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 longas 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 thesecond argument value with a step indicated by the third argument if existing (default value is1).

6-3.2.6 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 toprovide meaningful ones) and last arguments may have a default value (as arg3 in the above exam-ple).

Each line of the function’s body is indented with a TAB character. The function definition ends withthe 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 notavailable to the caller.

A returned value may be specified using the ‘return’ statement followed by the name of the variableor by a value. In any case, a value is returned and not a reference on a local variable or object. Thetype of the returned value is a list, this means that appending a new element in the returned list isobtained by the statement ‘return.append(x)’.

Global scope variable can be accessed if they are declared as such by a statement ‘global’ (e.g. ‘glo-bal x’ specifies that the x variable is a global variable for the current function).

Page 145: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-9

6-3.2.7 File Handling

Files can be opened for reading and writing. A file is associated to a variable which is initialized atits opening:

f = open(fileName, mode, bufferSize)

where fileName is the full file name including its path. The parameter mode is a character string ofwhich 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 dis-carded,

• ‘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, onUnix 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 modeif 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 theend 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 absoluteposition, if whence=1 offset is relative to the current position and if whence = 2, offset is rela-tive to the file end,

• f.tell(): returns file current position,

• f.write(string): writes string to file.

6-3.2.8 Error Handling

IGG™ performs continuous checks during the running of a script to insure that functions can benormally executed, check of arguments validity during calls to functions or object access. When acheck fails IGG™ raises an exception which stops the execution of the script.

6-3.2.9 Creating and Using 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 functionsprovided with IGG™. If a set of functions is defined in a file called MyModule.py, and the file islocated in the directory /people/myself/igg_scripts, they can be made available in another scriptthrough 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 differentways can be used to import the functions:

from MyModule import *

Page 146: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-10 IGG™

or

import MyModule

The first one sets all the functions defined in MyModule directly available, while the second formmakes them available with the MyModule. prefix (e.g. if a function f is defined in MyModule, it isinvoked by the command MyModule.f()).

The standard python modules may be imported with both of the above mentioned forms. The direc-tory declaration is not necessary.

6-3.3 Running a 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 afile chooser prompting to select a “.py” script file. After acceptation, the script is executed byIGG™ 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. Forexample: igg -script my_script.py. IGG™ will execute the script and then open the graphicaluser 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 argumentto the igg command: igg -batch -script my_script.py.

Page 147: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-11

6-3.4 IGG™ Script Commands

The functionalities classically available within the IGG™ graphical interface are provided in scriptsas 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 func-tions applicable to these objects are associated with these classes. Typical examples of classesdefined for IGG™ are Curve, Surface, Block, Face, Vertex, Edge, etc…

Commands and classes are classified by categories. There are three main categories: project com-mands, geometry commands and grid commands.

Commands are either global functions that can be called as normal functions without any object ormember functions that must be called with an object previously defined.

Examples:

save_project(“example.igg”) # global function callc = 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 mustbe performed using a UNIX style coding. This practically means that ‘/’ should be used asseparator between directories instead of ‘\’.

Examples:

save_project(“c:/users/greg/rexample.igg”) # correctsave_project(“c:\users\greg\rexample.igg”) # not correct !!

6-3.4.1 Project Commands

Project commands are provided to control the project currently opened in IGG™ and to performglobal operations on this project.

• set_project_configuration(dim,axis)Sets the project configuration. This command must be called at the very first stage of theproject setting. It closes the current project without saving and opens a new one with thespecified 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.

• open_igg_project(filename)Opens an existing IGG™ project from disk. This command closes the previous projectwithout 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 patchesof the imported project from those in the current project. When specified, the prefix isappended to the block, patch and group names of the imported project. It is mostly usefulwhen importing several projects into the current one, to distinguish them easily. The blockindices of the imported projects are changed to follow those of existing blocks.

Page 148: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-12 IGG™

Example:import_igg_project("/usr/people/test/volute.igg",”p1”)

• 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 regener-ated and asks whether to regenerate the blocks before saving. In the current implementationthis confirmation will also appear when saving from a script. It is consequently advised toregenerate all touched blocks before calling the save_project command.

• exit_session()Quits the IGG™ session. This command can be used to close IGG™ in the middle of ascript. 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.

6-3.4.2 Geometry Commands

Geometry commands are provided as global functions or through classes. The main classes are:Point, Curve and Surface.

a) Global Functions

• 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 thesame 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 perform-ing geometry or topology operations.

• rotate(origin,direction,angle,list_entities)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.list_entities is the list of curves and/or surfaces (specified with their name or as an object).

• translate(direction,list_entities)Translates a list of curves and/or surfaces along a given direction.

Page 149: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-13

direction is the translation direction, in direction and magnitude.list_entities is the list of curves and/or surfaces (specified with their name or as an object).

• mirror(origin,direction,list_entities)Mirrors a list of curves and/or surfaces with respect to a given plane.origin and direction specify the mirror plane.list_entities is the list of curves and/or surfaces (specified with their name or as an object).

• scale(scale_vector,list_entities)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 classVector. These values should be different from zero.list_entities is the list of curves and/or surfaces (specified with their name or as an object).Example: # scale the entities by a factor 2 along the z axis, and a factor 1 along x, y. scale(Vector(1,1,2),”curve_1”,”curve_2”,”surface_1”)

b) Point and 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 veryfrequently as argument to functions to specify a 1D position such as a vertex position, for exam-ple.

• Points that are created and stored in the geometry repository of IGG™. Such points typicallyresult from operations performed on curves or surfaces, such as curve-plane intersections. Thesepoints are saved permanently when saving the IGG™ project, in the .geom file.

IGG™ currently supports the creation of points of the first type within scripts. For this purpose,four classes are provided, allowing to create and manipulate such points: Point, Vector, Curve-PointNorm, 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 inthe IGG™ repository. It is only local to the script. Vector class is just derived from Pointclass and is used frequently as argument to functions to specify a direction. All operationson 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 kindof 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) parame-ters. This kind of point is local to the script.

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

Page 150: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-14 IGG™

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

• distance(p1,p2)Computes the distance between two points.Example: dist = distance(p1,p2)

• scalarProduct(p1,p2)

• crossProduct(p1,p2)Computes the cross product or scalar product of two vectors.Example:v3 = crossProduct(p1,p3) # returns a Vectora = scalarProduct(p1,p3) # returns a real stored in 'a'

• curve_curve_intersection(curve_list,tol)Creates a point at each intersection between all curves of the list. Returns the list of points.

c) 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 arerelative 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 accesseddirectly, 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

d) Curve Class

The Curve class is used to manipulate curves defined within IGG™. They are mostly used to createhigher level entities like surfaces or as a mean to place vertices of a block. Curves can be createdfrom the script file or accessed from the geometry repository. They can be accessed with their nameand can be stored as local object of type Curve.

Member functions:

• 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™

• num_ctr_pnt()Returns the number of control points of the curve.

• get_ctr_pnt(i)Returns the ith control point of the curve as an object of class Point. Index starts from 0.

• first_ctr_pnt()

Page 151: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-15

• last_ctr_pnt()Returns the first and last control point of the curve.

• get_length()Returns the length of the curve.

• get_p_min()

• get_p_max() Returns the min and max parameter value of the curve.

• calc_point(param)Returns the point at the parameter value param. The returned point is an object of classPoint.param is an absolute parameter value between get_p_min() and get_p_max().

• calc_tangent(param)Returns the tangent at the parameter value param. The returned value is an object of classVector.param is an absolute parameter value between get_p_min() and get_p_max().

• 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 curvep2 = curve1.calc_point(abs_param) # calc the point on the curve(p1==p2 if p1 was on the curve)

• set_name(name)Assigns a new name to the curve. The name must be unique and not already used by anothercurve in the repository. If this condition is not met, an exception is raised.

Curve constructions (global functions):

Several functions are provided to create polylines, splines, arcs,…. These functions create a curveentity in the IGG™ repository (saved with the project), which is returned within the script as anobject 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 emptypolyline. The other functions allow to specify points of the polyline. These points areobjects of class Point.name is a unique name assigned to the curve. This argument is optional but it is howeverstrongly 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 argu-ments.

• new_bspline()

Page 152: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-16 IGG™

• new_bspline (p1,..,pi)

• new_bspline (name,p1,...pi)Constructs a B-spline in the IGG™ geometry repository. See polyline for details aboutarguments.

• 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 anothercurve 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. Itmust be surrounded by quotes.Example: curve_list = surf_surf_intersection(s1,"surface_2","first_inters") foreach 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 tothe curve at the point.root_name specifies the root of the names assigned to the resulting intersection curves. Itmust 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")

• delete_curves(curve_list)Deletes a set of curves.curve_list is the list of curves to be deleted (i.e. c1,c2,c3). The curves are specified withtheir name or as an object of class Curve.

e) Surface Class

Surfaces can be created from the script file or accessed from the geometry repository. They can beaccessed with their name and can be stored as local object of type Surface.

Member functions:

• Surface(name)Constructor for Surface class allowing to access an existing surface already defined inIGG™.Example: s1 = Surface("lofted_1") # lofted_1 is the name of a surface in IGG™

• 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.

Page 153: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-17

• project_point(point)Projects a point onto the surface and returns the corresponding (u,v) absolute parameter val-ues.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 surfacep2 = 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 byanother surface in the repository. If this condition is not met, an exception is raised.

Surface constructions (global functions):

• lofted_surface(curve_list,name)Constructs a lofted surface from a list of existing curves. A curve may be specified by itsname 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 sur-rounded by brackets (i.e. [c1,c2,c3]). The curves are specified with their name or as anobject of class Curve.name is an optional name assigned to the surface.Example: s1 = lofted_surface(["curve_1","curve_2"],"first_loft")

• 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 ofclass Curve in the script.

• create_surface_from_face(face)Constructs a 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.

• create_surface_from_faces(faces)Constructs a set of surfaces from a list of block faces.

6-3.4.3 Topology and 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 seg-ment(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 con-text. Indeed, suppose the block 2 has just been created before accessing the segment. Replaying thisscript in a context where other blocks exist will fail.

Page 154: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-18 IGG™

Indirect access:

Indirect access allow entities to be accessed by referring to a name instead of by indices. Currentlynames are only assigned to blocks. Other entities can be accessed relatively to the block name.

a) Block Class

The Block class is used to access and manipulate blocks created within IGG™. Blocks can beaccessed 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 variableb2 = block(“gap_block”) # access a block by its nameOperations can then be performed on the block by calling one of its member functions listedbelow. Examples:b2.set_size(21,21,21) # change the number of points of block 2block(2).set_size(21,21,21) # another way to do the same operation

Member functions:

• 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/Settings dia-log box. 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 valueof 0 (for backward compatibility with older scripts).

• 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_repetition("NONE" ,num_period)

• set_repetition("TRANSLATION",num_period,vector)

• set_repetition("ROTATION" ,num_period,orig,normal)

• set_repetition("MIRROR" ,num_period,orig,normal)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 forROTATION and TRANSLATION. For a rotation, the periodicity angle is specified as:angle = 360/num_period.vector defines the direction and magnitude for TRANSLATION periodicity. It is of classVector (i.e. Vector(0,0,1)).origin is a vector specified as Vector.

• get_all_faces()Returns a list of all the faces of the block, including the internal faces. Each element of thelist is of class Face.

Page 155: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-19

• 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 arecalculated 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.

• 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 whichaxis the block I axis will be transformed and with which orientation. Following strings canbe 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 thatthe orientation will be reversed. Obviously the three strings I, J and K cannot be equal andshould contain “I”, “J” and “K” values. For example, arguments (Ihigh, Jhigh, Klow) willreverse the block K axis.

• 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).

• 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 corre-sponds 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 classPoint.

• get_volume()Returns the volume of the block mesh.

• update_butterfly(butterfly_param)

Page 156: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-20 IGG™

Creates a butterfly topology in the block according to the specified parameters. All theparameters of the Butterfly dialog box are available. Main use is to recreate a butterflytopology after a first manual creation.butterfly_param is a string containing all the parameters needed to the butterfly creationand should look like the following example. It must start and end with tripple quotes.Example:#Butterfly_settings butterfly_param = """ # Tripple quotesbuffer_blocks: 1 1 1 1 1 1direction: Knumber_of_radial_points: 9preferential_direction_buffer_depth1: 10preferential_direction_buffer_depth2: 90clustering_type: 4clustering_start_spacing: 0.001clustering_end_spacing: 0.02130209clustering_constant_cells: 0clustering_reciprocity: 0creation_from_uniform_clustering: 0number_of_control_section: 2control_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.8control_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""" # Tripple 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 func-tion optimizes the shape of the butterfly topology with a restricted list of parameters asinput. 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 looklike 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 = 30nk = 9clust_type = 4 # Hyperbolic tangent clustering typeclust_start = 1e-3 # Start spacingclust_cst_cells = 0 # Unused for this clustering typeclust_reciprocity = 0

Page 157: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-21

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)

• 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.

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 beone 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,normal_mode,0,2,dir)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.normal_mode specifies the mode for the normal extrusion.dir specifies the direction when the mode is 3 (user specified). Its type is Vector.Example: extrude_new_block(face(1,2),Range(27,39,9,27),0,2,Vector(1,0,0))

• 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 ablock 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”,…]. Speci-fying 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)

Page 158: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-22 IGG™

Scales a set of blocks around a given axis.blocks is a list of blocks, specified between brackets (i.e. [“block_1”, ”block_2”,…]. Speci-fying 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).

• set_repetition_all_blocks(…)This function sets a periodicity information for all the blocks in the project at once. Thearguments are the same as the function set_repetition of the class Block. See class Block formore information.

b) Face Class

The Face class allows to manipulate and perform operations on existing faces of a block. Faces canbe 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 classFace that can be stored locally.Example:f1 = face(2,1) # get face 2 of block 1f1 = face(“block_2”,1) # accessing the face using the block namef1.new_patch(...) # use f1 to apply a member function.

Member functions:

• 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.

• 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 isoptional, if omitted the full range of the face is taken.Example: face(1,2).linear_4Bnd(Range(1,6,1,9))

• project_on_surfs([surf_list],bound_projection,validation,proj_ratio,Range(1,4,1,9))

Page 159: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-23

Global functions:

• 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 classFace, 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 2 of block 4f2 = face(2,5) # getting face 2 of block 5regenerate_faces([f1,f2]) # regenerates both faces

regenerate_faces(block(1)) # regenerates all faces of block 1

c) Patch Class

The Patch class allows to manipulate and perform operations on existing patches of a face. Patchescan 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 anobject of class Patch that can be stored locally.Examples:p1 = patch(2,1,2) # access block 2, face 1, patch 2p2 = 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_type()Returns the boundary condition type currently assigned 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: EXT, INL, OUT, SNG, SOL.

• divide(range)Divides the patch in two. During the division one new patch is created. The limits of thecurrent 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)

Page 160: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-24 IGG™

d) Edge Class

The Edge class is used to manipulate and perform operations on existing edges of a block. An Edgecan 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 ofclass Edge that can be stored locally.Examples:e = edge (1,2,1) # access edge 1 of Block 1, face 2e = edge(“ablock”,2,1) # access the same edge using the name of the block

Member functions:

• 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 correspondsto the beginning of the edge while a value of 1 corresponds to its end.

e) 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 functionreturns 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 1s = 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 1s = edge.segment(2) # get segment 2 of the previous edge

Member functions:

• increase_size(new_number_of_point)Increases the size of a segment.

• cluster_start(distance)

• cluster_end(distance)

Page 161: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-25

• cluster_both_ends(distance)Clusters at start, end or both ends with a given absolute value representing the size of thefirst (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 con-stant 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. Dis-tances 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.

f) BlockGroup Class

Block grouping functionalities are available through the BlockGroup class. The users can create ordelete block groups as well as add or remove blocks from a group. Groups can be used with severalgrid 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 alreadyused 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.

g) Vertex Class

The Vertex class is used to manipulate vertices of a block. A vertex can be accessed with the vertexcommand:

• 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 returnsan 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 1v = 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.

Page 162: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-26 IGG™

Example:p = vertex(1,2,1,1).get_coords()print “Coords are”,p

h) Topology Placement

Several global functions are provided to place the topology of a block onto a geometry. The mostcommon 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 newposition.

• 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 iscalculated 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 iscalculated 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 blockis calculated by moving ref_vertex (class Vertex) to new_vertex_position (class Point).

6-3.4.4 Connection Commands

Connection commands allow to perform connections for the different entities manipulated inIGG™: vertices, topological edges, segments and patches. The commands correspond to theoptions available in the Quick Access Pad/Grid/Connect menu or in the Boundary Conditionsdialog 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 istaken 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 hasa 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 istaken 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;

Page 163: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-27

tol is a real specifying the absolute tolerance for connections. It is optional, if omitted it hasa 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 hasa default of 1e-5.

• search_connections(tol)Searches all the connections of type CON, NMB, PER, PERNM, falling within a given tol-erance. This function corresponds to the Search button in the Grid/Boundary Condi-tions... 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 Manualbutton 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 tothe Delete All button in the Grid/Boundary Conditions... dialog box.

6-3.4.5 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 givingthe result.block is the block on which the test will be done and must be of class Block. However thevalue 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 thecheck.right_handed specifies whether calculation should proceed using a right_handed local ref-erence frame (0 or 1).levels specifies the multigrid levels on which the calculation is done. Set it to "all" to makethe check on all levels available at once. Otherwise set it to "custom" and specify thedesired 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 "ExpansionRatio".block is the block on which the test will be done and must be of class Block. However thevalue 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.

Page 164: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-28 IGG™

range_startrange_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 thechart).Example:list = calc_mesh_quality("Orthogonality", block(1), "All", 0, 90, 9) # list will contain 9items, giving the number of cells for each interval of 10 degrees between 0 and 90.

• get_extremum_quality_values()Returns the two extremum quality values of the previous quality check (list with two items).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 ofcells as in a barchart.type is the name of the quality criterion: "Orthogonality", "Angular deviation", "ExpansionRatio" or "Cell width".block is the block on which the test will be done and must be of class Block. However thevalue 0 can be specified to apply the test on all the blocks of the grid at once.range_startrange_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 thechart).

• get_extremum_quality_values_inter_block()Returns the two extremum quality values of the previous quality inter block check (list withtwo items). Must be run after the function calc_mesh_quality_inter_block.

6-3.4.6 MultiStage Module

This multi-stage module allows to run and concatenate several AutoGrid meshes into one project,in an automatic way. It is typically used to automate the generation of multi-stages turbomachinerymeshes.

Initially, the user generates an AutoGrid template for each stage separately, by fine-tuning theparameters available within the graphical user interface of AutoGrid. Then, the module can be usedto concatenate the stages automatically. During the concatenation, IGG™ will convert the interfacesbetween stages to a rotor-stator boundary condition type (ROT). Finally the mesh is saved andintermediate project files are cleaned automatically.

When AutoGrid templates already exist for each stage, the module can also be used to launchAutoGrid in batch mode for each stage, on modified blade shapes, for example. Concatenation willthen proceed after the generation of each stage.

To use the option, a script file with the extention ".py" should be written and contain the informa-tion described here below.

To activate the module the file must contain the following command near the beginning of the file:

from MultiStage import *

This will instruct IGG™ to load the MutliStage module, which will allow a MultiStage object to becreated:

• multi = MultiStage()

Page 165: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-29

Next, the full path name of the directory where the AutoGrid templates or meshes reside must bespecified:

• multi.path = "/home/_release/_autogrid/"

� All the directory paths in the MultiStage module must be specified by using "/" (on allplatforms). "\" should not be used because it is interpreted as a script special character.

Once a MultiStage object is created and its path specified, its member functions can be called toperform the desired operations.

• exec_autogrid(trb_file,geom_turbo_file,save_file,batch)Runs AutoGrid with the given geometry and template files. The resulting mesh will besaved in the specified output file.trb_file specifies the “.trb” file required to run AutoGrid. The file name is relative to thepath specified above.geom_turbo_file specifies the “.geomturbo” file required to run AutoGrid. The file name isrelative to the path specified above.save_file is the name of the file where the mesh will be saved. It must be a full path name.batch is a boolean indicating whether the process should be run in batch mode. It can takethe values 0 or 1. When the value is 0, the graphical user interface remains on the screenand dialog boxes indicating possible negative cells will appear at the end of the generation.When the value is 1, the process will be run in batch mode, with no graphical user interfaceor dialog box. In this case an explicit call to the exit_session command must be added at theend of the script to quit IGG™.

• concatenate(list_of_igg_files)Concatenates a list of ‘.igg’ files (each representing a single stage project generated byAutoGrid) into a new project. During the concatenation, IGG™ will convert the interfacesbetween stages to a rotor-stator boundary condition type (ROT). The convertion is appliedto all the patches with an INL or OUT type, except for the first and last stages for which theINL and OUT patches are respectively kept.list_of_igg_files is a list containing the file names of each ‘igg’ project file. The path namefor each file is relative to the path member specified above. The list can contain anynumber of file names. The file names must be given in the proper order.Example: m.concatenate(“rotor.igg”,”stator.igg”,”rotor2.igg”)

• save(filename)Saves the current project, resulting from the concatenate operation, in the specified filename. The full path name must be given.

• add_stage(trb_file,geom_file)Adds a stage to the MultiStage object. This function is used to prepare the MultiStageproject. It does not perform any computation. The run member function should be usedafter all the stages have been specified.trb_file and geom_file are the template and geometry files required to run Autogrid. Theyare specified relatively to the path member function.

• run(save_file,batch)Runs the whole MultiStage project by running each AutoGrid template specified with theadd_stage member function and concatenating the different stages thus generated.save_file is the full path name specifying where to save the final mesh.batch specifies whether the whole process should be run in batch mode. It can have the val-ues 0 or 1. See exec_autogrid function for more explanation.

Page 166: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-30 IGG™

Complete examples:

Example 1:

import os

from MultiStage import *

# Initialize a new object for MultiStage.

multi = MultiStage()

# Specify the path were .trb and .geomturbo files reside. A full pathname is required.

multi.path = "/raid/home/_complete/"

multi.add_stage("_autogrid/Bld01.trb","_autogrid/Bld01.geomTurbo")

multi.add_stage("_autogrid/Bld02.trb","_autogrid/Bld02.geomTurbo")

multi.add_stage("_autogrid/Bld03.trb","_autogrid/Bld03.geomTurbo")

multi.add_stage("_autogrid/Bld04.trb","_autogrid/Bld04.geomTurbo")

multi.add_stage("_autogrid/Bld05.trb","_autogrid/Bld05.geomTurbo")

multi.add_stage("_autogrid/Bld06.trb","_autogrid/Bld06.geomTurbo")

multi.add_stage("_autogrid/Bld07.trb","_autogrid/Bld07.geomTurbo")

multi.add_stage("_autogrid/Bld08.trb","_autogrid/Bld08.geomTurbo")

# Run the whole process: run each autogrid stage, import them into a

# centralized project, clean the tmp files, and save the result project.

# If the optional batch parameter is set to 1, the whole process will be performed in batch. In this

# case, the exit_session call at the end of the file must be uncommented.

multi.run("/raid/home/_complete/_mesh/multistage.igg",batch = 1)

### If Autogrid was run in batch mode, it is needed to exit explicitly IGG™.

exit_session()

Example 2:

import os

from MultiStage import *

batch = 1

# Initialize a new object for MultiStage.

multi = MultiStage()

Page 167: User Manual Igg v4.9-2

Scripts Templates and Scripts

IGG™ 6-31

# Specify the path were .trb and .geomTurbo files reside. A full pathname is required .

multi.path = "/raid/home/_concatenate/"

# Run three times AutoGrid explicitly.

savein = "/raid/home/_concatenate/_mesh/ "

multi.exec_autogrid("_autogrid/Bld01.trb","_autogrid/Bld01.geomTurbo",

savein+"Bld01.igg",batch)

multi.exec_autogrid("_autogrid/Bld02.trb"_autogrid/Bld02.geomTurbo",

savein+"/Bld02.igg",batch)

multi.exec_autogrid("_autogrid/Bld03.trb"_autogrid/Bld03.geomTurbo",

savein+"/Bld03.igg",batch)

# Concatenate and save the three generated meshes.

multi.concatenate("_mesh/Bld01.igg","_mesh/Bld02.igg","_mesh/Bld03.igg)

multi.save("/raid/home/multi_stage.igg")

if batch==1: exit_session()

6-3.5 Examples

A couple of examples are provided as an introduction to the script capabilities. These examples areprovided with the distribution and can be found in the directory /Test-Case/IGG/scripts of theinstallation cdrom.

Basic geometry operations (geom.py)

Curves and surfaces constructions are provided in this script file. The following features are used:

• polyline creation,

• spline creation,

• lofted surface creation,

• surface of revolution creation,

• surface intersection with a plane.

Pipe-to-pipe (pipe2pipe_1.py, pipe2pipe_2.py)

This example shows the usage of some geometry and grid script capabilities. It shows the creationof 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,

Page 168: User Manual Igg v4.9-2

Templates and Scripts Scripts

6-32 IGG™

• face projection on surfaces,

• patch specification.

Full automatic regeneration (full_auto.py)

This example shows the usage of the standard templates capabilities followed by the regenerationof 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,

• project saving.

Page 169: User Manual Igg v4.9-2

Templates versus scripts Templates and Scripts

IGG™ 6-33

6-4 Templates versus scriptsTemplates correspond to the saving of a final state of a mesh, with the position of vertices and edgessaved parametrically according to the input geometry.

Scripts correspond to a succession of commands and in this respect correspond to a history-basedapproach.

Which one to use depends on the problem to model (initial data provided for the problem) and thelimitations 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 aslong 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 templateproject. (and are consequently not parameterized).

Page 170: User Manual Igg v4.9-2

Templates and Scripts Templates versus scripts

6-34 IGG™

Page 171: User Manual Igg v4.9-2

IGG™ 7-1

CHAPTER 7: Quick Access Pad

7-1 OverviewThe Quick Access Pad is located in the left part of the GUI. It contains icons and more evolvedoptions providing a fast access to the most used functions of IGG™. Some of these functions areonly accessible through the Quick Access Pad whereas others are also accessible through the menubar, 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 iconsperform specific function related to the subpad and the page. Each page can be toggled by a simplemouse left-click.

Page 172: User Manual Igg v4.9-2

Quick Access Pad Overview

7-2 IGG™

FIGURE 7.1.0-1 Geometry, Grid and View subpads

• The Geometry subpad commands and tools allow the creation and the modification of geome-try entities like points, curves and surfaces.

• The Grid subpad commands and tools allow the creation and the manipulation of blocks andrelated 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 twofirst pages provide options allowing the creation and the visualization of geometry and blockgroups.

All the commands and options accessible with the subpads are described in the following sections.

Subpads

Pages

Page 173: User Manual Igg v4.9-2

Geometry subpad description Quick Access Pad

IGG™ 7-3

7-2 Geometry subpad descriptionThe Geometry subpad provides commands and tools allowing the creation and the modification ofgeometry entities like points, curves and surfaces. It consists of four pages: three for geometry enti-ties creation (respectively point, curve and surface creation) and one for curves and surfaces edit-ing.

7-2.1 Point page

7-2.1.1 Cartesian Point

See the Geometry/Create Points/Cartesian Point menu item description on page 9-11.

7-2.1.2 Curve-Curve Inters

See the Geometry/Create Points/Curve-Curve Intersection menu item description on page 9-11.

7-2.1.3 Curve-Plane Inters

See the Geometry/Create Points/Curve-Plane Intersection menu item description on page 9-11.

7-2.2 Curve page

7-2.2.1 Polyline

See the Geometry/Draw Polyline/Free menu item description on page 9-5.

7-2.2.2 CSpline

See the Geometry/Draw CSpline/Free menu item description on page 9-3.

7-2.2.3 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 on page 9-7.

Page 174: User Manual Igg v4.9-2

Quick Access Pad Geometry subpad description

7-4 IGG™

7-2.2.4 Trim

See the Geometry/Create Curve/Trim menu item description on page 9-16.

7-2.2.5 Group

See the Geometry/Create Curve/Group menu item description on page 9-15.

7-2.2.6 UnGroup

See the Geometry/Create Curve/UnGroup menu item description on page 9-15.

7-2.2.7 Surf-Surf Inters

See the Geometry/Create Curve/Surf-Surf Intersection menu item description on page 9-11.

7-2.2.8 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 onpage 9-12.

7-2.2.9 Set Name

It is used to change the name of a selected curve. See the Geometry/Modify Curve/Set Name...menu item description on page 9-23.

7-2.3 Surface page

7-2.3.1 Lofted

See the Geometry/Create Surface/Lofted menu item description on page 9-16.

7-2.3.2 Revolution

See the Geometry/Create Surface/Revolution menu item description on page 9-17.

7-2.3.3 Coons

See the Geometry/Create Surface/Coons Patch menu item description on page 9-17.

7-2.3.4 Linear Sweep

See the Geometry/Create Surface/Linear Sweep menu item description on page 9-18.

Page 175: User Manual Igg v4.9-2

Geometry subpad description Quick Access Pad

IGG™ 7-5

7-2.3.5 Offset

See the Geometry/Create Surface/Offset menu item description on page 9-18.

7-2.3.6 From Face Grid

See the Geometry/Create Surface/From Face menu item description on page 9-18.

7-2.3.7 Set Name

It is used to change the name of a selected surface. See the Geometry/Modify Surface/Set Name...menu item description on page 9-24.

7-2.4 Edit page

7-2.4.1 Copy

See the Geometry/Edit/Copy menu item description on page 9-18.

7-2.4.2 Mirror

See the Geometry/Edit/Mirror menu item description on page 9-20.

7-2.4.3 Translate

See the Geometry/Edit/Translate menu item description on page 9-19.

7-2.4.4 Rotate

See the Geometry/Edit/Rotate menu item description on page 9-19.

7-2.4.5 Scale

See the Geometry/Edit/Scale menu item description on page 9-19.

Page 176: User Manual Igg v4.9-2

Quick Access Pad Grid subpad description

7-6 IGG™

7-3 Grid subpad descriptionThe Grid subpad provides commands and tools allowing the creation and the manipulation ofblocks and related entities like vertices, fixed points, internal faces, internal grid lines,... It containsfour pages that are described in the following sections.

7-3.1 Create page

This page contains icons used to create and delete blocks. When moving the cursor above one ofthese icons, a balloon containing a description appears, indicating the function of the correspondingicon. 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 visibleCartesian point, curve, surface, vertex or fixed point by moving it close to the desiredentity. There is attraction when the distance between the vertex and the entity is smallenough. This distance is controlled by the Pick Aperture (see section 8-2.44.1 on page8-15 for more informations). When a vertex is attracted, the block drawing in the graph-ics area is highlighted. This attraction feature cannot be deactivated.

7-3.1.1 Insert New Block

This icon is used to create a block by defining two opposite vertices. The following steps have to befollowed to insert a new block:

1. A block with a default position appears in the graphics area. The first vertex that has to beplaced is displayed as a filled-in circle. Move the cursor to the desired location and left-click ormiddle-click to place it.

� The current vertex can be attracted to a visible Cartesian point, curve, surface, vertex orfixed point by moving it close to the desired entity (see the beginning of this section formore information).

� To make easily the vertex positioning, a zoom (<F2>) or a 3D viewing (<F1>) operationcan be performed before resuming the placement.

FIGURE 7.3.1-1 IJK axis placement

2. When moving the cursor around, the drawing of the block is updated according to the cursorposition. Move the cursor to the desired location and left-click or middle-click to place the sec-ond (opposite) vertex.

Page 177: User Manual Igg v4.9-2

Grid subpad description Quick Access Pad

IGG™ 7-7

� The position of a vertex can also be defined by entering its coordinates in the keyboardinput area.

3. The orientation of the block, defined by the IJK axis, appears at a default block corner(Figure 7.3.1-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 <s>key. The axis system displayed is always right-handed. Left-click or middle-click to completethe block creation. When the block is created, the vertices of the block are drawn using solidsquare markers.

To quit this tool, press <q> or the right mouse button.

7-3.1.2 Insert New Block by picking vertices

This icon is used to create a new block by defining its eight vertices. The following steps must befollowed after selection of the icon:

1. A block face with a default position appears in the graphics area and the first vertex to place isdisplayed 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 keyboardinput 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 thissection 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.

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 isupdated according to the cursor position.

FIGURE 7.3.1-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 theblock second face:

current vertex

first vertices

Page 178: User Manual Igg v4.9-2

Quick Access Pad Grid subpad description

7-8 IGG™

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 followingkeys:

•<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 throughthe keyboard input area.

•<u> to unlock. (It is also possible to press the same key twice to unlock the correspondingdirection).

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 themiddle mouse button. If any of the vertices of the first face is positioned, middle-clickingwill position this face as it appears on the screen so that the next step will be the placingof the first vertex of the second face. During this step, middle-clicking will position thesecond 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, appearsat a default block corner (see Figure 7.3.1-1 on page 7-6). The following message is displayedin 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 <s>key. The axis system displayed is always right-handed. Left-click or middle-click to completethe block creation. When the block is created, the vertices of the block are represented by solidsquare markers.

� After having specified the orientation of the IJK axis, IGG™ will attempt to automati-cally map the edges of the new block onto the geometry, before completing the blockcreation.

To quit this tool, press <q> or the right mouse button.

7-3.1.3 Insert New Face

This icon is used to create partially a block by defining its face 1. The complete creation of theblock 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 oppositecorners.

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 placedis 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 orfixed point by moving it close to the desired entity (see the beginning of this section formore informations).

� To make easily the vertex positioning, a zoom (<F2>) or a 3D viewing (<F1>) operationcan be performed before resuming the placement.

Page 179: User Manual Igg v4.9-2

Grid subpad description Quick Access Pad

IGG™ 7-9

2. As the cursor is moved around, the drawing of the face is updated according to the cursor posi-tion. 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 keyboardinput area.

3. The orientation of the face, defined by the IJ axis, appears at a default face corner. The follow-ing 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 <s> key.Left-click or middle-click to complete the block creation. When the block is created, the verti-ces of the face are drawn using solid square markers.

To quit this tool, press <q> or the right mouse button.

7-3.1.4 Extrude Range

This icon is used to create a block by extruding a range of the active block face. The following dia-log box will appear:

FIGURE 7.3.1-3 Extrude Range dialog box

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, thatis 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 thecursor 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 7.3.1-4 Changing range limits

Active face rangePatch selection

Click on the border to changethe current limit

Page 180: User Manual Igg v4.9-2

Quick Access Pad Grid subpad description

7-10 IGG™

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. Threepossibilities 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 eachrange 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 andz coordinates of the direction vector. Only the vector direction is taken into account, not its ori-entation. 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 open-ing, it is set to the ’default’ value which depends on the range size. To modify this, simply enter anew positive value with the keyboard (all negative values are equivalent to the default value).

Finally the Connect Topology option can be activate or deactivate to create a new block automati-cally 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 extru-sion. 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 newblock.

• The number of points in the extrusion direction is the default one (9). In other directions, thenumber is the same as those of the corresponding internal grid lines segments.

• Connections between the reference block and the extruded one are automatically performed forvertices, topological edges, segments and patches. Patch connection is subject to limitationsdescribed below.

Patch decomposition and connection

When extruding a new block, IGG™ attempts, as much as possible, to divide correctly the referenceface and the new one into patches and to perform matching connections between them. Severalcases 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 theconnection 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 toits counterpart.

3. 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 performedwith the new face. It is illustrated in the figure below where the central patch will be furtherdivided into nine patches and the new central patch will be connected to the new face.

Page 181: User Manual Igg v4.9-2

Grid subpad description Quick Access Pad

IGG™ 7-11

FIGURE 7.3.1-5 Extruded range included in a reference face patch

• The range covers exactly a set of existing patches. In this case, the new face is dividedusing the same limits as the covered patches and the connection is performed with thesepatches.

• The range overlaps two or more patches. In this case patch decomposition will NOT be per-formed automatically and a warning will appear. It is illustrated in the figure below wherethe range being extruded overlaps two patches. In this case, the division into patches andthe connections must be performed manually.

FIGURE 7.3.1-6 Extruded range overlapping two reference face patches

7-3.1.5 Duplicate Block

This icon is used to create blocks by duplicating existing blocks. The following dialog box willappear:

Extruded range

Reference face,divided in ninepatches

Extruded range overlappingthe two patches

Reference face, dividedin two patches

Page 182: User Manual Igg v4.9-2

Quick Access Pad Grid subpad description

7-12 IGG™

FIGURE 7.3.1-7 Duplicate Block dialog box

The first item "Blocks to Duplicate" offers three possibilities to choose the blocks to duplicate (sim-ply 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 thededicated box entry. The numbers must be separated by spaces. A range of blocks can also beselected by entering two numbers separated by a ’-’. For example, enter ’4 6 10-15’ to select theblocks 4, 6 and the range 10->15. The numbers do not have to be ordered. If a syntax error ismade, a warning message will appear.

3. Block Group. Select all the blocks of the group. To see all the group names in a pull-downmenu 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 beenselected. Choose also the transformation that will be applied to the selected blocks to create theduplicated ones. When the duplication number is greater than 1, the transformation is applied to theprevious 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 theother transformation.

• For the rotation, its axis, origin and angle must be specified. For the axis and origin, simplyenter the x, y and z coordinates. A number must be specified for the angle, which will be com-puted 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 notallowed.

Finally, a modelling option must be chosen for the duplicated blocks. Four possibilities are availa-ble (simply left-click on the desired one in the box):

Page 183: User Manual Igg v4.9-2

Grid subpad description Quick Access Pad

IGG™ 7-13

1. No topology. Only the mesh of the selected blocks will be duplicated but not the edges and ver-tices. 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 theduplicated 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 exactlythe same shape as those of the initial block, which is not the case when edges are created byusing the boundary grid nodes of the duplicated block. The difference can be seen clearly in thefigure below for the edge mapped on the curve:

FIGURE 7.3.1-8 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 iscontrolled by a tolerance (Rel Tol) that can be modified. For example, if the distance between avertex 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 duplica-tion.

7-3.1.6 Block by Sweeping

See the Grid/Create Block/Sweeping menu item description on page 10-44.

7-3.1.7 Block by Face translation

See the Grid/Create Block/Translation menu item description on page 10-46.

Duplicated blocks

Initial blocks

Curve

Topology From Grid Duplicate Geometry

Page 184: User Manual Igg v4.9-2

Quick Access Pad Grid subpad description

7-14 IGG™

7-3.1.8 Block by Face Expansion

See the Grid/Create Block/Extrude Normally menu item description on page 10-45.

7-3.1.9 Block by Face Rotation

See the Grid/Create Block/Rotation menu item description on page 10-47.

7-3.1.10 Create Butterfly

This icon opens the "Butterfly" dialog box which is used to automatically create a butterfly topol-ogy in a block. Refer to chapter 5 “Butterfly mesh” for a complete description of this dialog boxand for information about the butterfly topology.

7-3.1.11 Delete Block(s)

This icon is used to delete blocks. The following dialog box will appear:

FIGURE 7.3.1-9 Delete blocks dialog box

This box allows to choose the blocks to delete. Two possibilities are available (simply left-click onthe 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 dedicatedbox entry. The numbers must be separated by spaces. A range of blocks can also be selected byentering 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 beentered 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 confirma-tion is asked for each block:

FIGURE 7.3.1-10 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 thedeletion of all selected blocks.

Page 185: User Manual Igg v4.9-2

Grid subpad description Quick Access Pad

IGG™ 7-15

7-3.2 Insert/Edit page

This page contains icons used to add entities (vertices, fixed points, ...) to the blocks, to control thegrid points clustering along the segments and to modify blocks. When the cursor is moved aboveone of these icons, a balloon containing a message appears, indicating the function of the corre-sponding icon. Each icon is referenced here below with this message.

7-3.2.1 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 beenidentified. Left-click to insert a new vertex in this edge. Then, this vertex can be moved as for a cor-ner vertex. Left-click again to fix its position.

� The insertion of a vertex splits the existing topological edge into two new topologicaledges. 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 possibleto control in which edge the vertex is inserted in the case several edges lie at the sameposition.

7-3.2.2 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 theinsertion can be performed. Left-click to insert a new fixed point in this edge; its index will then bedisplayed. 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 possi-ble to control in which edge the fixed point is inserted in the case several edges lie at thesame position.

7-3.2.3 Insert Internal Grid Line

See the Grid/Internal Grid Line/Create from grid menu item description on page 10-26.

7-3.2.4 Internal Point

This icon is used to insert an internal point in the active face. In fact, an internal point is composedof two crossing internal grid lines. The face grid must be already generated. The following promptappears 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 closeenough, the grid lines are highlighted and their indices are displayed. Simply press the left mousebutton to create the internal point.

The shape of the internal grid lines will initially follow the shape of the face grid. After the creationof the grid lines, a dialog box is opened to ask whether geometrical curves should be created at theposition of the internal grid lines.

Page 186: User Manual Igg v4.9-2

Quick Access Pad Grid subpad description

7-16 IGG™

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 initialshape 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 internalgrid 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.

7-3.2.5 Internal Face

See the Grid/Internal Face/Create... menu item description on page 10-27.

7-3.2.6 Cluster Points

See the Grid/Grid Density/Clustering... menu item description on page 10-47.

7-3.2.7 Transform Blocks

This option allows to apply a transformation (rotation, translation, scaling) to a block or to a groupof blocks. The following dialog box will appear:

FIGURE 7.3.2-1 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 thededicated box entry. The numbers must be separated by spaces. A range of blocks can also beselected by entering two numbers separated by a ’-’. For example, enter ’4 6 10-15’ to select theblocks 4, 6 and the range 10->15. The numbers do not have to be ordered. If a syntax error ismade, a warning message will appear.

3. Block Group. Select all the blocks of the group. To see all the group names and select thedesired one, left-click on the dedicated arrow.

Page 187: User Manual Igg v4.9-2

Grid subpad description Quick Access Pad

IGG™ 7-17

Next, the transformation which will be applied to the block(s) must be selected. There are threetransformations available: translation, rotation and scaling. Simply left-click on the correspondingpage to select one or the other transformation.

• For the rotation, its axis, origin and angle must be specified. For the axis and origin, simplyenter the x, y and z coordinates. A number must be specified for the angle, which will be com-puted 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 notallowed.

Finally, the mode for the block topology (edges) transformation must be chosen. Two possibilitiesare 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 gridnodes of the transformed blocks. Consequently a slightly different shape might be obtained forthe edges after the transformation.

2. Duplicate Geometry. Using this option, all the curves and surfaces currently used by the blocksare duplicated and transformed using the same transformation as the blocks. The transformedblock will then refer to these new geometry entities which will insure that the blocks will haveexactly the same shape as before the transformation (see Figure 7.3.1-8).

7-3.2.8 Extend Block

This option allows to extend an existing block, starting from one of its faces. It does not create anew block but rather extends a block along the I, J or K direction, allowing to construct blocksincrementally in an efficient way.

FIGURE 7.3.2-2 Block extension along the J direction

During an extension operation, IGG™ automatically inserts a new internal face at the position ofthe 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. Internaledges are inserted in the new internal face at the same position and with the same shape as internaledges of the reference face.

� The connections of the reference face (vertices, edge, segments and patches) are deletedduring the extension operation. A warning appears when a disconnection is performed.

Reference face with internal grid line

Newly created internal face

New reference face position

I

K

J I

K

J

21 grid points 21 grid points

2 grid points

Page 188: User Manual Igg v4.9-2

Quick Access Pad Grid subpad description

7-18 IGG™

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 faceselection.

3. One vertex of the reference face is selected and can be moved with the mouse. The whole refer-ence face is translated at once, according to the vertex movement. This vertex can be placed inthe same way as when moved alone, and in particular its coordinates can be entered in the key-board input area.

4. Left-click to end the block extension.

7-3.2.9 Split Block

See the Grid/Create Block/Split... menu item description on page 10-41.

7-3.2.10 Split Block at internal faces

See the Grid/Create Block/Split at internal faces menu item description on page 10-43.

7-3.2.11 Merge Blocks

See the Grid/Create Block/Merge menu item description on page 10-43.

7-3.3 Connect page

This page contains named bars providing options to connect blocks together and to visualize theseconnections. The following sections describe each bar and are referenced with the bars name.

FIGURE 7.3.3-1 Connect page

For general information about connections, see section 3-10 "Connections" on page 3-30.

Connection operations can be applied on different entities (see the related bars of the Connectpage):

•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.

Page 189: User Manual Igg v4.9-2

Grid subpad description Quick Access Pad

IGG™ 7-19

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. There-fore vertices must be connected before topological edges, which ones must be connected beforesegments. Moreover, any failure or forgotten step in the connection process prevents followingother connection types. For example, if vertices connections are not performed, the connectionbetween the corresponding topological edges cannot be executed.

All these tools are using a tolerance determining if the connection is possible or not for the selectedlevel.

7-3.3.1 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 opera-tion. By convention IGG™ keeps the reference edge unchanged and applies the modifications onthe 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 edgemust be selected in the same way. After, the following dialog box will be opened to enable connec-tions at different levels, each level being identified by a button in the dialog box. The All button per-forms all the connections of the previous buttons, if possible.

FIGURE 7.3.3-2 Edge-Edge connection dialog box

� For the first four "topological" levels, an order must be respected as explained in thebeginning of this section on page 7-18.

For vertex or orphan vertex connections, the topological edges using the replaced vertex are rem-apped on the geometry (see section 3-10.2 "Topological connections (vertex, edge, segment)" onpage 3-35).

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 with-out leaving the tool.

To quit this tool, press <q> or the right mouse button.

Page 190: User Manual Igg v4.9-2

Quick Access Pad Grid subpad description

7-20 IGG™

7-3.3.2 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 opera-tion. By convention IGG™ keeps the reference face unchanged and applies the modifications on thesecond face only. This is important when an existing face cannot be modified at all.

Firstly select the two faces to connect together. The following prompt 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 mustbe selected in the same way. After, the following dialog box will be opened to enable connections atdifferent levels, each level being identified by a button in the dialog box. The All button performsall the connections of the previous buttons, if possible.

FIGURE 7.3.3-3 Face-Face connection dialog box

� For the first four "topological" levels, an order must be respected as explained in thebeginning of this section on page 7-18. On the other hand the Patches level can beapplied independently.

For vertex or orphan vertex connections, the topological edges using the replaced vertex are rem-apped on the geometry (see section 3-10.2 "Topological connections (vertex, edge, segment)" onpage 3-35).

� For patch connections, only matching non periodic connections (CON type) can befound.

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 with-out leaving the tool.

To quit this tool, press <q> or the right mouse button.

7-3.3.3 Whole grid

This tool performs the connection for the whole grid at once. The dialog box of the previous sectionwill appear (see Figure 7.3.3-3 on page 7-20). The All button performs all the connections of theprevious buttons, if possible. For each connection level selected by a button, a search is made on thewhole grid to find matching entities at the specified tolerance and the connection is performed. Asthe whole grid is examined, and that a connected entity can be modified, this tool should not beused if any of the block cannot be modified at all.

Page 191: User Manual Igg v4.9-2

Grid subpad description Quick Access Pad

IGG™ 7-21

� For the first four "topological" levels, an order must be respected as explained in thebeginning of this section on page 7-18. On the other hand the Patches level can beapplied independently.

For vertex or orphan vertex connections, the topological edges using the replaced vertex are rem-apped on the geometry (see section 3-10.2 "Topological connections (vertex, edge, segment)" onpage 3-35).

� For patch connections, only matching non periodic connections (CON type) can befound. This tool is strictly equivalent to the "automatic search" of the Boundary Condi-tions dialog box (See section 10-2.3 ”Boundary Conditions”), except that it finds onlyCON connections.

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.

7-3.3.4 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 theblocks 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.

7-3.3.5 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 topo-logical edge (all the blocks among which this topological edge is connected) are highlighted. Thenmiddle-click to perform a sweeping of these blocks sharing the topological edge.

To quit this tool, press <q> or the right mouse button.

7-3.3.6 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 theblocks 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.

7-3.3.7 Show Face Connections

This bar is used to show the connection status of a face in a global manner. The following promptwill appear:

Select a Face, quit <3>

Firstly, a face must be selected by left-clicking on one of its edges. Following entities are displayed:

Page 192: User Manual Igg v4.9-2

Quick Access Pad Grid subpad description

7-22 IGG™

• 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.

7-3.4 Generate page

This page contains five icons and two named bars used to generate face and block grids. When thecursor is moved above one of the icons, a balloon containing a message appears, indicating thefunction of the corresponding icon. Each icon is referenced here below with this message whereasthe bar is referenced with its name.

7-3.4.1 2 Bnd Interpolation

See the Grid/Create Face/Linear 2Bnd menu item description on page 10-28.

7-3.4.2 4 Bnd Interpolation

This icon is used to generate face grids of a block. This generation method is based on bilinearinterpolation from the boundary grid points. It takes into account the clustering applied to each seg-ment.

The following dialog box will appear:

FIGURE 7.3.4-1 Face 4 Bnd Interpolation dialog box

It allows to select the faces to generate. Simply left-click on the desired scope and press the Applybutton 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.

7-3.4.3 Face Generation Tool

See the Grid/Create Face/Generation Tool... menu item description on page 10-29.

7-3.4.4 Project Face

This option is used to project the active face onto one or more geometry surfaces. It opens a dialogbox shown in the following figure:

Page 193: User Manual Igg v4.9-2

Grid subpad description Quick Access Pad

IGG™ 7-23

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 projec-tion. 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 geometrygroup has been performed. Regenerating the face, using the "Regenerate Faces" option, will thenautomatically 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 projectedpoints (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 sur-face data. It also involves the check of validation 2. A projection ratio must be defined. It corre-sponds 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 orrange. The default is not to project these grid points since they belong to block edges which are sup-posed 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 isselected, the dialog box is extended to allow the range specification (see below).

Surface specification

Projection mode

Range to project Can be the whole face or a range

Range selection Click on the border to changethe current limit

Page 194: User Manual Igg v4.9-2

Quick Access Pad Grid subpad description

7-24 IGG™

Projected Range selection:

A range can be selected by changing the limits of the active face range borders. Move the cursor tothe desired border which is highlighted when the cursor is close enough. Then left-clicking on itwill open a box allowing to enter the new limits:

FIGURE 7.3.4-2 Changing range limits

The new limits can be entered manually or modified using the scrollers. Pressing <Enter> appliesthe new limits to the range. Pressing <Esc> cancels the limit modification.

7-3.4.5 Block 6 Bnd

This icon is used to generate block grids. The faces of a block have to be generated before the gen-eration of the block grid can proceed (it is done by default when inserting a new block or moving avertex).

The following dialog box will appear:

FIGURE 7.3.4-3 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 boxentry. The numbers must be separated by spaces. A range of blocks can also be selected by enteringtwo numbers separated by a ’-’. For example, enter ’1 5 10-15 3’ to select the blocks 1, 3, 5 and therange 10->15. The numbers do not have to be ordered and the same number can be entered morethan 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 theselected block(s) will be displayed to show the result of the generation.

7-3.4.6 Regenerate Faces

When performing an action such as modifying a clustering or moving the topology, some faces mayneed to be regenerated. Indeed to keep at any time the face grids in line with the boundary informa-tion, IGG™ performs a default bilinear interpolation on these faces.

When such face has been previously projected on surfaces or smoothed, it is normally needed torepeat these steps after modification to get the correct final result. IGG™ automatically records allthese 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 followingdialog box is opened:

Page 195: User Manual Igg v4.9-2

Grid subpad description Quick Access Pad

IGG™ 7-25

FIGURE 7.3.4-4 Regenerate Faces dialog box

It allows to select the faces to regenerate. Simply left-click on the desired scope and press theApply button to perform the regeneration of the corresponding faces. The face grid of the selectedface(s) will be displayed to show the result of the regeneration.

7-3.4.7 Show History

This option is used to visualize and edit the generation history of a face. It is most useful to keeptrack of complex operations performed on a face grid like projection by patches or to delete obso-lete operations. It opens a dialog box showing the list of the operations performed on the active facegrid:

FIGURE 7.3.4-8 Face generation history.

The list of operations is dynamically updated when selecting a new active face. It is to be remem-bered that a bilinear interpolation is always performed implicitly by IGG™ as the very first opera-tion 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 expectedresults. 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.

Page 196: User Manual Igg v4.9-2

Quick Access Pad View subpad description

7-26 IGG™

7-4 View subpad descriptionThe View subpad provides commands and tools that allow viewing operations on the geometry andthe grid. In particular, the two first pages provide options permitting the creation and the visualiza-tion of geometry and block groups. The three pages of this subpad are described in the followingsections.

7-4.1 Geometry Groups page

Geometry groups are powerful means of classifying geometrical entities by grouping them underthe same name. This tool proves to be essential as soon as the input geometry gets a little compli-cated. Using groups, the user can easily perform selective visualization of parts of interest and focuson the current region being meshed.

The geometry group page allows the creation, the deletion and the visualization of geometrygroups, which can contain curves and/or surfaces. Different groups can contain the same curve(s) orsurface(s).

FIGURE 7.4.1-1 Geometry Groups page

All the existing geometry groups are listed by name in the browser of the page. Each group name ispreceded by two buttons. Left-clicking on the first one toggles the list of curves and surfaces of thecorresponding group in the Quick Access Pad. Left-clicking on the second one toggles the displayof 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 hidethe item.

The page contains four buttons at the bottom:

• Create Group. Before pressing this button, curves and surfaces that will be put in the newgroup must be selected (see the Geometry/Select menu). The following dialog box will beopened:

FIGURE 7.4.1-2 Geometry group creation

Check button allowing selectivevisualization of items.

Group browser List of curves andsurfaces in the group

Page 197: User Manual Igg v4.9-2

View subpad description Quick Access Pad

IGG™ 7-27

Simply enter the new group name and press the Create button to create the new group.

• Delete Group. It opens the following dialog box:

FIGURE 7.4.1-3 Geometry group deletion

All existing geometry groups are listed in the box. Simply select a group by left-clicking on itsname and press the Delete button to delete it (this will not delete the related geometrical enti-ties).

• Show All. This button shows all the geometry in the graphics area: curves, surfaces and Carte-sian points.

• Hide All. This button hides all the geometry in the graphics area: curves, surfaces and Cartesianpoints.

Two pop-up menus are also accessible by right-clicking on a group name or on a geometry entity inthe page browser:

FIGURE 7.4.1-4 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. Ifsome selected curves or surfaces are not in the group, the removal of these entities will have noeffect 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 isopened.

7-4.2 Block Groups page

This page allows the creation, deletion and the visualization of block groups. Different groups cancontain the same block(s).

Page 198: User Manual Igg v4.9-2

Quick Access Pad View subpad description

7-28 IGG™

FIGURE 7.4.2-1 Block Groups page

All the existing block groups are listed by name in the browser of the page. Each group name is pre-ceded by two buttons. Left-clicking on the first one toggles the list of blocks of the correspondinggroup in the Quick Access Pad. Left-clicking on the second one toggles the display of blocks of thegroup in the graphics area.

Each item in a group is also preceded with a check button that allows to individually show or hidethe item.

The page contains four buttons at the bottom:

• Create Group. The following dialog box will open:

FIGURE 7.4.2-2 Block group creation

Simply enter the new group name and press the Create button to select the group blocks. Thefollowing prompt will appear:<1> Select a Block, <2> Add to Group, <3> Quit, <Keyboard Area>: Block Indices

Left-click on a block to select it. The block will be highlighted. Then, middle-click to add theblock to the group. This block will remain highlighted until leaving this tool. Add in the samemanner as many blocks as desired. Blocks can also be added to the group by entering their number in the keyboard input area. Inthis case, the blocks are directly added to the group without being highlighted and without anyvalidation. The numbers must be separated by spaces. A range of blocks can also be added byentering two numbers separated by a ’-’. For example, enter ’1 5 10-15 3’ 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 beentered 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:

Group browser List of blocks in the group

Check button allowing selectivevisualization of items.

Page 199: User Manual Igg v4.9-2

View subpad description Quick Access Pad

IGG™ 7-29

FIGURE 7.4.2-3 Block group deletion

All existing block groups are listed in the box. Simply select a group by left-clicking on itsname 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 pagebrowser:

FIGURE 7.4.2-4 Block group pop-up menus

The first menu contains three items:

• 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, thisoperation 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.

7-4.3 Grid page

This page provides visualization commands on the grid. It consists of two rows: a row of buttonsand a row of icons.

FIGURE 7.4.3-1 Grid page

Page 200: User Manual Igg v4.9-2

Quick Access Pad View subpad description

7-30 IGG™

The first row of buttons is used to determine the viewing scope, that is the grid scope on which theviewing commands provided by the icons of the second row will apply. There are five modes deter-mining the scope, each one being represented by a button: Segment, Edge, Face, Block, Grid (allblocks). Only one mode is active at a time and the current mode is highlighted. Simply left-click ona 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 following table:

Icon Command

Toggles vertices.

Toggles fixed points.

Toggles segment grid points.

Toggles edges.

Toggles face grid.

Toggles shading.

Page 201: User Manual Igg v4.9-2

IGG™ 8-1

CHAPTER 8: File Menu

8-1 OverviewThis Chapter describes the File menu options, which are used to manage the IGG™ system inputand output, to import and export geometry and grid data, to control the system preferences and toend the interactive session.

8-2 File menu description

8-2.1 Open

File/Open... is used to select an existing project previously created by IGG™. A file chooser isopened to select an IGG™ project file with a ’.igg’ extension.

FIGURE 8.2.1-1 IGG™ file chooser

Page 202: User Manual Igg v4.9-2

File Menu File menu description

8-2 IGG™

Upon selection of a valid IGG™ project, IGG™ closes the current project and installs the newproject.

� The old project is NOT automatically saved before being closed. Therefore, please makesure that the current work is saved before this option is used.

8-2.2 New

File/New starts a new mesh generation and closes the current project from the system and opens anew 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 arereset to their default values and a new 3D project is initialized. The curves and surfaces areremoved from the geometry repository.

8-2.3 Scripts --> Edit

File/Scripts/Edit... opens a dialog box displaying all the commands performed by the user sincethe beginning of its session. The user can easily edit this script (add, remove and modify com-mands).

The dialog box contains two pull-down menus. File menu allows to open a script in a separate dia-log box and to save the script in a file. Run menu allows to run the script shown in the windowunder the current session ("Rerun on top").

8-2.4 Scripts --> Save All

File/Scripts/Save All... is used to save the dynamic recording of all commands performed by theuser since the beginning of its session. See section 6-3 ”Scripts” for details about limitation andusage of the recording.

8-2.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, thescript 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 newproject will be automatically opened before operations are performed (The previous project isclosed).

If the script being run contains a syntactical error it will be aborted and a message will appear in theshell.

Page 203: User Manual Igg v4.9-2

File menu description File Menu

IGG™ 8-3

8-2.6 Scripts --> Re-execute Last

File/Script/Re-execute Last can be used to rerun the last script that was run using the Scripts/Exe-cute... command. This option is most useful when writing own scripts manually to rapidly test it onthe fly.

8-2.7 Save --> Save

File/Save/Save saves the current work. When the project is saved for the first time, a new file namemust be specified with the extension’.igg’ through a file chooser. During the saving, the informa-tion about the project is distributed in four files:

• the ’name.igg’ file, which contains all relevant information about the topology and grid set-tings, except for faces and blocks coordinates.

• the ’name.geom’ file which contains all the curves, surfaces and Cartesian points of thegeometry repository.

• the ’name.cgns’ files containing informations about faces and blocks coordinates.

• the ’name.bcs’ files containing informations about boundary conditions.

The IGG™ file formats are explained in the chapter 12 “Input and Output Files” (see See section12-3 ”Grid file format”).

8-2.8 Save --> Save As

File/Save/Save As... is used to save an existing IGG™ project under a different name. Thus, differ-ent grids created by using the same boundary data can be saved separately for comparison. See File/Save/Save option for more details about saving.

8-2.9 Save --> Save As Fine 6

File/Save/Save As Fine 6... allows to save the grids generated in the current version of IGG™ in aformat compatible with IGG™ 4.7. See File/Save/Save for details about file naming conventions.

8-2.10 Import -> IGG Project

File/Import/IGG Project... is used to merge an existing IGG™ project stored on disk with the cur-rently opened project. It allows several people working on large projects to perform the meshing inseparate sessions and to merge their work at a later stage.

8-2.10.1 Prefix

To easily recognize blocks and groups of an imported project from those in the current project, aprefix can be specified during importation. For this purpose, a dialog box is provided:

Page 204: User Manual Igg v4.9-2

File Menu File menu description

8-4 IGG™

Upon proper prefix specification, all the names of patches, blocks, geometry groups and blockgroups will be automatically prepended with the prefix. For example, if a block being imported isnamed Inlet and a prefix stage1 is specified, the name of the block within the current session willbe stage1#Inlet. Due to limitations in the CGNS format, the length of the prefix should be limitedto 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 holdshowever when an imported block has the same name as a block in the current project. In that casean underscore will be automatically appended to the name.

Pressing on the Cancel button will cancel the importation of the selected project in IGG™.

8-2.10.2 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 aname clashing occurs with existing curves or surfaces, IGG™ automatically renames theimported 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 theimported blocks are adapted automatically to follow the last block of the current project. Thename 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 groupsfollow the rule described here above.

8-2.11 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 inchapter “Input and Output Files” on page 12-1.

When using the option, a file chooser is opened to select files with ’.dat’ or ’.dst’ extensions. Uponacceptance, the entities are automatically stored in the geometry repository and displayed in thegraphical 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. Duringimportation of a geometry file, IGG™ checks for name duplication. When an entity being loadedhas the same name as an existing entity in the current session, a dialog box is opened with differentpossibilities:

FIGURE 8.2.11-1 Importation options dialog box.

Page 205: User Manual Igg v4.9-2

File menu description File Menu

IGG™ 8-5

Replace:

When using this mode, IGG™ replaces the existing curve or surface by the one being imported. Atthe end of importation, IGG™ remaps all the vertices and edges lying on the replaced entities sothat 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 totemplates 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 itbecomes unique in the current session. If no replacement is desired (as described above), this optionshould be used.

8-2.12 Import -> External Grid

File/Import/External Grid... is used to import inside the current IGG™ project a block grid gener-ated either by IGG™ (using File/Export/Block Coor... menu item) or by another grid generator. Afile 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 chapter “Input and Output Files” on page 12-1 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 atthe end of the list of blocks. For "Surface data file", which represent surfacic meshes, only face 1 ofthe 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 theblock.

8-2.13 Import -> Face Grid

File/Import/Face Grid... is used to import and copy a 2D or 3D grid surface to the active face or toa BC patch on this face. A file chooser is opened to select a file, which must have a ’.dat’ extensionand have the Surface data file format (See the chapter “Input and Output Files” on page 12-1 formore information about this format). The type of surface and the edge creation mode are indicatedfrom the Keyboard input area. If the edges of selected surface are on the boundaries and the edgecreation 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 oron one of its patches. In this case, the following prompt(s) appear:

Surface (=0) or Patch (=1) ? (q)>> 1Patch 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 faceboundary grid points:

Create boundary segments (y/n) ?>> y

Page 206: User Manual Igg v4.9-2

File Menu File menu description

8-6 IGG™

8-2.14 Import -> Topology

The option File/Import/Topology... allows to re-use an existing IGG™ project on a similar geome-try by importing all the topology and grid information from the related ‘.igg’ file. The complete cur-rent 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,... iskept.

• 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. (Seesection 7-3.4.4 on page 7-22 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 theexisting groups (right button press on a geometry group pops up a menu for adding orremoving the current geometry selection).

• Remap all the vertices manually onto the new geometry. New vertices may be added if thetopology of the new geometry has changed.

Regenerate the faces with the Regenerate Face option. It is to be noted that face projected onto ageometry group will be successfully re-projected if the groups have been redefined as described inthe previous operation.

8-2.15 Import -> IGES Data

File/Import/IGES Data... 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 inthe repository. When these names are already used by existing entities, a dialog box is opened toresolve 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 importIGES entities recognized by IGG™. In the case of composite curves and surfaces, the browserallows 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 corre-sponds to a criterion defining if entities with the corresponding attribute set accordingly will be dis-played in the browser/imported.

It might be useful to uncheck the Blank Filter/Blanked item in order to import only the entitiesmeant to be visible and get a clear view of the intended geometry. The same holds for the EntityUse 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-levelentities cannot be translated, preventing the importation of their depending entities.

The Filters default settings have the following items checked: all Blank Filter items, all EntityUse 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.

Page 207: User Manual Igg v4.9-2

File menu description File Menu

IGG™ 8-7

FIGURE 8.2.15-1 IGES file browser.

8-2.16 Import -> PLOT3D

File/Import/PLOT3D... is used to import inside the current IGG™ project block(s) generatedeither by IGG™ (using File/Export/PLOT3D... menu item) or by another grid generator. Theimported file must have a ’.g’ extension and have the PLOT3D file format, as described in thechapter “Input and Output Files” on page 12-1.

The following dialog box is opened to select a file with a ’.g’ extension and the corresponding fileformat.

FIGURE 8.2.16-1 Input file and file format selection

Page 208: User Manual Igg v4.9-2

File Menu File menu description

8-8 IGG™

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 anddouble describe the precision of reals.

Then three buttons are provided to select the remaining file specifications. These ones must bespecified only for binary files (the buttons are deactivated when ASCII type is selected). The twofirst radio buttons allow to select the binary order in the file : little or big endian. The last buttonspecifies 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 thecurrent list of blocks. IGG™ automatically creates the block topology by using the block coordi-nates.

8-2.17 Import -> CGNS

File/Import/CGNS... is used to import CGNS grid files inside the current IGG™ project. CGNS isa widely used standard for the exchange of CFD data. In particular it is very well suited to exchangemeshes and boundary conditions between heterogeneous systems. Block coordinates and boundaryconditions are read from the .cgns file. Only connections of type CON can be read and performedautomatically by IGG™.

It is to be noticed that a CGNS file is automatically created during the saving of a project, using theFile/Save options. This file can be reread by IGG™ using this option or exchanged with otherCGNS compliant systems.

The imported file must have a ’.cgns’ extension and must be a valid CGNS format, as described inthe chapter 12.

A file chooser is opened to select a file with a ’.cgns’ extension. Upon selection of a valid file, theblocks of the imported file are created and put at the end of the current list of blocks. IGG™ auto-matically creates the block topology by using the block coordinates.

8-2.18 Import -> GridPro

File/Import/GridPro... is used to import inside the current IGG™ project block(s) created by theGridPro grid generator.

A file chooser is opened to select a GridPro file. Upon selection of a valid file, the blocks of theimported file are created and put at the end of the current list of blocks. A message indicating whatblock is read appears in the IGG™ message area. IGG™ automatically creates the block topologyby using the block coordinates. Blocks connection information is read by IGG™ and patch decom-position is automatically performed. Periodicity information is not read from the file and must bespecified manually within IGG™, when required, using the Grid/Periodicity... and Grid/Bound-ary Conditions... menu items.

Page 209: User Manual Igg v4.9-2

File menu description File Menu

IGG™ 8-9

8-2.19 Export -> IGES

File/Export/IGES... menu is used to export geometry entities in the standard IGES format.

All the geometry repository can be saved or only the selected curves and surfaces. The length unitmust 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.

8-2.20 Export -> Geometry Selection

File/Export/Geometry Selection... is used to save the selected geometry curves and surfaces intoan ASCII file. The files created in this way can be read back using the File/Import/IGG Datamenu item.

Only the curves and surfaces selected respectively by the Geometry/Select/Curves and by theGeometry/Select/Surfaces options are saved.

8-2.21 Export -> Geometry Control Points

File/Export/Geometry Control Points... is used to save the control points of the selected geome-try curves into an ASCII file. It does not save the complete information about the curve (type, para-metrization,...). The files created in this way are not intended to be directly read by IGG™. Theirmain use is to print out the coordinates of the control points of the curves.

� This option is only available for curves, not for surfaces.

8-2.22 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 menuitem). A warning is given if the grid has not been created yet. The standard block grid file format isused and is detailed in the chapter 12.

The block range to save must be determined by two points, specified by their IJK coordinates in thekeyboard 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.

Page 210: User Manual Igg v4.9-2

File Menu File menu description

8-10 IGG™

8-2.23 Export -> Face Coor

File/Export/Face Coor... is used to save the coordinates of the active face in ASCII format, accord-ing 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 chapter 12.

The file created in this way can be read back by using the File/Import/External Grid... menu item.

8-2.24 Export -> Patch Coor

File/Export/Patch Coor... is used to save the coordinates of the active face patches in ASCII for-mat, according to the level of coarseness selected for the grid (set by using the View/Coarse Gridmenu item).

The standard face grid file format is used and is detailed in the chapter 12. One file is created foreach patch of the active face and is named automatically by appending the patch number to thespecified 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... menuitem.

8-2.25 Export -> Segment Discretization

File/Export/Segment Discretization... is used to save a discretization of the curves used by thesegments, in an ASCII file. The scope of saving depends on the Viewing Scope (see the View/Gridpage 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 tosave curve, surface or block coordinate data.

8-2.26 Export -> PLOT3D

Filet/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 chapter 12.

The following dialog box is opened to select a file with a ’.g’ extension and the corresponding fileformat.

FIGURE 8.2.26-1 Output file and file format selection

The following file types can be selected in the "File type" entry:

• ASCII

Page 211: User Manual Igg v4.9-2

File menu description File Menu

IGG™ 8-11

• Binary single

• Binary double

• Unformatted single

• Unformatted double

Binary stands for C binary files whereas Unformatted stands for Fortran binary files. Single anddouble describe the precision of reals.

Then two radio buttons are provided to select the binary order desired in the output file : little or bigendian. This information must be specified only for binary files (the buttons are deactivated whenASCII 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.

8-2.27 Replay Template -> Import IGG Data

File/Replay Template/Import IGG Data... is used when using the current project as a templateand when it contains blocks with a butterfly topology (See the chapter related to templates for addi-tional 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 itemdescribed previously on page 8-4. Then for all blocks containing a butterfly topology, this one willbe deleted and recreated by using the same parameters. For additional information on butterflyregeneration, see section 5-4.8 on page 5-24.

If the current project does not contain at least one butterfly topology, this tool has the same effect asthe File/Import/IGG Data... menu item.

8-2.28 Convert Data

File/Convert Data is used to modify external data files created by IGG™. ASCII files only can bemodified, 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 for-mat or a wrong user input is encountered, a warning message appears before ending the currentinteraction.

8-2.29 Convert Data -> Rotate Data

File/Convert Data/Rotate Data is used to rotate a surface described in a surface data file around acoordinate axis by a user specified angle. A new ’.dat’ file is created with the rotated data. A filechooser 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 Zaxis.

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)

Page 212: User Manual Igg v4.9-2

File Menu File menu description

8-12 IGG™

>> 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 IGGTM.

8-2.30 Convert Data -> Scale Data

File/Convert Data/Scale Data is used to scale the coordinates of a surface described in a surfacedata file. A file chooser is first opened to select an input file. Then the following parameters arerequested:

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 IGGTM.

8-2.31 Convert Data -> Translate Data

File/Convert Data/Translate Data is used to translate a surface described in a surface data fileaccording to a translation vector. A file chooser is first opened to select an input file. Then the trans-lation 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 IGGTM.

8-2.32 Convert Data -> Mirror Data

File/Convert Data/Mirror Data is used to get the mirror image of a surface described in a surfacedata file. A file chooser is first opened to select an input file. Then the following parameters arerequested:

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 IGGTM.

Page 213: User Manual Igg v4.9-2

File menu description File Menu

IGG™ 8-13

8-2.33 Convert Data -> Swap Data

File/Convert Data/Swap Data can be used to swap the columns of a surface data file (containingthe x, y and z surface coordinates). A file chooser is first opened to select an input file. Then the fol-lowing parameters are requested:

For 2D data files, the x and y coordinates are swapped. For 3D data files, an arbitrary swapsequence 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 IGGTM.

8-2.34 Convert Data -> Reverse Sequence

File/Convert Data/Reverse Sequence is used to change the origin of a surface described in a sur-face data file (shifting the origin of the surface to the diagonally opposite corner). A file chooser isfirst opened to select an input file. The output file name is specified through another file chooseropened by IGGTM.

8-2.35 Convert Data -> Cartesian_Cylindrical

File/Convert Data/Cartesian_Cylindrical is used to convert from Cartesian to cylindrical thecoordinates of a surface described in a surface data file, or vice versa. A file chooser is first openedto 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 isentered as follows:

Rotation axis (x=0,y=1,z=2) ? (Q)>> 1

The output file name is specified through another file chooser opened by IGGTM.

8-2.36 Convert Data -> Extract 2D from 3D

File/Convert Data/Extract 2D from 3D is used to extract any two columns of a 3D surface datafile. A file chooser is first opened to select an input file. Then the extract sequence can be specifiedby 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 IGGTM.

8-2.37 Convert Data -> Extract Curve

File/Convert Data/Extract Curve is used to extract an arbitrary constant grid line of a surfacedescribed in a surface data file and to save it in a curve data file. A file chooser is first opened toselect an input file. Then the constant curve index and its value are requested:

Const curve index(i=0,j=1) ? (Q)

Page 214: User Manual Igg v4.9-2

File Menu File menu description

8-14 IGG™

>> 1 Const j index value (1...33) ? (Q)>> 25

The output file name is specified through a dialog box automatically opened by IGGTM.

8-2.38 Convert Data -> Grid : IJK_KJI

File/Convert Data/Grid : IJK_KJI is used to reverse the coordinate axis of a surface described ina surface data file. A file chooser is first opened to select an input file. The output file name is spec-ified through a dialog box automatically opened by IGGTM.

8-2.39 Convert Data -> Grid : 2D_3D

File/Convert Data/Grid : 2D_3D is used to convert a 2D surface data file into a 3D surface datafile 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 IGGTM.

8-2.40 Convert Data -> Data : Expand Surface

File/Convert Data/Data : Expand Surface is used to expand a surface described in a surface datafile 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. Thenthe 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 IGGTM.

8-2.41 Print -> As PostScript

File/Print/As PostScript is used to dump the graphics area in a true PostScript file. This optionuses true Postscript statements to save the graphics content and can produce compact files when allgraphics entities in IGG™ consist of lines (i.e. visualization of the grid in wireframe). When dis-playing surfaces in solid model, the quality of the saving reduces considerably while the size of thefile can become very large.

8-2.42 Print -> As Bitmap PostScript

File/Print/As Bitmap PostScript is used to dump the graphics area in a bitmap PostScript file. Inthis 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 linemode appear in the graphics area.

Page 215: User Manual Igg v4.9-2

File menu description File Menu

IGG™ 8-15

8-2.43 Print -> As PNG

File/Print/As PNG is used to dump the graphics area in a PNG file.

8-2.44 Preferences

File/Preferences... opens a dialog box to control the default settings of IGG™.

This dialog box contains four pages. All the parameters are validated by pressing the "Apply" but-ton, which applies the option and automatically saves them in the file ~/.numeca/igg.prefs. Whenstarting IGG™, this file is read automatically and the preferences are restored directly. If this filecannot be found, the system is initialized with default settings.

8-2.44.1 Tolerances page

This page consists of four entry boxes containing an alphanumeric number that can be modified. Avalue can be modified either by clicking on the box scrollers with the left mouse button or by enter-ing a number with the keyboard. In this case, the value must be validated by pressing <Enter>.

a) Geom Tol (abs)

This geometry tolerance(absolute) controls the accuracy of some geometry modelling options, suchas surface-surface intersection. This tolerance is specified in absolute units and should beadapted to the size of the current problem. For example, for a geometry with a global size of 1, atolerance 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 algorithms (i.e surface-surface intersection),

• the size of the result, for example the number of control points of intersection curves.

b) Geom Tol (rel)

This geometry tolerance(relative) controls the accuracy of some geometry modelling options, suchas attraction features (e.g. accuracy of the position of the curve closest point when using the curveattraction feature). This tolerance is a relative one and a value of 1e-5 is a good choice.

Page 216: User Manual Igg v4.9-2

File Menu File menu description

8-16 IGG™

c) Topo Tol (rel)

This relative topological tolerance is used by the block vertices and controls the mapping of an edgeon a curve, as explained in the following figure:

FIGURE 8.2.44-1 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 startand end vertices have to be positioned firstly, then an intermediate vertex must be inserted on theedge 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 gapwith a straight line.

When a new block is created, all its vertices are provided with this tolerance. It is also the casewhen inserting a new vertex on an edge. This tolerance can be changed for a vertex with the com-mand "Set Tolerance" of the pop-up menu accessible by right-clicking on the vertex (thus the toler-ance is not changed for the other vertices).

d) Pick Aperture

This value controls the distance below which some attraction features work. It is valid when posi-tioning a vertex or a fixed point and with activated attraction features of some geometry modellingtools (insertion of a cspline, bspline, polyline, circular arc). The following figure illustrates theinfluence of the Pick Aperture on the attraction of a vertex to a Cartesian point.

FIGURE 8.2.44-2 Attraction of a vertex to a Cartesian point

A low value of the Pick Aperture 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 to0.1 by default.

Curve 1

Curve 2

Gap

End vertex

Start vertex

Edge

Intermediatevertex

Small tolerance Greater tolerance

Face Cartesian point

Mousecursor

Small value:no attraction

High value:attraction

Page 217: User Manual Igg v4.9-2

File menu description File Menu

IGG™ 8-17

8-2.44.2 Saving page

Automatic Saving button activates or deactivates automatic project backup saving. When acti-vated, 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).

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).

Quality check option is used to make automatically some tests on the grid each time a project issaved. It includes:

• A calculation of the number of multigrid levels available in the I, J and K directions for thewhole 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 ratioand expansion ratio.

The results are displayed in a dialog box appearing automatically just after the saving.

8-2.44.3 Graphics page

Page 218: User Manual Igg v4.9-2

File Menu File menu description

8-18 IGG™

The Graphics Driver frame allows to change the underlying graphics engine used by IGGTM torender its graphics. The available drivers depend on the type of machine and display used whenrunning IGGTM. The X11 driver is available for all kinds of machines and displays and uses X Win-dows to render the graphics. It can consequently be used with an X terminal. The new selecteddriver will apply for the next IGGTM sessions.

The Visibility flag is used to control the rendering of graphic objects during dynamic viewing oper-ations. With full visibility, all graphic objects are displayed during viewing operations, which mayslow down the system response. When partial visibility is selected, only grid boundaries are dis-played 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 Normal width and the width of otherblock edges by Highlight width. The new widths are automatically updated for new insertedblocks but not for the edges of already created blocks. Simply left-click on these blocks to updatethe display.

8-2.44.4 Layout page

This page allows to control some aspects of the IGGTM 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 IGGTM main window. Itallows to use a larger part of the screen for better graphics rendering, but cannot be used during theinteractive 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 IGGTM. Whenactivated, help balloons are displayed when the cursor is located on some buttons or icons.

8-2.45 Project Configuration

File/Project Configuration... opens a dialog box to control the configuration of the current IGG™project:

Page 219: User Manual Igg v4.9-2

File menu description File Menu

IGG™ 8-19

This dialog box contains an area controlling the current project dimension and four headers givinginformation 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, anotherdimension can be set, which will delete the current project and create a new one. The axisym buttonis 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! Whenchoosing 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 therotation axis.

When choosing the 2D or axisym button, the view in the graphics area is automatically set to thecorrect 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 blocksbecause blocks are automatically created by faces extrusion or rotation. Faces 1 and 2 of the blocksare not accessible in the Boundary Conditions dialog box because their boundary condition type isset automatically.

For axisymmetric projects, the rotation angle, required to generate the 3D grid, must be specifiedusing the Grid/Periodicity... menu item. The default value is 1 degree and the rotation is performedautomatically when saving the grid. This rotation angle is only applied at saving and not when

Page 220: User Manual Igg v4.9-2

File Menu File menu description

8-20 IGG™

watching at the boundary conditions (Grid/Boundary Conditions... menu item). In fact, for betterpatch visualization, the rotation performed in this case is of 10 degrees and this value cannot bechanged.

� For axisymmetric projects the automatic rotation is done positively around the chosenaxis according to a right-handed reference frame. Therefore if faces are put below theaxis, the rotation will yield to negative cells. To avoid it all the faces should be insertedabove the axisymmetric axis.

For 2D projects, the global distance of extrusion of all the mesh along the Z axis can also be con-trolled by using the Grid/Periodicity... menu item. In this case, the dialog box contains an addi-tional item Global 2D translation as shown in the following figure:

FIGURE 8.2.45-1 Modified Periodicity dialog box

The default value is 1 and the extrusion is performed automatically when saving the grid. As foraxisymmetric projects, this extrusion distance is only applied at saving and not when watching atthe boundary conditions. For better patch visualization, the extrusion distance is automatically cal-culated according to the mesh size and this value can neither be changed.

8-2.46 Quit

File/Quit is used to end the interactive session. A dialog box is inserted to confirm the end of thesession. 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.

Page 221: User Manual Igg v4.9-2

IGG™ 9-1

CHAPTER 9: Geometry Menu

9-1 OverviewThe Geometry module provides simple and efficient tools to create, edit and delete points, curvesand surfaces. Without having the complexity of CAD systems, it allows to create wire or surfacemodels from scratch or to complement imported geometries. The module 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...

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.

9-1.1 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-definedpoints and have the property to pass through these points. They are the most commonly usedcurve entity in IGG™.

• BSplines, are spline curves defined with basic functions. In general, bspline curves do not passthrough the control points. This kind of curve is generated by IGG™ when performing, forexample, 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 areinternally represented as BSpline or NURBS surfaces.

Page 222: User Manual Igg v4.9-2

Geometry Menu Overview

9-2 IGG™

• BSpline and NURBS surfaces, defined using basic functions. In general, the surfaces do notpass through their control points.

9-1.2 Curve Orientation

When creating or importing curves in IGG™, a default orientation for the curve is given. This ori-entation is used when using the curves for other geometry or grid operations. For example, Coonspatches or lofted surfaces directly use the orientation of the building curves.

The curve orientation can be visualized using the Geometry/View/Curve Orientation menu and itcan be changed with the Geometry/Modify Curve/Reverse menu.

9-1.3 Geometry tolerance

a) Absolute tolerance

This geometry tolerance controls the accuracy of some geometry modelling operations, such as sur-face-surface intersection. This tolerance is specified in absolute units and should be adapted to thesize of the current problem. For example, for a geometry with a global size of 1, a tolerance of 1e-5is 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/Prefer-ences... menu (Tolerances/Geom Tol (abs) item).

b) Relative tolerance

This geometry tolerance controls the accuracy of some geometry modelling options, such as attrac-tion features (e.g. accuracy of the position of the curve closest point when using the curve attractionfeature). 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/Prefer-ences... menu (Tolerances/Geom Tol (rel) item).

9-1.4 Attraction

During interactive manipulations, attraction features allow to attract the mouse cursor to existingentities listed here below:

• Curve end points,

• Curve control points,

• Cartesian points,

• Edge grid points,

• Curves,

• Surfaces,

• Vertices,

• Fixed points.

Page 223: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-3

Some of these entities must be visible to perform an attraction. Most of the attraction features canbe activated or deactivated by simply pressing a keyboard key. These features are very interestingsince it allows to connect entities together.

The attraction feature and its key binding is described in detail for each command in the corre-sponding section if it is available.

9-2 Geometry menu description

9-2.1 Draw CSpline->Free

Geometry/Draw CSpline/Free is used to draw a parametric cubic spline through a set of controlpoints 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 leftmouse 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 cursoris 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 lastcurve segment, attached to the mouse movement is not part of the curve and is removed fromthe screen.

• When entering the points with the mouse, the depth of the point is automatically fixed byIGG™. The current depth can be seen by reading the mouse coordinates in the correspondingarea. 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 exist-ing points, curves or surfaces. This feature is very interesting since it allows to connect curvestogether and to create T junctions. By default this attraction is enabled. To toggle the attractionto points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces,press <c> or <s> respectively. When the cursor is attracted to an entity, a filled-in circle is dis-played. 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 pressingrespectively <a>, <c> or <s> repeatedly, while the cursor is in the graphics area.

This tool can also be accessed through the Quick Access Pad/Geometry/Curve/CSpline menuitem.

9-2.2 Draw CSpline->On Surfaces

Geometry/Draw CSpline/On Surfaces is used to draw a cspline of which control points must lieon one or more surfaces. The drawing works by projecting the input control points on all selectedsurfaces. The projection direction is the normal to the current view plane. A control point fallingoutside any selected surface will not be projected.

Page 224: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-4 IGG™

� The final spline curve does not, in general, completely lie on the selected surfaces. Onlythe control points are on the surface(s).

Except for the attraction feature which is described below, all other operations are the same as forfree 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 fea-ture 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) isattracted to the point. Finally, press the left mouse button to add a point at that position. The attrac-tion 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, whilethe cursor is in the graphics area.

9-2.3 Draw CSpline->On Surface + Projection

Geometry/Draw CSpline/On Surface + Projection is used to draw a cspline and to project it on aselected surface as the final step of its creation.

The control points are initially entered with the mouse or the keyboard (see Draw CSpline -> Freemenu for a more complete description of the operations). Then, after pressing the right mouse but-ton, the control points are projected on the first selected surface and a new cspline created. Thisspline interpolates the projected points. The total number of control points defining the final curvecan be entered manually or can be automatically calculated.

Number of control points (automatic = 0) (q)>> 0

9-2.4 Draw BSpline->Free

Geometry/Draw BSpline/Free is used to draw bsplines by defining control points with the mouseand/or with the keyboard.

• Using the mouse, the user must simply move the cursor to the desired position and press the leftmouse 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 cursoris 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 lastcurve 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 byIGG™. The current depth can be seen by reading the mouse coordinates in the correspondingarea. 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 exist-ing points, curves or surfaces. This feature is very interesting since it allows to connect curvestogether and to create T junctions. By default this attraction is enabled. To toggle the attractionto points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces,press <c> or <s> respectively. When the cursor is attracted to an entity, a filled-in circle is dis-played. The attraction works on:

— point attraction: cartesian points and curves end points if they are visible.

— curve attraction: visible curves.

— surface attraction: visible surfaces.

Page 225: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-5

— vertices and fixed points. This attraction always work and cannot be deactivated.

� The point, curve or surface attraction feature is activated or deactivated by pressingrespectively <a>, <c> or <s> repeatedly, while the cursor is in the graphics area.

9-2.5 Draw B-Spline->On Surfaces

Geometry/Draw BSpline/On Surfaces is used to draw a bspline of which control points must lieon one or more surfaces. The drawing works by projecting the input control points on all selectedsurfaces. The projection direction is the normal to the current view plane. A control point fallingoutside any selected surface will not be projected.

� The final spline curve does not, in general, lie completely on the selected surfaces. Onlythe control points are on the surface(s).

Except for the attraction feature which is described below, all other operations are the same as forfree 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 fea-ture 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) isattracted to the point. Finally, press the left mouse button to add a point at that position. The attrac-tion 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 cursoris in the graphics area.

9-2.6 Draw B-Spline->On Surface + Projection

Geometry/Draw BSpline/On Surface + Projection is used to draw a bspline and to project it on aselected surface as the final step of its creation.

The control points are initially entered with the mouse or the keyboard (see Draw BSpline -> Freemenu for a more complete description of the operations). Then, after pressing the right mouse but-ton, the control points are projected on the first selected surface and a new bspline created. Thisspline interpolates the projected points. The total number of control points defining the final curvecan be entered manually or can be automatically calculated.

Number of control points (automatic = 0) (q)>> 0

9-2.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.

• Using the mouse, the user must simply move the cursor to the desired position and press the leftmouse 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 cursoris 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 lastcurve segment, attached to the mouse movement is not part of the curve.

Page 226: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-6 IGG™

• When entering the points with the mouse, the depth of the point is automatically fixed byIGG™. The current depth can be seen by reading the mouse coordinates in the correspondingarea. 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 exist-ing points, curves or surfaces. This feature is very interesting since it allows to connect curvestogether and to create T junctions. By default this attraction is enabled. To toggle the attractionto points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces,press <c> or <s> respectively. When the cursor is attracted to an entity, a filled-in circle is dis-played. 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 pressingrespectively <a>, <c> or <s> repeatedly, while the cursor is in the graphics area.

This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Polyline menuitem.

9-2.8 Draw Polyline->On Surfaces

Geometry/Draw Polyline/On Surfaces is used to draw a polyline of which control points must lieon one or more surfaces. The drawing works by projecting the input control points on all selectedsurfaces. The projection direction is the normal to the current view plane. A control point fallingoutside 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 forfree 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 fea-ture 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) isattracted to the point. Finally, press the left mouse button to add a point at that position. The attrac-tion 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, whilethe cursor is in the graphics area.

9-2.9 Draw Polyline->On Surface + Projection

Geometry/Draw Polyline/On Surface + Projection is used to create a curve in the same way asGeometry/Draw C-Spline/On Surface + Projection. The final curve is a polyline with a numberof control points defined by the user. These control points are guaranteed to lie on the selected sur-face.

Geometry/Draw Polyline/On Surface + Projection is used to draw a polyline and to project it ona selected surface as the final step of its creation.

Page 227: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-7

The control points are initially entered with the mouse or the keyboard (see Draw Polyline -> Freemenu for a more complete description of the operations). Then, after pressing the right mouse but-ton, the control points are projected on the first selected surface and a new polyline created. Thispolyline interpolates the projected points. The total number of control points defining the finalcurve can be entered manually or automatically calculated.

Number of control points (automatic = 0) (q)>> 0

9-2.10 Circular Arc->Normal-Center-Point-Point

This menu option is used to create circles or circular arcs through two points and perpendicular toan anchored vector. It allows also the creation of an arc perpendicular to an anchored vector, run-ning 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 withthe mouse.

The centre of the circle is calculated so that the circular arc runs exactly through the two points. Theanchor of the vector can be used to define it. However, in case it is not on the perpendicular to thechord bound by the two points, the centre is set on this perpendicular, the nearest to the vector. Seethe figure below.

FIGURE 9.2.10-1 : Circular arc

To draw a complete circle, the start point must be equal to the end point. The following prompts aregiven for the anchor vector and the two points (data entered with the keyboard):

first point

second point

vector

anchor point

Plane defined by the two pointsand perpendicular to the vector

Centre closest distance

anchored

Page 228: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-8 IGG™

Enter normal to the arc >> 0 1 0Enter normal anchor point (q)>> 0 0 0Enter start point>> 0 1 1Enter end point>> 1 1 0

� The normal to the arc can be chosen as the screen normal by simply left-clicking in thegraphics area.

For the specification of the normal anchor point, start and end points, it is possible to attract the cur-sor to existing points, curves or surfaces. This feature is very interesting since it allows to connectcurves together and to create T junctions. By default this attraction is enabled. To toggle the attrac-tion to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or sur-faces, press <c> or <s> respectively. When the cursor is attracted to an entity, a filled-in circle isdisplayed. 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 pressingrespectively <a>, <c> or <s> 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) islocated on the same arc normal than (0,1,0).

9-2.11 Circular Arc->Normal-Point-Point-Radius

This menu option is used to create circles or circular arcs through two points, with a given radiusand perpendicular to a normal. The following inputs are requested from the user:

• Circle/arc normal,

Page 229: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-9

• 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 withthe mouse. The normal to the arc can be chosen as the screen normal by simply left-clicking in thegraphics area.

For the specification of the arc start and end points, it is possible to attract the cursor to existingpoints, curves or surfaces. This feature is very interesting since it allows to connect curves togetherand 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<s> respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attrac-tion 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 pressingrespectively <a>, <c> or <s> 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 throughthis start point and the cursor (Figure 9.2.11-1). Moreover, a line representing the radius and a crossrepresenting the center are displayed; the corresponding values of the radius and center are shownin the information area. When the end point is entered, it is also displayed in a filled-in circle.

FIGURE 9.2.11-1 Arc representation before its creation

FIGURE 9.2.11-2 Six arcs drawn through two points with a given radius

Page 230: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-10 IGG™

If the radius is entered through the keyboard input area, it is possible that the value entered is toosmall (if value is lower than half distance between start and end point), in which case a warningmessage 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 agiven radius, which includes two possibilities of complete circle, as shown in Figure 9.2.11-2.

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.

9-2.12 Circular Arc->Point-Point-Point

This menu option is used to create circular arcs through three points. The following inputs arerequested 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 existingpoints, 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<s> respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attrac-tion 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 pressingrespectively <a>, <c> or <s> 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 bothpoints are specified, a circular arc is drawn between the start point, end point and the current cursorposition, representing the mid point (Figure 9.2.12-1). Moreover, a line representing the radius anda cross representing the center are displayed; the corresponding values of the radius and center areshown in the information area.

It is possible to get a complete circle by pressing the <o> key. Pressing <o> a second time comesback to the circular arc mode.

FIGURE 9.2.12-1 Circular arc representation before its creation

Page 231: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-11

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.

9-2.13 Create Points->Cartesian Point

This command is used to create Cartesian points, that is a point defined by its three Cartesian cood-inates 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 dis-played 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 Pointmenu item.

9-2.14 Create Points->Curve-Curve Intersection

This command is used to create Cartesian points at the intersection of curves that must be selectedbefore using this command. More than two curves can be selected and the Cartesian points will bedisplayed in filled-in circles. If a curve has an intersection with itself, it will not have a Cartesianpoint created at the corresponding location.

This tool can also be accessed through the Quick Access Pad/Geometry/Point/Curve-CurveInters menu item.

9-2.15 Create Points->Curve-Plane Intersection

This command is used to create Cartesian points at the intersection between a plane and curves thatmust be selected before using this command. The Cartesian points will be displayed in filled-in cir-cles. The following prompts allowing the selection of the plane will appear:

Enter plane origin>> 0 0 0Enter 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-PlaneInters menu item.

9-2.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 thesystem.

Page 232: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-12 IGG™

The calculation time and the resolution of the intersection curve(s) directly depend on this geometrytolerance. It is strongly advised not to take too small values for this tolerance. A typical value forthe 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 mayneed to be concatenated with the Geometry/Create Curve/Group menu.

Limitations: the geometry library used in IGG™ cannot properly find intersection of surfaces whichare not continuous in slope (C1 continuity). This is the case, for example, when creating lofted sur-faces using polylines or curves of degree 1. In this case, it is advised to decompose the problem andsearch the intersection of each continuous part of the surface.

This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Surf-Surf Intersmenu item.

9-2.17 Create Curve->Surf-Plane inters->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 throughthe keyboard or with the mouse. The following prompts will appear:

Enter plane origin>> 0 0 0Enter plane normal>> 0 0 1

When using the mouse to define the normal, the normal is calculated by taking the vector goingfrom 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 Intersmenu.

� The computation algorithm makes use of the absolute geometry tolerance defined in thesystem.

The calculation time and the resolution of the intersection curve(s) directly depend on this geometrytolerance. It is strongly advised not to take too small values for this tolerance. A typical value forthe tolerance is 1e-5 for surface sizes equal to 1.

The tolerance can be modified using the File/Preferences... menu option.

9-2.18 Create Curve->Surf-Plane inters->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 planewill be defined with its origin at the selected point and its normal tangent to the curve, at theselected point.

This option is especially useful for internal flow geometries like volutes or pipes, where intersec-tion of lateral surfaces with a radial plane can be performed easily by selecting a point on a longitu-dinal curve (see example below). The resulting intersection curves can then be used to easily placeradial internal faces.

Page 233: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-13

FIGURE 9.2.18-1 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 isclose 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 Intersmenu.

9-2.19 Create Curve->Surf-Plane inters->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 themouse. 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 thenpress <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 sur-faces.

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 Intersmenu.

two lateral surfaces, defining a pipe

longitudinal curves(boundaries of the surfaces) points selected on curve c1,

defining the cutting plane

resulting intersection curves

c1c1

Page 234: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-14 IGG™

9-2.20 Create Curve->Extend Curve

This option is used to extend an existing geometry curve at one or both ends in the direction tangentto the curve at the end points. It is especially useful when an input CAD file contains curves sup-posed to intersect but which practically do not. In this case, using the option will allow to extendone curve and make it intersect the other.

The following dialog box is provided to extend a selected curve by specifying the extension factorat one or both ends of the curve:

The specified values must be null or positive and correspond to a percentage of the curve length. Anull value means that no extension will be performed for the specified end. For example, specifyinga 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 sideeffects like for example position modification of vertices lying on the curve.

9-2.21 Create Curve->Offset Curve (Cst)

Geometry/Create Curve/Offset Curve (Cst) is used to create curves by offsetting the selectedcurves in the view plane with an offset distance. The offset distance can be negative. The followingprompt 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>.

9-2.22 Create Curve->Offset Curve (Linear)

Geometry/Create Curve/Offset Curve (Linear) is used to create curves by offsetting the selectedcurves in the view plane by entering two offset distances. These distances correspond respectivelyto the offset at the beginning and at the end of the curve. The offset distance can be negative. Thefollowing 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>.

Page 235: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-15

9-2.23 Create Curve->Group

Geometry/Create Curve/Group is used to create a curve by joining together the curves currentlyselected. The joining starts from the first selected curve and uses the orientation of this curve as ref-erence.

� Curves created with this option may be discontinuous (i.e joining an arc with a line). Dis-continuous curves and surfaces are not always properly treated by intersection algo-rithms.

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 endpoint) of each curve. If the tolerance is higher than the absolute geometry tolerance defined in thesystem, each gap (between two curves) greater than this geometry tolerance is filled, meaning thatthe curves are joined with a straight line (Figure 9.2.23-1).

FIGURE 9.2.23-1 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 acti-vated and the curves used to create this resulting curve are deleted. These curves can be recoveredby using the Geometry/Create Curve/UnGroup command (so, the composite curve will bedeleted).

To quit this command, enter ’q’ and press <Enter>.

This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Group menuitem.

9-2.24 Create Curve->UnGroup

Geometry/Create Curve/UnGroup is used to create curves by splitting a composite curve previ-ously created by the command Geometry/Create Curve/Group. In fact, it recovers the curvesused to create the composite curve, which is deleted. The straight lines filling the gaps are alsodeleted.

This tool can also be accessed through the Quick Access Pad/Geometry/Curve/UnGroup menuitem.

Curve 1

Curve 2

Composite curve

Gap Straight line

Page 236: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-16 IGG™

9-2.25 Create Curve->Trim

This tool is used to trim curves (selected or not). It operates by removing the curve part (delimitedby the other visible curves) lying under the cursor. A filled-in circle will appear on the part that willbe 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, anextremity piece of a curve can be removed or a middle piece, dividing the initial curve into twoother curves. For example, on Figure 9.2.25-1, either part 1, 2 or 3 of curve 1 can be trimmed.

FIGURE 9.2.25-1 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 tryingto trim it because this operation will result in the total deletion of the curve. To manage this, use theappropriate command (Geometry/Delete/Curves).

� A curve intersecting itself has not two parts but only one. So, the trimming of such acurve may seem sometimes strange but it is normal. For example, on Figure 9.2.25-2,left-clicking on part 1 will delete it, that is all the left part of curve 1 (bold part).

FIGURE 9.2.25-2 Trimming on a curve intersecting itself

To quit this tool, press <q> or the right mouse button.

This tool can also be accessed through the Quick Access Pad/Geometry/Curve/Trim menu item.

9-2.26 Create Surface->Lofted

Geometry/Create Surface/Lofted is used to create a NURBS surface interpolating a set ofselected curves. The orientation and the order of the selected curves are taken into account todefine the surface.

This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Lofted menuitem.

Curve 2 Curve 3

Curve 1

Part 1

Part 2Part 3

Curve 1

Part 1

Curve 2

Part 2

Page 237: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-17

9-2.27 Create Surface->Revolution

Geometry/Create Surface/Revolution allows to create a NURBS surface by rotating a curvearound a user-defined line. Each selected curve, used as generating line, leads to the creation of asurface. The following prompts are given to specify the rotation line:

Rotation axis vector (q)>> 0 0 1Rotation axis origin (q)>> 0 0 0Rotation angle (q)>> 90

After the surface creation, the option automatically creates several additional curves, correspondingto the boundaries of the revolution surface. Moreover, intermediate curves are created for a bettersurface representation. All these curves are deleted when the surface is deleted.

FIGURE 9.2.27-1 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/Revolutionmenu item.

9-2.28 Create Surface->Coons Patch

Geometry/Create Surface/Coons Patch allows to create a NURBS surface from four selectedcurves, using a bilinear interpolation. The four curves should define a closed region and shouldhave the following orientation (see Geometry/View/Curve Orientation menu item):

FIGURE 9.2.28-1 Curve order when creating a Coons surface

Generatingcurve

Boundary curvesautomatically created

Intermediate curves

1

2

3

4

Page 238: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-18 IGG™

The four curves must also be selected as indicated in the figure (curve 1 first, ...).

This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Coons menuitem.

9-2.29 Create Surface->Linear Sweep

Geometry/Create Surface/Linear Sweep allows to create a NURBS surface from two selectedcurves 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 inFigure 9.2.28-1).

This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Linear Sweepmenu item.

9-2.30 Create Surface->Offset

Geometry/Create Surface/Offset is used to create surfaces by offsetting the selected surfacesaccording to an offset distance which can be negative. The following prompt is given to enter theoffset distance:

Enter offset distance (q)>> -0.3

The boundary curves of the offset surfaces are automatically drawn in blue indicating that they arenot activated.

To quit this command, enter ’q’ and press <Enter>.

This tool can also be accessed through the Quick Access Pad/Geometry/Surface/Offset menuitem.

9-2.31 Create Surface->From Face

Geometry/Create Surface/From Face allows to create a NURBS surface from a face grid. To cre-ate a NURBS from a face:

1. Activate the face by selecting it interactively or by entering its indices in the keyboard inputarea,

2. Apply the menu option.

The surface will be created at the same location as the active face and can be manipulated with theGeometry/Edit or Geometry/Modify Surface menus.

This tool can also be accessed through the Quick Access Pad/Geometry/Surface/From FaceGrid menu item.

9-2.32 Edit->Copy

Geometry/Edit /Copy is used to create new curves and surfaces by cloning the selected geometrycurves 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 tothe corresponding ones of the Edit menu.

Page 239: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-19

After the cloning, all currently selected geometry entities are unselected and the new created enti-ties are selected. This allows to perform other editing operations on these entities without having tomanually select them.

This tool can also be accessed through the Quick Access Pad/Geometry/Edit/Copy menu item.

9-2.33 Edit->Translate

Geometry/Edit /Translate is used to translate all the selected geometry entities (curves and sur-faces) 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 itwould implicitly change the definition of the surface. To translate such a curve a copy must first bemade (see section 9-2.32). 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 menuitem.

9-2.34 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 1Rotation axis origin (q)>> 0 0 0Rotation angle (degree) (q)>> 90

A curve used in the definition of a surface (i.e. lofting curve) cannot be freely rotated, since itwould implicitly change the definition of the surface. To rotate such a curve a copy must first bemade (see section 9-2.32). 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.

9-2.35 Edit->Scale

Geometry/Edit /Scale is used to scale all the selected geometry entities (curves and surfaces) witha user-defined scale factor. The following prompt is given to specify the scaling factor in the threedirections:

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 wouldimplicitly change the definition of the surface. To scale such a curve a copy must first be made (seesection 9-2.32). 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.

Page 240: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-20 IGG™

9-2.36 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 1Mirror Plane Origin (q) ?>> 0 0 0

A curve used in the definition of a surface (i.e. lofting curve) cannot be freely mirrored, since itwould implicitly change the definition of the surface. To mirror such a curve a copy must first bemade (see section 9-2.32). 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.

9-2.37 Edit->Convert to CSpline

Geometry/Edit/Convert to CSpline is used to convert the selected curves into csplines with aspecified number of control points. A number of control points (set by the user or automatically) iscalculated 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 distri-bution:

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 curva-ture.

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 extrema is higher than the maximum curvature ratio, the points densityis limited and is set to uniform. A value of 50 is advised. The curvature weight is used to decreaseor increase the influence of the curve curvature on the points density.

To quit this option, enter ’q’ and press <Enter>.

9-2.38 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 visu-alized 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 thecursor is in the graphics area.

Control points cannot be added to circles or circular arcs.

Page 241: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-21

To quit the option, press <q> or the right mouse button.

9-2.39 Modify Curve->Remove Control Point

Geometry/Modify Curve/Remove Control Point is used to remove one or more control points ofthe 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 controlpoint, move the cursor on it and press the left mouse button. If a curve has more than two controlpoints, the removal of the start or end control point will also remove the curve part between thisextremity 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.

9-2.40 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 isrequested 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 projectionvector.

Enter ’q’ and press <Enter> to quit this command.

9-2.41 Modify Curve->Modify Point

Geometry/Modify Curve/Modify Point is used to modify the shape of a curve by modifying oneor more control points and/or tangents of the curve. Modification is only possible on the curvesselected by the user.

After selecting this option, the control points and tangents of all selected curves are displayed and aprompt 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 fromthe 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 ena-bling the attraction mode. Attraction to points is activated or deactivated by pressing <a> within thegraphics 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.

Page 242: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-22 IGG™

� Modification of tangents is only possible for cspline curves. In this case, select the tan-gent to be modified with the left mouse button and move the cursor to indicate the newtangent direction. The new direction of the tangent can be entered from the keyboard bytyping the new coordinates ’x y z’ in the graphics area and pressing <Enter>. Attractionis also available by still pressing <a>.

9-2.42 Modify Curve->Modify Point On Surface

Geometry/Modify Curve/Modify Point On Surface is used to modify the control points and thetangents of the selected curves and project them onto the selected surfaces. The modification isdone in the same way as for the Modify Curve/Modify Point menu. At the end of the modificationof 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 controlpoints are guaranteed to be on the surfaces.

9-2.43 Modify Curve->Discretization

Geometry/Modify Curve/Discretization allows the user to change the number of points used todiscretize the curve. These points are used to draw the curve on the screen. This command appliesto all the selected curves.

The following prompt is given to enter the number of intermediate points between two consecutivecontrol points of the curve:

Number of discretization points between control points (q) ?>> 10

Enter ’q’ and press <Enter> to quit this command.

9-2.44 Modify Curve->Divide

Geometry/Modify Curve/Divide allows the user to divide a selected curve. After the division theold curve is removed from the geometry repository and two new curves (bsplines) are created. Thefollowing 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 byselecting a point with the mouse within the limits of the curve or it can be entered with the key-board.

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.

9-2.45 Modify Curve->Reverse

Geometry/Modify Curve/Reverse is used to reverse the orientation of the selected curves. Recallthat the orientation of curves is important when creating surfaces using these curves (i.e. Coonspatch or lofted surface).

Page 243: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-23

9-2.46 Modify Curve -> Set Name

Geometry/Modify Curve/Set Name... is used to change the name assigned to a curve. It opens adialog 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 specifiedname 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 informationarea.

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 menuitem.

9-2.47 Modify Surface->Discretization

Geometry/Modify Surface/Discretization allows the user to choose the number of points used todiscretize the selected surfaces in the u and v directions. This discretization is used during surfacegrid 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>.

9-2.48 Modify Surface->Representation

Geometry/Modify Surface/Representation allows the user to create curves in the two parametricdirections of the selected surfaces. The most common use of the option is to have a better visualrepresentation of the surfaces and to create curves which are usable in other geometry modellingoperations. These curves are represented as cspline curves and can be freely manipulated. The fol-lowing 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 theboundary 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>.

9-2.49 Modify Surface->Add uv Curves

Geometry/Modify Surface/Add uv Curves is used to interactively create two orthogonal curvesin the parametric space of a surface, running through a user-defined point. The surface must first beselected before being able to add uv curves.

After activating the option, the user is requested to select a point on the selected surface(s) throughwhich the curves will run.

Select a point (a = attraction , q = quit) a = Off

Page 244: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-24 IGG™

This point can be entered with the mouse or with the keyboard. When using the mouse, the attrac-tion to an existing point (control point of a curve or grid point of an edge) can be activated by press-ing <a> within the graphics area.

The curves created in this way belong to the surface and are deleted when the surface is deleted, ifnot used by other entities.

To quit this option, press <q> or the right mouse button.

9-2.50 Modify Surface->Divide

Geometry/Modify Surface/Divide allows the user to divide a selected surface by selecting anexisting parametric curve on the surface. The surface is split into two new surfaces along the givencurve. 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 withGeometry/Modify Surface/Add uv Curves or Geometry/Modify Surface/Representationmenus.

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 cursoris close enough). After the selection, the division is automatically performed.

To quit this option, press <q> or the right mouse button.

9-2.51 Modify Surface-> Set Name

Geometry/Modify Surface/Set Name... is used to change the name assigned to a surface. It opensa dialog box allowing to enter a new name for the selected surface. The name specified must be aunique 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 other-curves 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 theinformation 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 menuitem.

9-2.52 Select->Cartesian Points

Geometry/Select/Cartesian Points allows the user to select or unselect one or more visible Carte-sian 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,

Page 245: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-25

•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 atoggle.

9-2.53 Select->Control Points

Geometry/Select/Control Points allows the user to display the coordinates of a control point of aselected curve. When activated, the option shows the control points of all selected curves. Then theuser 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.

9-2.54 Select->Curves

Geometry/Select/Curves allows the user to select or unselect one or more visible curves with themouse for subsequent operations in geometry modelling or grid generation. When selected, thecurves appear highlighted in green (default) else they appear in blue. The following prompt appearswhen 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 atoggle.

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,...

9-2.55 Select->Surfaces

Geometry/Select/Surfaces allows the user to select or unselect one or more visible surfaces withthe mouse for subsequent operations in geometry modelling (i.e surf-surf intersection) or grid gen-eration (i.e face grid generation). When selected, the boundary curves of the selected surfacesappear highlighted in red (default) else they appear in blue.

Page 246: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-26 IGG™

Surface selection is possible by simple positioning of the mouse over the surface. When several sur-faces are stacked on top of each other, IGG™ provides a way to sweep through the surfaces beforeselecting 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 (unse-lection) when it becomes highlighted, either in blue or red. Red highlight means that thesurface is already selected and is ready to be unselected. Blue highlight means that the sur-face 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 itsnew selection status.

• It is possible to select several surfaces at once by defining a selection rectangle. This rectan-gle can be specified by pressing the left mouse button without releasing it and dragging themouse. 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 sur-faces by middle-clicking the mouse, until the desired surface is highlighted. Left-click thenallows to select the highlighted surface.

� It is possible to select or unselect all surfaces at once by pressing <a> in the graphicsarea. The first time <a> is pressed all the surfaces are unselected. The next time, <a> actsas a toggle.

During the selection, the information area is used to display information about the current surface,such as its name.

9-2.56 View->Curves

Geometry/View/Curves... allows the user to choose which curves are displayed. A curve chooser(Figure 9.2.56-1), showing all the curves in the geometry repository, is opened to select the curves.The visible curves are highlighted. To make one or more curves visible, select them with the leftmouse button in the chooser, then press Apply. The curves are automatically displayed in thegraphics area.

The <Ctrl> key is used in combination with the left mouse button to select several curves in thechooser.

The <Shift> key is used in combination with the left mouse button to select a range of curves in thechooser. 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.

Page 247: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-27

FIGURE 9.2.56-1 Curve chooser

9-2.57 View->Surfaces

Geometry/View/Surfaces... allows the user to choose which surfaces are displayed. A surfacechooser (Figure 9.2.57-1), showing all the surfaces in the geometry repository, is opened to selectthe surfaces. The visible surfaces are highlighted. To make one or more surfaces visible, select themwith the left mouse button in the chooser, then press Apply. The boundary curves of the surfacesare automatically displayed in the graphics area.

FIGURE 9.2.57-1 Surface chooser

The <Ctrl> key is used in combination with the mouse to select several surfaces in the chooser.

Page 248: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-28 IGG™

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 releas-ing the left button.

A filter, using regular expression search, is provided to select or unselect surfaces by their name.

9-2.58 View->Hide Selected Cartesian Points

Geometry/View/Hide Selected Cartesian Points is used to hide all the selected cartesian points.

9-2.59 View->Hide Selected Curves

Geometry/View/Hide Selected Curves is used to hide all the selected curves.

9-2.60 View->Hide Selected Surfaces

Geometry/View/Hide Selected Surfaces is used to hide all the selected surfaces.

9-2.61 View->Control Points

Geometry/View/Control Points acts as a toggle to show or hide the control points of all selectedcurves.

9-2.62 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.

9-2.63 View->Lofting curves

Geometry/View/Lofting curves is only available for lofted surfaces and is used to toggle the dis-play of the curves defining a lofted surface, except the boundary curves. The option applies to theselected lofted surfaces and has no effect on the other surfaces.

9-2.64 View->Prepare View

Geometry/View/Prepare View... allows to define the parameters for the faceting of the selectedsurfaces.

The dialog box (Figure 9.2.64-1) is provided to control the creation of the triangulated representa-tion of the selected surfaces:

SPcurves tolerance: the "Tolerance" value is the maximum deviation allowed between a trimmingcurve given in model space and its equivalent in the parametric space of the surface to be trimmed.A default value, calculated from the overall dimension of the selected surfaces, can be set by press-ing the "Default" button.

Size: the minimum and maximum length of the facets in the triangulated representation of surfacescan be specified through the two items "Minimum length" and "Maximum length". For both param-eters, a default value, calculated from the overall dimension of the selected surfaces, can be set bypressing the "Default" button.

Page 249: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-29

Tolerance: The chordal tolerance between a curve and its facet edges in model units, i.e. the upperbound 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 surfaceand its faceted representation, i.e. the upper bound on the distance from a position on a facet to thesurface, can be specified through the "Surface plane tolerance" item. For both parameters, a defaultvalue, 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. theupper bound on the sum of the angles between the chord and curve tangents measured at the chordends, can be specified in degrees through the "Curve resolution" item. Similarly, the angular toler-ance between a surface and its faceted representation can be specified in degrees through the "Sur-face resolution" item. For both parameters, a default value, calculated from the overall dimensionof 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 repre-sentation of the selected surfaces created when pressing the "Apply" button in the bottom of the dia-log box.

Key bindings: <Alt-s> toggles the display of the solid view for the triangulated representation ofthe selected surfaces, while <Alt-w> toggles the display of the wireframe view.

FIGURE 9.2.64-1 Faceting settings

9-2.65 View->Clear View

Geometry/View/Clear View is used to clear the triangulated representation for the selected sur-faces.

Page 250: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-30 IGG™

9-2.66 View->View Wireframe

Geometry/View/View Wireframe is used to toggle the display of the wireframe triangulated repre-sentation for the selected surfaces. If a surface does not have any triangulated representation yet,one will be created with default settings.

9-2.67 View->View Solid

Geometry/View/View Solid is used to toggle the display of the solid triangulated representation forthe selected surfaces. If a surface does not have any triangulated representation yet, one will be cre-ated with default settings.

9-2.68 Delete Cartesian Points

Geometry/Delete/Cartesian Points is used to delete selected Cartesian points from the geometryrepository.

� There is no undo associated with the delete operation.

9-2.69 Delete->Curves

Geometry/Delete/Curves is used to delete selected curves from the geometry repository. A curvecannot be deleted while it is used in the definition of the surface. To delete it, the surface itself mustfirst be deleted.

� There is no undo associated with the delete operation.

9-2.70 Delete->Surfaces

Geometry/Delete/Surfaces is used to delete selected surfaces from the geometry repository, if notused by other entities. When deleting a surface all the curves which belong to it are automaticallydeleted. Typical curves belonging to a surface are uv curves, created with the Geometry/ModifySurface/Representation menu.

� There is no undo associated with the delete operation.

9-2.71 Distance

Geometry/Distance is useful to measure the distance between two points or between a point and aline. The following dialog box will appear, showing the distances computed along principal direc-tions 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)

Page 251: User Manual Igg v4.9-2

Geometry menu description Geometry Menu

IGG™ 9-31

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 thecoordinates 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, curvesand surfaces. To activate the attraction to points, press <a> in the graphics area, then move the cur-sor to the desired point. Similarly, to activate the attraction to curves or surfaces, press respectively<c> or <s>, 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 correspondingpoint 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 lineorigin (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 measuredperpendicularly 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.

Page 252: User Manual Igg v4.9-2

Geometry Menu Geometry menu description

9-32 IGG™

Page 253: User Manual Igg v4.9-2

IGG™ 10-1

CHAPTER 10: Grid Menu

10-1 OverviewThe Grid menu includes the connectivity and boundary conditions definitions, as well as the faceand block grid generation options. Other features of the grid generation module include the inter-active control of the grid generation parameters, the definition of grid point clustering along theboundaries and the definition of internal grid lines. Besides, algebraic and elliptic grid generation,mapping, translation, sweeping, rotation, extrusion options provide fast grid generation capabili-ties for a large number of 2D and 3D geometries.

10-1.1 Boundary Conditions setting

Each block face can be divided in a certain number of patches on which will be applied the bound-ary 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 thephysics of the flow. The boundary conditions setup is normally performed when the grid has beengenerated.

The different types of boundary conditions are the following. Each one is referenced in IGG™ byan 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)

Page 254: User Manual Igg v4.9-2

Grid Menu Overview

10-2 IGG™

Except for the mirror and the four connection types, all the boundary conditions have to be set man-ually. The Grid/Boundary Conditions... menu item is provided to divide face into patches and toset these conditions.

Connection types (CON, NMB, PER, PERNM) are established to describe how blocks are interact-ing together and how information is transfered from one block to another. Such connections areestablished between two patches having common boundaries and one needs to specify whichpatches are connected and with which relative orientation. A tool is provided to automate the setupof such connections (automatic finding of the connected patch and the relative orientation).

Besides these matching and non matching connections, full non matching connections are pro-vided, allowing to connect several patches of several blocks with non matching boundaries. It is tobe noticed that such full non matching connections are always defined on top of existing patchesand that these ones must have a valid basic type (no undefined type (UND)), even if the patch isentirely contained in the connection region.

� For more information and a detailed description of patch connections, see section 3.10-1on page 3-30.

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 gridgeneration, 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 con-nection was expected. If it is not the case, delete the corresponding connection and try to deter-mine why the connection is non matching (see explanations with the connection tools).

6. Define the full non matching connections.

7. Normally no undefined patches (UND) should remain. If it is not the case, check each UNDpatch: boundary condition type, periodicity, patch boundaries and number of points, connectiontolerance, ...

10-1.2 Coarse Grid Levels

When generating 2D or 3D grids with IGG™, it may be advantageous for the solver to generate theblocks using a multigrid scheme. Multigrid corresponds to the capability of extracting coarser gridsseveral times by skipping over two points in each block direction:

Finest Grid 9x9 (coarse grid level 0 0) Coarse Grid 5x5 (coarse grid level 1 1)

Page 255: User Manual Igg v4.9-2

Overview Grid Menu

IGG™ 10-3

Multigrid schemes are not automatically enforced in IGG™. Thus special care must be taken manu-ally for proper grid settings to accomplish multigrid meshes. Following are some guidelines to gen-erate such grids:

• The number of multigrid levels is computed as follows: if n is the number of grid points ofan 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), eachpatch has to follow a multigrid scheme. For example, if a face has 9 grid points in onedirection, dividing the face in that direction into two patches with limits [1 4] and [4 9] doesnot 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 multigridlevel available for the flow solver EURANUS through the FINE™ interface will be thelower level of patches multigrid level for each I, J and K direction.

The following table summarizes the allowed number of grid points for each level of the grid.

FIGURE 10.1.2-1 Coarse grid levels

For example, if the number of grid points in one direction is 225, the number of levels in that direc-tion will be 6 and the number of grid points for each level will be respectively 225 (for the finestlevel), 113, 57, 29, 15 and 8 (for the coarsest level).

MultiGrid level Number of grid points per level

Page 256: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-4 IGG™

10-2 Grid menu description

10-2.1 Periodicity

Grid/Periodicity... menu is used to define the periodicity for each block of the grid to generate. Itcan be done in the following dialog box:

FIGURE 10.2.1-1 Periodicity dialog box

In this box, the following things can be specified:

Block number: The periodicity can be defined block by block or for the whole grid. To define theperiodicity for the whole grid, the block number should be set to ’0’. All subsequent "Apply" willaffect ALL the blocks of the grid, overwriting previous settings.

Periodicity types: Three types of periodicity can be specified:

— Rotation: A rotation periodicity rotates a block around a given axis by a specified angle. Therotation axis is specified by a rotation axis direction (axis) and an anchor point (origin). Theangle is indirectly specified by indicating the number of periodicities for the block (e.g. acompressor with 4 blades should have a number of periodicities of 4) and the number ofmeshed passages is directly specified.

— Translation: A translation periodicity, e.g. a cascade in turbomachinery, is obtained by spec-ifying 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 speci-fied by the origin and normal of the mirror plane.

To choose among these types, simply left-click on it.

The dialog box contains also three buttons at the bottom:

• "Apply": it applies the current settings to the specified block(s).

Index of the block affected by "Apply" (0 applies the settings to all the blocks)

Clears the parametersApplies the current settingsto the specified block

Periodicity parameters,function of the periodicity type

Periodicity types

Close the box

Page 257: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-5

• "Clear": it resets the periodicity parameters to default values for 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 con-trolled by this dialog box through an additional item:

FIGURE 10.2.1-2 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 isloaded is displayed. This value has an influence on the solver convergence and should be setaccording to the mesh size. In particular for the EURANUS solver, the value should not be lowerthan the smaller cell of the mesh, otherwise it can slow down the convergence.

10-2.2 Grid Settings

Grid/Grid Settings... menu is used to examine or modify all important grid parameters of the seg-ments, edges, faces and blocks of the current project, using a dialog box.

FIGURE 10.2.2-1 Grid Settings dialog box.

� There is no Apply button which implies that the changes in the different input fields takeeffect IMMEDIATELY after pressing <Enter> or selecting another field, without any

Number of points along the I, J, K directions,for the active block

Number of segmentsfor the active edge

Active Block, Face,Edge, Segment indices

Limits of the activesegment

Number of pointsfor the active segment

Name of the active block

Table giving theMulti Grid Levels

Page 258: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-6 IGG™

possibility of automatic undo.

The dialog box is divided into 4 different parts:

• Block data: The active block index can be specified from the Block box. The total number ofgrid points in I, J and K directions can be checked in the related box and modified at any time onthe active block. The values can be changed by simply left-clicking on the box arrows or withthe keyboard. In this latter case, press <Enter> to validate the change.The Propagate button is used to propagate the changes in number of points to the connectedblocks.See below for a complete description on the change of block limits Imax, Jmax, Kmax andpropagation.The name of the block can also be specified in the Name field.

• Face data: The active face index can be specified from the Face box. When changing the activeface 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 seg-ments of the active edge is displayed (it cannot be changed here, it is only for information pur-pose).

• Segment data: The active segment index can be specified from the Segment box. The numberof grid points on that segment is displayed next to this area. The low and high limits of theactive segment can be changed with the keyboard from the min and max boxes. Once a newvalue is entered, press <Enter> to activate the change. The following constraints must berespected:

• new lower limit > lower index of the previous segment

• new upper limit < upper index of the next segmentWhen changing the limits of a segment, the index of the fixed points delimiting it will be obvi-ously changed. If the new values imply the change of an internal grid line index, it is done auto-matically without asking any confirmation. However, if the new values imply the change of aninternal face index, the following message appears:

FIGURE 10.2.2-2 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 pre-vious one.

The dialog box also contains at its bottom two buttons: MG Levels and Close buttons. The first oneopens a box containing the table of the MultiGrid levels shown at page 10-3. It allows to choose anumber of grid points in order to have multigrid meshes. The second one is obviously used to closethe 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.

Page 259: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-7

2. When changing the number of grid points in the I, J or K direction, the faces and block gridsaffected by the modification are deleted. For example, when modifying the number of points inthe 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 areresized automatically in order to cover the whole face.

4. Connected segments remain connected, even if there is an inconsistency with the number ofpoints. It allows to change after the number of points on the connected segment and to keep theconnection. Despite this, if the number of points remains different for the two connected seg-ments, 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 seg-ment 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 thenumber of points has to be decreased, a message appears when the new number of points islower than or equal to the internal face index:

FIGURE 10.2.2-3 New block limits imply the change of internal face index

It gives the possibility to change the internal face index without leaving the Grid Settings dialogbox. If the "no" button is pressed, the index will not be changed and the limit will be reset to theprevious one.

7. When there are several segments in one direction, the number of grid points in that directioncannot be freely decreased and the following constraint must be satisfied for each edge in themodified direction: the lower limit of the last segment must be lower than the new number ofgrid points in that direction. In the following example, the edges along the I direction aredivided into several segments:

FIGURE 10.2.2-4 Example of segment division

I

JK

2040

2035 s1

s2

s3

30

Fixed point

Fixed point index

Page 260: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-8 IGG™

It will not be possible to reduce Imax below 41, since segment s2 on the figure has its lowerbound equal to 40. To reduce Imax to 30, for instance, the lower limit of segments s1, s2 and s3must be manually changed below 30 (the last segment must have at least 2 points). The seg-ments before the last ones may also need to be changed (recall that a segment must have at leasttwo grid points). If a bad limit is entered, an error message similar to the following will appear:

FIGURE 10.2.2-5 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 propagatedalong connected blocks. This option drastically reduces the number of operations required to mod-ify 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 connectedalong some of their segments, changing the number of points of a segment of one block will auto-matically change the number of points in the other block, along the connection. When severalblocks are connected together as a chain (along segment connections), the grid point modificationwill be performed on all these blocks.

If propagation is disabled, the modification of the number of points will only be applied to theactive block and the segment connections (parallel to the reference segment) with other blocks willbe deleted to keep consistency.

a) Resizing of one block

Changing the number of points of an isolated block segment affects all the edges of the block "par-allel" to the segment, as shown in next figure.

I

JK

2040

30

30

Resized segment

Modified segments

s1s2

s3

Page 261: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-9

The distribution of the grid points among the segments of an edge will be proportional to the over-lapping between the segments and the initial resized segment. In the previous example, the segments3 does not overlap with the resized segment and consequently its number of points remainsunchanged. Only segments s1 and s2 are affected. The index of the internal edges and internal faceswill be adapted consistently.

b) Limitations

Multigrid

Due to possible division of an edge into several segments and the existence of internal edges orinternal faces in the blocks, it is not possible to insure that a block resizing (as a consequence ofsegment resizing), will conserve multigrid levels for each segment touched by the operation. It isthe 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 auto-matically. 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. Whendecreasing the size of a segment below a certain limit, it may happen that parallel segments over-lapping 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 userwill have to reduce the number of segments along the parallel edges before attempting to change thesize again.

10-2.3 Boundary Conditions

FIGURE 10.2.3-1 Boundary Conditions dialog box

Filters, allowing selectivevisualization in the patch

Patch type specifier

Automatic connectivitysearch according to Tol

Patch browser, allowing

Manual connection

Visualization options

to select patches

block, face, patch index

Patch name specifier

Full Non Matchingspecification

list

Patch editing: creation,deletion and limits settings

Page 262: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-10 IGG™

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 (see section 3-10.1 on page 3-30 for a detaileddescription of the connections).

When invoking the menu item, a dialog box is opened (Figure 10.2.3-1).

10-2.3.1 Patch browser

The patch browser (see Figure 10.2.3-1) lists all the patches in the grid, according to the current"Block", "Face", "Patch", "Type" or "Name" filters. In this browser, a patch can be selected with theleft mouse button. This patch is automatically visualized in the graphics area according to the visu-alization 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:

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 arange of patches.

The last patch selected is always the ’current patch’ for manual connections and patch editing.

10-2.3.2 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. Forexample:

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 alsoto select a boundary face by choosing imin, imax, jmin, jmax, kmin or kmax. These items can beshown 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 thepatches that have not any type yet (UND).

The "Name" filter allows to display patches by name. Enter or choose an expression. All the patchesof which the name contains this expression will be listed.

10-2.3.3 Patch type specification

An option menu allows the setting of the boundary condition type for the selected patch(es). Thepossible boundary condition types are the following:

• UND : undefined type.

• INL : inlet.

• OUT : outlet.

Page 263: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-11

• 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 atype, left-press on the "Set Patch Type" button of the dialog box; a list with all the types that can beset manually appears. Move the cursor to the desired type and release the left button to set it to theselected patch(es).

If a patch is involved in a full non matching connection, a "*" will appear next to the patch type.

10-2.3.4 Patch definition and editing

The patch definition mode is enabled by pressing the "Edit Patch >>" button. The dialog box isthen enlarged to show a symbolic definition of the current face, as shown in the following figure.

� Limitation: if the Boundary Conditions dialog box has been resized before clicking onthe Edit Patch button, the dialog box will not extend. In this case the dialog box has to beclosed and opened again.

FIGURE 10.2.3-2 Patch editing

Current patch

Current patch info

Symbolic face representation

patch limits

Clicking on the border allowsto change the patch limits

Clicking the right mouse buttonpulls down a menu for deleting or dividing the patch:

Edit Patch area

Close Edit Patch area

Page 264: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-12 IGG™

In this example the active face has three patches with a topology indicated in the figure. The currentpatch is represented in yellow.

The current patch can be changed by clicking with the left mouse button within the rectangle corre-sponding to the desired patch. The current patch is automatically updated in the browser and in thegraphics area.

An information area is used to display information about the current patch (limits, indices and rela-tive orientation of the connected patch if existing, and patch type). See Manual Connectivity Set-tings section 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 patchesmust 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 todivide either horizontally or vertically. Upon selection of a direction, a box appears to enter theindex of division. It can be entered manually or modified by using the scrollers. At the same time avisualization of the division appears in the graphics area.

FIGURE 10.2.3-3 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 thenopened to enter the new limits (same as Figure 10.2.3-3 box). The new limits can be entered manu-ally 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 man-ually as explained above.

� When a face number of points is modified, patch boundaries are resized automatically inorder to cover the whole face.

The patch definition mode is disabled by pressing the "<<" button (see Figure 10.2.3-2 on page 10-11).

10-2.3.5 Automatic connectivity search

Automatic connectivity search allows to detect MIR boundary conditions and to perform connec-tions between patches (matching and non matching, periodic or not).

For MIR boundary conditions and periodic connections, the block periodicity must be set previ-ously by using the Grid/Periodicity... menu item.

Page 265: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-13

a) Mirror boundary conditions

A mirror connection exists when a patch matches itself after the application of the mirror periodic-ity of the block to this patch. In fact, patch points are transformed according to the mirror periodic-ity and a check is done to see if they match with the initial points of the patch. The setting of themirror periodicity on the block in the Grid/Periodicity... dialog box is optional (information notneeded by the solver) but in this case, MIR boundary condition cannot be found automatically bythis tool and must be set manually.

b) Connections

Matching connections are obtained between two patches with same number of grid points along thetwo directions, and when all their points are matching at a specified tolerance. Non matching con-nections are obtained when some patches points are not matching at the specified tolerance, orwhen 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 thepatch grid point at the corner of the patch).

• Four patch boundaries must be matching at the given tolerance ("patch boundaries" meanscurves 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 areprojected on the surfacic cells of the second patch. An intersection must be found and thedistance between the point and its projection must be lower than an internally calculatedvalue based on the given tolerance and the patch dimension.

• All the patch points must be matching at the given tolerance. Obviously, when number ofgrid 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 determineif a connection is possible between the two considered patches. The last test determines if the con-nection is matching or non-matching. The relative orientation of the two patches is automaticallyfound after the three first tests and is assigned to the connection.

c) Automatic search

Three interactors are provided with the automatic connectivity search: one field to input the abso-lute 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 10.2.3-4 Automatic connectivity search interactors

To make a new automatic connectivity search on all the patches, left-click on the Delete All buttonto delete all connections currently set. To delete only some connections, select the correspondingpatches and set the patch type to UND by using the related button (see Patch type specificationsection).

Page 266: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-14 IGG™

Before starting the automatic search, the tolerance must be adjusted. It is specified in absolute unitsin 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. Thedefault 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, other-wise connection can be wrongly found. For example, having two square patches of size 1and distant of 2, a tolerance of 3 will connect them whereas they should remain discon-nected.

The search can be started by clicking on the Search button. At the end of the operation, the numberof simple connections found as well as the number of periodic connections are displayed in theinformation area. The "Type" filter is automatically set to CON and the corresponding patches arelisted in the Patch browser.

� It is advised to do this search operation after all the blocks have been properly definedand are ready to be used by the solver.

d) Tips and tricks

• Connection cannot be found (CON, NMB, PER or PERNM), patches remain UND. Thismeans that one of the three first tests checking the connection has failed. Check the periodicityfor PER and PERNM types. Check patches division, patches coincidence or try to increase thetolerance 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 patchboundaries are matching) but the fourth one has failed. Firstly check that the number of pointsalong the two patch directions are the same. If it is the case, the reason of the test failure is gen-erally that some points on patch are really non matching at the specified tolerance, even if thegrid of the two patches seems to be apparently coincident. In some very rare cases, the failurecan be due to a wrong relative orientation found automatically. This can be verified by checkingthe relative orientation and eventually trying a manual connect with the correct orientation. Ifthe problem still persists, patch points are non matching. Try to increase the tolerance or solvethe non matching by manipulating the mesh. Then reset non desired NMB (or PERNM) patchesto UND and redo an automatic search.

• In some special configurations (for example a patch degenerated into a line) or when toleranceis too high compared to the patch size, the automatic search would not behave correctly and thefollowing message will appear:

FIGURE 10.2.3-5 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:

Page 267: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-15

1. The connection type has been set to the patch. So, check if the connected patch is at thesame location (by taking into account the periodicity of the block) as this patch. Check alsoif the relative orientation of this patch and the connected one is correct. If one of these twochecks 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 set-tings.

10-2.3.6 Manual Connectivity Settings

When automatic connectivity search fails, the manual connectivity option can be activated bypressing the "Manual..." button. Within this option, the relative orientation of the two selectedpatches must be entered manually and checks are performed according to the connection typeselected to detect if the connection is possible or not. This option opens a dialog box shown below:

FIGURE 10.2.3-6 Manual Connectivity dialog box

Firstly, specify the indices of the patch that will be connected to the current patch and the connec-tion type. Patch indices are defined as follows: Block, Face and Patch index. Enter them with thekeyboard and validate them by pressing <Enter>.

Secondly, the correct relative orientation of the two patches must be chosen. To define this, a refer-ence 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 rel-ative orientation will be different.

In fact, for each patch, two axis can be defined, which are equal in direction and orientation to thoseof 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 forfirst 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 Xis 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:

— axis (I, J) -> I

— axis (J, K) -> J

— axis (I, K) -> I

Connection type

Relative orientationof the patches

Connected patch

Page 268: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-16 IGG™

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, whilePatch 1 axis J increasing corresponds to Patch 2 axis I increasing. The correct relative orientationspecification should consequently be: "Klow", "Ihigh".

After pressing "Apply", IGGTM checks whether the connection is possible or not. A warningappears if the connection cannot be set.

10-2.3.7 Full non matching connections

This type of connection allows to connect several patches of several blocks with non matchingboundaries. 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 exist-ing 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 anundefined type (UND) and is used in the definition of the FNMB (full non matchingboundary), IGG™ automatically sets its type to solid (SOL). This is required by thesolver to run properly. However, the type is not reset to UND when deleting a FNMBconnection, 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) andone FNMB connection. It is illustrated in the following figure.

FIGURE 10.2.3-7 Patch contained in two FNMB connections

K

I

I

J

Patch 1 Patch 2

Patch 1

Patch 2Patch 3

Second FNMBconnection

First FNMBconnection

Page 269: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-17

2. A patch closed on itself (two patch boundaries are matching) cannot be used if the connec-tion region includes the closing part. In this case, the patch must be divided in two patches.

FIGURE 10.2.3-8 Patch closed on itself

3. Two patch points cannot be coincident. For example, a O-type patch with a singular line ora triangular patch cannot be used in a FNMB connection.

FIGURE 10.2.3-9 Patches with coincident points

4. For periodic FNMB connections, all the patches defining the connection must have thesame periodicity information. This information is set for the patch block (see section 10-2.1 "Periodicity" on page 10-4).

FIGURE 10.2.3-10 Full Non Matching Connections dialog box

Closing part of the patch

Connection name (mandatory)

List of created FNMB connections

Computes and visualizes the connection(optional)

Page 270: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-18 IGG™

To define and edit full non matching connections:

Press the Full Non Matching/Define... button of the "Boundary Conditions" dialog box. It opensthe dialog box shown on Figure 10.2.3-10.

This dialog box contains two patch browsers to define the left and right patches lists. The use of thepatch browsers and filters is the same as for the "Boundary Conditions" dialog box. A list contain-ing 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 thegraphics 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.

• 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 patcheslists 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 bypressing the "Compute & Show" button. This triangulation is not directly used in IGG™ but onlyserves to visualize the triangulation that will be used by the solver and to verify that the connectionis correctly performed. Calling this item is optional in IGG™. This calculation can be performed onthe desired grid level by selecting it freely in the "Grid level computed" entry (this parameter isglobal and not saved in connections). Moreover several parameters can be controlled by pressingthe "Options" button. It opens an additional frame:

FIGURE 10.2.3-11 FNMB computing parameters

The process of the computation involves that one side of the connection is triangulated whereas theother 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, thereforeto 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.

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 ofthe connection) have a projection distance greater than this value, the patch projection isrejected.

Page 271: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-19

Normals smoothing steps: before projection, some smoothing steps are done on the projectionnormals.Reverse triangulated side: to reverse the triangulated side which is by default the one containingthe greater number of points.

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 high-lighted in the dialog box as well as in the graphics area. A "*" is also displayed next to thepatch type to indicate that the patch is involved in a FNMB connection. If the computationof 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 connec-tion list.

• Press the Delete button to delete the selected FNMB connection (the type of the corre-sponding patches is unchanged).

10-2.4 Grid Quality

This item gives access to a tool for performing an analysis of the grid quality. The following dialogbox will appear:

FIGURE 10.2.4-1 Mesh Quality dialog box

This dialog box contains two pages, one dedicated to analyse the grid quality on whole block cellsand the other the grid quality at the block boundaries (boundary faces), including matching connec-tions with adjacent blocks. The items for both pages are similar and described here after. The qual-ity criteria are just slightly different.

The Block entry allows to choose the block in which the quality will be analyzed. It is selected byits number. Each change must be validated by pressing <Enter> to recompute the quality checking.If 0 is entered, the mesh quality is analyzed on all the blocks of the grid. Next to this entry, the

Page 272: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-20 IGG™

selected block name and the grid points number in each direction are displayed. By default, whenopening this dialog box, the active block is selected. If the selected block is not generated or hasbeen modified since the last generation (by moving a vertex, for example), the following messagewill appear:

FIGURE 10.2.4-2 Message indicating that the block may be regenerated

� It asks for block regeneration. If the "no" button is pressed, the quality analysis is notperformed.

The next entry Butterfly block is a special item dedicated to butterfly topologies allowing tochoose the butterfly block in which the quality will be checked. When the block selected in the firstentry is a parent block, the second entry is activated, displaying the number of the butterfly blockwhich is analyzed. The range goes from 0 to 6. The number 0 represents the inner block and istherefore always present. The other numbers between 1 and 6 represent the parent face number andthus the associated buffer blocks. If there is no associated buffer, the corresponding number doesnot appear.

The Quality Criterion frame is used to choose the criterion type which will be used to analyze theblock cells quality. The criterion is chosen through the Type pull-down menu. According to the cri-terion, a preferential direction can be chosen through the second pull-down menu Direction (onlyfor Block page). It is used when the criterion gives different results along different directions (forexample 2D criterions 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 validatedby pressing <Enter>.

The Visualization control frame is used to select the representation mode of the cells. Cells can bedisplayed with markers and/or with a shaded representation (Cells button). Markers are useful todetect cells that cannot be seen with the shaded representation only. Moreover, cells shading can bedeactivated to greatly improve the speed of representation. In the shaded representation, cells areshaded with a different color according to their quality value. The link between colors and values isestablished by a colormap which is displayed in the graphics area after the tool selection. The rangeof the colormap is automatically updated according to the criterion range. The cells can be dis-played 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 qualitycriterion range. The All cells button shows all the bad quality cells of the selected block(s). TheSweep 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 displaying the result of the quality checking.Left-clicking on a bar displays the corresponding cells in the IGG™ graphics area.

Page 273: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-21

FIGURE 10.2.4-3 Quality analysis histogram

The entry Number of intervals is used to select the number of bars of the histogram. The defaultvalue 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 check-ing: minimum and maximum values with their location (and possibly the block number in whichthey are detected if the check is performed on all the blocks).

FIGURE 10.2.4-4 Additional information on quality analysis

10-2.4.1 Quality criterion definitions (Block page)

These criteria are dedicated to evaluate the grid quality on whole cells of a block.

a) Criterion class

Two classes can be defined according to the type of element on which criterion is applied:

• 2D criterions: application on surfacic cells (quadrilateral cells)

• 3D criterions: application on volumic cells (hexahedral cells)

Obviously, the number of cells falling in the criterion range is always greater for a 2D criterion thanfor the equivalent 3D one because an hexahedral cell contains six quadrilateral cells. This meansthat, for a 2D criterion, the number of cells falling in the range can easily be greater than the blocknumber of points.

On the other hand, as 2D criteria are applied on surfacic cells, they are all direction dependent.

b) Criteria definition

Following criteria are available:

• Orthogonality,

• Aspect Ratio,

• Expansion Ratio.

Page 274: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-22 IGG™

Each one is described here below.

Orthogonality

2D criterion. Range: 0 - 90 degrees. Orthogonality is a measure of the minimum angle betweenedges of the element. If angle between two edges is greater than 90 degrees, the value taken intoaccount is (180 - real angle).

Aspect Ratio

2D criterion. Range: 1 - 10000. If the calculated value is outside the range, the value is reset to10000.

FIGURE 10.2.4-5 Aspect Ratio definition

Expansion Ratio

3D criterion. Range: 1 - 100. Expansion Ratio is a measure of the size variation between two adja-cent cells. It is direction dependent. If the calculated value is outside the range, the value is reset to100. Obviously, this criterion is nonsense if there is only one cell in the selected direction.

FIGURE 10.2.4-6 Expansion Ratio definition

a b

c

d

xa b+

2------------= y

c d+2

------------=

Aspect Ratiomax x y,( )min x y,( )------------------------=

a2

a1

a3

a4

b1

b3

b4 b2

xa1 a2 a3 a+ +

4+

4-----------------------------------------= y

b1 b2 b3 b+ +4

+

4-----------------------------------------=

Expansion Ratio (K) max x y,( )min x y,( )------------------------=

K

Page 275: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-23

10-2.4.2 Quality criterion definitions (Boundaries page)

These criteria are dedicated to evaluate the grid quality at the boundaries of a block (boundaryfaces), including matching connections with adjacent blocks.

Following criteria are available:

• Orthogonality,

• Angular deviation,

• Expansion Ratio,

• Cell width.

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’). If angle is greater than 90 degrees, the value taken into account is (180 - real angle).

FIGURE 10.2.4-7 Orthogonality definition

Angular deviation

Range: 0 - 90 degrees. Angular deviation is a measure of the angular variation between two adja-cent cells, the first one being in the current block and the adjacent one in the matching connectedblock. Obviously, this criterion is nonsense if there is no matching connected block.

FIGURE 10.2.4-8 Angular deviation definition

a1

a3

a4

xa1 a2 a3 a+ + 4+

4-----------------------------------------=

Orthogonality x projxonS,( )∠=

a2

N

Block boundary face

S

a1

a3

a4

b1

b3

b4

b2

xa1 a2 a3 a+ + 4+

4-----------------------------------------=

yb1 b2 b3 b+ + 4+

4-----------------------------------------=

Angular deviation x y,( )∠=

Current block

Connected block

a2

Page 276: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-24 IGG™

Expansion Ratio

Range: 1 - 100. Expansion Ratio is a measure of the size variation between two adjacent cells, thefirst one being in the current block and the adjacent one in the matching connected block. Obvi-ously, this criterion is nonsense if there is no matching connected block. The definition is the sameas for the Block page (see before).

Cell width

Range: 0 - 1000. 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 1000.

10-2.4.3 2D project particularities

2D or axisymetric projects (see File/Project Configuration... menu) have only one layer of cellsalong the K direction (k = 2). Therefore some functionalities of the dialog box are useless consider-ing that no check is needed along the K direction. As the grid must be generated to perform a qual-ity 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 crite-rion. 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 theExpansion Ratio criterion.

• Sweep cells options along I, J and K directions are deactivated. These are useless becausethe view of the mesh is 2D.

10-2.5 Negative cells

Grid/Negative cells... is used to compute, store the indices and show the cells with a negative vol-ume. The following dialog box is provided to select calculation preferences:

FIGURE 10.2.5-1 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 referenceframe for each cell or a right-handed one.

• Precision: specifies whether to perform calculation in single or double precision.

Page 277: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-25

This preference is the most important to control. Indeed, IGG™ always works in double preci-sion. However some solvers may work in single precision. Consequently, checking negativecells in double precision in IGG™, with no negative cells as a result, may give negative cells inthe 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 00", "1 1 1" and "2 2 2". The "Custom" button allows to select a specific multigrid level, like "12 2".

The Apply button performs the negative volumes calculation. If the active block is not generated orhas been modified since the last generation (by moving a vertex, for example), the following mes-sage will appear:

FIGURE 10.2.5-2 Message indicating that the block may be regenerated

The View neg cells button allows to visualize cells with negative volume. The computation of thenegative volumes is performed automatically as a first step. Cells with negative volumes are dis-played in a shaded representation and with markers, which are useful to detect cells that cannot beseen only with the shaded representation.

� Beware that the visualization of negative cells can be memory consuming when a largenumber of cells must be displayed. It is then advised to first check the number of nega-tive cells by pressing the Apply button.

If no cell with negative volume is detected, the following message appears:

FIGURE 10.2.5-3 No negative cells detected

On the contrary, if there are cells with negative volumes after the complete search, a message likethe following will appear:

FIGURE 10.2.5-4 Grid contains cells with negative volume

Page 278: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-26 IGG™

It shows the number of each block containing negative cells and the corresponding number of neg-ative cells.

For butterfly topologies, the calculation is performed on all the butterfly blocks of the correspond-ing parent block. The number of negative cells of each butterfly block is added and displayed in theprevious dialog box by referencing the parent block.

10-2.6 Internal Grid line/Create from grid

Grid/Internal Grid Line/Create from grid allows to add an internal edge to the active face byselecting an internal grid line with the mouse. Internal edges allow a better control of the face gridand are also used to realize connections between adjacent blocks. The face grid must be alreadycreated.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 gridline is highlighted and its index is displayed. Simply press the left mouse button to create the inter-nal 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 prefered direction. When one of thekeys is selected, only grid lines in that direction will be selectable. Press <u> to remove the prefereddirection.

After the creation of the internal edge, a dialog box is opened to ask whether a geometrical curveshould 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 shapeas 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 internalgrid 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.

10-2.7 Internal Grid line/Delete

Grid/Internal Grid Line/Delete allows to delete the active internal edge. This edge is permanentlyremoved 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 willappear.

10-2.8 Internal Grid line/Index

Grid/Internal Grid Line/Index allows to change the index of the active internal edge. The follow-ing 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 nearestfixed point is entered, the index will not be changed. Setting a new index to an internal grid line willnot change its position but the block grid points will be moved.

Page 279: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-27

If the internal edge belongs to an internal face, its index cannot be changed.

To quit this command, enter ’q’ and press <Enter>.

10-2.9 Internal Face/Create

Grid/Internal Grid Face/Create... allows to add an internal face to the active block for bettercontrol of the block grid. If the active block is not generated or has been modified since the lastgeneration (by moving a vertex, for example), the following message will appear:

FIGURE 10.2.9-1 Message indicating that the block may be regenerated

� It asks for block regeneration. If the block is not generated and that the "no" button ispressed, the dialog box of the next figure will appear but without being able to do some-thing except pressing the "Close" button. If the block has been modified since the lastgeneration (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 (seebelow) may look quite strange.

The creation of an internal face is done through a dialog box allowing the selection of a face alongI, J or K axis.

FIGURE 10.2.9-2 Internal face creation dialog box

The Block box allows to choose the active block in which the internal face will be inserted. Next tothis 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. Whilescrolling, 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 activeblock.

Active Block

Constant IndexI,J or K

Create Internal Face

Page 280: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-28 IGG™

When an internal face is created, an internal edge is also created for each existing face crossing thenew face. This edge is shared by the faces which means that modifying the edge on one face affectsthe other face as well.

This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.

10-2.10 Internal Face/Delete

Grid/Internal Face/Delete menu item is used to delete the active internal face from the activeblock. This face is permanently removed from the system and the total number of faces for theactive block is decreased by one. A dialog box appears to select if the face boundary edges must bekept or not. Even if the boundary edges are deleted, the end vertices (which are attached to fixedpoints) are kept.

Obviously, using this command on a boundary face will have no effect and a warning message willappear.

10-2.11 Internal Face/Index

Grid/Internal Face/Index allows to change the index of the active internal face. The followingprompt 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 theface direction is entered, the index will not be changed. Setting a new index to an internal face willnot change its position but the block grid points will be moved.

To quit this command, enter ’q’ and press <Enter>.

10-2.12 Create Edge/Copy Edge

Grid/Create Edge/Copy Edge is used to copy the active edge from another existing edge. The fol-lowing 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 sameposition, 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 activeedge has the same shape, same orientation and same segment division as the reference edge. Theother edges connected to the active edge are automatically following the new position.

10-2.13 Create Face/Linear 2Bnd

Create Face/Linear 2Bnd menu item is used to create an algebraic face grid using two oppositeboundaries of the active face. The grid matches the point distributions on the active boundary andits opposite. Other grid boundaries are computed by linear interpolation and the internal grid pointsare 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.

Page 281: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-29

10-2.14 Create Face/Linear 4Bnd

Create Face/Linear 4Bnd menu item is used to create an algebraic face grid using the four bound-aries 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 likesmoothing or projections onto geometrical surfaces were applied previously on that facegrid, it is necessary to redo them by using the "Regenerate Faces" option of the Quickaccess Pad/Grid/Generate page.

This option can also be accessed through the Quick Access Pad/Grid/Generate page.

10-2.15 Create Face/Generation Tool

Grid/Create Face/Generation Tool... menu item is used to define internal grid lines and to gener-ate the grid of the active face. 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 oper-ational. The pages are automatically updated when selecting another active face.

This tool can also be accessed through the Quick Access Pad/Grid/Generate page.

10-2.15.1 Grid Page

Face Range: these parameters are used to select the active area on the active face. The active area isautomatically 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.

Selection of anactive area on theactive face:- patch selection- selection by index

Overlapping cells display

Generation acts alsoon the boundary of theactive area

Generation methods:- linear interpolation or,- mapping on a selected surface

Edges used forinterpolation

Activation of theorthogonality control

Elliptic smoothing ofthe active area

Page 282: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-30 IGG™

Edge Mapping: this parameter is specified to control whether the boundary points of the activearea 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 high-lighted 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 the following fig-ure.

FIGURE 10.2.15-1 The active area is displayed in red and the active edges in blue.

Generation Type:

— Algebraic: it is used to generate the mesh by linear interpolation of the active edges of theactive area.

— Mapping: it is used to generate the mesh by mapping the mesh of the active area on theactive surface (can be applied if only one geometric surface is selected).

Edges 1-2, 3-4, 1-2-3-4: these buttons are used to select the active edges. The active edges are dis-played in blue. Mapping method always interpolates the four edges of the active area on theselected surface.

Index1 min = 8

Index1 max = 26

Page 283: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-31

Orthogonality Control: this button activates the orthogonality control parameters. These parame-ters allow the control of the orthogonality of the mesh near two opposite active edges through defi-nition of the active edges normals. Normals to the edges are automatically displayed in black. Thenormal ranges and lengths (Ratio) can be controlled for both active edges.

� The orthogonality parameters are not active for the four boundaries interpolation (button1-2-3-4 activated).

� When orthogonality control is applied, the mesh fits the four boundaries of the activearea 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 but-ton. The level of smoothing can be controlled through the Ratio entry, which is in fact the relaxa-tion factor of the smoothing algorithm and should be lower than 1. If the button "On Surface" isactivated, IGG™ smoothes the grid on the active surface.

� Mapping, orthogonality control or smoothing generation options do not take into accountinternal grid lines of the face generated. Therefore the user must take care because aninconsistency can appear (no grid points corresponding to the internal grid line points).

Normal lengthon edge 1

Normal lengthon edge 2

Orthogonalityrange on edge1 Orthogonality

range on edge 2

Edge 1&2 are activated

Page 284: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-32 IGG™

Orthogonality controlbetween edge 1 & 2

edge 2

edge 1 relative normal lengthset to 2 on edge 1.

Relative Normal range on edge 1: 0.1 -> 0.9

Mesh created with a normal length = 5 on edge 1.

Overlapping cells

d = ratio of first edge (normal length)

d

Edge 1 Normals Definition

d1 d2L

d1 = 0.1 x Ld2 = 0.9 x L

Page 285: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-33

10-2.15.2 Internal Grid Lines Page

This dialog box allows the creation of C-Spline curves used to define the geometry of new internaledges.

Constant Index: the location of the internal grid lines can be chosen through the selection of adirection and a constant index. The geometry of the future internal grid line is automatically dis-played when scrolling the I or J index.

Orthogonality Control: the orthogonality of the geometry can be controlled at both ends throughtwo different parameters:

— ratio 1: real number defining the relative distance along which the geometry of the internalgrid line is perfectly normal to the edge: 3 control points are computed at both ends of thegeometry to define the orthogonality.

— ratio 2: real number defining the tangential condition of the curve after the three first controlpoints 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).

Internal grid line I = 11

index = 11

Control of the internal grid line geometry :- selection of the internal grid line location

- control of the orthogonality at both ends through ratio 1 and ratio 2

by definition of a constant index

Creation of the new internal grid lineusing the displayed geometry

Deletion of the internal grid line selected by the indices

(*)

(*)

(**)

(**)

Page 286: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-34 IGG™

10-2.16 Create Face/Project onto Surfaces (N)

Grid/Create Face/Project onto Surfaces (N) can be used to project a patch of the active face ontothe selected surfaces. Each point of the patch is projected using the normal of the active face at thepoint.

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)>> yValidation Level 1, 2 or 3 (q) ?>> 1 : projection with validation 1 implies that no check is done to validate the projectedpoints.>> 2 : projection with validation 2 implies that one check is done to choose the nearest pro-jected 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 thesurface data. It also involves the check of validation 2. A projection ratio must be defined. Itcorresponds 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>.

10-2.17 Create Face/Project onto Surfaces (T)

Grid/Create Face/Project onto Surfaces (T) can be used to project a patch of the active face ontothe 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 0Validation Level 1, 2 or 3 (q) ?>> 1 : projection with validation 1 implies that no check is done to validate the projected points.

Page 287: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-35

>> 2 : projection with validation 2 implies that one check is done to choose the nearest pro-jected 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 thesurface data. It involves also the check of validation 2. A project ratio must be defined. It corre-sponds 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>.

10-2.18 Create Face/Rotate Edge

Grid/Create Face/Rotate Edge is used to create the active face by rotation of the edge 1 of thisface. It ensures that the face points are exactly on a specified cylinder, which is not necessarily thecase with a 4Bnd interpolation. Firstly, create a new face (see the Insert New Face icon of theQuick Access Pad/Grid/Create page) before selecting this option. The edges of this face mustcontain only one segment. A face of an existing block cannot be used, otherwise the face created byrotation will be deconnected from the other block faces. After the single face has been created byrotation, the creation of the block can be completed by a face expansion (Grid/Create Block/Extrude Normally 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>.

10-2.19 Create Face/Copy Face

Grid/Create Face/Copy Face is used to copy the active face from another existing face. The fol-lowing 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 atthe same position, the left-click operation must be repeated until the proper face is selected (high-lighted in white).

The copy operation takes effect when middle-clicking the mouse and is performed in order toobtain a common axis system for both faces (active and reference one). After the operation, theactive face has the same shape, same orientation and segment division as the reference face. All theedges connected to the active face are automatically following the new position.

10-2.20 Create Face/Copy Face Range

Grid/Create Face/Copy Face Range... is used to copy part of a face grid onto another face orpatch, possibly with a different orientation. In the following example, the face 4 of block 1 is cre-ated and the face 1 of block 2 is created by copying a part of the face 4, with the proper orientation.

Page 288: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-36 IGG™

FIGURE 10.2.20-1 Copying a face range onto another face

The following dialog box will appear:

FIGURE 10.2.20-1 Copy Face Range dialog box

The first thing to choose is a reference and a target face between which the copy will proceed. Theyare selected by entering their indices (Block and Face indices) in the From and To boxes respec-tively.

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. Thepatch is automatically displayed in the graphics area. By default, the patch number is 0, that isthe patch corresponding to the entire reference face.

• Any range can also be selected by changing the limits of the reference face range borders. Movethe 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:

IJ

K

I

JK

Block 1

Block 2

Face 4 of block 1Face 1 of block 2

Target face indicesReference face indices

Reference face range

Relative orientation ofreference and target face

Click on the border tochange the current limit

Page 289: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-37

FIGURE 10.2.20-2 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 thereference and target faces have different origin and/or local axis orientation, as in our example, thecorrespondence 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, Jor 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 on the followingfigure:

It can be seen that Face 1 axis I increasing corresponds to Face 4 axis K decreasing, while Face 1axis J increasing corresponds to Face 4 axis I increasing. The correct relative orientation specifica-tion should consequently be: "Klow", "Ihigh".

After pressing "Apply", IGGTM checks whether the copy is possible or not. A warning appears ifthe copy cannot be performed (i.e. if the number of points for the reference face range and the targetface is different).

10-2.21 Create Block/Linear 2Bnd

Create Block/Linear 2Bnd menu item is used to create an algebraic block grid using two oppositeboundaries of the active block. The grid matches the point distributions on the active boundary andits opposite. Other grid boundaries are computed by linear interpolation and the internal grid pointsare distributed according to the user-defined point distributions between opposite boundaries.

10-2.22 Create Block/Linear 4Bnd

Create Block/Linear 4Bnd menu item is used to create an algebraic block grid using the fourboundaries of the active block. The grid matches the point distributions defined on the four bound-aries. The active face number determines the direction of interpolation as follows:

K

I

I

J

Block 2, Face 1 Block 1, Face 4

Page 290: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-38 IGG™

Active face Direction Block faces for interpolation1 or 2 K 1 + 2 + 3 + 43 or 4 J 3 + 4 + 5 + 65 or 6 I 1 + 2 + 5 + 6

FIGURE 10.2.22-1 The four boundaries used for interpolation

10-2.23 Create Block/Linear 6Bnd

Create Block/Linear 6Bnd menu item is used to create an algebraic block grid using the sixboundary faces of the active block. The grid matches the point distributions defined on six bounda-ries.

This option can also be accessed through the Quick Access Pad/Grid/Generate page.

10-2.24 Create Block/Smoothing

Grid/Create Block/Smoothing menu item is used to smooth the active block using an ellipticsolver when clicking on Smooth button. The level of smoothing can be controlled through the newpopup window by entering the Number of iterations. The smoothing is applied on all grid pointsexcept the ones located on the faces of the block. Furthermore, the smoother is keeping the cell sizeat the wall imposed by the clustering defined by the user.

FIGURE 10.2.24-1 3D Smoother Control

10-2.25 Create Block/Elliptic/Multigrid

Grid/Create Block/Elliptic/Multigrid menu item is used to create an elliptic face or block grid bysolving 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 isrepeated, the last created grid is taken as the initial solution and solved with the current values ofMG parameters. The number of iterations for convergence is also displayed in the status area. Thisitem can also be used to smooth the algebraic face or block grids within a user-defined area of the

Active face

Faces used for interpolation

Page 291: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-39

block (local smoothing) or completely. Multigrid parameters can be controlled using the Grid/Cre-ate Block/Elliptic/Multigrid Parameters menu item.

The following prompts are given to specify the smoothing area for 2D/3D surface and blockgrids: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 givento ask for more iterations, if the solution is not converged:Iterate more ? ... 12 so far (q)>> 8

10-2.26 Create Block/Elliptic/Multigrid Parameters

Grid/Create Block/Elliptic/Multigrid Parameters menu item is used to set the multigrid parame-ters through a dialog box.

FIGURE 10.2.26-1 MG Parameters dialog box.

The range of MG level is computed and displayed on the top line to enter the desired value from astring input box. The coarse grid correction (CGC) is performed by the red-black point relaxationand linear interpolation. The relaxation steps before and after the CGC can be specified between 1and 20. The number of MG cycles can also be set between 1 and 200. The tolerance for the totalerror can be set within the range of 1e-10 to 1. The multigrid mode can be set to normal or full MGand the type of cycles can be chosen as V or W cycles. The following options are available tochange the effect of control functions:

Page 292: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-40 IGG™

P, Q (R) : include both the effect of coordinate line spacing and angle control in each curvilinearcoordinate directionP=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.

10-2.27 Create Block/Elliptic/SLOR

Grid/Create Block/Elliptic/SLOR menu item is used to create an elliptic surface or block grid bysolving a Poisson type quasi linear PDE with the Successive Line Over Relaxation (SLOR) tech-nique, 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 SLORparameters. The active view is updated after each iteration to show the progress of the generationprocess. The number of iterations for convergence is also displayed on the status area. This item canalso 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 con-form 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 con-verged, the following prompt is given to ask for more iterations (ranging from 1 to 200). If a valueis indicated, the same prompt is repeated in a loop, after the additional iterations are completed:

Iterate more ? ... 20 so far (q)>> 4

10-2.28 Create Block/Butterfly

Create Block/Butterfly... opens the "Butterfly" dialog box which is used to automatically create abutterfly topology in a block. Refer to chapter 5 for a complete description of this dialog box andfor information about the butterfly topology.

This tool can also be accessed through the Quick Access Pad/Grid/Create page.

10-2.29 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 blockscan 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

Page 293: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-41

division in patches and patch naming than the old one. Moreover, all the connections are kept (ver-tices, 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 interpo-lation.

When starting this tool, a message indicating that the block must be regenerated can appear. In thiscase, if the block is not regenerated, the tool will be stopped. Then, the current axis system of theblock 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 <s> 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 theold one.

10-2.30 Create Block/Split

Grid/Create Block/Split... menu item is used to split a block along a face mesh (I, J or K) in orderto 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 ini-tial block and the topology of the new blocks will closely follow the one of the initial block (i.e. ifan additional vertex is present in the initial block, it will also be present in a new created block, atthe 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 andpatches connection.

• All the topological connections with the adjacent blocks are recovered: vertices, edges andsegments.

• 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 thefirst 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 connectionbetween 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 originalpatch is set to UND in this case.

• All the FNMB connections involving the block to be split are recovered.

10-2.30.1Limitations

• 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 bere-established after splitting.

• As said before, the division of connected patches cannot be performed for NMB andPERNM connections.

Page 294: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-42 IGG™

• It is up to the user to take care about multigrid levels. Indeed, no checks are done onblock and patch sizes that will be obtained. Therefore, even if the original block has severalmultigrid levels, the split blocks can have no multigrid levels if indices of splitting areunproperly chosen.

This tool opens a dialog box allowing the selection of the face mesh where the block will be split. Ifthe 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.30-1 Message indicating that the block may be regenerated

� It asks for block regeneration. If the block is not generated and that the "no" button ispressed, the dialog box of the next figure will appear but without being able to do some-thing except pressing the "Close" button. If the block has been modified since the lastgeneration (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 (seebelow) may look quite strange.

FIGURE 10.2.30-2 Split block dialog box

The Block box allows to choose the active block which will be split. Next to this box, the activeblock 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. Whilescrolling, 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 thedialog box is closed.

This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.

Active Block

Constant IndexI,J or K

Split block

Page 295: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-43

10-2.31 Create Block/Split at internal faces

Grid/Create Block/Split at internal faces menu item is used to split the active block along all itsinternal faces. The splitting operation is performed until there is no remaining internal face in thesplit 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.

10-2.32 Create Block/Merge

Grid/Create Block/Merge menu item is used to merge two blocks having two faces fully con-nected to obtain a new block. The two fully connected faces will be transformed in an internal facein the new block. "Fully connected" means that an entire face must be completely connected toanother face at all levels: vertices, edges, segments and patches must be connected. This means thata 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 forboth 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 differentthan 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 andsegments.

• 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 doesnot have to be regenerated after merging.

10-2.32.1Limitations

• The blocks to be merged cannot contain internal edges or faces aligned along the mergingdirection.

• 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 bere-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.

After selection of this tool, the two fully connected faces indicating the blocks to be merged mustbe selected. The following prompt will appear:

Select Face (<1> to select - <2> to acknowledge - <3> to quit)

Page 296: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-44 IGG™

Left-click on the desired face and middle-click to confirm the selection. Then the connected face isdetected automatically and the merging will proceed. If the selected face is not fully connected toanother one, the following message will appear:

FIGURE 10.2.32-1 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 (bymoving a vertex, for example), the following message will appear:

FIGURE 10.2.32-2 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 faceto 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.

10-2.33 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 aboundary face (so an internal face cannot be swept) and must be active. When clicking on this menuitem, a sweep edge will appear in a default position for the active face (except for internal faces, inwhich 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 faceused to create a block by sweeping. So, all operations commonly available can be performed on thisedge (vertices positioning, vertex insertion, control of the grid points distribution, pop-up menusaccessible, ...).

The number of points and their distribution in the sweeping direction will be those of this sweepedge. When this one is correctly positioned, press the middle mouse button. The following promptwill appear, allowing to combine the sweeping with rotation or scaling:

T(1), TR(2), TS(3) or TRS(4) : (q)>> 4

Page 297: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-45

Simple sweeping is indicated as a translation (1). Combinations with rotation (2), scaling (3) orboth (4) require the following data:

Angle (-360...360 deg) : (q) (for 2 and 4)>> 60Scale 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 ofthe sweep edge, so that smaller rotations or scaling will be performed for each grid point of thesweep edge. The rotation axis is the sweep edge tangent at each grid point and the origin for thescaling is each sweep edge grid point.

During the sweeping, the boundary edges are created using the boundary grid nodes of the gener-ated block. The sweep edge can be placed in any position and must not necessarily be perpendicularto the active face. On the other hand, some care must be taken when placing the sweep edge andwhen entering the rotation and scaling values because some special configurations can create dis-torted meshes.

Once a block has been created by sweeping, another use of this tool will display the active facesweep 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 operationsavailable outside this tool can be done so that it can easily be forgotten that a sweeping ismade. 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’ inthe 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.

10-2.34 Create Block/Extrude Normally

Grid/Create Block/Extrude Normally menu item is used to create a block grid by expansion ofthe active face with a user-specified distance. In fact, each grid point of the active face is translatedalong the local normal to the face with the user-specified distance. The number of grid points andtheir 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 usingtools as this one or Grid/Create Block/Rotation, ...): the number of grid points is the defaultone (9) and the distribution is uniform.

• The parent block of the active face has all its boundary faces created: the number of grid pointsand their distribution are those of the reference edge determined as follows:

Active face Reference edgeFaces 1 or 2 Face 3, Edge 3Faces 3 or 4 Face 1, Edge 3Faces 5 or 6 Face 1, Edge 1

During the expansion, the boundary edges can be created using the boundary grid nodes of the gen-erated block:

Edge creation (y/n)? (q)>> y

The expansion distance is defined using the keyboard input area:

Translation distance : (q)>> 1

Page 298: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-46 IGG™

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.

10-2.35 Create Block/Translation

Grid/Create Block/Translation menu item is used to create a block grid by translating the activeface along an arbitrary vector (translation vector). The number of grid points and their distributionin the translation direction is set as follows:

• The block to which the active face belongs has only this face created (other faces are created byusing tools as this one or Grid/Create Block/Rotation, ...): the number of grid points is thedefault one (9) and the distribution is uniform.

• The block to which the active face belongs has all its boundary faces created: the number of gridpoints and their distribution are those of the reference edge determined as follows:

Active face Reference edgeFaces 1 or 2 Face 3, Edge 3Faces 3 or 4 Face 1, Edge 3Faces 5 or 6 Face 1, Edge 1

The translation vector is defined by using the keyboard input area. The translation (T) can becombined 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 gen-erated 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)>> 4Translation 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 stronglyadvised to create these surfaces so that any later modification of a vertex of the block will automat-ically map the touched edges onto these surfaces. Without these surfaces, the touched edges (or anynew internal grid lines) would be drawn as straight lines.

Page 299: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-47

After the creation of the block grid, it is possible to intersect a selected geometry surface and adaptthe 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/Surfacesmenu 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.

10-2.36 Create Block/Rotation

Grid/Create Block/Rotation menu item is used to create a block grid by rotating the active facegrid around a coordinate axis by a user-specified angle. The required inputs are entered from thekeyboard input area.

During the rotation, the boundary edges can be created using the boundary grid nodes of the gener-ated 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)>> 1Angle (-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 stronglyadvised to create these surfaces so that any later modification of a vertex of the block will automat-ically map the touched edges onto these surfaces. Without these surfaces, the touched edges (or anynew 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 adaptthe 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/Surfacesmenu 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.

10-2.37 Grid Density/Clustering

Grid/Grid Density/Clustering... is used to modify the grid points clustering along the segmentsdefining the blocks. This option opens a dialog box providing different clustering schemes. Itallows also to define clustering groups which are groups of segments and for which the same clus-tering is applied to all the segments contained in the group.

Page 300: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-48 IGG™

This tool can also be accessed through the Quick Access Pad/Grid/Insert/Edit page.

FIGURE 10.2.37-1 Clustering dialog box

At the opening, the dialog box will be updated according to the active segment. If this one is con-tained 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 arealso 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 seg-ment of the group is automatically activated and all the segments of the group are highlighted in theIGG™ graphics area.

The dialog box contains in the left part a list of the different clustering types available. Left-click onthe desired one to select it. The right part of the box is automatically updated according to the typeand displays the necessary inputs. The chosen clustering will be applied on the active segment or onall its group by pressing respectively the Apply to seg or the Apply to group button. This button isdeactivated if the active segment is not contained in a group.

When changing the active segment, if it is not contained in a group and that its clustering type isuniform, the current clustering type and the clustering values of the dialog box are not changed tobe able to apply on the active segment the same clustering set previously. Therefore the same clus-tering values do not have to be entered manually a second time. To indicate that the clustering typeof the active segment is different than the one displayed in the dialog box, the message "Currentdistribution is uniform" appears at the bottom part.

The Active segment info area displays useful information about the active segment: its number ofpoints, its multigrid level and the maximum expansion ratio of its grid points distribution. Moreoverthe Clustering info... button gives access to a dialog box allowing to calculate optimum settings forthe segment (distribution parameters, number of points, maximum expansion ratio). This dialogbox is described after in a specific section.

The following sections describe the different clustering types, how to define clustering groups, theconvergence of the clustering computation and how to calculate optimum settings for a segment.

User inputs accordingto clustering typeClustering types

Clustering group name

Page 301: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-49

a) Clustering types

Uniform

This type is used to obtain a uniform grid points distribution on the segment (grid points equallyspaced on segment).

Undefined

This type indicates that the segment has no specific distribution (for example when copying a distri-bution from one segment to another). In fact this type is informative and obviously cannot beapplied 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 seg-ment 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 cellis 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 ofthe first segment cell, equal to the size of the last segment cell, is requested in absolute units. Othercells 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 anumber of constant cells between the end points. The sizes of the first segment cell and of the lastsegment cell are requested in absolute units. Enter 0 for the start spacing to impose only the size ofthe last segment cell. Similarly enter 0 for the end spacing to impose only the size of the first seg-ment cell.

Hyperbolic Tangent

This type allows to impose the cell size at the beginning and at the end of the segment. The sizes ofthe 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 cellsizes. 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 endpoints of the segment), as well as the distance of the first cell (y+) in these layers and the desirednumber of grid points in each layer. The distribution in the boundary layers will follow a geometri-cal progression, while the distribution in the intermediate region will be made as smooth as possi-ble.

Curvature

This type is used to compute a clustering distribution function of the segment curvature. Twoparameters can be used to customize the clustering: the curvature weight and the maximal curvatureratio. When the ratio of segment curvature extrema is higher than the maximum curvature ratio, thegrid points density is limited and is set to uniform. A value of 50 is advised. The curvature weight isused to decrease or increase the influence of the segment curvature on the grid points density.

Page 302: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-50 IGG™

b) 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 beremoved from the first group.

• In the same way, connected segments will be included in the same group (in the group of the ref-erence segment chosen). Therefore when inserting or removing a segment connected to otherones, 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 firstsegment of the group.

• If a segment belongs to a group and that a clustering is applied only on this segment and not onthe whole group, the segment will be removed from the group.

The clustering groups are managed (created, modified and deleted) through a dedicated dialog boxshown below, accessed by left-clicking on the Define/Edit group button of the "Clustering" dialogbox.

FIGURE 10.2.37-2 Clustering groups dialog box

This dialog box contains a list of the clustering groups defined in the current project. Each groupname is preceded by two buttons. Left-clicking on the first one toggles the segment list of the corre-sponding group. Left-clicking on the second one toggles the segments of the group in the graphicsarea. Each segment of a group is also preceded by a check button allowing to individually show orhide 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 menusaccessed 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 thegroup 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 itsname 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 arange of groups.

Check button allowingselective visualization ofsegments

List of segments inthe group

Page 303: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-51

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 fol-lowing 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 par-ent 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 updatedto 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.

FIGURE 10.2.37-3 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 distributioncan be reversed.

c) Clustering convergence

In some cases, the computation of the grid points distribution on a segment, according to the clus-tering type, cannot converge (for example, with a type "At Start", there is no convergence if the firstcell size is greater than the segment length). Therefore the new clustering type cannot be applied tothe segment and a warning appears.

If a clustering is applied on a segment alone ("Apply to seg" button), the following dialog box willappear:

FIGURE 10.2.37-4 No convergence on a segment

If a clustering is applied on a group ("Apply to group" button), the following dialog box will appear:

Group pop-up menu Segment pop-up menu

Page 304: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-52 IGG™

FIGURE 10.2.37-5 No convergence on segments of a group

It contains the list of group segments for which the distribution cannot converge. Moreover, theseones 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).

d) Segment optimum settings

Optimum settings can be calculated for the active segment through a dedicated dialog box shownbelow, accessed by left-clicking on the Clustering info... button of the "Clustering" dialog box.

FIGURE 10.2.37-6 Clustering info dialog box

The basic idea of this tool is to impose several independent parameters and to calculate from them adependent variable, which can be either the expansion ratio, the segment number of points or thedistribution parameters (start or end spacing). Before doing any calculation, the clustering type thatwill be used must be chosen in the top of the dialog box. The clustering types have the same nameand meaning as the ones of the "Clustering" dialog box.

The dependent variable is selected by left-clicking on the corresponding radio button. Then otherparameters can be modified. The parameters not preceded by a radio button cannot be chosen asdependent variable. Pressing <Enter> or the Compute button will recalculate the dependent varia-ble 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 obtainedfrom the other parameters.

• Number of points: the minimum segment number of points is calculated in order to satisfy thespecified expansion ratio and distribution spacing(s). For this variable, the multigrid level canbe chosen, leading to a calculated number of points with at least the selected multigrid level.

Page 305: User Manual Igg v4.9-2

Grid menu description Grid Menu

IGG™ 10-53

• Spacing at start/at end: the minimum spacing is calculated in order to satisfy the specifiednumber of points and expansion ratio.

For example, as shown in the previous figure, the minimum number of points can be calculated tosatisfy an imposed maximum stretching ratio of 2, with a "Hyperbolic tangent" clustering type anda start - end spacing of 1e-5.

In some cases, the computation of the dependent variable, according to the clustering type, cannotconverge (for example, with a type "At Start", there is no convergence if the first cell size is greaterthan the segment length). Therefore the message "Computation not converged" appears at the bot-tom part of the dialog box.

� It is important to note that this dialog box is not linked to the "Clustering" dialog box. Ithas to be considered as an "information" box and therefore any modification of itsparameters will have no direct effect on the mesh or the segment clustering. Therefore acomputed optimum parameter must be applied externally (for example, to apply a com-puted spacing on a segment, the value must be introduced manually in the "Clustering"dialog box).

10-2.38 Grid Density/Copy

Grid/Grid Density/Copy... is used to copy the grid points distribution from a segment, an edge ora face onto another one. If the target entity is connected, the copy is automatically repeated for theconnected segments. When selecting this option, the following dialog box is opened.

FIGURE 10.2.38-1 Copy Distribution dialog box.

It allows to specify the reference (From) and target (To) entities by entering their block, face, edgeand segment indices.

By omitting the segment number in the From and To boxes, one can copy the distributions of acomplete edge onto another edge, even if they have different number of segments. By omitting thesegment and edge numbers in the From and To boxes, one can copy the distributions of a completeface.

Examples:

• Specifying From: 1 3 2 2 and To: 2 1 2 1 will copy the distribution from segment (1 3 2 2) tothe 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 theedge (2 1 2).

� Copying distributions from an entity to an other is performed by copying the distribution

Page 306: User Manual Igg v4.9-2

Grid Menu Grid menu description

10-54 IGG™

function, not the basic clustering type (as shown in the Clustering dialog box). Thisimplies 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 isautomatically removed from the group.

When specifying segments as reference and target entities, grid point distributions can be copied inthe same or reverse directions.

FIGURE 10.2.38-2 Copying with Reverse or Same orientation

It is also possible to specify the reference and target segments by selecting them interactively withthe 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 isselected, 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 indi-ces 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 copyor

4. proceed to a new segment selection by repeating the steps 1-2.

10-2.39 Grid Density/Move Pt

Grid/Grid Density/Move Pt is used to modify interactively the location of a grid point of theactive segment. With this option, a grid point can be picked and moved on the segment by using themouse. When a point is picked to be moved, it is surrounded by a red circle as well as its neigh-bours. The red circles indicate the limits inside which the point can be moved. Please note that thisoption remains active until selecting a new menu or disabling the option by pressing <q>. The fol-lowing prompt is given to select the desired point:

Select a node to modify (q)

Move the mouse inside the graphics area and select a grid point of the active segment using the leftmouse button. The three red circles will appear.

Move the selected point (q)

The point can be moved inside the range indicated by its neighbours. When the correct location isfound, left-click to perform the action.

Reverse Samedirection direction

Grid pointSegment

Page 307: User Manual Igg v4.9-2

IGG™ 11-1

CHAPTER 11: View Menu

11-1 OverviewThe View menu options provide a set of display options to visualize the grid boundaries, surfaceand block grids, repetition, hidden lines and rendered surfaces. The viewing parameters and pro-jection, as well as window attributes can also be modified interactively. Other options include thetext insertion and deletion.

11-1.1 Views

IGGTM allows to display graphic entities in up to four views. In each view, different entities can bevisualized in different ways. By default, only one view is visible in full screen and has a default 3Dcamera position.

Only one view is active at a time, and is recognized by its red border. The active view can bechanged by selecting the desired view with the left mouse button.

The views position and camera orientation inside the views are controlled with the View/ViewPosition... menu.

11-1.2 View repetitions

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. IGGTM allows to get a completevisual representation of the whole mesh by applying a repetition to the graphic objects of the activeview.

The view repetition uses the information specified in the Grid/Periodicity... menu and is controlledby the menu View/Repetition..., which can toggle the repetition on or off.

Page 308: User Manual Igg v4.9-2

View Menu View menu description

11-2 IGG™

11-2 View menu description

11-2.1 Patch Viewer

View/Patch Viewer... is used to visualize selected patches in wireframe or solid mode to producefull rendered pictures of the grid. The dialog box provides control over the colour and transparencyeffects for each patch.

FIGURE 11.2.1-1 Patch Viewer dialog box

Patch Browser:

The patch browser (see figure below) 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 mousebutton.

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 arange of patches.

Patch browser, allowingto select the current patch(es)

Wireframe visualization control

Solid visualizationcontrol

Show the selected

Hide wireframe forselected patches

Show the selected patchesas solid

Hide solid forselected patches

Visibility control duringtransparency setting

patches as wireframe

Page 309: User Manual Igg v4.9-2

View menu description View Menu

IGG™ 11-3

Filters:

The different filters allow to display specific patches of a grid in the browser while hiding the oth-ers. The Block, Face and Patch filters work together and allow to display patches by indices. Forexample:

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 fil-ter allows also to select a boundary face by choosing imin, imax, jmin, jmax, kmin or kmax. Theseitems 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). Inparticular 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 HideSolid button.

It is possible to make some patches semi-transparent by specifying a transparency factor on theselected patches. The transparency factor can vary from 0 (no transparency) to 1 (highly transpar-ent). By default, the transparency factor is only applied when pressing the Show Solid button. Thisdefault may be overwritten by activating the Full Visibility toggle button. In this case, the transpar-ency 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 severalminutes, it is not advised to use the Full Visibility flag on large grids.

11-2.2 Sweep Surfaces

View/Sweep Surfaces... is used to scroll the constant grid index surfaces within 3D grid blocks. Ifthe 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 11.2.2-1 Message indicating that the block may be regenerated

Page 310: User Manual Igg v4.9-2

View Menu View menu description

11-4 IGG™

� It asks for block regeneration. If the block is not generated and that the "no" button ispressed, the dialog box of the next figure will appear but without being able to do some-thing except pressing the "Close" button. If the block has been modified since the lastgeneration (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 (seebelow) may look quite strange.

Mesh sweeping is done through the following dialog box:

FIGURE 11.2.2-2 Sweep Surfaces dialog box.

The Block box allows to choose the active block in which the surface grids will be scrolled. Next tothis box, the active block name and the amount of grid points in each direction (according to thecoarse grid levels selected) are displayed.

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.

11-2.3 Sweep Cells

View/Sweep Cells... is used to scroll the individual grid cells within 3D grid blocks. If the activeblock is not generated or has been modified since the last generation (by moving a vertex, for exam-ple), the following message will appear:

FIGURE 11.2.3-1 Message indicating that the block may be regenerated

� It asks for block regeneration. If the block is not generated and that the "no" button ispressed, the dialog box of the next figure will appear but without being able to do some-thing except pressing the "Close" button. If the block has been modified since the lastgeneration (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 dis-torted.

Active block

Constant indexI, J or K

Page 311: User Manual Igg v4.9-2

View menu description View Menu

IGG™ 11-5

A dialog box is used to scroll in I, J and K index directions.

FIGURE 11.2.3-2 Sweep Cells dialog box.

11-2.4 Show Unmapped vertices

View/Show Unmapped vertices is used to show the vertices which are not mapped on any geome-try entity or which are mapped on curves automatically created by IGG™ (i.e. when extruding anew block). It is useful for templates that must be successfully applied to similar geometries, wherethe 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 orexplicitly created within IGG™. This tool will consequently not flag vertices lying onsuch entities.

Right-click to quit this tool.

11-2.5 Coarse Grid

View/Coarse Grid is used to set the active coarse grid levels of the active block or grid for all theviews. 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 intoconsideration 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 lev-els.

The finest grid level is identified as 0. The smallest number of grid points for coarse levels is 2. Thecoarsest level is computed and updated in each index direction separately. The keyboard input areais used to enter the desired levels within available ranges.

Page 312: User Manual Igg v4.9-2

View Menu View menu description

11-6 IGG™

A different coarse grid level can be specified in each grid direction. The following prompt is givento 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>.

11-2.6 Repetition

View/Repetition... opens the following dialog box to control the repetition of the blocks on theactive view:

FIGURE 11.2.6-1 View Repetition dialog box

For each block, the number of repetition desired can be set in the Nb Repet entry. The repetition ofall blocks can be displayed or hidden respectively by pressing the Show or Hide button.

To perform a repetition, IGGTM takes the information about the periodicity of each block (angle,rotation axis,...) in the Grid/Periodicity dialog box. By default, the repetition is not displayed.

11-2.7 View Position

View/View Position... is used to modify the configuration and the orientation of the active view inIGGTM. Up to four views can be displayed at the same time in the graphics area.

By default, only one view appears, in isoparametric orientation. The windows dialog box is openedto modify the settings of the position and orientation in the active view.

FIGURE 11.2.7-1 View Position dialog box.

Position of the active viewin the IGGTM graphics area

Camera orientation inthe active view

Modification of the view positionor camera orientation takes effectafter pressing Apply.

Page 313: User Manual Igg v4.9-2

View menu description View Menu

IGG™ 11-7

The position can be specified as the original, full screen, half top, half bottom, half right or half leftof the screen:

• The original position is used to display four views in the graphics area.

• The full position displays the active view in all the graphics area.

• Half top, half bottom, half right or half left displays the active view in the corresponding halfpart of the graphics area.

The orientation can be XY, XZ, YZ or XYZ. The Apply button is used to update the active view.

11-2.8 Face Displacement

View/Face Displacement menu option is used to change the shift factor of the active view.

In fact, when the block face grids are visualized in both wireframe and solid modes (shading), a vis-ual interference may be produced between the grid lines and the shading. For this reason, IGGTM

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. This parameter represents the amountby which the grid is shifted along the view plane normal vector (normal to the screen), and is usedto get a correct display when combining wireframe and solid representations.

The following prompt is given to enter the shift factor within the range of 0 to 1 (default is 0.1):

Shift fac (0....1) : D=0.1 (q)>> 0.2

Enter ’q’ and press <Enter> to quit this option.

11-2.9 View Depth

View/View Depth menu option is used to control the depth of the active view. This depth is usedfor all interactive geometry editing operations with the mouse, i.e. curve creation with the mouse.For example, when working in the X-Y plane, the Z coordinate of a point is set to the current depth.

When using the option, the new depth for the active view is requested:

New view plane const z value (q)>> 0.

All subsequent inputs with the mouse will be at z = 0. This can be controlled by reading the cursorcoordinates in the related area.

To quit this option, enter ’q’ and press <Enter>.

11-2.10 Perspective

View/Perspective is used as a toggle to switch between orthogonal and perspective projection inthe active view. By default, the orthogonal projection is used.

� In perspective projection, the selection of curves and edges and the rendering of hiddensurfaces may not succeed.

11-2.11 Hidden lines

View/Hidden lines is used to display the grid edges of all the mesh using hidden line - hidden sur-face algorithms. By default, the hidden line removal flag is off. It is switched on/off after each

Page 314: User Manual Igg v4.9-2

View Menu View menu description

11-8 IGG™

selection of this item. When hidden line removal is applied, the grid quality and solid model repre-sentations (shading) are removed from the display to avoid any overlap of incompatible graphicalobjects.

FIGURE 11.2.11-1 Representation using hidden line/surface

When the face grids are visualized, a visual interference may be produced with the grid lines. Forthis reason, IGGTM 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 parameterrepresents the amount by which the grid is shifted along the view plane normal vector (normal tothe screen), and is used to get a correct display when combining wireframe and solid representa-tions. This parameter can be changed with the View/Face Displacement menu item.

11-2.12 Insert Text

View/Insert Text can be used to insert a descriptive text in the active view. The position of the textmust 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>.

11-2.13 Delete->Delete Text

View/Delete Text is used to delete all the descriptive texts displayed in the graphics area.

Classic representation Hidden line representation

Page 315: User Manual Igg v4.9-2

IGG™ 12-1

CHAPTER 12: Input and Output Files

12-1 OverviewThis chapter describes the file formats used in IGGTM or generated by IGGTM. There are basicallytwo categories of files: files used to import and export a geometry or a grid (points, curves, surfacesor blocks) and files used to save and reload an IGGTM project.

First the file formats used to import geometry and grid data are described. Then, the file structure ofan IGGTM project will be presented.

12-2 Input Data FilesThe most common way of importing geometries from CAD systems is to use the File/Import/IGES Data menu option which provides a powerful browser to inspect and import IGES files.However, it is also possible to import simple curves, surfaces and blocks defined by arrays of pointsby using the simple IGGTM data file format. This section describes the format for curves, surfacesand blocks importation in IGGTM. By convention, IGGTM data files must have the ’.dat’ extension (or’.dst’ extension for combined curve and surface data files).

12-2.1 Curve data files

Curve data files are used to import geometry curves defined as a set of points. IGGTM uses thesepoints 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 generalformat is as follows:

curve namecoordinate_system [options]number_of_data_pointsdata_point_coordinates

Page 316: User Manual Igg v4.9-2

Input and Output Files Input Data Files

12-2 IGG™

where:

• The first line is the curve name.

• The second line defines the coordinate system in which the points are described. Options mayfollow 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 cylindricalcoordinates. 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 are 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 charac-teristics 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, IGGTM creates a C-spline. However, whenimporting the file using the File/Import/IGG Data, IGGTM uses no intermediate discre-tization points, which will make the curve look like a polyline. The discretization can bechanged 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_curveXYZ213.345 4.1234 .512343.435 4.1322 .546233. 01 4.813 1.21234......

Page 317: User Manual Igg v4.9-2

Input Data Files Input and Output Files

IGG™ 12-3

Example 2:

Simple_curveZR polyline211.6 6.234 2.05 6.478 3. 01 7.01234......

Example 3:

Simple_curveRTHZ degree64.5 290 4.1234 4.8 295.5 4.1322 5.1 299.234 4.813......

12-2.2 Surface data files

a) Wireframe surfaces

Surface data files contain information about the coordinates of structured surfaces in cartesian coor-dinates and are used to export face grids from IGGTM (File/Export/Face Coor and File/Export/Patch Coor menu items) or to import them to create block faces (File/Import/External Grid andFile/Import/Face Grid menu items). In the latter case, the number of points defined in the surfacedata file must match the number of points of the face. An example of such a file is shown below:

Simple_surface3 0 021 31 3.345 4.1234 .512343.435 4.1322 .546233. 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 nestedloops over J then I:for J = 1 to Jmax

for I = 1 to Imaxwrite x y (z)

end I

Page 318: User Manual Igg v4.9-2

Input and Output Files Input Data Files

12-4 IGG™

end J

� The z coordinate must be omitted when the second line is 2 0 0.

b) Multiple wireframe surfaces

Such files contain information about the coordinates of several structured surfaces in cartesiancoordinates and are used to create block faces (File/Import/External Grid). An example of such afile is shown below:

# Airfoil mesh with 2 faces3

221 31

15 173.345 4.1234 .512343.435 4.1322 .546233. 01 4.813 1.21234......

where:

• The first line contains a comment, not interpreted by IGGTM.

• 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 isonly one surface.

• Then for each surface a line contains the number of points in the I and J directions (21 and 31 inthe 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 usingtwo nested loops over J then I:for J = 1 to Jmax

for I = 1 to Imaxwrite x y (z)

end Iend J

� The z coordinate must be omitted when the second line is 2.

c) Lofted surfaces

This type of file format allows to import lofted surfaces defined as a set of "parallel" curves. Anexample of such file is shown below:

Simple_lofted_surface3 0 3 6 6 031

1 213.345 4.1234 .512343.435 4.1322 .546233. 01 4.813 1.21234

Page 319: User Manual Igg v4.9-2

Input Data Files Input and Output Files

IGG™ 12-5

... 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 forfuture 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.

12-2.3 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 intoIGGTM. 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 IGGTM. An example of such ’.dst’file is shown below:

Tutorial geometry file3dif1.dattest.dattest.geom

where:

• The first line contains a comment, not interpreted by IGGTM.

• 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 samedirectory as the ’.dst’ file.

12-2.4 Block data files

Block data files contain information about the coordinates of structured blocks in Cartesian coordi-nates and are used to export blocks grid from IGGTM (File/Export/Block Coor menu) or to importexternal blocks generated by other grid generators (File/Import/External Grid menu). An exam-ple of such a file is shown below:

Simple 3D Block Coords3 0 021 31 9

Page 320: User Manual Igg v4.9-2

Input and Output Files Input Data Files

12-6 IGG™

3.345 4.1234 .512343.435 4.1322 546233.945 3.0623 1.5423......

where:

• The first line contains a comment, not interpreted by IGGTM.

• 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 theexample).

• The following lines contain the grid point coordinates (x y z) written by using three nested loopsover K then J then I:for K = 1 to Kmax

for J = 1 to Jmaxfor I = 1 to Imax

write x y zend I

end Jend J

Page 321: User Manual Igg v4.9-2

Grid file format Input and Output Files

IGG™ 12-7

12-3 Grid file formatThe grid file structure consists of four files and is used to save and reload an IGGTM project:

• a .geom file, containing the definition of geometry points, curves and surfaces.

• a .igg file, containing the topology and grid information, such as number of blocks, numberof grid points, clustering, smoothing, projections...

• a .cgns file, containing the blocks coordinates.

• a .bcs file, containing the boundary conditions information required for the solver.

The .geom and .igg files are required by IGGTM. Without one of these, IGGTM will not be able toreload a mesh.

The .cgns file should normally always be present since it contains the blocks coordinates. Howeverif IGGTM cannot find it, it will still be able to read the project (geometry + topology). The face andblock grid will have to be manually regenerated.

The .bcs file is not read by IGGTM. It is only used by external solvers.

The .geom and .igg files are internal files to IGGTM and are not intended to be read by the user. Theyare consequently not explained here. The two next sections describe the .cgns and .bcs files.

12-3.1 CGNS file

The .cgns file is used to store block coordinates in binary format. The faces division into patchesand some related boundary conditions are also saved in this file but are not used by IGGTM exceptwhen importing directly a cgns file. The boundary condition types that can be saved are the follow-ing: UND, EXT, INL, MIR, OUT, SNG, SOL, CON connections. Other types (ROT; NMB, PER,PERNM and full non matching connections) are saved as UND type.

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 CFDdata 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 com-pliant files becomes very easy since the user needs no care about the internals of reading and writ-ing to disk or about platform compatibility. The library supporting the implementation of the API isfreely accessible in source or compiled form. More information can be found on the web sitewww.cgns.org.

12-3.2 Boundary Conditions file format

The boundary condition file (.bcs file) is used to export the boundary condition settings of eachpatch of a grid, defined with the Grid/Boundary Conditions menu. There exists one .bcs file foreach project. An example of a .bcs file is shown below:

NUMBER_OF_BLOCKS 2 Block_1 21 31 9 TRANSLATION 0 0 1 1 unknown PER 1 1 31 9 1 6 1 0 0 1 Block_1 1 unknown CON 1 1 21 9 2 2 1 0 0 Block_2

Page 322: User Manual Igg v4.9-2

Input and Output Files Grid file format

12-8 IGG™

2 unknown SOL 1 1 21 16 unknown SOL 1 16 21 31 1 unknown UND 1 1 21 31 1 unknown OUT 1 1 21 9 1 unknown PER 1 1 31 9 1 1 1 0 0 -1 Block_1 Block_2 21 15 9 ROTATION 0 0 1 0 0 0 9 11 unknown SOL 1 1 15 9 1 unknown CON 1 1 21 9 1 2 1 0 0 Block_1 1 unknown PER 1 1 21 15 2 4 1 0 0 1 Block_2 1 unknown PER 1 1 21 15 2 3 1 0 0 -1 Block_2 1 unknown INL 1 1 21 9 1 unknown SOL 1 1 15 9 NI_BEGIN FNMB_CONNECTION Name: fnmb1 Projection_type: 3 Search_type: 1 Side: 1 Periodicity: 0 Tolerance: 0.0001 Left_patches: 1 1 1 Left_patches: 1 1 2 Right_patches: 2 5 1 NI_END FNMB_CONNECTION

12-3.2.1 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.

• Number of points in the I, J and K directions.

• Periodicity information of the block set with the Grid/Periodicity menu item. Periodicity infor-mation is one of the following:NONE no periodicityTRANSLATION translation_x translation_y translation_zMIRROR mirror_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

Page 323: User Manual Igg v4.9-2

Grid file format Input and Output Files

IGG™ 12-9

In our example, the first block has a translation periodicity with translation axis (0,0,1). The sec-ond block has a rotating periodicity with origin (0,0,0), rotation axis (0,0,1) and 9 repetitions (9blades).

• The next lines describe the patches information for each block face. The order in which facesare 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 issummarized 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]). The following figuredescribes a solid patch going from (1,9) to (41,49):

FIGURE 12.3.2-1 SOLID patch type information

For CON, NMB, PER and PERNM patches, the line contains in addition the indices of theconnected patch (three indices giving the number of the connected block, face and patch) andthe 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 notmandatory (connected block is described by its index) and is only present to make things clear.

FIGURE 12.3.2-2 CON patch type information

� The index of the connected face (4 in the above example) is not directly the face numberin IGGTM. Instead the indices in the right column below are used (for historical reason):

SOL 1 41 9 49

BC type

start index 1

start index 2

end index 1

end index2

name

Patch name

name CON 1 41 9 49 3 4 1 0 0 Block_2

Connected patch : Block Face Patch indices

Orientation Corner

General patch information Connected block name

Page 324: User Manual Igg v4.9-2

Input and Output Files Grid file format

12-10 IGG™

FIGURE 12.3.2-3 Face index convention

The corner and orientation indices determine how the connected patch connects to the patchcurrently described. The following table shows the eight possible configurations:

FIGURE 12.3.2-2 Standard notation for corner and orientation.

� In this table, the left patch is always the connected patch and is taken as reference. Theright patch is the patch currently described.

IGGTM Face index convention index saved in bcs file

123456

342516

n1

n2 n2

n1

1

n1

n2

11

n1

n2

1

0

PATCH ORIENTATION : 0 (SAME) CORNERPOSITION

PATCH ORIENTATION : 1 (REVERSE)

FROM TO FROM TO

n1

n2

n2

n1

1

n1

n2

1

n1

n21

2 2

1

n1

n2 n1

n2

3

1

n1

n2

n1

n2

3

2

n2

n1

1

3

4

n1

n2

n1

n2

1

n1

n2

4

n1, n2 : first and second variable coordinate indices along the patch

Page 325: User Manual Igg v4.9-2

Grid file format Input and Output Files

IGG™ 12-11

For PER and PERNM patches, the line contains in addition a connection sign (+1 or -1) beforethe connected block name. This sign indicates the sense of the periodic transformation for thegiven 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 peri-odic axis (clockwise).- 1 means that the patch connects to the other by rotating (or translating) it in the opposite direc-tion 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 descrip-tion is done for each connection between the two following lines: "NI_BEGINFNMB_CONNECTION" and "NI_END FNMB_CONNECTION"; it contains the following infor-mation:

• 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.

The following figure is a summary of the bcs file content according to our example:

Page 326: User Manual Igg v4.9-2

Input and Output Files PLOT3D file format

12-12 IGG™

12-4 PLOT3D file formatIGGTM provides options for file input/output in PLOT3D format (File/Import/PLOT3D and File/Export/PLOT3D menu items). 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).

Block 1

Block 2

Block size nI nJ nKBlock periodicity

Face Imin, 1 patch PER

Face Kmin, 2 patches SOL

Face Jmin, 1 patch CON

Face Kmax, 1 patch UND

Face Jmax, 1 patch OUT

Face Imax, 1 patch PER

Block name

Fnmbconnection

Number of blocks

Connection name

Left patches list

Right patches list

Page 327: User Manual Igg v4.9-2

PLOT3D file format Input and Output Files

IGG™ 12-13

• 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 xcoordinates 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 typestands for Fortran binary files and can normally be read using Fortran only whereas Binary typestands for C binary files and can normally be read using C only. Little and big endian is describingthe bytes ordering for binary files.

The output PLOT3D file generated by IGGTM has the same available formats, except for ASCIItype which is always written in double precision.

This PLOT3D format only stores the blocks coordinates and should be used with the .bcs file con-taining the boundary conditions.

Following is a simple FORTRAN routine used to extract grid data from a PLOT3D Unformattedfile with the format specified above. For ASCII files, change (UNIT) to (UNIT,*).

a) 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)

b) 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

Page 328: User Manual Igg v4.9-2

Input and Output Files PLOT3D file format

12-14 IGG™

Page 329: User Manual Igg v4.9-2

IGG™ 13-1

CHAPTER 13: Tutorials

13-1 Mesh Generation in pipes

13-1.1 Introduction

This section is an advanced tutorial explaining the mesh generation in intersecting pipes. Thegeometry consists of two pipes of different diameters intersecting each other.

This tutorial is not intended to provide a step-by-step and detailed procedure but rather to explainthe main concepts necessary to create meshes around similar geometries. For details about basicgeometry, topology and grid generation, please refer to the chapter 1 of the IGG™ manual. Thetutorial covers different IGG™ functionalities such as:

1. Creation of the geometry,

2. Creation of an intersection,

3. Definition of the topology,

4. Creation of internal grid lines,

5. Projection of a face grid onto a surface geometry,

6. Creation of a butterfly topology,

7. Creation of a full non matching connection.

The final generated mesh is shown below:

Page 330: User Manual Igg v4.9-2

Tutorials Mesh Generation in pipes

13-2 IGG™

.

13-1.2 Geometry Definition

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 isaligned with the X axis, has its bottom part at X = 0, its top part at X = 100 and a radius = 12.

1. Create a polyline from (0,25,-100) to (0,25,100) (Quick Access Pad/Geometry/Curve/Polyline item).

2. Based on this polyline, create a surface of revolution around the Z axis (0,0,1) with center(0,0,0) and an angle of 360 degrees (Quick Access Pad/Geometry/Surface/Revolution).

3. Unselect all curves (Geometry/Select/Curves followed by the <a> key binding and right-click).

4. Create another surface of revolution around the X axis (1,0,0) with center (0,0,0), rotation angleof 360 degrees and based on a polyline from (0,0,12) to (100,0,12).

The next step is to intersect the two surfaces:

5. Select both surfaces (Geometry/Select/Surfaces) and compute the intersection (Quick AccessPad/Geometry/Curve/Surf-Surf Inters).

Page 331: User Manual Igg v4.9-2

Mesh Generation in pipes Tutorials

IGG™ 13-3

A new curve is created.

6. Unselect both surfaces (Geometry/Select/Surfaces followed by the <a> key binding and right-click).

Next, a new small cylinder based on the intersection curve and the base circle of the small cylinderat X = 100 will be generated:

7. Select the two curves and show their orientation (Geometry/View/Curve Orientation). Theyshould normally have the same orientation. If it is not the case, the orientation of one curve mustbe reversed before creating the new surface (Geometry/Modify Curve/Reverse).

8. Create a lofted surface based on the two curves (Quick Access Pad/Geometry/Surface/Lofted). The new surface appears at the same location as the initial small cylinder.

9. Select the original small cylinder surface alone and delete it (Geometry/Delete/Surfaces). Thenew surface is shown on the following figure:

Intersection curve

Base circle (X=100)

X

ZY

Page 332: User Manual Igg v4.9-2

Tutorials Mesh Generation in pipes

13-4 IGG™

10. Save the project by using the File/Save menu item. Alternatively the geometry could be savedby using the File/Export/Geometry Selection menu. In this case select the two surfaces andapply the option.

The geometry is now created.

13-1.3 Meshing the larger cylinder

A first block is used to mesh the big cylinder. This block will be created by constructing an initialcube, specified by two opposite corners, and by snapping its vertices to the boundary curves of thesurface. During these operations, the edges of the blocks will be automatically mapped on thecurves or surfaces.

1. Click on the Insert New Block icon.

2. Place the two opposite corners by attracting them to the two circles, as shown in the followingfigure:

A local coordinate axis system IJK will appear at the location of the first vertex. Its orientation willbe modified so that the K axis points downward (along the Z axis), as an example.

3. Press the <s> key.

The orientation of the axis system is changed and the K axis now points downward. If this is not thecase, repeat the <s> press until getting the proper orientation.

4. 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 cir-cles. In the next steps they will be moved and snapped to the circles.

� The block edges will automatically be mapped onto the circles.

5. Left-click on one vertex and move the mouse around its original position.

The block is instantaneously updated to reflect the new vertex position.

6. Move the vertex near the closest circle. It gets attracted to the circle.

7. Left-click to fix the new vertex position.

First vertex

Second vertex

I

J

K

X

ZY

Page 333: User Manual Igg v4.9-2

Mesh Generation in pipes Tutorials

IGG™ 13-5

8. Repeat the operation for the other vertices and try to place the vertices as shown in the followingfigure. Notice that the edges of face 4 should be placed symmetrically around the intersectioncurve and should not cross it.

FIGURE 13.1.3-1 Position of the vertices on the circles.

At this stage the initial mesh created by IGG™ can be visualized.

9. Select the Block or Grid scope in the Quick Access Pad/View/Grid page.

10. Select 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 gridswill be projected onto the surfaces at a later stage.

11. Repeat the previous operation to remove the grid from the screen.

Now the number of points for the block will be defined.

12. Right-click on the segment ’1 5 4 1’ (see above figure) to pop-up a menu and go to the Segmentsub-menu. Select the Set Number of Points menu item.

13. Enter the new number of points for the segment:

>> 65

� Increasing the number of points of a segment automatically affects the total number ofpoints in the associated direction. The total number of points along the K direction isconsequently 65.

14. Repeat the same operation for the segments ’1 1 2 1’ and ’1 1 3 1’ and increase their size to 33.

The block size should now be 33x33x65.

By default all the faces of the block are generated using a bilinear interpolation. The lateral facesshould however lie on the cylinder. A projection must be performed for these faces so that the gridexactly points on the surface.

15. Select the surface corresponding to the large (vertical) cylinder (Geometry/Select/Surfacesitem).

16. Select one of the lateral faces (i.e. face 4) by left-clicking on one segment of the face until theface edges are highlighted in white.

Segment 1 5 4 1

Segment 1 1 3 1Segment 1 1 2 1

Face 4

K

I

J

Page 334: User Manual Igg v4.9-2

Tutorials Mesh Generation in pipes

13-6 IGG™

17. Select the Project Face icon in the Quick Access Pad/Grid/Generate page.

It opens a dialog box to select projection parameters.

Select the default parameters:

• Projection on selected surfaces.

• Validation level 2.

• Boundary projection off, since the edges are already on the surface (automatic mapping fea-ture).

• Entire face projection.

Then press Apply to perform the projection of the active face.

18. Repeat the above operations for the other lateral faces.

All the boundary faces of the block are now properly generated.

13-1.4 Meshing the small cylinder

To mesh the small cylinder a new block will be created by extruding a range of the face 4 of the firstblock. In order that the meshing works properly, this face should normally completely cover theintersection curve (see next figure).

1. Activate the face 4 of the first block.

2. Select the Extrude Range icon in the Quick Access Pad/Grid/Create page.

It opens a dialog box for selecting the range to extrude as well as the direction and magnitude of theextrusion.

Click on the boundaries to change the65

33 limits of the extrusion range.

Page 335: User Manual Igg v4.9-2

Mesh Generation in pipes Tutorials

IGG™ 13-7

By default the range corresponds to the complete face and is displayed in red in the graphics area.

3. Change the range by clicking on each boundary of the small yellow square and by entering theappropriate values. These values should be such that the range fits the intersection curve, asshown in the following figure:

4. In this case, the limits I = [6,28] and K = [29,37] have been selected.

5. Select the User Direction option and enter ’1 0 0’ (direction of the small cylinder).

6. Change the Magnitude to 75 (size of the small cylinder).

7. Press the Extrude button.

This will create the new block, similar to the following figure:

FIGURE 13.1.4-1 Extrusion of a range, creating internal grid lines.

The extrusion automatically creates four internal edges in the active face of the first block. At eachintersection between two internal edges and between the internal edges and the boundary edges, avertex/fixed point is created (they can be visualized by pressing repeatedly the Toggle Vertices iconof 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 internaledges of the first block. The vertices at intersection of the internal edges are consequently used bythe new block.

� When extruding a new block, IGG™ automatically connects the new block to the exist-ing one by connecting the vertices, the topological edges and the segments. A divisioninto patches of the reference face and a connection is also performed, if possible.

Range of extrusion

Vertices at intersection of internal edges

Block 2, Face 4

Internal edges created

Page 336: User Manual Igg v4.9-2

Tutorials Mesh Generation in pipes

13-8 IGG™

The face 4 of the first block is automatically divided into 9 patches to allow a connection with thesecond block, as shown in the following figure. The central patch is automatically connected to theadjacent patch of the second block (Block 2 Face 3 patch).

FIGURE 13.1.4-2 Patch decomposition for the face 4 of the block 1

The internal edges will now be deformed to capture the intersection curve of the two cylinders. Thiswill be done by interactively moving the vertices and snap them to the intersection curve.

8. Select one of the four vertices at the intersection of the internal edges.

9. Snap this vertex to the intersection curve, as shown in the following figure.

10. Repeat the operation for the three other vertices.

� IGG™ will automatically map the central segment of each internal edge to the intersec-tion curve. Notice also that the other segments are mapped onto the big cylinder.

11. Other vertices (intersecting the boundary edges of the block 1, face 1) can optionally be movedto get a better face grid quality.

The opposite face (Block 2, Face 4) still needs to be adapted by snapping its vertices to the smallcircle at (X=100).

Block 2, Face 4

Page 337: User Manual Igg v4.9-2

Mesh Generation in pipes Tutorials

IGG™ 13-9

12. Select each vertex of the face 4 and attract them to the circle at X=100.

As for the first block, the lateral faces must be projected to ensure that their grid exactly lie on thecylinder.

13. Select the surface corresponding to the small cylinder alone and project the lateral faces of thesecond block as done for the first block.

13-1.5 Generating the block grids

Before generating the block grids, a check must be done to ensure that the faces still lie on the inputgeometry. This might not be the case any more if an operation has been performed on the blockfaces, like for example adjusting a vertex interactively. In that case, IGG™ performs a default alge-braic 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 facegrids.

1. Select the Regenerate Faces item in the Quick Access Pad/Grid/Generate page. A dialog boxis opened to select the face(s) to regenerate.

2. Select the All Blocks Faces option and press Apply. Finally close the dialog box.

This will fully regenerate all face grids of all the blocks in the project.

3. Select the Block 6 Bnd icon in the Quick Access Pad/Grid/Generate page. A dialog box isopened to select the block(s) to generate. Select the All option and press Apply.

The grid in the two blocks is now generated.

13-1.6 Butterfly topology creation

In order to improve the mesh quality at block corners, a butterfly topology will be created in eachblock.

Page 338: User Manual Igg v4.9-2

Tutorials Mesh Generation in pipes

13-10 IGG™

1. Activate the first block and select 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 theblock 1.

2. Remove the buffer blocks at faces 1 and 2 by pressing the corresponding buttons 1 & 2 in theGeneral variables frame. The shape of the butterfly topology is automatically updated in thefirst block.

3. In the Section control frame, 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.

Now parameters of the second control section will be copied from the first one.

4. Activate the second section by setting the Section number ID to 1. Press the Copy from sec-tion button and select the face 1 (upward face) of the first block by left-clicking on one of itssegments. Then middle-click to perform the copy.

Control points of the second section are now positioned in a same manner as those of the first sec-tion.

5. Create the butterfly topology in the first block by pressing the Create/update button.

In a same way, a butterfly topology can be created in the second block.

6. Select the second block in the Block entry. This block will be automatically activated.

7. Set the Preferential direction to the axis of the small cylinder, J. A confirmation dialog boxwill appear. Confirm the change by pressing the yes button. Control sections of the butterflytopology are automatically updated.

Now the topology of the mesh must be chosen. Indeed a buffer block can be associated to the face 3of block 2, leading to a matching connection between patches of the two cylinders. Otherwise, ifface 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.

8. Remove the buffer blocks at faces 3 and 4 by pressing the corresponding buttons 3 & 4.

9. Set the Radial depth to 30 for the first section. Then activate the second section and copy theparameters from the first one, as done for the first block.

10. Create the butterfly topology in the second block.

As the two blocks were connected previously by the extrusion operation and that there is no bufferblock associated to the face 3 of the second block, IGG™ detects that it will lead to a FNMB topol-ogy and that the matching connection is no more valid.

� The following message will appear when a matching connection is no more valid accord-ing to the new butterfly creation: Creation of a topology with FNMB connections. Thematching connection will be therefore deleted automatically.

13-1.7 Connecting the blocks

In this section, the full non matching connection between the two blocks will be defined.

1. Open the Grid/Boundary Conditions dialog box.

2. Press the Define button in the Full Non Matching frame. It opens a dialog box controlling theFNMB connections.

� Note that only the parent block patches appear in the lists of the dialog boxes. Conse-quently connections are performed between parent block patches. Therefore these onesare visualized instead of butterfly block patches.

Page 339: User Manual Igg v4.9-2

Mesh Generation in pipes Tutorials

IGG™ 13-11

3. In the left patches list, left-click on the patch 1 4 5. In the right patches list, left-click on thepatch 2 3 1. They are highlighted in the graphics area.

4. Enter a name for the connection in the Connection Name entry.

5. Create the FNMB connection by pressing the Create button. The new connection appears in thelist at the right of the dialog box.

� The type of the patches involved in the connection is automatically set from UND toSOL.

6. Press the Compute & Show button to compute and visualize the triangulation of the connec-tion. The result is shown in the following figure. Calling this item is optional in IGG™.

This completes the tutorial on pipes intersection.

Page 340: User Manual Igg v4.9-2

Tutorials Mesh Generation in pipes

13-12 IGG™

Page 341: User Manual Igg v4.9-2

IGG™ i

INDEX

AActive

segment 2-14Aspect Ratio 10-21Attach a fixed point to a vertex 3-16Attraction

attraction features 9-2tolerance 8-16

Autosave 8-17

BBalloon help 8-18Block

coordinates file format 12-5creating new 3-3, 7-6, 7-7creation

by duplicating an existing block 7-11

by expansion 10-45

by extruding range 7-9

by importing a CGNS file 8-8

by importing a GridPro file 8-8

by importing a PLOT3D file 8-7, 8-8

by importing an external grid 8-5

by rotation 10-47

by sweeping 10-44

by translation 10-46delete 7-14Generation

2Bnd interpolation 10-37

4Bnd interpolation 10-37

6Bnd interpolation 3-24, 7-24, 10-38grouping 2-3, 3-42, 7-27internal faces creation 10-27moving 3-8number of points 10-5periodicity 10-4save coordinates 8-9smoothing 10-26, 10-38, 10-40viewing the grid by sweeping 11-3

Boundary conditionsbasic concepts 10-1bc types 10-1, 10-10file format 12-7specifying 3-28, 10-9specifying, example 4-22

BSplines creation 9-4, 9-5Butterfly mesh 5-1

CCartesian point

creation 9-11delete 9-30

Page 342: User Manual Igg v4.9-2

ii IGG™

hide 9-28select 9-24

Cellsdeleting 11-8searching cells with negative volume 10-54

CGNSfile format 12-7import file 8-8

Circular arccreating 9-7, 9-8, 9-10creating, example 4-3

Clusteringcopying a distribution 10-53group 3-18setting grid points distribution 10-47setting grid points distribution, example 4-17

Coarse gridbasic concepts 10-2change multigrid levels 11-5

ConnectionsEdge-Edge 7-19Face-Face 7-20visualizing connections 3-40, 7-21Whole grid 7-20

Connectivityautomatic search 10-12manual setting 10-15

Control pointsadding new 9-20deleting 9-21displaying coordinates 9-25hide 9-28modifying 9-21

Convert files 8-11Coordinate axis 2-8Criterion

quality 10-21CSplines

creating 9-3, 9-4creating csplines, example 4-2

Curvecreating, examples 4-2creation

group curves(composite curve) 9-15

offset curve 9-14

surface-plane intersection 9-12, 9-13

surface-surface intersection 9-11

trim curve 9-16

ungroup curves 9-15delete 9-30display curves 9-26editing

duplicate 9-18

mirror 9-20

rotate 9-19

scale 9-19

translate 9-19file format for saving 12-1hide 9-28import 8-4

Page 343: User Manual Igg v4.9-2

IGG™ iii

modifyingadd control point 9-20

discretization 9-22

divide 9-22

modify control point 9-21

project on surface 9-21

remove control point 9-21

reverse orientation 9-22orientation 9-2, 9-22, 9-28save 8-9save control points 8-9saving selected curves, example 4-5select 9-25selecting, example 4-3show curve orientation 9-28visualisation, examples 4-3

DDelete

blocks 7-14cartesian points 9-30cells 11-8curves 9-30surfaces 9-30text in views 11-8

Disconnecting entities 3-40Discretization 9-22, 9-23Display

control point coordinates 9-25curves 9-26overlapping cells 10-30surfaces 9-27

Display mesh entities 7-30Distance

measuring the distance between a point and a curve 9-30measuring the distance between two points 9-30

Distribution (see Clustering) 10-47

EEdge

disconnecting 3-40mapping onto geometry 1-6, 3-11moving 3-8numbering 1-7, 1-10, 1-11orientation 1-7, 1-10, 1-11show connections 7-21

Edit mode 7-30Elliptic grid generation 1-12Exit IGG 8-20Expansion Ratio 10-21Export

block coordinates 8-9curve control points 8-9curves and surfaces 8-9face coordinates 8-10patch coordinates 8-10PLOT3D 8-10segment discretization 8-10

FFace

Page 344: User Manual Igg v4.9-2

iv IGG™

coordinates file format 12-3creating new 7-8creation

by mapping on a geometry surface 3-21, 10-30

by rotating an edge 10-35

creating internal face 10-27disconnecting 3-40divide in patches 10-11Generation

2Bnd interpolation 10-28

4Bnd interpolation 3-19, 7-22, 10-29

generation tool 10-29

orthogonality control 10-31

projecting onto geometry surfaces 3-20, 10-34internal face (see Internal face) 3-24moving 3-8numbering 1-7, 1-10orientation 1-7, 1-10regeneration 3-23, 7-24save coordinates 8-10

Fileformat 12-1

Fixed Pointattach fixed point to a vertex 3-16changing index 3-16definition 1-8, 3-14deleting 3-15inserting 3-15, 7-15moving 3-15

Full non matching 3-33, 10-16

GGeometry

editingduplicate curves and surfaces 9-18

mirror curves and surfaces 9-20

rotate curves and surfaces 9-19

scale curves and surfaces 9-19

translate curves and surfaces 9-19grouping 2-3, 7-26tolerance 8-15

Graphics area 2-10Grid

quality 10-19Grid parameters area 2-7Grid Points

distribution 10-47show connections 7-21

GridPro import file 8-8Group

block 2-3, 3-42, 7-27clustering 3-18geometry 2-3, 7-26

HHide

cartesian points 9-28curve control points 9-28curves 9-28

Page 345: User Manual Igg v4.9-2

IGG™ v

surfaces 9-28

IIGES

importation 8-6Import

block file 8-5CGNS file 8-8curves and surfaces 8-4GridPro file 8-8IGES data 8-6PLOT3D file 8-7, 8-8project file 8-3

Information area 2-6Insert text in views 11-7, 11-8Internal Edge (see Internal grid line) 3-25Internal face

basic concepts 1-9changing index 3-27, 10-6, 10-28creating 3-24, 10-27deleting 10-28

Internal grid linebasic concepts 1-8changing index 10-6, 10-26controlling shape 10-33creating 3-25, 10-26, 10-33deleting 10-26example of use 13-5

Internal point insertion 7-15

KKeyboard input area 2-6

MMessage Area 2-6Mouse bindings 2-14Mouse coordinates area 2-6Moving an Edge, Face or Block 3-8Multigrid

basic concepts 10-2change coarse levels 11-5smoothing 10-26, 10-38

NNegative cells (see Cells) 10-54

OOpen

a new project 8-2an existing project 8-1

Orientationof curve 9-22, 9-28

Orthogonalitycontrolling face grid orthogonality 10-31controlling grid orthogonality, example 4-21

Overlappingdisplay orvelapping cells 10-30display overlapping cells, example 4-22

PPatch

change limits 10-12defining 3-28, 10-9save coordinates 8-10

Page 346: User Manual Igg v4.9-2

vi IGG™

select active patches for saving 11-4visualization 10-10, 11-2

Periodicity 10-4Perspective view 11-7PLOT3D

file format 12-12import file 8-7, 8-8save 8-10

Points creationcartesian point 9-11curve-curve intersection 9-11curve-plane intersection 9-11

Polylines creation 9-5, 9-6Preferences

modifying preferences 8-15saving preferences 8-18

PrintPNG file 8-15PostScript file 8-14

Projectimport project file 8-3open new 8-2open project file 8-1project configuration(2D/3D/axisymetric) 8-18save 8-3

Project configuration 6-11

QQuality

checking 10-19criterion 10-21

Quick Access Pad 2-4, 7-1Quit IGG 8-20

RRepetitions

defining repetitions 10-4set the number of repetition in the view 11-6view repetitions 11-1, 11-6

SSave

block coordinates 8-9curve control points 8-9curves and surfaces 8-9face coordinates 8-10patch coordinates 8-10PLOT3D 8-10PNG file 8-15PostScript file 8-14project 8-3segment discretization 8-10

Scope mode 7-30Segment

changing limits 10-6clustering 3-17, 10-47number of points 3-16, 10-6save discreatization 8-10show connections 7-21

Selectcartesian point 9-24curve 9-25surface 9-25

Short cuts 2-11

Page 347: User Manual Igg v4.9-2

IGG™ vii

Show connections 7-21Smoothing

multigrid 10-26, 10-38slor 10-26, 10-40

Surfaceadd uv curves 9-23creation

Coons Patch 9-17

from face grid 9-18

linear sweep 9-18

lofted 9-16

offset surface 9-18

surface of revolution 9-17delete 9-30display surfaces 9-27editing

duplicate 9-18

mirror 9-20

rotate 9-19

scale 9-19

translate 9-19file format for saving 12-3hide 9-28import 8-4modifying

discretization 9-23

divide 9-24

graphical representation 9-23save 8-9select 9-25show lofting curves 9-28

TText

adding text in views 11-7, 11-8deleting text 11-8

Toggle mesh entities 7-30Tolerance

changing the tolerance 8-15used in geometry modeling 9-2

Topologydefining periodicity 10-4

Transfinite interpolation 1-11Trim curve 9-16

VVertex

accelerating the movement 3-13adding and deleting 3-9, 7-15attach fixed point 3-16connecting vertices 3-38, 7-19disconnecting 3-40internal vertex 1-6locking on a curve or surface 3-11moving 3-8show connections 7-21snapping 1-6, 3-10tolerance 3-12, 8-16

Page 348: User Manual Igg v4.9-2

viii IGG™

Viewcurve orientation 9-22, 9-28view depth 11-7view preferences 11-6views position 11-6

Viewing buttons 2-7Viewing scope 7-30