Professional Documents
Culture Documents
HEXPRESSv4
Unstructured Grid Generator
- Oct 2014 -
User Manual
HEXPRESS v4
Documentation v4a
NUMECA International
Chausse de la Hulpe, 189, Terhulpsesteenweg
B-1170 Brussels
BELGIUM
Tel: +32 2 647.83.11
Fax: +32 2 647.93.98
Web: http://www.numeca.com
Contents
HEXPRESS
1-1
1-1
1-1
1-1
1-1
1-2
1-3
1-4
1-4
1-4
1-5
1-5
1-5
1-6
1-6
1-6
1-7
1-7
1-7
2-1
2-1
2-2
2-3
2-4
2-4
2-4
2-4
2-5
2-6
2-7
2-8
2-8
2-8
2-8
2-9
2-10
2-10
2-11
2-11
2-11
2-11
2-11
2-13
2-15
2-16
2-17
2-17
2-18
2-18
2-18
2-18
iii
Contents
Project/Print/As PNG
Project/Preferences...
Project/Quit
Internal Surface
Internal Surface/Edit
Edit->Copy
Edit->Translate
Edit->Rotate
Edit->Scale
Edit->Mirror
Internal Surface/Modify Curve
Modify Curve->Add Control Point
Modify Curve->Remove Control Point
Modify Curve->Modify Point
Modify Curve->Modify Point On Surface
Modify Curve->Discretization
Modify Curve->Divide
Modify Curve->Reverse Orientation
Modify Curve -> Set Name
Internal Surface/Modify Surface
Modify Surface-> Set Name
Internal Surface/Select
Select->Cartesian Points
Select->Curves
Select->Surfaces
Internal Surface/View
View->Points
View->Curves
View->Surfaces
View->Hide Selected Cartesian Points
View->Hide Selected Curves
View->Hide Selected Surfaces
View->Control Points
View->Curve Orientation
Internal Surface/Delete
Delete Cartesian Points
Delete->Curves
Delete->Surfaces
Grid Menu
Grid/Periodicity...
Grid/Boundary Conditions...
Face selection
Filters
Face grouping
Face type specification
Face name
Blank/Unblank
Periodic BC search
Grid/Non Matching Connections...
Full Non Matching Connections
Rotor/Stator Connections
Grid/Mesh Quality...
iv
2-19
2-19
2-22
2-22
2-22
2-22
2-22
2-23
2-23
2-23
2-23
2-24
2-24
2-24
2-25
2-25
2-25
2-25
2-25
2-26
2-26
2-26
2-26
2-26
2-27
2-27
2-28
2-28
2-29
2-30
2-30
2-30
2-30
2-30
2-30
2-31
2-31
2-31
2-31
2-31
2-33
2-34
2-36
2-37
2-37
2-37
2-37
2-38
2-38
2-38
2-43
2-45
HEXPRESS
Contents
Negative cells
Concave and twisted cells
Orthogonality
Aspect ratio
Volume criterion
Equi-angular skewness
Adjacent cell volume ratio
Mesh expansion ratio
Cell non-orthogonality (OpenFOAM)
Cell non-orthogonality (FINE/Marine)
Surface Mesh Quality
Relaxed Cells
Manual Correction
Grid/Mesh transformation...
Rotate
Translate
Scale
Axisymmetric
Mirror and Copy
Grid/Multigrid levels...
View Menu
Face Viewer
View/Cells...
View/Face Displacement
View/Insert Text
View/Delete Text
View/Perspective
View/Repetition...
STL
Tools
STARCD->STL
Domain->ASCII STL or binary STL
Tools/Distance
Plugins
Concept
How to activate them?
Marine Plugins
Domain and mesh setup (only for 3D)
Domhydro
Assumptions
Modes Description
How to use the tool
How to launch the tool
Examples
Internal surface creation
Mesh quality check
Set type II on mirror faces
2-4 Toolbar
2-5 Quick Access Pad
CAD Manipulation
Internal Surface
Point page
Cartesian Point
Curve-Plane Inters
HEXPRESS
2-46
2-47
2-47
2-47
2-47
2-47
2-48
2-48
2-49
2-49
2-50
2-50
2-51
2-52
2-52
2-53
2-54
2-54
2-56
2-57
2-57
2-57
2-58
2-58
2-59
2-59
2-59
2-60
2-60
2-60
2-60
2-60
2-60
2-61
2-61
2-62
2-62
2-63
2-67
2-67
2-68
2-69
2-69
2-72
2-74
2-75
2-76
2-76
2-77
2-77
2-78
2-79
2-79
2-79
Contents
Curve page
Polyline
CSpline
Arc
Surface page
Lofted
Coons
Import
Export
Domain Manipulation
Mesh Wizard
View
Domains
Display Options
Material
Mesh
Background
Camera Position
Control Area
Message area
Keyboard input area
Mouse coordinates
Information area
Grid parameters area
Viewing buttons
X, Y, and Z projection buttons
Coordinate axis
Scrolling
3D viewing button
Rotate about x, y or z axis
Zoom in/out
Region zoom
Fit button
Original button
Cutting Plane
Cylindrical cutting tool
Box cutting tool
Spherical cutting tool
Graphics Area & Views
2-6 GUI interaction
Keyboard shortcuts
CHAPTER 3: Meshing Fundamentals
3-1 Overview
3-2 Mesh Domain Definition
3-3 Mesh Generation Steps
Initial Mesh
Adapt to geometry
Refinement
Trimming
Snap to geometry
Optimization
vi
2-79
2-79
2-80
2-80
2-84
2-84
2-85
2-85
2-85
2-86
2-86
2-87
2-87
2-87
2-91
2-93
2-94
2-94
2-95
2-95
2-95
2-95
2-95
2-96
2-96
2-96
2-96
2-97
2-97
2-97
2-97
2-98
2-98
2-98
2-98
2-100
2-101
2-101
2-102
2-102
2-102
3-1
3-1
3-2
3-4
3-4
3-4
3-4
3-5
3-6
3-6
HEXPRESS
Contents
Viscous layers
3-4 Mesh Quality
3-5 Multi-Domain
3-6 Batch Mode
CHAPTER 4: Geometry Definition
4-1 Overview
4-2 CAD Model
Import Solid Models
Import Parasolid models
Import CATIA V5 models
Editing
Create Box
Dialog box
Interactive creation
Create Cylinder
Dialog box
Interactive creation
Create Cone
Dialog box
Interactive creation
Create Plane
Dialog box
Interactive creation
Create Sphere
Dialog box
Interactive creation
Subtract
Overview
Body picking description
How to subtract bodies?
Unite
Overview
Body picking description
How to unite bodies?
Intersect
Overview
Body picking description
How to intersect bodies?
Delete
Overview
Body picking description
How to delete bodies?
Transform
Undo
Create Domain
Faceting
Discretized CAD manipulation
Export parameters
Save
Visualization/Selection
Selection
Pop-up Menu
HEXPRESS
3-7
3-7
3-7
3-8
4-1
4-1
4-4
4-4
4-4
4-4
4-5
4-5
4-5
4-6
4-6
4-6
4-7
4-7
4-7
4-8
4-8
4-8
4-9
4-10
4-10
4-10
4-11
4-11
4-11
4-11
4-11
4-11
4-12
4-12
4-13
4-13
4-13
4-13
4-14
4-14
4-14
4-14
4-14
4-15
4-15
4-16
4-17
4-17
4-18
4-18
4-18
4-19
vii
Contents
viii
4-20
4-20
4-20
4-20
4-21
4-21
4-21
4-21
4-22
4-24
4-25
4-25
4-25
4-25
4-25
4-25
4-27
4-27
4-27
4-27
4-28
5-1
5-1
5-1
5-2
6-1
6-1
6-2
6-2
6-3
6-4
6-4
6-4
6-5
6-7
6-7
6-7
6-8
6-8
6-8
6-8
6-8
6-9
6-9
6-9
6-9
6-10
6-10
6-10
6-12
6-13
HEXPRESS
Contents
Global Parameters
Maximum number of refinements
Advanced parameters
Enable refinement
Enable trimming
Refinement diffusion
Number of cells in gaps
Minimum cell size
Maximum cell size
Prevent refinement of exterior cells
Impose isotropic refinement near domain corners
Apply trimming by distance
Curve Refinement
Surface Refinement
Surface Selection
Using surfaces list
By picking
Rectangle Selection
Select Identical
Using Select button
Zoom In
Blank/Unblank
Invert Selection
Undo Selection
Different settings highlight
Surface Grouping
Active
Refinement
Adaptation Criteria
Distance criterion
Curvature criterion
Target cell sizes criterion
Combining refinement criteria
Advanced parameters
Aspect ratio
Curvature ref factor (R/C)
Anisotropic extent
Refinement diffusion
Box Refinement
Volume Box
Cylindrical Sector
Active
Adaptation box transformation
Parameters
Target Cell Sizes
Volumic refinement
Refinement Diffusion
Interaction Volume-Surface Criteria
Trimming Parameters
Best Practice
Using distance surface criterion
No cell in domain after trimming
6-7 Snap to geometry
Overview
HEXPRESS
6-13
6-14
6-14
6-14
6-14
6-14
6-15
6-16
6-16
6-16
6-16
6-17
6-17
6-18
6-19
6-19
6-20
6-20
6-20
6-20
6-21
6-21
6-21
6-21
6-21
6-22
6-22
6-22
6-23
6-23
6-24
6-25
6-26
6-26
6-26
6-26
6-27
6-28
6-28
6-29
6-29
6-29
6-30
6-30
6-31
6-31
6-31
6-31
6-32
6-33
6-33
6-33
6-33
6-33
ix
Contents
Advanced flags
Snap on surfaces
Capture corners
Capture curves
Projection on surfaces
Buffer insertion
Mesh smoothing
Partial Curve Snapping
Buffer Insertion
Best Practice
Which entity has not been snapped correctly?
How to locate them?
How to handle these issues?
6-8 Optimization
Overview
Advanced
Relaxing Geometry
Other Parameters
6-9 Viscous Layers
Overview
Global Menu
Global parameters
Fixed first layer thickness
Fixed stretching ratio
Control parameters
Fixed first layer thickness method
Variable first layer thickness method
Surface Settings
Surface Selection
Using surfaces list
By picking
Rectangle Selection
Enable/Disable
Select Identical
Zoom In
Invert Selection
Undo Selection
Different settings highlight
Surface Grouping
Active
Parameters
For fixed first layer thickness method
For variable first layer thickness method
Troubleshooting
CHAPTER 7: Python Scripts and Plugins
7-1 Overview
7-2 Project Commands
7-3 Viewing Commands
Camera position
7-4 Geometry Commands
Global Functions
CAD Commands
6-34
6-34
6-35
6-35
6-35
6-35
6-36
6-36
6-37
6-39
6-39
6-39
6-40
6-42
6-42
6-43
6-43
6-44
6-45
6-45
6-46
6-46
6-46
6-47
6-47
6-47
6-49
6-50
6-50
6-50
6-51
6-51
6-51
6-51
6-51
6-51
6-51
6-51
6-52
6-52
6-52
6-52
6-53
6-55
7-1
7-1
7-2
7-4
7-4
7-4
7-4
7-4
HEXPRESS
Contents
STL Commands
Box Class Commands
Member functions
BoxRTZ Class Commands
Domain Commands
CartesianPoint class
Curve Construction
Member functions
Internal Surface Commands
Member functions
Body Class
Member functions
BodyFace Class
Member functions
BodyEdge Class
Member functions
Domain Class
Member functions
7-5 Mesh Generation Commands
Global Functions
DomainFace Class
Member functions
DomainEdge Class
Member functions
DomainVertex Class
Member functions
SurfaceAdaptationGroup class
EdgeAdaptationGroup class
RefinementBox class
VLGroup class
FNMB class
7-6 Dialogue box creation
Classes
Variable class
Command class
DialogueBox class
Frame class
LabelFrame class
PanedWindow class
NoteBook class
Label class
Button class
CheckButton class
RadioButton class
Entry class
List class
ComboBox class
Additional commands for all widgets
Additional commands for container widgets
Example: Internal surface creation
APPENDIX A: File Format
A-1 What is STL?
A-2 .stl file format specification
Ascii file format
HEXPRESS
7-6
7-7
7-7
7-7
7-8
7-8
7-9
7-9
7-10
7-10
7-10
7-10
7-10
7-10
7-11
7-11
7-11
7-11
7-13
7-13
7-17
7-17
7-18
7-19
7-20
7-20
7-20
7-21
7-22
7-23
7-23
7-24
7-24
7-24
7-24
7-25
7-25
7-25
7-25
7-25
7-25
7-25
7-26
7-26
7-26
7-27
7-27
7-27
7-28
7-28
A-1
A-1
A-1
A-1
xi
Contents
xii
A-2
A-2
A-2
HEXPRESS
CHAPTER 1:
1-1
Getting Started
Overview
Welcome to the HEXPRESS Users Guide, a presentation of NUMECAs fully automatic hexahedral grid generator. This chapter presents the basic concepts of HEXPRESS and shows how to
get started with the program by describing:
what is HEXPRESS
how to use this guide,
how to start HEXPRESS.
1-2
Introduction
1-2.1
What is HEXPRESS
HEXPRESSis an automatic unstructured hexahedral mesh generator software designed to automatically generate meshes in complex 2D and 3D geometries.
HEXPRESS generates, following a top-down revolutionary approach, meshes only containing
hexahedral elements.
1-2.2
Features
The advanced unstructured code of HEXPRESS enables to create mesh for a large range of
industrial machines designed for internal, external or turbomachinery flow.
HEXPRESS features:
A direct interface to Parasolid models. HEXPRESScan automatically import Parasolid models involving solid bodies. The models can be visualized in wireframe and solid
modes. HEXPRESSprovides simple CAD manipulations functions:
HEXPRESS
1-1
Getting Started
Introduction
Create simple Box, Cylinder, Cone bodies and Planes.
Export a discretized computational domain to be meshed by HEXPRESSby converting an automatically triangulated solid bodies.
Importation of STL models. HEXPRESScan import triangulations in colored STL format. HEXPRESScreates, starting from STL files, an additional file storing a geometry
attribute for each triangle of the STL triangulation. The geometry attributes allow HEXPRESSto reconstruct topology information without the need of using sophisticated and
error prone feature detection algorithms. HEXPRESSoffers merging, splitting and deletion functions to manipulate and simplify triangulated models.
Mesh Wizard. HEXPRESS is organized around a very easy-to-use mesh wizard which
drives the user through the various steps of the meshing process:
Initial mesh
Adapt to geometry
Snap to geometry
Optimize
Viscous layers
Automation. HEXPRESS has been designed for automation. User interaction is essentially reduced at the strict minimum. User partly interacts with adaptation step by specifying
the criteria on surfaces driving the cell refinements.
Viscous layers. HEXPRESS proposes robust high aspect ratio cell layers insertion for
boundary layers resolution.
Export. HEXPRESScan export meshes in StarCD, Fluent, Nastran, CGNS and Samcef/
Bacon compliant file format.
Graphical User Interface. HEXPRESSinvolves a state-of-the-art graphical user interface with world class mesh visualization and project management functions.
1-2.3
Depending on the geometry complexity, the user should define the requested mesh type: structured
or unstructured. Structured meshes are to be preferred for reasons of accuracy in cases of aligned
flow even if their generation can sometimes be difficult and cumbersome. Unstructured meshes can
be easily generated independently of the geometrical complexity and owing to their nature generally tend to generate less points than in the structured case. For turbomachinery design, because of a
request of high accuracy, it is recommended to use AutoGrid5 which enables to provide structured meshes.
Users requiring an unstructured mesh may consider the use of the NUMECAs automatic hexahedral mesh generation software HEXPRESS.
1-2
HEXPRESS
Introduction
Getting Started
1-2.4
Approach
HEXPRESS is based on a top-down revolutionary approach. HEXPRESS involves five different steps for the meshing process.
1.
2.
Initial Mesh: HEXPRESSgenerates automatically an initial hexahedral mesh of the bounding box of the computational domain. The system computes an isotropic subdivision of the
domain with a minimum amount of cells.
Adapt to Geometry: HEXPRESS successively adapts the mesh by cell anisotropic subdivision until the cell sizes match some specific geometry criteria. The adaptation criteria are either
fully automated or depend on user specification:
HEXPRESS relies on surface criteria which automatically compute cell sizes to fill narrow gaps between surfaces with a sufficient amount of cells and refine cells locally close to
high geometry curvature regions. The user can also specify his own cell size requirements.
HEXPRESS also uses volume box refinement to refine cells in some volumes specified by
the user.
HEXPRESS
1-3
Getting Started
HEXPRESS removes all cells located outside the computational domain or intersecting
the geometry.
3.
4.
5.
Snap to Geometry: HEXPRESS projects the mesh on the geometry and recovers lower
dimensional geometry features by some very specific corner and curve capturing. The robustness and accuracy of these algorithms are unique to HEXPRESS
Optimize: HEXPRESS optimizes the mesh to ensure that all cells are convex and of high
quality. The optimization algorithms are unique to HEXPRESS
Viscous Layers: HEXPRESSinserts additional layers of high aspect ratio cells in the mesh
by further anisotropic cell subdivisions in order to generate a mesh suitable for resolving highly
sheared flows.
1-2.5
Project Management
To manage complete mesh generation, HEXPRESS integrates the concept of project. An HEXPRESS project involves template files and mesh files. The mesh files contains the multiblock
mesh topology, geometry and grid points and the boundary condition types:
These files can be loaded into the unstructured multiblock grid generation system HEXPRESS
and by the CFD integrated environment FINE/Open and FINE/Marine.
To generate again an HEXPRESS project, the ".dom", ".bcs" and ".igg" files are necessary. They
correspond to the template files.
The report file is saved at the end of the grid generation. If the new project has not yet been saved
before launching the 3D generation, no report file will be saved because the system is not able to
determine automatically the file location.
The quality report file is created by HEXPRESS after the optimization and viscous layers insertion. It stores some information about the project definition and the mesh quality criteria for the current mesh (see section 2-3.3.4 for more information).
1-3
1-3.1
Outline
1-4
HEXPRESS
Getting Started
At first time use of HEXPRESS it is recommended to read this first chapter carefully and certainly section 1-4 to section 1-6. Chapter 2 and Chapter 3 give a general overview of the HEXPRESS interface and the way to manage a project. Chapter 4 and Chapter 5 give information on
how to prepare a domain for the mesh generation. For every mesh generation, the input parameters
can be defined as described in the Chapter 6.
1-3.2
Conventions
Some conventions are used to ease information access throughout this guide:
A light bulb in the margin indicates a section with a description of expert parameters.
1-4
1-4.1
Basic Installation
First of all, HEXPRESS should be properly installed according to the installation note. The
installation note provided with the software should be read carefully and the following points are
specifically important:
Hardware and operating system requirements should be verified to see whether the chosen
machine is supported.
A license should be requested that allows for the use of HEXPRESS and the desired component and modules (see section 1-6 for all available licenses). The license should be installed
according to the described procedure in the installation note.
HEXPRESS
1-5
Getting Started
Each user willing to use HEXPRESS or any other NUMECA software must perform a user
configuration as described in the installation note.
When these points are checked the software can be started as described in the installation note or
section 1-5 of this users guide.
1-4.2
Log in as Administrator.
Launch regedit from the Start/Run menu.
Go to the HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International/Hexpress31_#
or HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International/FineOpen31_# or
HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International/FineMarine31_# register.
Modify or add (right-click & New/String Value) the DRIVER entry to either OPENGL or
MSW.
The selection will take effect at the next session.
1-5
In order to run HEXPRESS standalone version, the following command should be executed:
On UNIX and LINUX platforms type: hexpress -niversion 31_# <Enter> or hexpress31_#
<Enter>
In order to use HEXPRESS included in FINE/Marine or FINE/Open package, "31_#"
should be replaced by "marine31_#" or "open31_#".
1-6
HEXPRESS
Required Licenses
Getting Started
<NUMECA_INSTALLATION_DIRECTORY>\FineMarine31_#\bin\hexpress.exe <Enter>.
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in section 1-4.1.
And HEXPRESS (64bits) can be launched from a Dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\Hexpress31_#\bin64\hexpressx86_64.exe <Enter> or
<NUMECA_INSTALLATION_DIRECTORY>\FineOpen31_#\bin64\hexpressx86_64.exe <Enter> or
<NUMECA_INSTALLATION_DIRECTORY>\FineMarine31_#\bin64\hexpressx86_64.exe <Enter>.
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated in section 1-4.1.
1-6
Required Licenses
1-6.1
The standard license for HEXPRESS allows for the use of all basic features of HEXPRESS including:
1-6.2
Additional Licenses
Next to HEXPRESS other products are available and require separate licenses:
chinery applications,
FINE/Design 3D (3D inverse design) dedicated to design,
IGG (structured mesh generator),
AutoGrid5 (automatic structured mesh generator for turbomachinery),
HEXPRESS/Hybrid (unstructured mesh generator),
FINE/Open (unstructured mesh generator - solver - visualization software) dedicated to aerodynamics and turbomachinery applications,
FINE/Marine (unstructured mesh generator - solver - visualization software) dedicated to marine
applications.
HEXPRESS
1-7
Getting Started
1-8
Required Licenses
HEXPRESS
2-1
Overview
This section describes the appearance and use of the HEXPRESS Graphical User Interface
(GUI).
Interface
The HEXPRESS GUI is divided into several main components as shown in Figure 2.1.0-2:
Menu bar
Toolbar
HEXPRESS
2-1
User Interface
Graphics Area
Message area
Keyboard input area
Control Area
Viewing buttons
Information area
GUI
The following sections describe these components as well as one additional important features:
keyboard shortcuts.
2-2
The welcome dialog box (Figure 2.2.0-1) is displayed at start-up or when the Project/New menu is
selected or when the Toolbar/New button (
user:
Import a valid computational domain, i.e. a file with extension ".dom". Please refer to section on page 4-3.
Import a ".dat" file. Please refer to section 2-3.1.5 on page 2-8 for more details.
2-2
HEXPRESS
Menu Bar
User Interface
Import a Stereo Lithography Triangulation (STL), i.e. a file with extension ".stl". Please
refer to section 4-3 on page 4-20.
Import a CAD model in Parasolid format, i.e. a file with extension ".xt" or ".xt_txt".
Please refer to section 4-2 on page 4-4.
2-3
Menu Bar
The menu bar contains several menus which can be activated using mouse click and drag or mouse
click and release modes.
This section describes all available menus:
HEXPRESS
Project,
Internal Surface,
Grid,
View,
STL,
Tools,
Plugins.
2-3
User Interface
2-3.1
Menu Bar
Project Menu
2-3.1.1 Project/New
Project/New closes the current project and opens up the HEXPRESSwelcome dialog box. The
old project is not automatically saved before being closed. Therefore, be sure that the current work
is saved before using this option. All system parameters are reset to their default values and a new
3D project is initialized. All curves and surfaces are removed from the working memory.
2-3.1.2 Project/Open
Project/Open is used to open an existing project, previously created by HEXPRESS. A file
chooser window (Figure 2.3.1-1) is opened to enable selection of an existing HEXPRESS project
file with an ".igg" extension.
Upon selection of a valid project, HEXPRESS closes the current project and opens the new one.
The old project is not automatically saved before being closed. Therefore, be sure that the current
work is saved before this option is used.
An unstructured project from HEXPRESS/Hybrid or a multiblock structured project from IGG
or AutoGrid5 can also be loaded into HEXPRESS.
2-4
HEXPRESS
Menu Bar
User Interface
User is also allowed to convert the structured mesh with the desired multigrid level through mesh
converter dialog box. If the option Keep finest grid only is activated, it saves the project by keeping the finest grid only.
The user is then requested to specify a new project name for the converted project. The converter
defines a new HEXPRESS computational domain by triangulating the surfaces of the quadrilateral multiblock grid. Boundary conditions are exported into the new HEXPRESS project. All
blocks connected by matching mesh faces (CON boundary condition) are concatenated to define
single computational domain.
When the multiblock structured project from IGG contains a butterfly mesh, it has
to be split inside IGG before loading into HEXPRESS.
When the structured project from IGG or AutoGrid5 contains undefined patches
(UND), they have to be changed in another type (for example CON if at the connection
between blocks) before loading into HEXPRESS otherwise the concerned patches will
be considered as an internal surface in the converted mesh.
HEXPRESS
2-5
User Interface
Menu Bar
The converter defines a new HEXPRESS computational domain by triangulating the surfaces of
the quadrilateral multiblock grid. Boundary conditions are exported into the new HEXPRESS
project. The inlet (INL) and outlet (OUT) patches will be converted automatically into external
(EXT) patches. In case some rotor-stator connections (ROT) are found in the project, a warning as
shown in Figure 2.3.1-6 is issued. These connections will be converted into simple FNMB connections (SOL*).
2-3.1.3 Project/Save
Project/Save saves the current project. When saving for the first time, a new file name must be
specified, through a file chooser, by the user with the extension ".igg". The saving procedure writes
information in the following files:
2-6
HEXPRESS
Menu Bar
User Interface
files
Thanks to the files stored in the folder called "cache", the user can come back to whichever intermediate step without starting the mesh generation again from the beginning:
"project_name_step.hex" (or ".hxp"): grid points file (CGNS format) after a step between init,
adapt, snap or regularize corresponding to Initial, Adaptation, Snapping and Optimization step
respectively.
"project_name_step.fnmb": FNMB connections file after a step between init, adapt, snap or
regularize corresponding to Initial, Adaptation, Snapping and Optimization step respectively.
The files stored in the "cache" folder can be removed when the project is over and they
are not needed to generate the mesh again. To remove them, please read chapter 2-3.1.7.
HEXPRESS
2-7
User Interface
Menu Bar
/ Save as...
2-3.1.5 Project/Import...
Following files can be imported:
a) Project/Import.../Project
Project/Import.../Project reads an external mesh file ".igg". Several mesh files can be opened.
This enables multiblock computations within FINE/Open or FINE/Marine.
b) Project/Import.../Domain
Project/Import.../Domain reads an external geometry domain file ".dom". Several domains files
can be opened. This enables multiblock computations within FINE/Open or FINE/Marine.
c) Project/Import.../.dat
Project/Import.../.dat reads external geometry files in ".dat" format. 2D domain creation is possible by importing the ".dat" file containing complete curve definitions of the 2D geometry or only
wire curves.
Upon importing the file, HEXPRESS switches to 2D mode automatically. The imported curves
will be put in XY view and adjusted to full view. In the CAD Manipulation subpanel (Figure 2.3.19), the user has the possibility to create polylines, csplines and arcs. With these options, it is possible to create a closed contour or bounding box from the imported wire curves.
FIGURE 2.3.1-9 2D
As soon as a closed contour is formed, by clicking on the Create 2D Domain button, the dialog box
shown in Figure 2.3.1-10 appears for the user to specify the domain size in Z direction. Upon clicking on the Create button, the domain can be saved as ".dom" file under user-defined name
2-8
HEXPRESS
Menu Bar
User Interface
The file format must be correct. Otherwise, HEXPRESS issues an error message
like "invalid file format or corrupted file!".
Curves in the file should form a closed contour without gaps or self intersections at the
stage of domain creation. This contour should be placed on one of the three Cartesian
planes. The maximum valid gap size between two adjacent curves is 0.5% of the size of
the smallest curve. If this restriction is not satisfied, HEXPRESS issues an error message.
The height of the 2D domain is positive always. Its minimum value is 10e-4.
The ".dat" file should have the following format:
d) Project/Import.../Parasolid
Project/Import.../Parasolid reads external geometry files in Parasolid format ".x_t". Several
Parasolid files (Parasolid and CATIA v5) can be opened when defining the geometry before
the domain creation. Versions up to 26.0 are supported.
2D domain creation is also possible by importing the Parasolid file containing only wire entities.
Upon importing the file, HEXPRESS switches to 2D mode automatically. The imported curves
will be put in XY view and adjusted to full view.
The user has the possibility to create polylines, csplines and arcs in the CAD Manipulation subpanel (Figure 2.3.1-9). With these options, it is possible to create a closed contour or bounding box
from the imported wire entities.
HEXPRESS
2-9
User Interface
Menu Bar
Upon clicking the Create 2D Domain button, a dialog box shown in Figure 2.3.1-11 appears. The
default value for each discretization parameter is computed automatically by HEXPRESS. However, the discretization resolution of the domain can be modified by the user.
Maximum length: the maximum edge length of the triangulation facets. The smaller the value,
the denser the discretization.
Curve chordal tolerance: the maximum distance between a curve and the corresponding triangulation edges. The smaller the value, the denser the discretization.
Curve resolution: the maximum angle (in degrees) between a curve and the triangulation edges.
The values may range from 1.0 to 30. The smaller the value the denser the discretization.
By clicking on the Apply button, the discretization of the selected geometry with the values specified for each parameter is updated in the graphics area. By clicking on the Default button, the value
for the associated parameter will be reset to the default one.
It is also possible for the user to modify the domain size in Z direction for 2D domain creation.
Upon clicking on the Create button, the domain can be saved as ".dom" file under user-defined
name.
The discretization parameters are positive always. If the value specified is zero, it
means no limitation is imposed on this parameter.
The limitations mentioned for ".dat" file import apply for Parasolid import. See section c) on page 2-8.
e) Project/Import.../STL triangulation
Project/Import.../STL triangulation reads external geometry files in STL format ".stl". Several
STL files can be opened when defining the geometry before the domain creation.
2-10
HEXPRESS
Menu Bar
User Interface
g) Project/Import.../ANSYS mesh
Project/Import.../ANSYS mesh reads external mesh files in ANSYS format ".cdb" v8.0.
h) Project/Import.../CGNS mesh
Project/Import.../CGNS mesh reads unstructured 3D mesh stored in a CGNS format and converts
it to its native mesh format. The input mesh is not necessary pure hexahedral, i.e. it might contain
tetrahedron, prism, pyramid cells and can contain hanging nodes.
When converting the mesh, the boundary conditions will be recovered and corresponding HEXPRESS boundary conditions will be set. In addition for pure hexahedral input meshes, the optimization and the viscous layer insertion can be performed in HEXPRESS on these meshes.
The option does not import CGNS mesh including multiple blocks. It only imports
single block mesh.
i) Project/Import.../HEXPRESS/Hybrid mesh
Project/Import.../HEXPRESS/Hybrid mesh allows to read unstructured volume meshes created
by HEXPRESS/Hybrid and saved in HEX format.
2-3.1.6 Project/Export
a) Project/Export.../StarCD
The StarCD export functionality is available to the user via menu Project/Export.../StarCD. Four
files are saved in the directory and with the project name specified by the user through a file
chooser:
project_name.bnd contains the list of boundary faces with boundary condition information
HEXPRESS
2-11
User Interface
Menu Bar
The file "project_name.cel" stores the connectivity between the cells and the nodes.
Figure 2.3.1-13 presents the connectivity of the NUMECA and StarCD hexahedron cell.
HEXPRESS hexahedra
The connectivity file is written using the following FORTRAN ASCII format:
I9 6X 9I9 1X I4
Cell number, eight vertices, cell type number, cell key
where:
cell type number is the region of the cell. HEXPRESS currently outputs all cells in the
same region with index 1.
Fluid cell
Solid cell
Baffle
Shell
Line
Point
All cells currently exported by HEXPRESS are fluid cells (cell key is equal to 1).
The file "project_name.vrt" stores the nodes coordinates which are exported with the following
FORTRAN format:
I9 6X 3G16.9
Vertex number, three coordinates
The file "project_name.bnd" stores the list of boundary facets. A boundary in StarCD is a mesh
facet connected to a geometry surface. Boundaries are grouped in regions. Boundary mesh facets are exported with the following FORTRAN format statement:
I8 6X 4I9 2I7 A
Boundary number, four vertices, region number, patch number, region type, (characters)
where:
The region number corresponds to the ID of a topological face of the HEXPRESScomputational domain.
2-12
HEXPRESS
Menu Bar
User Interface
The region type defines the type of boundary condition. HEXPRESS exports the following StarCD boundary condition:
INLE: inlet
OUTL: outlet
WALL: wall
The cell to cell connection referred to as couple in StarCD defines the transition between
coarse and fine mesh cells with hanging nodes. A couple allows the faces of several (small) cell
slaves to be connected to one master (large face). Couples are exported with the following FORTRAN format in the file "project_name.cpl":
I8 1X I5 1X I8/7(I9,I2)
Couple number, number of cells, type of coupling, CELL1, FACE1, CELL2, FACE2....
where:
b) Project/Export.../Fluent
This Fluent export functionality is available to the user via menu Project/Export.../Fluent. An
ASCII file is saved in the directory and with the project name specified by the user as
"project_name.msh". The format of this exportation complies with Fluent 6.3.
A Fluent mesh file contains certain partitions of information called zones. Each zone is a separate
block that contains information about objects of one type: faces, cells, nodes, hierarchy tree, comments, etc. Each zone must be enclosed in parentheses.
The content of a zone depends on the particular type of the zone. Each zone has an ID needed for
successful referencing the information stored in the zone. Each zone has a header including general
information related to the zone: initial and final indices of the elements described in the zone, comment text, etc. This header must be enclosed in parentheses as well. The header of a zone of a certain type must be followed by the zone body. It includes detailed information about the mesh
objects described in the zone. The body must be enclosed in parentheses. Zones may be either
optional or required (zones 0, 1 and 2 are optional, all other zones are required). Below is a short
description of the zone types that are used for exportation by HEXPRESS
TABLE 1. Fluent
HEXPRESS
Index
Name
Description
Comment
Header
Dimensions
10
Nodes
12
Cells
2-13
User Interface
Menu Bar
TABLE 1. Fluent
Index
Name
Description
13
Faces
59
Face tree
Remarks:
1.
2.
3.
The mesh generation strategy of Fluent is essentially conformal. Non-conformity is the result of mesh
adaptation by the Fluent flow solver. HEXPRESS exports only leaf cells1 on finest level to the Fluent file, because the cell hierarchy supported in HEXPRESS cannot be correctly described in terms
of the Fluent mesh file format. Face hierarchy is preserved only partially. As only leaf cells are
exported, only their faces must be exported in order to preserve consistency between cells and faces
(only faces or nodes referenced by leaf cells must be exported). Thus, the face hierarchy is preserved
for exported faces only: if one leaf cell references a face and another one references its child face
(generated face), then the parent-child dependency is exported to a Fluent file.
Fluent mesh generator does not officially support anisotropic refinement. HEXPRESS, on the contrary, is able to generate fully or partially anisotropic meshes. Fluent flow solver however accepts
meshes that contain anisotropicity and behaves properly during computations. However, it is not recommended to perform a mesh check (via Fluents menu Grid/Check) because it will result in multiple warnings reporting incorrect number of child faces encountered in zones with index 59.
As ASCII mode is used to export file into FLUENT format, the floating point values such as coordinates of mesh nodes should be written in a fixed format with a certain fixed number of digits after
decimal point. The current version supports exportation with 12 digits, unlike version 1.1 where only
6 digits were written.
The table below lists the dependency between Fluent and HEXPRESS boundary condition types. Any
of the Fluent boundary conditions is applied by selecting the appropriate boundary condition type of
HEXPRESS. The correspondence is not unique because of the large number of boundary conditions
available in Fluent. Moreover, groups and set up of boundary conditions are also exported to Fluent.
HEXPRESS type
Fluent type ID
EXT
pressure-far-field
INL
10
velocity-inlet
OUT
36
outflow
MIR
symmetry
PER
12 or 8
periodic or periodic-shadow
SOL
wall
ROT
4 or 5 (or 3)
When
periodic (PER) boundary conditions are set into HEXPRESS and the mesh
exported to Fluent, there is an access violation error when building the grid. The workaround is
to switch PER to mirror (MIR) boundary condition, then export and rework in Fluent.
2-14
HEXPRESS
Menu Bar
User Interface
The FNMB concept does not exist in Fluent. FNMB created in HEXPRESS are
thus ignored.
Fluent may present poor results at the periodic boundary conditions but its get better
the finer (better resolution) the mesh is at the periodic connection.
The quality of all HEXPRESS mesh files exported to Fluent (with suffix) ".msh"
cannot be checked in T-GRID. Nevertheless, the check is possible directly in Fluent: /
Grid/Check.
Files with suffix ".msh" must be imported in Fluent 6.0 (or more) rather than simply opened like in
Fluent 5.3 and 5.4.
Fluent 6.0 then automatically performs checks on the imported mesh and typically displays a set of
warnings referring to the presence of anisotropic subdivisions in the mesh as explained in the above
mentioned remark. These warnings are indicative and have not been reported to hinder the convergence or the accuracy of the simulation.
c) Project/Export.../Samcef-Bacon
HEXPRESS exports conformal hexahedral meshes in the Samcef/Bacon ASCII mesh file format.
This option is available to the user via menu Project/Export.../Samcef-Bacon. An ASCII file is
exported in the user-defined directory and denoted "project_name.bacon".
HEXPRESS
Samcef/Bacon
This file format is only compatible with fully conformal meshes (mesh presenting no hanging nodes
- see Figure 2.3.1-12).
HEXPRESS
2-15
User Interface
Menu Bar
d) Project/Export.../CGNS
The menu Project/Export/CGNS offers the possibility to export meshes generated by HEXPRESS in standard CGNS format. The CGNS file will contain coordinates of mesh vertices, cell
connectivity, parent-child information of mesh faces and edges, boundary faces connectivity and
boundary conditions.
The CFD General Notation System (CGNS) provides a general, portable, and extensible standard
for the storage and retrieval of computational fluid dynamics (CFD) analysis data. It consists of a
collection of conventions, and free and open software implementing those conventions.
The CGNS system is designed to facilitate the exchange of data between sites and applications, and
to help stabilize the archiving of aerodynamic data. The data are stored in a compact, binary format
and are accessible through a complete and extensible library of functions.
The finest mesh for all domains will be exported and the following data will be stored in the file:
Coordinates of nodes
Connectivity of cells
Connectivity of cell faces on the boundary (surface mesh)
Boundary conditions
Cell connectivity
The cell connectivity is stored under the node Elements_t. All the cells generated by HEXPRESS are hexahedral, with no internal vertex, so the CGNS cell type HEXA_8 has been chosen to define them. Moreover the cell connectivity definition in HEXPRESS differs from the
CGNS definition:
2-16
HEXPRESS
Menu Bar
User Interface
So there are as many additional Elements_t nodes as topological surfaces. Each of these additional nodes lists the corresponding faces as elements, which CGNS type is QUAD_4.
Boundary conditions
The boundary conditions are stored under the node BC_t. The name of this node is the name of
the BCData.
The boundary conditions can be applied either on nodes, either on boundary faces. Here, each
boundary condition is defined by a list of boundary elements. The lists have been defined previously in the Face cell connectivity on the boundary section.
The boundary condition type is set for each boundary element. Here is the correspondence between
CGNS and HEXPRESS boundary condition types:
TABLE 3. CGNS/HEXPRESS
correspondence
CGNS designation
HEXPRESSdesignation
BCExtrapolate
EXTERNAL
BCInflow
INLET
BCSymmetryPlane
MIRROR
BCOutflow
OUTLET
BCWall
SOLID
e) Project/Export.../NASTRAN
HEXPRESScan export mesh files to NASTRAN format (".bdf") in single or double precision
(the choice is asked during exportation). The selection between single and double precision is done
after clicking on Nastran menu.
f) Project/Export.../OpenFOAM
The mesh is converted into polymesh representation accepted by OpenFOAM1. The latter is based
around faces. Internal cells connect 2 cells. Boundary faces address a cell and a boundary patch.
Each face is assigned an owner cell and neighbour cell so that the connectivity across a given
face can simply be described by the owner and neighbour cell labels. In the case of boundaries, the
1. [1] OpenFOAM , User Guide , Version 1.6 , 2009 and [2] OpenFOAM , Programmers Guide, Version 1.6 ,
2009.
HEXPRESS
2-17
User Interface
Menu Bar
connected cell is the owner and the neighbour is assigned the label -1. The I/O specification consists of the following files:
1) points a list of vectors describing the cell vertices, where the first vector in the list represents vertex 0, the second vector represents vertex 1, etc.;
2) faces a list of faces, each face being a list of indices to vertices in the points list, where, the first
entry in the list represents face 0, etc.;
3) owner a list of owner cell labels, the index of entry relating directly to the index of the face, so
that the first entry in the list is the owner label for face 0, the second entry is the owner label for face
1, etc;
4) neighbour a list of neighbour cell labels;
5) boundary a list of patches, containing a dictionary entry for each patch, declared using the patch
name.
To know how many cells are in their domain, there is a note in the FoamFile header of the owner
file that contains an entry for nCells.
g) Project/Export.../CEDRE
HEXPRESS can export mesh files to CEDRE format (".dat" and "_bcs.dat"). The file is composed by five sections including generality, node coordinates, connectivity: faces to nodes, connectivity: face to cells and marked faces (for boundary conditions).
2-3.1.8 Project/Script...
Actions executed by the user through the HEXPRESS interface are recorded in a Python-like
script giving added flexibility for automation of geometry creation and mesh generation.
2-18
HEXPRESS
Menu Bar
User Interface
Project/Script.../Edit... opens a dialog box displaying all the commands performed by the user
since the beginning of its session. The user can easily edit this script (add, remove and modify commands). The dialog box contains two pull-down menus. File menu allows to open a script in a separate dialog box and to save the script in a file. Run menu allows to run the script shown in the
window under the current session ("Rerun on top").
Recording
Project/Script.../Save All... is used to save the dynamic recording of all commands performed by
the user since the beginning of its session.
Project/Script.../Execute... is used to run a python script file containing HEXPRESS commands. A file chooser is opened to select a file with a ".py" extension. Upon selection of a valid file,
the script is executed in the current session and the result is visualized in the graphical window.
Depending on the content of the script, operations will be added to the current project or a new
project will be automatically opened before operations are performed (the previous project is
closed). If the script being run contains a syntactical error it will be aborted and a message will
appear in the shell.
Project/Script.../Re-execute Last can be used to rerun the last script that was run using the
Project/Script.../Execute... command. This option is most useful when writing own scripts manually to rapidly test it on the fly.
2-3.1.10 Project/Preferences...
Graphic tab gives choices for the graphics driver.
Only drivers (X11 and/or OPEN_GL) usable on the platform are present.
On Windows platform, this thumbnail is not available.
HEXPRESS
2-19
User Interface
Menu Bar
/ Preferences... - Graphics
Mesh generation tab allows expert users to modify the memory allocation and the preference for
multigrid level.
Chunksize. The default memory value is set to 40,000 (no units) and usually is unchanged. It
specifies the amount of memory to reserve (pre-allocation) before complex object initialization.
If this amount of memory is too small, the memory will be over-fragmented, and we can reach a
bottleneck. At the contrary, if it is too large, there won't be memory limitation, but the software
will be slower. There is no specific recommendation about the value to set, it depends on the
size of the generated mesh.
Suggestion: increase the chunksize by 150,000 until the software can allocate all the
necessary memory. For information, the chunksize has been set to 700,000 to allocate 3.5
Gb on a SGI platform.
The parameter Keep finest grid only saves the project by keeping the finest grid only.
2-20
HEXPRESS
Menu Bar
User Interface
Loading tab allows users to choose if they want to load the mesh when opening the project or not.
/ Preferences... - Loading
By default this parameter is not activated, i.e. mesh will not be loaded. The mesh will be loaded
automatically when actions requiring manipulations of mesh are activated. For instances:
If a mesh generation step of one block is done/undone (e.g. executing a mesh generation step
or deleting the previous step), the whole mesh will be reloaded first. This is mandatory since
when saving the project, the whole .hex file containing the mesh of each block, needs to be
rewritten.
The message shown in Figure 2.3.1-20 appears at bottom left of the GUI when a project is loaded
in HEXPRESS.
When executing python scripts or opening a project in batch mode, the mesh is always
loaded.
HEXPRESS
2-21
User Interface
Menu Bar
2-3.1.11 Project/Quit
Project/Quit ends the interactive session. A dialog box opens up to confirm the end of the session.
Please notice that the current work is not automatically saved when exiting HEXPRESS.
Internal Surface
Basic geometrical operations are available in HEXPRESS, with the objective to create/edit/delete
internal surfaces and allow subsequent local mesh refinement nearby these surfaces during the
adaptation step (see chapter 6). These operations are not dedicated to geometry creation and thus,
we suggest using CAD software. The options proposed are identical to the ones available in IGG
and can be reached within the menu Internal Surface and the Quick Access Pad/Internal Surface
access.
a) Edit->Copy
Internal Surface/Edit /Copy is used to create new curves and surfaces by cloning the selected
geometry curves and surfaces.
After the cloning, new entities can be transformed directly through this tool:
Translation(t), Rotation(r), Scale(s), Mirror(m), None(q)
To perform a simple copy, enter <q> and press <Enter>. Other operations are strictly equivalent to
the corresponding ones of the Edit menu.
After the cloning, all currently selected geometry entities are unselected and the new created entities are selected. This allows to perform other editing operations on these entities without having to
manually select them.
b) Edit->Translate
Internal Surface/Edit /Translate is used to translate all the selected geometry entities (curves and
surfaces) along a user-defined vector. The following prompt is given to specify the translation vector:
Translation vector (q)
>> 1 1 1
2-22
HEXPRESS
Menu Bar
User Interface
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely translated, since it
would implicitly change the definition of the surface. To translate such a curve a copy must first be
made (see 22. The copy can then be freely translated.
To quit this option, enter <q> and press <Enter>.
c) Edit->Rotate
Internal Surface/Edit /Rotate is used to rotate all the selected geometry entities (curves and surfaces) around a user-defined line. The following prompts are given to specify the rotation line:
Rotation axis vector (q)
>> 0 0 1
Rotation axis origin (q)
>> 0 0 0
Rotation angle (degree) (q)
>> 90
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely rotated, since it
would implicitly change the definition of the surface. To rotate such a curve a copy must first be
made (see 22. The copy can then be freely rotated.
To quit this option, enter <q> and press <Enter>.
d) Edit->Scale
Internal Surface/Edit /Scale is used to scale all the selected geometry entities (curves and surfaces) with a user-defined scale factor. The following prompt is given to specify the scaling factor
in the three directions:
Scale factor (x y z) (q)
>> 1 1 1
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely scaled, since it would
implicitly change the definition of the surface. To scale such a curve a copy must first be made (see
22. The copy can then be freely scaled.
To quit this option, enter <q> and press <Enter>.
e) Edit->Mirror
Internal Surface/Edit /Mirror is used to mirror all the selected geometry entities (curves and surfaces) according to a mirror plane. The following prompts are given to specify the mirror plane:
Mirror Plane Normal (q) ?
>> 0 0 1
Mirror Plane Origin (q) ?
>> 0 0 0
A curve used in the definition of a surface (i.e. lofting curve) cannot be freely mirrored, since it
would implicitly change the definition of the surface. To mirror such a curve a copy must first be
made (see 22. The copy can then be freely mirrored.
To quit this option, enter <q> and press <Enter>.
HEXPRESS
2-23
User Interface
Menu Bar
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.
Modification of tangents is only possible for cspline curves. In this case, select the
tangent to be modified with the left mouse button and move the cursor to indicate the
new tangent direction. The new direction of the tangent can be entered from the key-
2-24
HEXPRESS
Menu Bar
User Interface
board by typing the new coordinates x y z in the graphics area and pressing <Enter>.
Attraction is also available by still pressing <a>.
e) Modify Curve->Discretization
Internal Surface/Modify Curve/Discretization allows the user to change the number of points
used to discretize the curve. These points are used to draw the curve on the screen. This command
applies to all the selected curves.
The following prompt is given to enter the number of intermediate points between two consecutive
control points of the curve:
Number of discretization points between control points (q) ?
>> 10
Enter <q> and press <Enter> to quit this command.
f) Modify Curve->Divide
Internal Surface/Modify Curve/Divide allows the user to divide a selected curve. After the division the old curve is removed from the geometry repository and two new curves (bsplines) are created. The following prompt is given when activating the option:
Select the division point (a = attraction, q = quit) a:On
The division point is displayed as marker (cross surrounded by a circle) and can be specified by
selecting a point with the mouse within the limits of the curve or it can be entered with the keyboard.
It is possible to attract the division point to edges grid points by enabling the attraction mode.
Attraction to points is activated or deactivated by pressing <a> within the graphics area.
To quit this command, press <q> or the right mouse button.
HEXPRESS
2-25
User Interface
Menu Bar
The current name of a curve can be at any time known by activating the curve selection option
(<s>) and by moving the mouse on top of the curve. The curve name will appear in the information
area.
a) Select->Cartesian Points
Internal Surface/Select/Cartesian Points allows the user to select or unselect one or more visible
Cartesian points with the mouse. When selected, the Cartesian points appear highlighted in blue
(default) else they appear in white. The following prompt appears when selecting this option:
Select Cartesian Point(s) (a = all, q = quit)
Subsequent operations are done with the mouse in the graphics area:
It is possible to select or unselect all points at once by pressing <a> in the graphics
area. The first time <a> is pressed all the points are unselected. The next time, <a> acts
as a toggle.
b) Select->Curves
Internal Surface/Select/Curves allows the user to select or unselect one or more visible curves
with the mouse for subsequent operations in geometry modelling or grid generation. When selected,
the curves appear highlighted in yellow (default). The following prompt appears when selecting
this option:
<1> Select curve(s), <1 Drag> Area selection, <3> quit, (a = all)
<1> corresponds to left mouse button, <2> to middle mouse button, <3> to right
mouse button.
Subsequent operations are done with the mouse in the graphics area:
2-26
HEXPRESS
Menu Bar
User Interface
It is possible to select or unselect all curves at once by pressing <a> in the graphics
area. The first time <a> is pressed all the curves are unselected. The next time, <a> acts
as a toggle.
During the selection, the information area is used to display information about the current curve.
Typical information is: curve name, arc length of the discretization curve,...
c) Select->Surfaces
Internal Surface/Select/Surfaces allows the user to select or unselect one or more visible surfaces
with the mouse for subsequent operations in geometry modelling (i.e surf-surf intersection) or grid
generation (i.e face grid generation). When selected, the boundary curves of the selected surfaces
appear highlighted in red (default) else they appear in blue.
Surface selection is possible by simple positioning of the mouse over the surface. When several surfaces are stacked on top of each other, HEXPRESS provides a way to sweep through the surfaces
before selecting the desired one.
The following prompt appears when selecting this option:
<1> Select surface(s), <Ctr-1> Select more, <Ctr-a> Select/Unselect all
<1> corresponds to left mouse button, <2> to middle mouse button, <3> to right
mouse button.
Subsequent operations are done with the mouse in the graphics area:
Move the mouse to a surface to select (unselect). The surface is ready for selection (unselection) when it becomes highlighted.
Left-click to select (or unselect) the surface. The surface changes its highlight to reflect its
new selection status.
It is possible to select or unselect all surfaces at once by pressing <Ctrl> + <a> in the
graphics area. The first time <Ctrl> + <a> is pressed all the surfaces are unselected. The
next time, <Ctrl> + <a> acts as a toggle.
During the selection, the information area is used to display information about the current surface,
such as its name.
HEXPRESS
2-27
User Interface
Menu Bar
a) View->Points
Internal Surface/View/Points allows the user to choose which Cartesian points are displayed. A
point chooser (Figure 2.3.2-2), showing all the points in the geometry repository, is opened to select
the points. The visible points are highlighted. To make one or more points visible, select them with
the left mouse button in the chooser, then press Apply. The points are automatically displayed in the
graphics area.
chooser
The <Ctrl> key is used in combination with the left mouse button to select several points in the
chooser.
The <Shift> key is used in combination with the left mouse button to select a range of points in the
chooser. A range of points 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 points by their name.
b) View->Curves
Internal Surface/View/Curves allows the user to choose which curves are displayed. A curve
chooser (Figure 2.3.2-2), 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
left mouse button in the chooser, then press Apply. The curves are automatically displayed in the
graphics area.
2-28
HEXPRESS
Menu Bar
User Interface
chooser
The <Ctrl> key is used in combination with the left mouse button to select several curves in the
chooser.
The <Shift> key is used in combination with the left mouse button to select a range of curves in the
chooser. A range of curves can also be selected by pressing the left button, dragging the mouse and
releasing the left button.
A filter, using regular expression search, is provided to select or unselect curves by their name.
c) View->Surfaces
Internal Surface/View/Surfaces allows the user to choose which surfaces are displayed. A surface
chooser (Figure 2.3.2-3), showing all the surfaces in the geometry repository, is opened to select the
surfaces. The visible surfaces are highlighted. To make one or more surfaces visible, select them
with the left mouse button in the chooser, then press Apply. The wireframe of the surfaces are automatically displayed in the graphics area.
HEXPRESS
2-29
User Interface
Menu Bar
chooser
The <Ctrl> key is used in combination with the mouse to select several surfaces in the chooser.
The <Shift> key is used in combination with the mouse to select a range of surfaces in the chooser.
A range of surfaces can also be selected by pressing the left button, dragging the mouse and releasing the left button.
A filter, using regular expression search, is provided to select or unselect surfaces by their name.
g) View->Control Points
Internal Surface/View/Control Points acts as a toggle to show or hide the control points of all
selected curves.
h) View->Curve Orientation
Internal Surface/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.
2-30
HEXPRESS
Menu Bar
User Interface
Grid Menu
2-3.3.1 Grid/Periodicity...
Mesh periodicity can be applied separately to each domain (block), through access to the Grid/
Periodicity... dialog box.
A first window proposes to manage all the mesh periodicities
HEXPRESS
2-31
User Interface
Menu Bar
Propagate: allows to apply the same settings from the selected block to all the other ones.
In the Periodicity - Edition dialog box (Figure 2.3.3-2), the following inputs can be specified:
Periodicity name - The user can change the name of the mesh periodicity.
Periodicity types - Periodicity can be specified through rotation, translation and mirror conditions.
Rotation: domains are rotated by a specified angle around a selected axis (Figure 2.3.3-3).
The rotation axis is defined by the rotation axis direction (axis) and the anchor point (origin).
The number of repetitions is defined indirectly by imposing the number of periodicities for
the domain considered (i.e. a compressor including 36 blades passages should have a
number of periodicities of 36).
2-32
HEXPRESS
Menu Bar
User Interface
Mirror: domains can be mirrored with respect to a mirror plane, defined by an origin and the
axis (normal to that plane).
The Apply button accepts and apply the current settings to the specified domain(s) while the Clear
button resets all parameters to default values.
Periodic boundary conditions at the domain faces can either be matching (PER) or full non-matching (FNMB). The matching PER connections can be automatically found by using the "Search Periodic BC" button shown in Figure 2.3.3-6. Non matching connections (NMB), Periodic matching
connections (PER) and Periodic non matching connections (PERNM) can be preserved from
IGG or AutoGrid5 meshes.
HEXPRESS
2-33
User Interface
Menu Bar
retrieved for the mesh entities. When invoking the menu item or pressing the icon
in the icon
Boundary conditions menu allows to define the type of boundary condition imposed on a patch or
a group of patches. The type of boundary condition for a patch can influence the mesh generation
process. For instance, a box from the Box adaptation will refine only Solid surfaces (SOL). The
other menu influenced by this choice is the Viscous layers menu: it will only list patches flagged as
Solid (SOL). In any case, they are mandatory for the flow solvers and should be correctly defined.
a) Face selection
The boundary condition settings dialog box lists all the faces of the domain, according to the current Name, Type or Block filters. A face can be selected by left-clicking in the face browser or interactively in the graphics area. This face is then automatically visualized in the graphics area. It is
possible to select several faces at once in the following ways:
1.
2.
3.
4.
5.
While holding the <Ctrl> key down, select the desired faces in the browser.
While holding the <Shift> key down, select two faces delimitating a range of faces.
While pressing the left mouse button, drag the mouse and release the left button to select a range
of faces.
Pressing <Ctrl> + <a> keys down will select all patches.
Interactively in the graphics area depending of the selection options (shortcut <o>):
2-34
HEXPRESS
Menu Bar
User Interface
Draw a rectangle in the graphics area to select all surfaces which are completely or partly
inside the rectangle. For this purpose, hold <Ctrl> key and drag the mouse with the leftclick.
6.
Clicking on Select button and move mouse and left-click in the popup menu to select the type of
face selection.
Select All Blanked allows to select all blanked faces in the graphics area.
Select Face By Area allows to select all the faces with an area in the range specified by the
user.
Select Face By Name allows to select all the faces whose name match the input name. A
dialog box is provided to input the name. The name can be a regular expression (i.e. if the
input is "channel*" all the faces whose name begins with channel will be selected)
Select Geometrically Similar Faces allows to select all the faces with an area and a perimeter (under a tolerance of 0.03) identical to the selected face in the list.
Select Tangent Faces allows to select all the faces tangent to each other (neighbouring
faces presenting an angle above the specified angle), starting from the list of selected faces.
HEXPRESS
2-35
User Interface
Menu Bar
By right-clicking on a face or a group of faces in the menu or in the graphics area, a popup menu
allows to:
The shortcut <h> in the graphics area will display hints. There are information about mouse button
bindings and shortcuts.
b) Filters
The different filters allow the display of specific faces in the browser while hiding the other faces.
The Name filter displays faces by name. Enter or choose an expression and all faces whose name
contains this expression will be listed.
The Type filter lists all faces of a given type (e.g. SOL, INL, OUT, MIR, EXT, NMB, PER, PERNM
etc).
The Block filter lists all faces of a given block (interesting for multi-domain project).
A multiblock structured project from IGG or AutoGrid5 can also be loaded into
HEXPRESS. In this case, full matching (CON) are concatenated to define a single
computational domain.
HEXPRESS
Menu Bar
User Interface
To set a type, left-click on the Set face type button of the dialog box; a list with all the types that can
be set manually appears. Move the cursor to the desired type and release the left button to set the
selected boundary condition type on the selected face(s). However, if the selected patches are of
type NMB, PER and PERNM, a message will appear to warn the user that the corresponding connections of the selected patch will be lost.
Users can also set the BC type interactively for face or group of faces in the graphics
area through the right-click menu.
e) Face name
This option allows to set a name to a geometrical face. This name is used further in all the other
menus of the unstructured mesh generator to reference this face.
The Set name action is also available by right-clicking on the face or group of faces in
the menu but as well in the graphics area.
f) Blank/Unblank
It is possible to completely hide faces and make them unselectable, by using the Blank/Unblank
functionality (right-click in the menu or in the graphics area) or by double clicking on the check
HEXPRESS
2-37
User Interface
Menu Bar
box on the left of the surface name. The check box actually shows the state of the surface: unblank
(ticked) or blank (unticked).
g) Periodic BC search
This option allows automatic search among SOL and UND patches for periodic matching faces
(PER). After the search is performed, the corresponding faces will be set to PER automatically as
shown in Figure 2.3.3-8. Only one of the periodic faces will be trimmed. After the trimming step, a
pair of staircase-like faces will be obtained and matching connections is established for the vertices
belonging to the periodic faces.
BC for Rotor 37
To disable the usage of periodic connections, users must set the periodic patches from PER to non
PER boundary condition type. The Search periodic BC button will be hidden from the interface if
no rotational periodicity is defined in the project.
A connection name.
2-38
HEXPRESS
Menu Bar
User Interface
It is to be noticed that before defining a full non matching connections, the concerned
patches should have a valid type. The type should still be undefined (UND) or set to
solid (SOL) otherwise the patch wont appear in the Non Matching Connections Definition dialog window. When creating the full non matching connection, the related patch
type is set to SOL*. Then when deleting the full non matching connection, the type of the
related patches is reset to undefined (UND).
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) of a
single FNMB connection. The following configuration is not allowed as Patch 1 is used in
two FNMB connections. On the contrary, a single FNMB connection should be defined
using Patch 1 on one side and Patch 2 and 3 on the other side.
First FNMB
connection
Patch 3
Patch 1
Patch 2
Second FNMB
connection
2.
A patch closed on itself cannot be used if the connection region includes the closing part. In
this case, the patch must be divided in two patches.
HEXPRESS
2-39
User Interface
Menu Bar
3.
Two patch points cannot be coincident. For example, a O-type patch with a singular line or
a triangular patch cannot be used in a FNMB connection.
4.
In case of periodic FNMB connections, all the patches defining the connection must have
the same periodicity information (section 2-3.3.1 on page 2-31) and the button Periodic
has to be activated (Figure 2.3.3-9 - right side).
Select the menu Grid/Non Matching Connections.... It opens the dialog box shown on
Figure 2.3.3-9 - left side. This dialog box is showing all FNMB and rotor/stator connections already
set.
2-40
HEXPRESS
Menu Bar
User Interface
Select the patches defining the "right" side. These patches are highlighted in dark blue in
the graphics area.
Once a connection is created, patches can be added and/or removed from it. Simply update patches
lists by clicking on Edit and modify the patches.
The process of the computation involves that one side of the connection is triangulated whereas the
other side is projected on it. Default values should normally be used. If the computation fails,
parameters can be tuned. These parameters are local to each connection and saved into it, therefore
to be taken into account they must be set before creating the connection or the button Compute 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 of
the connection) have a projection distance greater than this value, the patch projection is
rejected.
Number of smoothing iterations: before projection, some smoothing steps are done on the projection normals.
Periodic: when one or more periodicities have been defined in the Grid/Periodicity menu, the
connection should be defined accordingly. The periodicity and the number of repetition should
be entered to allow periodic FNMB connection that is not covering the same area. This value is
"1" in case of a classic periodicity and "2" or more in case of a periodicity by repetition.
HEXPRESS
2-41
User Interface
Menu Bar
by repetition
Reverse triangulated side: to reverse the triangulated side which is by default the one containing
the greater number of points.
Clicking on Search Connections will perform an automated search of all the full non
matching connections (a limitation is still present for axi-symmetric configuration)
If the two faces to detect are flat and represented by too few triangles, the detection
may fail. The workaround is to discretize the domain with more triangles.
To compute a FNMB connection:
Once a connection is defined, it is possible to visualize the triangulation of the common region by
pressing the Compute button. This triangulation is not directly used in HEXPRESS but only
serves to visualize and compute the triangulation that will be used by the solver and to verify that
the connection is correctly performed.
Select all the desired connections with <Ctrl> and click on the Compute button: all the
connections are computed sequentially. It is also possible to select them by dragging the
mouse in the list or by selecting a group using the <Shift> button of the keyboard.
To view and/or delete an existing FNMB connection:
2-42
HEXPRESS
Menu Bar
User Interface
To list only the patches involved in the desired connection, click on Edit button.
Press the Delete button to remove the selected FNMB connection (the type of the corresponding patches is unchanged).
b) Rotor/Stator Connections
In practice, the rotor/stator connection connects two domains presenting different periodicity and/or
different rotation speed (i.e. multistage turbomachine). The rotor/stator interface can be computed
for all meshes including structured IGG, HEXPRESS/Hybrid and HEXPRESS meshes. 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.
The patches defining the Rotor and the Stator should be divided in two parts at least:
four different points are required by the algorithm.
HEXPRESS
2-43
User Interface
Menu Bar
Select the patches defining the "left" side. These patches are highlighted in light blue the
graphics area.
Select the patches defining the "right" side. These patches are highlighted in dark blue in
the graphics area.
Select the type of connection: Rotor/stator. Once this is selected, the parameters for rotor/
stator connections will appear as shown in Figure 2.3.3-12.
By default the parameter Align mesh at R/S interface is not activated. It should be activated if a mismatch between R/S interface is detected. Then, the mesh will be aligned on
both side of the R/S interface.
Only R/S interfaces of type r = const, or z = const, or r/z = const will be treated (the
evolution curve is a straight line).
For non-structured external meshes, only points on hub and shroud lines will be
aligned at Rmin, Rmax (Zmin, Zmax).
If one side of the R/S interface includes more than one block, the correction cannot be
made.
2-44
HEXPRESS
Menu Bar
User Interface
Click on Search Connections performs an automated search for full non matching
connections. Clicking on Yes in the confirmation dialogue if the search for Rotor/Stator
connections is also desired. Please take note that this action may take a long time.
dialogue
Select all the desired connections with <Ctrl> and click on the Compute button: all the
connections are computed sequentially. It is also possible to select them by dragging the
mouse in the list or by selecting a group using the <Shift> button of the keyboard.
To view and/or delete an existing rotor/stator connection:
To list only the patches involved in the desired connection, click on Edit button.
Press the Delete button to remove the selected rotor/stator connection (the type of the corresponding patches is unchanged).
HEXPRESS
2-45
User Interface
Menu Bar
All these values are stored in the ".qualityReport" file. But this file also contain more
information: the generation date, block name, the optimization and viscous layer insertion times (seconds), the entire mesh quality (including surface mesh quality), the
number of negative, twisted and concave cells, the total number of points and cells.
Three parameters of the histogram display may be adjusted for the six last criteria of this list
(Figure 2.3.3-14):
Minimum value, the lower bound of the displayed criterion interval (From:)
Maximum value, the upper bound of the displayed criterion interval (To:)
Number of intervals determines the number of bars of the histogram (Number of steps:)
Each bar represents the number of cells whose criterion value is included in the bar interval. By
left-clicking on one of the bars, the corresponding cells are displayed in the HEXPRESSgraphic
area. Cells are displayed in a color varying depending on the value of the quality criterion.
The dialog box allows also to detect the negative, concave, twisted and relaxed cells. They can be
selected from the Criterion pop down menu. When one of these criteria is selected, no histogram is
displayed and the Manual Correction button can be selected (when cells detected) for an interactive
correction of the mesh (see next section for more details).
The Show markers check button activates the circle markers display of for each vertex of displayed
cells, which facilitates small cells localization of in the computational domain.
a) Negative cells
An important check of the mesh quality is to detect the presence of negative cells, i.e. cells with a
negative volume. The criterion is available for hexahedral, tetrahedral, prism and pyramidal cells.
The number of negative cells is displayed when negative cells is selected as criterion.
2-46
HEXPRESS
Menu Bar
User Interface
c) Orthogonality
Orthogonality is defined only for hexahedral cells by an angle in degrees. An angle close to 90
degrees means a completely orthogonal cell. An angle per cell is computed as follows. Let h 1 , h 2
and h 3 be the unit vectors linking the centroids of two opposite faces of a hexahedral cell as presented in Figure 2.3.3-15.
h3
h1
h2
criterion
i j k
d) Aspect ratio
The aspect ratio of only hexahedral cell is defined as the ratio of the longest to shortest edge length:
h max
AR = ---------h min
where h min and h max are respectively the shortest and longest cell edges.
e) Volume criterion
Volume criterion is available for hexahedral, tetrahedral, prism and pyramidal cells, corresponds to
the histogram of the cell volume distribution in the whole computational domain. The volume units
are linked to the units of the domain used to perform the mesh within HEXPRESS.
f) Equi-angular skewness
The equi-angular skewness only for hexahedral cells is defined by a value include in [0,1]:
HEXPRESS
2-47
User Interface
Menu Bar
T max T e T e T min
EquiAngularSkewness = max --------------------------- -------------------------- 180 T e
Te
T min and T max are respectively the minimum and the maximum angle of a face or cell
T e is the angle for an equiangular face or cell (60 for triangular face, 90 for quadrilateral face and
90 for hexahedral cells)
th
cell
V j is the volume of the neighboring cell to the face j other than cell i .
th
cell
D j is the distance between face centroid for neighboring cell to the face j other than cell i
The maximum value of the three directions is assigned mesh expansion ratio for the cell.
For the faces having children faces (see Figure 2.3.3-10), expansion ratio is calculated using the
formula:.
2x 1 x 2 + x 3
MeshExpansionRatio = max --------------- --------------- x 2 + x 3 2x 1
2-48
HEXPRESS
Menu Bar
User Interface
A i and C i are respectively the normal of the face i and the vector connecting the centroid of the cell
proj
Thus, the criterion is the tangent of the angle between the normal to face vector and Lf vector.
In HEXPRESS, users can plot this criterion with a given range between 0.0 and 90.0.
By default, the FINE/Marine flow solver will activate a local limiter when values
above 50 are found. Hence, the user can check the range between 50.0 and 90.0 to view
the "bad" cells from the solver point of view.
HEXPRESS
2-49
User Interface
Menu Bar
Here 14 critical faces are reported in the solver output file whereas in HEXPRESS
only 7 cells will be reported. The reason is that HEXPRESS counts the cells whereas
the flow solver counts the faces of these cells.
l) Relaxed Cells
In case the relaxing geometry option has been used during optimization step (see 43), by clicking
on the Relaxed cells criteria, it is possible to check the number of relaxed cells and visualize them in
the graphics area at the same time.
2-50
HEXPRESS
Menu Bar
User Interface
m) Manual Correction
When the negative or concave cells criteria is selected in the Mesh Quality dialog box, the button
Manual Correction is clicked to open the interactive mesh modification dialog box (see
Figure 2.3.3-18).
To perform an interactive mesh correction, proceed as follows:
1.
2.
In the Mesh Quality dialog box, select the criteria corresponding to the cells to be corrected
(negative or concave cells).
Select the Manual Correction button (if there are negative or concave cells appearing in the
Graphics area), the message "<1> Select Cell, <3> quit" appears in the message area.
<1> corresponds to left mouse button, <2> to middle mouse button, <3> to right
mouse button.
3.
Click on the cell to be corrected with the left mouse button, the Manual Mesh Correction dialog box appears (see Figure 2.3.3-18). The dialog box is made of four main parts:
On the left, the list of the nodes from the selected cell. When a node is selected in this list,
the other parts are updated and the selected node appears in red in the graphics area.
On the right side, the cells around the selected node are listed, with the currently selected
cell highlighted in green. In this list, the first column contains the cell number, the second
column indicates if the cell is currently represented in the graphical area (in that case, it is a
"1" otherwise it is a "2") and the third column indicates the quality value of the cell. This
value represents the energy of deformation: greater the value is, more deformed the cell
becomes. If the volume is negative, then the volume is written; and if the cell is concave or
twisted, the menu will display "Concave" or "Twisted".
In the lower middle part, the coordinates of the currently selected node are displayed and
small arrows can be used to move the node along the X, Y or Z axis. Each click on an arrow
button moves the node by a step that can be controlled in the step entry situated below the
node coordinates.
In the upper middle part, the gradient of the quality value is displayed. The gradient is computed as the partial derivative of the quality value with respect to a displacement of the current node in the X, Y or Z direction.
When a cell node is moved, the quality values are updated. The quality value is interpreted as
follows:
A negative value indicates a negative cell. The quality value is then the volume of the cell.
A B character indicates that the cell is concave in the slow mode.
HEXPRESS
2-51
User Interface
Menu Bar
A positive value indicates that the cell is neither negative nor concave. Small values indicate cells with good quality. The higher the value is, the worse is its quality.
5.
6.
Representation of a cell in the graphical area can be added or removed by selecting the desired
cell in the cell list (on the right side of the dialog box) and by clicking on the Show/Hide button.
The cell that is selected for modification can be changed in two different ways:
by selecting the desired cell in the cell list (on the right side of the dialog box) and by clicking on the Select button.
When the message "<1> Select Cell, <3> quit" is present, by left-clicking on any of the
cells represented in the graphical area in order to update the dialog box to the selected cell.
<1> corresponds to left mouse button, <2> to middle mouse button, <3> to right
mouse button.
7.
8.
During the interactive correction, the initial position of all the nodes may be restored by selecting the Reset button.
When the interactive modification is finished, press the Ok button to validate the modification
or press Cancel to discard all the modifications and close the dialog box.
When a node is displaced, HEXPRESS is always verifying if the node is constrained (e.g. projected on the geometry) or if other node constraints are depending on
the displaced node (e.g. hanging nodes), the constraints remain verified.
The transformations can only be performed if the mesh has been first snapped.
a) Rotate
The following dialog box appears when selecting the Rotate tab. It allows the user to specify the
origin and direction of the rotation axis as well as the angle of rotation in degrees.
2-52
HEXPRESS
Menu Bar
User Interface
The Apply button allows transformation on the active block or on all the blocks.
transformation
b) Translate
The following dialog box appears when selecting the Translate tab. The user can specify both
direction and magnitude of the translation vector.
transformation
The Apply button allows transformation on the active block or on all the blocks.
HEXPRESS
2-53
User Interface
Menu Bar
c) Scale
It is possible to scale a mesh with the following dialog box. The scaling factor must be specified for
each direction.
transformation
The Apply button allows transformation on the active block or on all the blocks.
Origin is the origin point for 2D block rotation. See Figure 2.3.3-23.
2D axis is the direction for 2D block rotation. See Figure 2.3.3-23.
Angle [degrees] of the axisymmetric transformation. See Figure 2.3.3-24.
Nb of layers in theta is the number of cells equally spaced in theta direction. See Figure 2.3.324.
Once these parameters are defined, the transformation from 2D to Axisymmetric is applied on the
active block or all blocks when clicking on Apply button.
2-54
HEXPRESS
Menu Bar
User Interface
transformation tab
During the transformation, the domain and mesh before axisymmetric transformation are saved.
The periodicity will be established based on the angle specified. The FNMB connection is also
defined automatically. The 2D axis rotates with the domain and turns into a periodicity axis for the
3D mesh generated as shown in Figure 2.3.3-24. Lastly, the mesh generation mode is changed to
3D once the transformation is completed.
It is mandatory to keep the entire cache folder if the user wants to revert the mesh
from axi-symmetric to 2D. Alternatively, the user can save the 2D mesh before transformation or keep the *.dom file before transformation together with the *.igg file and a
recorded python script defining the transformation.
HEXPRESS
2-55
User Interface
Menu Bar
transformation
After the transformation, the FNMB connection defined can be computed at Grid/Non Matching
Connections.
A small angle of only 1 degree may often result in a slow convergence in FINE/
Open computation while imposing a too big angle may introduce error. By experience,
an angle of 5 degrees seems to be a good compromise between accuracy and speed of
calculation.
The mirror plane must be aligned with Cartesian axis including the point (0,0,0).
2-56
HEXPRESS
Menu Bar
User Interface
The Apply button allows to perform the transformation on the active block or on all the blocks.
The mesh used for mirroring is considered as final and can not be further refined or
modified in the current session. In case refinement or modification are really needed,
save the mesh project and open it again in a new session.
levels
This option is present for backward compatibility only with projects before v2.5-4.
2-3.4
View Menu
HEXPRESS
2-57
User Interface
Menu Bar
2-3.4.2 View/Cells...
View/Cells... menu allows to display a list of cells specified by their indices.
dialog box
The list of cells is specified as a comma (or a space) separated list. Each item is a single number or
a set of two numbers separated by a "-" symbol. A "-" separating pair of numbers is used to specify
a range of element numbers. The first cell in the list is referred to "0".
A shrink factor can be specified. A value of 0.0 indicates that the element is displayed with its true
geometric size. A factor higher than 0.0 indicates that the element is reduced in size following the
formula:
Pi = Pc + 1 SF Pi Pc
where,
Pi: Coordinates of the cell ith point = (Xi, Yi, Zi)
Pc: Coordinates of the cell center
SF: Shrink factor. If SF=0, no shrink. If SF=1, full shrink. 0,0 SF 1,0
2-58
HEXPRESS
Menu Bar
User Interface
displacement parameter
Apply and Close to respectively apply the new parameter and close the window.
2-3.4.6 View/Perspective
View/Perspective is used as a toggle to switch between orthogonal and perspective projection in
the graphics area. By default, orthogonal projection is used.
When using a perspective projection, the selection of curves and edges and the rendering of hidden surfaces may not succeed.
HEXPRESS
2-59
User Interface
Menu Bar
2-3.4.7 View/Repetition...
In order to display grid repetitions, the mesh periodicity has to be defined (section 2-3.3.1 on page
2-31). The View/Repetition... menu allows to repeat the domain and mesh (Figure 2.3.3-3 on
page 2-32.) by specifying the number of repetitions.
2-3.5
dialog box
STL
The STL menu allows to adapt STL geometry files before creating the domain. Please refer to section 4-3 on page 4-20 for a description of this menu.
2-3.6
Tools
2-3.6.1 STARCD->STL
The STARCD->STL command is used to convert a surface mesh from StarCD format to a ".stl"
file and its associated ".stl.prop" file. These files can then be imported in HEXPRESS. The mesh
to convert is selected by the user using a file chooser. Either the ".vrt" or the ".cel" file may be
selected. However, the tool expects to find both ".vrt" and ".cel" files. The surface mesh may contain triangles and/or quadrilaterals. In the last case, a quadrilateral is exported as two triangles in the
resulting ".stl" file. The associated property file ".stl.prop" is built based on the information contained in the ".cel" file.
2-3.6.3 Tools/Distance
Tools/Distance is useful to measure the distance between two points or between a point and a line.
The following dialog box will appear, showing the distances computed along principal directions
between the two points:
2-60
Tool
HEXPRESS
Menu Bar
User Interface
In this last case, the attraction cannot be deactivated. When there is attraction, the corresponding
point is highlighted. Simply press the left mouse button to select it.
To measure the distance between a point and a line, press <l> in the graphics area. Then enter a line
origin (with the mouse or the keyboard) and direction (this one must be entered with the keyboard).
The attraction features are also available for the line origin.
Enter line origin (toggle selection: a = points, c = curves)
Enter line direction (keyboard only)
>> 1 1 1
This option can be activated before or after having entered the first point. The distance is measured
perpendicularly to the line.
Once a distance is calculated, another distance can be measured by selecting other points.
To quit this tool, press <q> or the right mouse button.
2-3.7
Plugins
2-3.7.1 Concept
The purpose of this menu is to provide a plugin mechanism where users can put their own python
scripts and access them through the interface, via a Plugins menu. NUMECA will also provide
some python scripts that users can load.
HEXPRESS
menu
2-61
User Interface
Menu Bar
In the above example, the Marine module has been loaded from the installation package of
FINE/Marine, and the hexpress module is a user-defined folder which contains personal scripts.
a sub menu, under the Plugins menu is added, with the name of the directory,
HEXPRESS looks for all ".py" files in the specified directory, except files starting with underscore ('_'),
for each ".py" file an item is added to the above-mentioned sub-menu. The name of the item is
the name of the python script, without the ".py" extension.
If a directory is not selected, a dialog box appears with the text "You must select a
directory".
The Save As Default option saves all currently loaded menus in the file "~/.numeca/
hexpress_default_plugins". The file is an ASCII file that looks like:
Marine
/usr/local/MyPlugins/
When launching HEXPRESS, it always looks for the file hexpress_default_plugins. For each
line, HEXPRESS interprets it as a directory and loads all the ".py" files it contains, except those
starting with underscore. If no directory is found HEXPRESS interprets the line as the name of a
default module provided with the package (i.e "Marine" for instance) and loads the related scripts
from the installation package. Indeed, depending on the package, HEXPRESS may come with
predefined scripts, grouped by modules. A module is simply a directory containing a set of python
scripts. These modules are centralized under the directory "_python/_hexpress_plugins" in the
installation folder. For instance, "Marine" is the name given to the FINE/Marine module, hence
all the related scripts will be under the "_python/_hexpress_plugins/Marine" directory.
Under Linux, it is also possible to activate a module from the command line by
launching HEXPRESS in the following way:
hexpress -module <module_name> -niversion ...
A user can create his own python scripts with HEXPRESS macro commands provided in Chapter 7.
2-62
HEXPRESS
Menu Bar
User Interface
plugins
Resistance:
LppBefore = 1
LppBelow = 1.5
LppAbove = 0.5
LppSide = 2
if Froude <= 1, LppBehind = 3 ; if Froude > 1 and Froude < 1.5, LppBehind = 4 ; otherwise,
LppBehind = 5.
Seakeeping:
LppBefore = 1
LppBelow = 1.5
LppAbove = 1
LppSide = 2
if Froude <= 1, LppBehind = 3; if Froude > 1 and Froude < 1.5, LppBehind = 4, otherwise,
LppBehind = 5.
Decay:
LppBefore = 3
LppBelow = 1.5
LppAbove = 1
LppSide = 3
LppBehind = 3
User-defined: user can prescribe his own numbers. Default are the ones from Resistance.
HEXPRESS
2-63
User Interface
Menu Bar
Configuration: defines if the case should be symmetric or not. If the geometry file is already
split in two, Symmetric should be selected. In case the geometry file is the entire body and the
goal is to simulate half of it, select Symmetric. In case the geometry file is the entire body and
the goal is to simulate the entire body, select Non-symmetric.
2-64
HEXPRESS
Menu Bar
User Interface
Body orientation: defines the orientation of the reference frame related to the location of the
center of gravity of the body.
Mesh density: Three different mesh levels are available: Coarse, Medium and Fine. They all
correspond to a different initial mesh size but also different refinements on the patches of the
geometries according to the table shown below. The number of cells per length of the ship
(LOA) is fixed whatever the ship type is. Reference length (LOA) is used as the reference value
for the mesh generation parameters.
Example:
Number of cells per LOA for coarse = 3, medium = 4 and fine = 5.
For mesh adaptation on each patch, the type and number of refinements as well as the diffusion
level will be defined depending on its name based on the table shown below.
If one can define names in the CAD software, the script will be able to recognize them and
define mesh settings accordingly. In the script, a Coarse mesh correspond to the 1st level,
Medium to 2nd level and Fine to 3rd level. Hence if the selected mesh density is Medium,
the 2nd number of refinement level will be selected. The same idea applies for the diffusion.
Example 1: if the geometry contains a patch named "Deck", a Target cell size criterion will
be applied with a maximum number of refinement of 4 and target sizes of (0,0,0). The diffusion will be set to global (2 by default).
Example 2: if the geometry contains a patch named "Rudder", if the user selected a Fine
mesh, the curvature and the Target cell size criteria will be applied with a maximum number
of refinement of 10 and target sizes of (0,0,0). The diffusion will be set to 1.
If the face name is not in this table, the script will assign a target cell size criteria with
a value of 6 for the maximum number of refinements, using a global diffusion.
The patches names can be written in different ways: capital letters or not, with a suffix
or prefix, etc. For instance, "surf1_domship_Deck_2" will still be considered as "Deck".
HEXPRESS
2-65
User Interface
Menu Bar
If a patch names contains two different names from the table, the highest values for
the refinement will be used.
Each refinement has been elaborated to ensure a good Richardson extrapolation. Hence, if one
would like to perform a mesh dependency study using 3 levels, the final value can be extrapolated with a very good precision.
Extra refinement of wave field: based on Froudes number (and wave length), the purpose of
these extra refinements is to add extra surfaces to refine accurately the bow wave and the wave
pattern behind the ship. Hence, for shorter wave lengths more refinements will be added in the
X and Y-direction for instance. This option adds a significant number of cells and should be
used with caution. For resistance and motions prediction, this option is not essential. It will
however ensure a very good description of the wave field.
Merge patches with the same name: merges faces which have the same name. It supposes that
the faces are correctly named with Computation Aided-Design software (such as Cadfix).
Therefore, names should be defined carefully in the CAD software to avoid that too many faces
are merged.
Merge tangential faces: groups all faces which are contiguous and more or less tangential. A
minimum angle should be chosen. If two contiguous faces have a maximum angle between 0
and , then the faces are grouped. This method is especially helpful when the geometry
imported is a Parasolid file with many faces. A low angle will merge more faces whereas an
angle close to 180 degrees will merge few faces.
Each time two faces are merged, the new face gets an ID (the ID is incremented one by one).
After that, the plugin will assign specific values according to the name of the face: hull, deck,
bow, aft, etc. These are the examples of keywords recognized by the plugin.
See the FINE/Marine user manual for the C-Wizard mode calculations.
Fluid properties for viscous layers insertion: The given kinematic viscosity by the user is used
to compute the first layer thickness as an information, printed in the shell.
Viscous layers are then defined and computed for solid faces only and if the face is not called
DECK or Deck since there is usually no need to insert viscous layers on the deck of a ship
(viscous effects from the air part are negligible).
The script assumes an isotropic mesh is used on the solid walls. Hence, the height of the first
Euler cell on the solid walls can be computed by the script according to the number of refinement: size_euler_cell = Initial cell size / 2**N, with N the Number of refinement on the face.
The number of viscous layers needed to completely fill the Euler cell is computed with inflation
technique activated and a stretching ratio of 1.2.
2-66
HEXPRESS
Menu Bar
User Interface
The buffer insertion of Type II is activated by default for the edges on the Mirror plane during
the snapping step. However, HEXPRESS will try to respect this input but it is not guaranteed
that it will be the case after snapping. If not, a warning is raised in the .rep file or in the report
file.
After specification of the inputs, domain is constructed, boundary conditions are also defined
automatically, different internal surfaces are created to allow different zone of refinements and
all mesh settings are setup. The user is invited to check the whole mesh wizard before generating the mesh.
The domain creation will not work in case the symmetry plane is not perfectly aligned
on the Y plane.
The geometry should not have a bounding box already included since the script will
create it automatically.
Y+ is based on the supposition that wall function will be used during the computation.
The number of viscous layers is computed based on a theoretical formula and does not
take into account the influence from patches nearby. It is advised to let the inflation
method active or to check the number of viscous layers to insert after the optimization
step.
b) Domhydro
This plugin allows the "domhydro" tool to be launched inside HEXPRESS interface. "Domhydro" serves as a tool which can solve the hydrostatic problem of a body using the domain and
boundary conditions files from HEXPRESS.
b.1)Assumptions
Horizontal positions of center of gravity and the center of buoyancy are equal. The vertical
position of the center of gravity is approximated considering that the mass is equally distributed on the shell below the free surface (equal distribution of the mass on the wetted surface). The same distribution of mass is used to approximate the different inertia.
For instance, this should be taken into account especially for superstructures where the
mass in the air part can be important.
In 3D, the body is assumed to be aligned along the X-axis. If it is not the case (for instance
the body has an initial yaw angle), one should specify it in the Cardan angles.
In 2D, the roll motion of a boat section is defined by the rotation around z0, i.e. the "yaw
Rz0" rotation.
When using an additional external effort, only the final Z-axis resultant and the moment
along X and Y-axis are taken into account the equilibrium position (the others components
cannot be counterbalanced by hydrostatic forces).
HEXPRESS
2-67
User Interface
Menu Bar
The body should not be in a bucket shape (the body is not close by a flat deck and it is
"empty" inside), otherwise if its ground is below the free surface location, water will be considered inside.
h2p: in this mode, the body is assumed to be at the hydrostatic position. As a result, the tool
provides extra information on the bodys characteristics. They are listed below:
The equilibrium position corresponds to the hydrostatic position with all the degrees
of freedom free. Indeed, one can decide to freeze one or several degrees of freedom to
compute the hydrostatic position.
In p2h mode, the tool computes the following information, including the rotation and the
translation to apply on the domain if necessary, using the Move Part feature in Domain
Manipulation for instance:
Rotation axis
2-68
HEXPRESS
Menu Bar
User Interface
Rotation angle
Point of rotation (gravity center)
Vertical translation
New position of the gravity center
Cardan angles (Yaw Rz0, Pitch Ry1, Roll Rx2 in final position (deg.))
Total wetted surface (final position)
Projected wetted surface (final position)
Water plane area (final position)
Center of buoyancy (final position)
Cardan angles (Yaw Rz0, Pitch Ry1, Roll Rx2 in equilibrium position (deg.))
Total wetted surface (equilibrium position)
Projected wetted surface (equilibrium position)
Water plane area (equilibrium position)
Total volume (equilibrium position)
Immersed volume (equilibrium configuration)
Volume in the air (equilibrium configuration)
Estimated Inertia tensor (wetted body surface)
Estimated Inertia tensor (entire body surface)
In
both
modes,
the
output
is
written
in
a
file
called
domainfilename_domhydro_mode_b#.out, stored in the folder of the domain file (caution with writing permissions!). The template is always the same and "domhydro" writes
NA in case the parameters were not computed by the selected mode.
= S Xf + S Yf + S Zf where as
the formula for projected wetted surface (without considering surface along X) is
2
S W = S Yf + S Zf .
HEXPRESS
2-69
User Interface
Menu Bar
Wizard
2-70
HEXPRESS
Menu Bar
User Interface
Additional modification of orientation: (for instance, one can add extra rotations in order to calculate the hydrostatic positions for several roll angles, starting from the same domain file)
Extra Roll angle (deg), Pitch angle (deg) and Yaw angle (deg)
HEXPRESS
2-71
User Interface
Menu Bar
Motion to freeze: it is possible to freeze the roll or pitch during the calculation of the hydrostatic
position.
Characteristics of the body:
Mass of the body, default: 0.0Kg
Center of gravity: Xcog,Ycog,Zcog
External force: It is possible to add an external force (resultant and moment) to compute the hydrostatic position, taking into consideration a wind effect on a sail for instance. This force can be a follower effort (default) or a non-follower one. With the non-follower, the direction of the force does
not change when the body moves: this is the case an extra mass is attached onto a body. To summarize:
follower efforts: the force direction does change according to the body motion
non-follower efforts: the direction of the force remains fixed (like gravity)
Fx,Fy,Fz, default = (0.0,0.0,0.0) N
Mx,My,Mz, default = (0.0,0.0,0.0) N.m
Xapp,Yapp,Zapp coordinates of the application point, default = (0.0,0.0,0.0) m
Expert parameters:
Tolerance : collapsed points tolerance, default = 1e-06 m
Maximum number of iterations, default = 1000
b.5)Examples
b.5.1) Inertia Matrix is unknown
A classic situation is when the geometry is received in its hydrostatic position and all the boats
characteristics are known except the inertia matrix. The inertia matrix is mandatory when solving
the motion thanks to the Newtons laws. In this case, one can use "domhydro" in h2p mode to calculate the inertia matrix.
b.5.2) Sailing boat
Lets consider the following situation:
several roll angles of a sailing boat should be simulated (lets say 2, 5 and 7 deg.),
the mass and the initial gravity center location are known,
Launch "domhydro" in p2h mode entering the basic inputs and in particular:
In case the boat is not in its primary configuration, values different from 0 should be
entered for the initial Cardan angles.
additional modification of the orientation (deg.): D_Rz0 D_Ry1 D_Rx2, with D_Rz0=0
D_Ry1=0 D_Rx2=2, which corresponds to the new orientation of the boat.
2-72
HEXPRESS
Menu Bar
User Interface
"domhydro" returns the new hydrostatic position of the boat and the domain transformation to
apply in HEXPRESS to put the boat in its new position, including the new Cardan angles.
Go back to HEXPRESS and use the Move Part feature to move the body (or the CAD software)
Start meshing with the new domain (equilibrium configuration).
In the menu Motion parameters of the FINE/Marine interface, the Cardan angles should be
set to their new values.
Repeat these actions for the roll angles: 5 and 7 degrees.
2.
3.
4.
5.
6.
the idea is to simulate a roll decay test starting from an initial angle of rotation (lets say 5
deg.),
the mass and the initial gravity center location are known,
In case the boat is not in its primary configuration, the corresponding values should be
entered for the initial Cardan angles.
center of gravity coordinates: (0,-1,-3), mass: 2000 kg, dimensions: 2x2x2m, centered on point
(0,0,0).
HEXPRESS
2-73
User Interface
Menu Bar
gravity: -10 m/s2, water density: 1000 kg/m3, air density: 0 kg/m3
follower force with intensity (0,14142.136,-14142.136) N is applied on the application point
with coordinates (0.,3.,1). The result is illustrated below:
force
force
Definition of the body indexes are required. For user who does not want to modify the
names of the patches, they can create a project backup before running domhydro.
2-74
HEXPRESS
Menu Bar
User Interface
surface creation
Clicking on the Apply button launches the internal surface creation and clicking Close exits the window. In case the coordinate is outside of the domain, an error will be raised.
HEXPRESS
2-75
User Interface
Toolbar
A complete summary of the mesh quality is printed in the shell as long as HEX-
PRESS or FINE/Marine has been started with the -print argument (always done by
default on Windows platforms).
It should be noted that if the angle is too important, type I is the only possible choice
and HEXPRESS will force type I anyway.
2-4
Toolbar
The toolbar contains three icons providing direct access input/output functions. These actions are
also accessible through the menu bar.
TABLE 4. Direct
Icon
Description
Close the current project and opens the welcome dialog box which proposes a list of
options. See the Project/New menu item description (section 2-3.1.1 on page 2-4).
Save the current project. See the Project/Save menu item description (section 2-3.1.3
on page 2-6).
Open an existing project created by HEXPRESS, HEXPRESS/Hybrid, IGG
or AutoGrid5. See the Project/Open... menu item description (section 2-3.1.2 on
page 2-4).
2-76
HEXPRESS
User Interface
Icon
Active block
2-5
The Quick Access Pad is located in the left part of the GUI. It contains icons providing a direct
access to commonly used functions of HEXPRESS. Some of them are also accessible through the
menu bar (see section 2-3 on page 2-3 for a complete description of these functionalities).
The panel is divided into five subpanels, each of them can be toggled by left-clicking on the appropriate heading:
- CAD Manipulation subpanel
- Internal Surface subpanel
- Domain Manipulation subpanel
- Mesh Wizard subpanel
- View subpanel
2-5.1
CAD Manipulation
In 3D mode, the CAD Manipulation subpanel (Figure 2.5.1-1) commands allow the creation,
modification and visualization of CAD Parasolid format entities (bodies). It consists of two parts
(Create/Edit and Visualization/Selection) which contain CAD operations, visualization and selection.
Please refer to section 4-2.2 on page 4-5 for more details.
HEXPRESS
2-77
User Interface
FIGURE 2.5.1-1 3D
By switching from 3D to 2D mode, the options in the CAD Manipulation subpanel allow the creation of polylines, csplines and arcs (Figure 2.5.1-2). In this mode, the user can import Parasolid
or ".dat" file with only wire curves and get a closed contour or bounding box with the curves
options available. After that, the 2D domain can be created by using the Create 2D Domain button.
FIGURE 2.5.1-2 2D
The Create 2D Domain step converts a solid representation of the computational domain into a discretized one. For 2D domain creation with ".dat" file, the user is required to specify the domain size
in Z direction in the Create 2D Domain dialog box shown in Figure 2.3.1-10. For 2D domain creation with Parasolid file, the user can set the discretization resolution by modifying the different
faceting parameters like maximum chordal length, curve chordal tolerance, curve resolution and the
domain size in Z direction (Figure 2.3.1-11).
2-5.2
Internal Surface
The Internal Surface subpanel (Figure 2.5.2-1) commands allow the creation of points, curves and
surfaces. These are basic but very useful geometries functions allowing to include additional geometrical entities within the initial geometry to mesh.
Please refer to section 2-3.2 on page 2-22 for the modifications of those entities.
2-78
HEXPRESS
User Interface
Surface subpanel
b) Curve-Plane Inters
This command is used to create Cartesian points at the intersection between a plane and curves that
must be selected before using this command. The Cartesian points will be displayed in filled-in circles. The following prompts allowing the selection of the plane will appear:
Enter plane origin
>> 0 0 0
Enter plane normal
>> 0 0 1
To quit this command before the end, enter <q> in the keyboard input area and press <Enter>.
Using the mouse, the user must simply move the cursor to the desired position and press the left
mouse button to add a control point to the curve.
Using the keyboard, the user must enter the 3 coordinates separated by a blank, while the cursor
is in the graphics area. The keyboard inputs are automatically echoed to the string input area.
Pressing <Enter> adds a control point to the curve.
The creation of the curve is terminated by pressing the right mouse button. Notice that the last
curve segment, attached to the mouse movement is not part of the curve.
HEXPRESS
2-79
User Interface
When entering the points with the mouse, the depth of the point is automatically fixed by HEXPRESS. The current depth can be seen by reading the mouse coordinates in the corresponding
area.
During the specification of the points with the mouse, it is possible to attract the cursor to existing points, curves or surfaces. This feature is very interesting since it allows to connect curves
together and to create T junctions. By default this attraction is enabled. To toggle the attraction
to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces,
press <c> or <s> respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attraction works on:
point attraction: Cartesian points and curves end points if they are visible,
curve attraction: visible curves,
surface attraction: visible surfaces,
vertices and fixed points. This attraction always work and cannot be deactivated.
The point, curve or surface attraction feature is activated or deactivated by pressing respectively
<a>, <c> or <s> repeatedly, while the cursor is in the graphics area.
b) CSpline
This command is used to draw a parametric cubic spline through a set of control points entered with
the mouse and/or with the keyboard.
Using the mouse, the user must simply move the cursor to the desired position and press the left
mouse button to add a control point to the curve.
Using the keyboard, the user must enter the 3 coordinates separated by a blank, while the cursor
is in the graphics area. The keyboard inputs are automatically echoed in the string input area.
Pressing <Enter> adds a control point to the curve.
The creation of the curve is terminated by pressing the right mouse button. Notice that the last
curve segment, attached to the mouse movement is not part of the curve and is removed from
the screen.
When entering the points with the mouse, the depth of the point is automatically fixed by HEXPRESS. The current depth can be seen by reading the mouse coordinates in the corresponding
area.
During the specification of the points with the mouse, it is possible to attract the cursor to existing points, curves or surfaces. This feature is very interesting since it allows to connect curves
together and to create T junctions. By default this attraction is enabled. To toggle the attraction
to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces,
press <c> or <s> respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attraction works on:
point attraction: Cartesian points and curves end points if they are visible.
curve attraction: visible curves.
surface attraction: visible surfaces.
vertices and fixed points. This attraction always work and cannot be deactivated.
c) Arc
It opens the following submenu for the selection of various circular arc creation modes:
2-80
HEXPRESS
User Interface
first point
anchored
vector
Centre
second point
closest distance
anchor point
Circular arc
To draw a complete circle, the start point must be equal to the end point. The following prompts are
given for the anchor vector and the two points (data entered with the keyboard):
Enter normal to the arc
>> 0 1 0
Enter normal anchor point (q)
>> 0 0 0
Enter start point
HEXPRESS
2-81
User Interface
>> 0 1 1
Enter end point
>> 1 1 0
The normal to the arc can be chosen as the screen normal by simply left-clicking in the
graphics area.
For the specification of the normal anchor point, start and end points, it is possible to attract the cursor to existing points, curves or surfaces. This feature is very interesting since it allows to connect
curves together and to create T junctions. By default this attraction is enabled. To toggle the attraction to points, press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces, press <c> or <s> respectively. When the cursor is attracted to an entity, a filled-in circle is
displayed. The attraction works on:
point attraction: Cartesian points and curves end points if they are visible,
curve attraction: visible curves,
surface attraction: visible surfaces,
vertices and fixed points. This attraction always work and cannot be deactivated.
(0,1,0)
(0,1,0)
(0,1,1)
(1,1,0)
Notice that entering (0,0,0) for the anchor point would give the same result. Indeed, (0,0,0) is
located on the same arc normal than (0,1,0).
Arc->Normal-Point-Point-Radius. This menu option is used to create circles or circular arcs
through two points, with a given radius and perpendicular to a normal. The following inputs are
requested from the user:
2-82
Circle/arc normal,
Start and end point,
Circle/arc radius,
Arc position.
HEXPRESS
User Interface
All these data (except the arc position) can be entered either through the keyboard input area or with
the mouse. The normal to the arc can be chosen as the screen normal by simply left-clicking in the
graphics area.
For the specification of the arc start and end points, it is possible to attract the cursor to existing
points, curves or surfaces. This feature is very interesting since it allows to connect curves together
and to create T junctions. By default this attraction is enabled. To toggle the attraction to points,
press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces, press <c> or
<s> respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attraction works on:
point attraction: Cartesian points and curves end points if they are visible,
curve attraction: visible curves,
surface attraction: visible surfaces,
vertices and fixed points. This attraction always work and cannot be deactivated.
If the radius is entered through the keyboard input area, it is possible that the value entered is too
small (if value is lower than half distance between start and end point), in which case a warning
message appears. When the radius is entered, the sense of the circular arc can be chosen by pressing
<o> repeatedly. In fact, there are six possibilities to draw an arc between two points and with a
given radius, which includes two possibilities of complete circle, as shown in Figure 2.5.2-4.
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.
HEXPRESS
2-83
User Interface
Arc->Point-Point-Point. This menu option is used to create circular arcs through three points. The
following inputs are requested from the user:
Start point,
End point,
Middle point.
All these data can be entered either through the keyboard input area or with the mouse.
During the specification of the points with the mouse, it is possible to attract the cursor to existing
points, curves or surfaces. By default this attraction is enabled. To toggle the attraction to points,
press <a> in the graphics area. Similarly, to toggle the attraction to curves or surfaces, press <c> or
<s> respectively. When the cursor is attracted to an entity, a filled-in circle is displayed. The attraction works on:
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.
2-84
HEXPRESS
User Interface
1
FIGURE 2.5.2-6 Curves
b) Coons
This command allows to create a NURBS surface from four selected curves, using a bilinear interpolation. The four curves should define a closed region and should have the following orientation:
3
2
1
FIGURE 2.5.2-7 Curves
The four curves must also be selected as indicated in the figure (curve 1 first,...).
c) Import
This button offers the possibility to import an STL surface as an internal surface into HEXPRESS.
This command also allows to import ".dat" geometry files already exported within HEXPRESS
with the following command.
For multidomain case, the internal surface will be part of the active domain when
importing the file.
d) Export
This command allows to export ".dat" geometry files that can be imported within HEXPRESS
with the previous command.
HEXPRESS
2-85
User Interface
2-5.3
Domain Manipulation
Move Part
Undo
Settings
Delete Block
Domain validity check
FIGURE 2.5.3-1 Domain
manipulation subpanel
The Domain Manipulation subpanel (Figure 2.5.3-1) allows to transform edges, faces, parts or an
entire domain composing the current domains of the mesh.
Both edges and faces composing the domain can be manually and/or automatically split and
merged.
A settings icon allows to define the shortest edge length after split and the feature angle. The
feature angle is the minimum angle between two edges or between the two normals of faces to
merge.
A "domain validity check" icon allows to control the domain before meshing.
An "undo" icon allows to undo the last performed operation.
Please refer to Chapter 5 for more illustrated details.
2-5.4
Mesh Wizard
The Mesh Wizard subpanel (Figure 2.5.4-1) commands allow the step by step creation of an
unstructured hexahedral mesh starting from a domain. Please refer to Chapter 6 for a complete
description.
2-86
Wizard subpanel
HEXPRESS
2-5.5
User Interface
View
The View subpanel (Figure 2.5.5-1) controls viewing and rendering operations on the geometry and
the grid.This subpanel is divided into three frames.
subpanel
2-5.5.1 Domains
This frame gives the possibility to select in one click the domains to show in the graphics area.
The button (
) refers to the face mode viewing. All the viewing modification are applied on
the currently selected face. The face may be selected interactively by left-clicking on the face
into the graphics area or by right-clicking on the face icon (
dialog box listing all the faces available, called the Face Viewer. The Face Viewer can also be
opened by pressing the dedicated icon
HEXPRESS
2-87
User Interface
Viewer
This menu gives an overview of all the visualization options patch by patch or by groups of patches.
A face can be selected by left-clicking in the face browser or interactively in the graphics area. This
face is then automatically visualized in the graphics area. It is possible to select several faces at
once in the following ways:
1.
2.
3.
4.
5.
While holding the <Ctrl> key down, select the desired faces in the browser.
While holding the <Shift> key down, select two faces defining a range of faces.
While pressing the left mouse button, drag the mouse and release the left button to select a range
of faces.
Pressing <Ctrl>+ <a> keys down will select all patches.
Interactively in the graphics area depending of the selection options (shortcut <o>):
2-88
HEXPRESS
6.
User Interface
Clicking on Select button and move mouse and left-click in the popup menu to select the type of
face selection.
Select All Blanked allows to select all blanked faces in the graphics area.
Select Face By Area allows to select all the faces with an area in the range specified by the
user.
Select Face By Name allows to select all the faces whose name match the input name. A
dialog box is provided to input the name. The name can be a regular expression (i.e. if the
input is "channel*" all the faces whose name begins with channel will be selected)
Select Geometrically Similar Faces allows to select all the faces with an area and a perimeter (under a tolerance of 0.03) identical to the selected face in the list.
Select Tangent Faces allows to select all the faces tangent to each other (neighbouring
faces presenting an angle above the specified angle), starting from the list of selected faces.
The Name filter displays faces by name. Enter or choose an expression and all faces whose
name contains this expression will be listed.
The Type filter lists all faces of a given type (e.g. SOL, INL, OUT, MIR, EXT, etc).
The Block filter lists all faces of a given block (interesting for multi-domain project).
ID and Color are indications about the ID of the patch and the current color assigned to the group or
the patches. Pressing the color area facing a group or a patch will open the Rendering editor (see
94).
Groups, type and names are defined in the Boundary Conditions menu (see 33).
By right-clicking on a face or a group of faces in the menu or in the graphics area, a popup menu
allows to:
completely hide faces and make them unselectable, by using the Blank/Unblank functionality (right-click in the menu or in the graphics area) or by double clicking on the check box
on the left of the surface name. The check box actually shows the state of the surface:
unblank (ticked) or blank (unticked) (Blank/Unblank),
HEXPRESS
2-89
User Interface
The button (
) refers to the block mode viewing. All the viewing modification are applied on
the currently selected block (domain). The block may be selected interactively by left-clicking
on the block into the graphics area.
The button (
The second buttons row allows to modify the way of displaying surfaces in the graphics area:
displays the topological vertices and edges numbers as text in the graphical area
displays the triangulation from the geometry surfaces or the mesh faces.
The button (
) refers to face rendering. This menu is divided in three tabs : one for controlling the face rendering (Material), one for controlling the mesh appearance (Mesh) and one for
the Background colors. The settings in first two tabs work according to the active scope: Face,
Block or Grid. When the Face mode is active the settings are applied on the selected faces in the
Face Viewer dialog box.
2-90
HEXPRESS
User Interface
Editor
A Save as Default button is dedicated to save the current settings as preferences. This includes the
material and mesh properties as well as the background colors.
a) Material
The surface material properties are defined by four parameters:
Specular: affects the light reflections on the surface. The shape, the strength and the color of
the highlight depends of the material. For instance, a material like cotton tissue will not
have any specular highlight, in comparison to a reflective surface like a mirror that will
have a very bright specular highlight.
HEXPRESS
2-91
User Interface
Gloss: defines the extent of the highlight. It is a value ranging from 1 to 4. A value of 1
means that the specular highlight is widespread. It will be the case for rough material. A
value of 4 means that the highlight is very narrow. It will be the case for very smooth
surfaces, like glass.
Opacity: controls the transmission of light through the surface. An opacity of 1.0 means a
completely opaque surface. An opacity of 0 means a completely transparent surface.
2-92
HEXPRESS
User Interface
Transparency availability depends only on the driver/machine/graphic card combination. If not available the value is discarded. Regarding transparency and diffuse color,
some graphics hardware only take the intensity of the color into account.
An image, also called map, is provided for each surface. This map represents a given
material.
The color of each surface point is found by using the local normal at the surface point to
address the map.
A reflectivity amount of 0 means that the surface has no reflectivity: the final color is
the diffuse color of the surface. A reflectivity amount of 1 means that the surface is
purely reflective: the final color is equal to the reflection color. All value in-between
result in a mix of reflectivity and surface color.
b) Mesh
This tab, used for controlling the mesh lines appearance, allows to control:
HEXPRESS
2-93
User Interface
c) Background
The third tab allows to define the background color. of the graphics area.
The edition button Ed. allows the user to specify his own background color independently of the
proposed colors. The look of the menu varies according the operating system.
selection
During the initial and adaptation steps, the user can only control the color and mesh
attributes for the whole mesh and not face by face. This is explained by the fact that during these steps, the cartesian mesh is not attached to any face.
No lighting is applied on the mesh solid surface representation during the initial and
adaptation steps.
2-94
Position
HEXPRESS
User Interface
Save button: Saves the current camera position. A new entry, Camera # will be added in the list
each time the Save button is hit.
2-5.6
Control Area
Message area
Keyboard input area
Mouse coordinates
Information area
Grid parameters area
Viewing buttons
Viewing or selection actions for the mouse are indicated with the "<>" symbol. "<1>"
corresponds to the left-click, "<2>" corresponds to the middle-click and "<3>" corresponds to the right-click.
HEXPRESS
2-95
User Interface
parameters area
For systems using a mouse with only two buttons, the middle mouse button can be
emulated for viewing options by holding the <Ctrl> key while left-clicking.
During viewing operations, HEXPRESS automatically removes all heavy graphics representations from the active view, such as solid model or color shading. This is
done to maintain a reasonable speed during rotation, translation or zoom operations. The
complete picture is restored after a viewing operation is finished.
Left-click to project the view on an X, Y or Z constant plane. If the same button is pressed more
than once, the horizontal axis orientation changes at each press.
b) Coordinate axis
The coordinate axis button acts as a toggle to display different types of coordinate axis on the active
view, using the following mouse buttons:
Left-click: turn on/off the display of symbolic coordinate axis at the lower right corner of the
view.
2-96
HEXPRESS
User Interface
Middle-click: turn on/off the display of scaled coordinate axis for the active view. The axis
surrounds all objects in the view and may not be visible when the view is zoomed.
c) Scrolling
This button is used to translate the contents of the active view within the plane of graphics window
in the direction specified by the user. The following functions can be performed with the following
mouse buttons:
Left-click: press and drag the left mouse button to indicate the translation direction. The translation is proportional to the mouse displacement. Release the button when finished.
The translation magnitude is automatically calculated by measuring the distance between the
initial clicked point and the current position.
Middle-click: press and drag the middle mouse button to indicate the translation direction. The
translation is continuous in the indicated direction. Release the button when finished.
The translation speed is automatically calculated by measuring the distance between the initial
clicked point and the current cursor position.
d) 3D viewing button
This button enables viewing operations directly in the graphics area. Available operations are 3D
rotation, scrolling and zooming.
After having selected the option, move the mouse to the Graphics area then:
The rotation buttons are used to rotate graphical objects on the active view around the X, Y or Z
axis. Rotations are always performed around the centre of the active view and can be performed
with the following mouse buttons:
Left-click: 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
button when finished.
Middle-click: press and drag the middle mouse button to the left or to the right. A continuous
clockwise or counter clockwise rotation will be performed. Release the button when finished.
f) Zoom in/out
This button is used for zooming operations on the active view. Zooming is always performed
around the view centre. The functions can be performed with the following mouse buttons:
Left-click: press and drag the left mouse button to the left or to the right. A zoom in - zoom out
will be performed, proportional to the mouse displacement. Release the button when finished.
HEXPRESS
2-97
User Interface
Middle-click: press and drag the middle mouse button to the left or to the right. A continuous
zoom in - zoom out will be performed. Release the button when finished.
g) Region zoom
This button allows the user to specify a rectangular area in the active view that will be fitted to the
Graphics area. After having selected the button,
i) Original button
The original button is used to fit the content of the active view and reset the default viewpoint.
j) Cutting Plane
This option displays a movable plane that cuts the geometry and the mesh. The surface mesh is displayed. The plane is symbolically represented by four boundaries and its normal, and is by default
semi-transparent. Upon hitting the button, the Cutting Plane pop-up as shown in Figure 2.5.6-3
appears. The icon remains yellow as long as the tool is active.
plane dialogue
The Cutting Plane dialogue allows the users to specify the origin and direction of the plane. The
Recenter button recomputes the origin of the cutting tool to be at the centre of the screen. At the
same time, the size of the cutting tool outline is recomputed to fit the view. This option is especially
useful after performing zoom on a specific region.
Mouse bindings:
2-98
HEXPRESS
User Interface
Key bindings:
<x>, <y> or <z> : Aligns the plane normal along the X, Y or Z axis;
<n> : Reverts the plane normal;
<h> : Toggles the hints display;
<o> : Opens the Cutting plane options dialogue:
Hide cut-away: hides the geometry on the other side of the plane.
Activate transparency: deactivates to make the cutting plane fully transparent
It is advised to deactivate plane transparency when using X11 driver to increase the
execution speed.
Show mesh: deactivates to hide the mesh and view geometry only.
Intersecting cutting plane only: activates to display only cells intersecting the cutting plane. The
cells are displayed through each side of the cutting plane.
Shading: activates to display cells in solid mode. Deactivate for wireframe mode.
Shrink factor: from 0 to 1, the shrink factor reduces the cell size in the X, Y and Z direction.
HEXPRESS
2-99
User Interface
cylinder dialogue
Mouse bindings:
cylinder options
2-100
HEXPRESS
User Interface
box dialogue
Mouse bindings:
sphere dialogue
HEXPRESS
2-101
User Interface
2-5.7
GUI interaction
The graphics area (Figure 2.1.0-2) is the region of the screen dedicated to the display of all graphical objects created by the system. These graphical objects are displayed in a window called "view"
in the HEXPRESS terminology.
2-6
GUI interaction
2-6.1
Keyboard shortcuts
HEXPRESS provides shortcuts for the most commonly used options, which allow the user to
activate options without accessing the menus. A shortcut consists of a single key press and is indicated at the right of each menu item when available. To use a shortcut:
Short cuts
Alt-p
Escape
short-cuts
Function
Toggles the display of the Quick Access Pad.
Stops the current tool.
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
F2
Used to perform a zoom in/out. See section f) "Zoom in/out" on page 2-97.
F3
Used to fit the content of the view. See section h) "Fit button" on page 2-98.
F4
Used to fit the content of the view and reset the camera orientation.
See section i) "Original button" on page 2-98.
2-102
F5
Used to activate the cutting plane. See Cutting Plane on page 2-98
HEXPRESS
CHAPTER 3:
3-1
Meshing
Fundamentals
Overview
HEXPRESS has been developed to ensure a quick management of the grid generation process for
external and internal configurations. The software is able to generate an unstructured hexahedra
mesh in any "water-tight" computational domain (".dom").
The software provides a highly interactive user interface allowing a easy setup of the mesh generation for complex geometries. Based on a wizard approach, the mesh is generated step by step
through a minimum user inputs. The mesh wizard involves five different steps. Each step must be
successfully accomplished before proceeding to the next:
Initial mesh
HEXPRESS creates an initial mesh surrounding the computational domain.
Adapt to geometry
HEXPRESS adapts the initial mesh such that the cell sizes satisfy geometry dependent
criteria and removes afterwards cells intersecting the geometry or located outside the computational domain.
Snap to geometry
HEXPRESS projects the adapted mesh onto the geometry and recovers lower dimensional features such as topological edges (curves) and topological vertices (corners). Since
the technology in HEXPRESS is based on a top-down approach, the adapted mesh does
not conform to the geometry. A simple projection on the surface would not preserve ridges
or sharp corners, that is why a unique technology has been developed inside of HEXPRESS to perform this capturing while ensuring the highest quality mesh. Additional
cells are also introduced during this stage to obtain a smoothly hexahedra mesh.
Optimize
Though the snapping step already ensures a high quality mesh, some distorted cells may
exist. A powerful mesh optimization tool is implemented in HEXPRESS that allows the
conversion of concave cells in convex ones.
Viscous layers
Finally, HEXPRESS can insert layers of high aspect ratio cells tangentially to the wall in
order to correctly resolve boundary layers.
HEXPRESS
3-1
Meshing Fundamentals
3-2
The starting point of any simulation is the definition of an appropriate computational domain (more
details in Chapter 4), which, in most cases, can be interpreted as the complement of the solid parts
present in the model. HEXPRESS expects a "water-tight" computational domain. The computational domain consists of a topology and a geometry part:
The topology describes the skeleton of the model. Basically, it allows the definition of a
closed volume and provides information on the connection of the model surfaces (topological faces) with common curves (topological edges). Similarly, it connects curves together
by common corners (topological vertices).
The geometry part defines the actual geometry of the model. Each model surface is
described by a triangulation, each curve by a list of points connected by segments and the
corners are defined by a single point.
HEXPRESS accepts three different CAD formats as input for the topology and geometry description of the computational domain:
Parasolid & CATIA models. can be imported and its different bodies can be accessed.
Recall here that the computational domain must be described as a single closed volume.
Computational domain file ".dom" is the HEXPRESS native model format. It is a discretized representation of the computational domain containing all topology information.
The computational domain is of course ready for HEXPRESS grid generation.
3-2
HEXPRESS
Meshing Fundamentals
Parasolid
CATIA
Import Parasolid
or CATIA V5
STL
STARCD
Import STL
Convert
Re-orient
Unify, delete
subtract, intersect
Export
Faceting
Export
STL +PROP
STL
Spec. length.
tolerances, ...
Import STL
Create Group
Merge
Reverse
Reverse
tolerance
Create Domain
DOM
HEXPRESS
CAD handling
3-3
Meshing Fundamentals
3-3
3-3.1
generation steps
Initial Mesh
HEXPRESS starts its mesh generation process from an initial mesh which encompasses the
whole computational domain. An initial mesh is automatically proposed which corresponds to an
isotropic subdivision of the computational domain bounding box. Furthermore, an existing unstructured mesh can be loaded as initial mesh.
3-3.2
Adapt to geometry
This mesh generation step is probably the most important in terms of user interaction in HEXPRESS. Indeed, the parameters selection in this action directly dictates the computed mesh
obtained with HEXPRESS.
This adaptation step consists of two major actions: the refinement and the trimming.
3-3.2.1 Refinement
In this action, cells are successively subdivided such that specific geometrical criteria are satisfied.
3-4
HEXPRESS
Meshing Fundamentals
Curve criteria
Cells which intersect curves are considered as candidates for refinement. Three criteria are
implemented and are respectively based on:
Subdivisions in 2
Subdivisions in 4
Isotropic subdivision
modes of a hexahedron
3-3.2.2 Trimming
The trimming step removes all the cells intersecting or located outside of the geometry. HEXPRESS automatically finds the cells located inside the computational domain. At the end of the
process, a staircase mesh is obtained including all the interior cells (see Figure 3.3.2-3).
HEXPRESS
3-5
Meshing Fundamentals
3-3.3
Snap to geometry
The aim of this fully automated mesh step is to project the staircase mesh obtained after the mesh
adaptation action on the surface to obtain a good quality body conforming mesh. In addition to a
simple projection on the geometry, this action involves sophisticated algorithms to recover lower
dimensional geometric features such as corners and curves in the mesh. These algorithms guarantee
that, when the mesh is projected onto the surface geometry, a mesh vertex is attached to each corner
of the geometry and that a path of mesh edges is attached to the curve.
In addition, the snapping of the mesh onto the geometry may create highly distorted elements. Layers of additional cells (buffer insertion) are introduced into the mesh to create a body conforming
mesh.
Finally, the mesh is smoothed by moving points on the surface and in the volume in order to obtain
a mesh with a good but not guaranteed quality.
3-3.4
Optimization
The mesh obtained after the snapping action may involve poor quality cells usually located close to
corners and curves. Some of these cells are concave or may even present a negative volume. A cell
is defined as concave (the cell looks like a "boomerang") if the Jacobian of the transformation to a
unit cube has at least one zero value for a point located inside of the cell.
HEXPRESS provides specific algorithms to convert concave cells to convex ones by slightly displacing their vertices. A novel approach is also implemented to improve the orthogonality of convex cells. In most instances, convex cells are important to ensure the stability and the robustness of
a flow solver. Furthermore mesh adaptation applied to concave cells may also create negative children cells.
Negative cells should be prohibited. Usually, HEXPRESS is able to deliver a mesh without any
negative cell. However, the presence of negative cells is usually a sign of an inadequate choice of
cell sizes in a geometrical complex region. Further mesh refinements will usually solve the problem.
3-6
HEXPRESS
Mesh Quality
3-3.5
Meshing Fundamentals
Viscous layers
HEXPRESS proposes a very specific approach for the insertion of layers of large aspect ratio
cells to accurately resolve boundary layers. The technique is based on successive subdivisions of
the cells connected to the walls, this contrasts with other techniques which insert layers by extrusion. This refinement technique has the advantage of robustness and speed. Besides, the inflation
algorithm improves the mesh quality in viscous layers.
3-4
Mesh Quality
After the grid generation, the menu Grid/Mesh Quality... computes and displays per block the
characteristics of the mesh in terms of negative or concave cells and of minimum-maximum of the
cells volume, the aspect ratio and the cells skewness. More details in section 2-3.3.4 on page 2-45.
3-5
Multi-Domain
The introduction of multi-domain option largely enhance HEXPRESS capabilities, with the possibility to import and manage several domains and meshes in the same project. Furthermore it
allows to merge meshes exported from HEXPRESS/Hybrid, IGG and AutoGrid5 (structured
NUMECA mesh generators) with HEXPRESS domains as illustrated in Figure 3.5.0-1.
5TM
When dealing with a multi-domain project, several "water-tight" computational domains (".dom")
have to be loaded within HEXPRESS through the menu /Project/Import.../Domain. When the
domains are imported, their selection is performed by left-clicking on it in the graphic area or by the
Active block entry in the tool bar.
HEXPRESS
3-7
Meshing Fundamentals
Batch Mode
When HEXPRESS meshes are generated based on each imported domain, additional existing structured or unstructured meshes can be added into the project through
the menu Project/Import.../Project.
Finally before saving the whole project, connections between generated and/or imported meshes
have to be specified through the menu Grid/Non Matching Connections.... This menu allows to
specify a user-defined connection between meshes. Two types of connection can be defined: full
non matching connection and rotor/stator connection. The last type, in practice, allows to connect
two domains presenting different periodicity and/or different rotation speed, while the first type
allows to connect two domains presenting the same periodicity and rotation speed (more details in
section 2-3.3.3 on page 2-38).
3-6
Batch Mode
This section provides all available information to launch installed NUMECA software from a shell
without using HEXPRESS interface.
How to launch on UNIX.
1.
2.
This command should be used with HEXPRESS standalone version only. For
FINE/Open and FINE/Marine packages, please change "31_#" to "open31_#" or
"marine31_#" respectively.
How to launch under Windows.
1.
3-8
HEXPRESS
Batch Mode
2.
Meshing Fundamentals
Batch mode treats also multi-domains meshes and computations of full non matching
connections.
HEXPRESS
3-9
Meshing Fundamentals
3-10
Batch Mode
HEXPRESS
CHAPTER 4:
4-1
Geometry Definition
Overview
This chapter is presenting the different CAD operations necessary to convert respectively a CAD
model into a computational domain to mesh within HEXPRESS. The resulting computational
domain is stored in a file with extension ".dom" (see section A-4 on page A-2 for a description).
Different CAD operations allow to create the solid model which will be converted into a computational domain: unification of bodies, bounding box creation, bodies subtraction and bodies intersection. After conversion to a discretized computational domain, further tools are available to edit the
computational domain and to merge surfaces.
Figure 4.1.0-1 presents a flow chart of the successive CAD manipulations needed to create a valid
computational domain for HEXPRESSstarting from Parasolid or CATIA models, STL triangulations and StarCD surface meshes:
1.
2.
3.
4.
5.
6.
HEXPRESS
A bounding box can be added to Parasolid or CATIA bodies to define the computational
domain of the required region surrounding bodies, e.g. for external flow simulation.
Parasolid and CATIA bodies can be added, subtracted or intersected.
The solid model of the computational domain is then exported, in a discretized format, by
triangulating the surface of its closed volume.
The triangulation of the computational domain, annotated with geometry attributes, can be
exported into a ".stl" and a ".prop" file for further editing.
Triangulations can be directly imported using a ".stl" format file together with associated
property file ".prop", which gives a geometry attribute to each triangle of the triangulation.
This additional information allows the automatic creation of topological information by
HEXPRESS.
An additional tool allows to import StarCD surface meshes and convert them into a triangulation format: ".stl" and ".prop" files.
4-1
Geometry Definition
7.
Overview
STL
STARCD
Import Parasolid
or CATIA V5
Import STL
Convert
Re-orient
Unify, delete
subtract, intersect
Export
Faceting
Export
STL +PROP
STL
Spec. length.
tolerances,...
Import STL
Create Group
Merge
Reverse
Reverse
tolerance
Create Domain
DOM
4-2
CAD handling
HEXPRESS
Overview
Geometry Definition
HEXPRESS is equipped with a Parasolid CAD engine. Therefore, any CAD model native to
this engine is transparently loaded by the mesh generator. Other native models must be translated to
the Parasolid format using external software before being processed (except for CATIA v5 format). A CAD model exhibits complex features which are unnecessary for the flow simulation. It is
therefore useful to remove unneeded geometry details from the model before starting the mesh generation. In HEXPRESS, this removal is not applied to the model directly but the complexity of
the computational domain is simplified by merging surfaces. The common edges between the
merged surfaces are then removed and are not captured in the mesh (see section 6-7 on page 6-33
for a discussion of the corner and curve mesh capturing functionalities). This merging is performed
at the topology level, hence no NURBS (Non Uniform Rational Bi-Spline) or surface representation is reconstructed. Geometry simplification in HEXPRESS is therefore accomplished with
minimum overhead. Figure 4.1.0-2 presents the computational domain of a draft tube before (top)
and after (bottom) simplification by surface merging.
The user is referred to section A-4 on page A-2 for a description of the format of the file (suffix
".dom") storing the definition of HEXPRESScomputational domain.
HEXPRESS
4-3
Geometry Definition
4-2
CAD Model
CAD Model
HEXPRESS accepts three different CAD formats as input for the topology and geometry description of the computational domain (Figure 4.1.0-1):
Parasolid & CATIA model. can be imported and its different bodies can be accessed.
Recall here that the computational domain must be described as a single closed volume
(see section 4-2.1 on page 4-4).
Computational domain file ".dom" is the HEXPRESS native model format. It is a discretized representation of the computational domain containing all topology information.
The computational domain is the geometry used for HEXPRESS grid generation and can
still be improved with the domain operations allowing the merging/splitting of its edges and
faces.
4-2.1
on page 2-2)
Several Parasolid files can be imported in the same HEXPRESS session using Project/
Import.../Parasolid. After importing, all bodies are displayed in wireframe mode.
If the imported Parasolid file contains only wire curves, HEXPRESS will be
switched to 2D mode automatically. It is possible to add new curves or adding bounding
box for 2D domain creation. See section d) on page 2-9 and section 2-5.1 for more
details.
HEXPRESS uses the Parasolid v26.0 library, thus all Parasolid models up to
version 26.0 can be imported.
To obtain a complete list of supported models version numbers, the user is referred to the
"para_schema" subdirectory in the HEXPRESS installation directory. This subdirectory contains
all Parasolid schemes compatible with HEXPRESS.
HEXPRESS provides several basic editing capabilities (unify, subtract, intersect, delete) in its
solid modelling session to create an unique solid body representing the computational domain.
log box (see section 2-2 on page 2-2). Versions up to R23 are supported.
4-4
HEXPRESS
CAD Model
Geometry Definition
4-2.2
Editing
When a solid model is successfully imported, the next step is to build a solid body describing the
computational domain. One of the imported bodies may represent the body, in which case the editing steps can be bypassed. Alternatively, the computational domain can be obtained by performing
Boolean operations on the solid bodies in the Parasolid database.
A box creation capability is also available in order to create a bounding box in the case where the
computational domain is the complement of a specific body, e.g. for external flow around a body.
The editing operations are accessed through the Quick Access Pad/CAD Manipulation/Create/
Edit options (Figure 4.2.2-1) which allow the user to create and modify bodies.
panel
a) Dialog box
This dialog box allows the user to specify the coordinates of two opposing points used to define a
box (Figure 4.2.2-2).
box function
HEXPRESS
4-5
Geometry Definition
5.
CAD Model
Press Accept to generate the box and quit the box creation tool.
Because of Parasolid limitations, the coordinates of a box are limited by the range:
First corner X: -500, Y: -500, Z: -500 and Opposite corner X: 500, Y: 500, Z: 500
b) Interactive creation
The two opposing points of the box may be interactively specified by clicking in the graphics area.
1.
2.
3.
A default box appears in the graphics area. Move the cursor to the desired location and leftclick on the first point.
While moving the cursor around, the drawing of the box is updated according to the cursor
position. Move the cursor to the desired location and left-click to place the second (opposite) point.
Left-click to accept the box and quit the box creation tool.
The box creation tool can be aborted at any time, either by pressing the Cancel button
in the dialog box, or by right-clicking in the graphic area.
An accepted box cannot be modified later. It must be deleted and a new box created
but before clicking on Accept, the position of the box can be adapted by left-clicking on
box corner (when highlighted in yellow) and moving the cursor to the desired location or
by typing the coordinates (x,y,z) into the creation box dialog box. Nevertheless, it is
much easier to use the X,Y,Z plane views
a) Dialog box
This dialog box allows the user to specify the origin of the cylinder, its direction, its height and its
radius (see Figure 4.2.2-3).
cylinder
4-6
HEXPRESS
CAD Model
Geometry Definition
2.
3.
4.
5.
6.
Press the Apply button, which allows the direction definition and disables the first one.
Specify the direction (X,Y,Z) of the direction.
Press the Apply button, which allows the height definition.
Press Enter on the keyboard and specify the radius.
Press Enter and click on Accept to generate the cylinder and quit the cylinder creation tool.
Because of Parasolid limitations, the coordinates of a box are limited by the range:
First corner X: -500, Y: -500, Z: -500 and Opposite corner X: 500, Y: 500, Z: 500
b) Interactive creation
The cylinder may be interactively created by clicking in the graphics area.
3.
A default dialog box appears in the graphics area. Move the cursor to the desired location
and left-click to confirm the position of the origin.
While moving the cursor around, the drawing of the cylinder is updated according to the
cursor position. Move the cursor to the desired location and left-click to confirm the direction and the height of the cylinder.
Move the cursor to adapt the radius and left-click to confirm.
4.
1.
2.
The cylinder creation tool can be aborted at any time, either by pressing the Cancel
button in the dialog box, or by right-clicking in the graphic area.
An accepted cylinder cannot be modified later. It must be deleted and a new cylinder
created, but before clicking on Accept, the radius can be adapted by directly specifying
its value in the dialog box. Nevertheless, it can be easier to use the X,Y,Z plane views
for cylinder fitting.
a) Dialog box
This dialog box allows the user to specify the summit of the cone, its direction, its height and the
radius at the basis (see Figure 4.2.2-4).
HEXPRESS
cone
4-7
Geometry Definition
CAD Model
Because of Parasolid limitations, the coordinates of a box are limited by the range:
First corner X: -500, Y: -500, Z: -500 and Opposite corner X: 500, Y: 500, Z: 500
b) Interactive creation
The cone may be interactively created by clicking in the graphics area.
1.
2.
3.
4.
A default dialog box appears in the graphics area. Move the cursor to the desired location
and left-click to confirm the summit position.
While moving the cursor around, the drawing of the cone is updated according to the cursor
position. Move the cursor to the desired location and left-click to confirm the direction and
the height of the cone.
Move the cursor to adapt the basis radius and left-click to confirm.
Left-click to accept the cone and quit the creation tool.
The cone creation tool can be aborted at any time, either by pressing the Cancel button
in the dialog box, or by right-clicking in the graphic area.
An accepted cone cannot be modified later. It must be deleted and a new cone created,
but before clicking on Accept, the basis radius can be adapted by directly specifying its
value in the dialog box. Nevertheless, it can be easier to use the X,Y,Z plane views
for cone fitting.
a) Dialog box
This dialog box allows the user to specify the origin of the plane, its normal direction, its size (see
Figure 4.2.2-5).
4-8
HEXPRESS
CAD Model
Geometry Definition
plane
Because of Parasolid limitations, the coordinates of a box are limited by the range:
First corner X: -500, Y: -500, Z: -500 and Opposite corner X: 500, Y: 500, Z: 500
b) Interactive creation
The plane may be interactively created by clicking in the graphics area.
1.
2.
3.
4.
A default dialog box appears in the graphics area. Move the cursor to the desired location
and left-click to confirm the origin position.
While moving the cursor around, the drawing of the plane is updated according to the cursor position. Move the cursor to the desired location and left-click to confirm the normal of
the plane.
Specify the plane size in the dialog box and press Enter.
Click on Accept to create the plane.
The plane creation tool can be aborted at any time, either by pressing the Cancel button in the dialog box, or by right-clicking in the graphic area.
An accepted plane cannot be modified later. It must be deleted and a new plane created, but before clicking on Accept, the origin and the normal values can be modified in
the graphics area. The radius can also be adapted by directly specifying its value in the
dialog box. Nevertheless, it can be easier to use the X,Y,Z plane views
plane fitting.
HEXPRESS
for
4-9
Geometry Definition
CAD Model
a) Dialog box
This dialog box allows the users to specify the origin and radius of the sphere. See Figure 4.2.2-6.
sphere
3.
A default dialog box appears in the graphics area. Move the cursor to the desired location
and left-click to confirm the origin position.
While moving the cursor around, the drawing of the sphere is updated with different radius
according to the cursor position. Move the cursor to the desired location and left-click to
confirm the radius of the sphere.
Click on Accept to create the sphere and quit the creation tool.
The sphere creation tool can be aborted at any time, either by pressing the Cancel button in the dialog box, or by right-clicking in the graphic area.
An accepted sphere cannot be modified later. It must be deleted and a new sphere shall
be created, but before clicking on Accept, the sphere radius can be adapted by directly
specifying its value in the dialog box.
4-10
HEXPRESS
CAD Model
Geometry Definition
4-2.2.6 Subtract
a) Overview
A Boolean subtract operation may be performed between a target body and a list of tool bodies. The
target body and tool bodies are selected either in a dialog box or by picking in the graphic area.
Select the tool body (or bodies) (bodies to be subtracted from the target body).
Press the Perform button.
If the Boolean subtract operation between the target body and the tool bodies is successfully performed, the target body is modified and the tool bodies are deleted.
Only one target body may be selected, but several tool bodies can be selected.
All bodies except the target can be selected simultaneously by pressing a in the
graphic area.
The Boolean subtract operation tool can be aborted at any time, either by pressing
Cancel button or by right-clicking in the graphic area.
HEXPRESS
4-11
Geometry Definition
CAD Model
If the Boolean unite operation between the target body and the tool bodies is successfully performed, the target body is modified and the tool bodies are deleted.
Only one target body can be selected, but several tool bodies can be selected.
Orientation of the Parasolid bodies is very important (Figure 4.2.2-9)
3 Parasolid bodies
to unite
bodies orientation
All bodies except the target can be selected at the same time by pressing a in the
graphic area.
The Boolean unite operation tool can be aborted at any time, either by pressing Cancel
4-12
HEXPRESS
CAD Model
Geometry Definition
The Unite operation gives good results in term of bodies but not of surfaces. In fact,
surfaces remain disconnected after this operation. For example, the unite operation on
three solid bodies results in a general body, which could be (depending on the case)
unsuitable for further operations with HEXPRESS.
4-2.2.8 Intersect
a) Overview
A Boolean intersection operation can be performed between a target body and a list of tool bodies.
The target body and tool bodies can be selected either in a dialog box or by picking in the graphic
area.
If the Boolean intersect operation between the target body and the tool bodies is successfully performed, the target body is modified and the tool bodies are deleted.
Only one target body can be selected, but several tool bodies can be selected.
All body except the target can be selected simultaneously by pressing a in the
graphic area.
The Boolean intersect operation tool can be aborted at any time, either by pressing
Cancel button or by right-clicking in the graphic area.
HEXPRESS
4-13
Geometry Definition
CAD Model
4-2.2.9 Delete
a) Overview
This function allows the user to delete one or several bodies. These bodies may be selected either in
a dialog box or by picking in the graphic area.
4-2.2.10 Transform
The Transform button allows the scaling, rotation or translation of the selected Parasolid entities.
4-14
transformation menu
HEXPRESS
CAD Model
Geometry Definition
The operations (translation, rotation, scaling) are applied to the active bodies selected from the Visualization/Selection page after clicking on the Apply button:
For the rotation, the origin, axis and angle in degrees have to specified,
For the translation, the translation direction has to be specified. The specified vector includes
the magnitude of the translation,
For the scaling, the scaling factor along the X, Y and Z directions should be specified. The scaling factors have to be strictly positive.
When different scaling factors along the X, Y and Z directions are imposed, depending of the complexity of the geometry, the scaling may not succeed.
4-2.2.11 Undo
The Undo button allows to undo CAD manipulations up to 10 successive operations. The undo
functionality is available for CAD manipulations except the Create Domain and Save functionalities.
The discretization of the model is a conformal triangulation of the surface boundary delimiting the
computational domain, it is produced using the faceting capabilities of Parasolid. Triangles are
grouped according to their original topology faces in the solid model. There is a one-to-one mapping between the discretization triangle groups and the solid model topology faces. If no further
operation is performed on the triangulation itself, the curves in the HEXPRESS ".dom" file are
those found in the solid model.
The discretization resolution can be modified by changing the faceting parameters and pressing the
Apply button in the pop-up window.
HEXPRESS
4-15
Geometry Definition
CAD Model
Pressing the Cancel button in the Create Domain dialog box deletes the current discrete representation and any work performed on the model is lost.
The validation of the discretization and the creation of the domain object (".dom" file) is accomplished by pressing the Create button in the Create Domain dialog box.
It is very important to notice that a poor triangulation will certainly lead to a bad mesh. On the contrary, a good triangulation will allow to capture the geometry correctly.
a) Faceting
The faceting step allows the user to adapt the default resolution discretization if necessary.
The following parameters control the creation of the triangulation of the selected body.
Minimum length: the minimum edge length of the triangulation facets. A default value is
automatically computed by the system.
Maximum length: the maximum edge length of the triangulation facets. A default value is
automatically computed by the system.
Curve chordal tolerance: the maximum distance between a curve and the corresponding triangulation edges. A default value is automatically computed by the system.
Surface plane tolerance: the distance tolerance in model units between a surface and its triangulation, i.e. the maximum distance between a facet and its corresponding surface. A
default value is automatically computed by the system.
Curve resolution: the maximum angle in degrees between a curve and the triangulation
edges, i.e. the maximum of the sum of the angles between the edge and the curve tangents
measured at the extremities of the edge. Values may range from 1.0 to 30. A default value is
automatically computed by the system.
Surface resolution: the angular tolerance in degrees between a surface and its triangulation.
Values may range from 1.0 to 30. degrees. A default value is automatically computed by the
system.
Pressing the Apply button updates the faceting of the model taking into account the new parameters.
The Default buttons, associated to each of these parameters, reset their values to the default ones.
4-16
HEXPRESS
CAD Model
Geometry Definition
Best Practice:
The Minimum length should be smaller that the minimum geometrical entity to capture. Usually,
curve and surface resolutions should be equal to 5 for a correct triangulation up to 2 for a precise
triangulation. Curve chordal and surface plane tolerances can be divided by 100 most of times but
should be tuned according to the case.
Each geometry to export gives different default faceting settings. Users are invited to make a first
try only with a visual but satisfying triangulation keeping in mind that the mesh quality depends on
the triangulation.
c) Export parameters
Several parameters can be modified:
Reverse triangulation orientation: always check that the orientation of the triangulation is
consistent (see section 4-3.3.3 on page 4-25 on how to select facets and to check their orientation), i.e. all triangle normals point either inside the domain or outside the domain. Since
the standard orientation convention is to have normals pointing inwards, the "Reverse triangulation orientation" item should be checked in the latter case.
Merge tolerance: refers to the minimum distance between vertices. Vertices closer than this
reference length will be considered duplicate and merged. No limitation check is performed
on the merge tolerance. Choosing a tolerance that is too large may prevent HEXPRESS
from successfully creating the ".dom" computational domain.
Pressing the Create button opens a file chooser window that enables the user to set the name of the
new domain. Once it is done, the domain is created and imported (Figure 4.2.2-15):
import.
If No is pressed, the Create domain dialog box remains opened. If Yes is pressed, all bodies are
deleted, the new domain is imported and is ready for meshing.
When loading CAD Parasolid or CATIA v5 entities, the name of the surfaces will be transferred
in the created domain. For each domain face, a name will be assigned in two different ways:
If the CAD file contains surface names, there are transferred to the domain faces during domain
construction,
HEXPRESS
4-17
Geometry Definition
CAD Model
Faces of boxes created via CAD Manipulation will have a name of type
bodyname_face_facenumber, e.g. B1_face_1 for instance.
Triangulation settings are saved during the creation of the domain and written in the
domain file (".dom"). They are written in the line following the line with the orientation
face flag. For instance, for a single block case, it is the 6th line of the ".dom" file. Please
check Appendix A-4 for a description of the domain format and triangulation parameters.
4-2.2.13 Save
The Save button creates a Parasolid file to save a backup file after performing CAD manipulation
operations or to modify this Parasolid file in an external CAD software. Clicking on Save button
opens a file chooser to enter the name of the Parasolid file and will save all entities selected in the
Visualization/Selection menu.
4-2.3
Visualization/Selection
menu
When loading a CAD Parasolid or CATIA v5 geometry, bodies or sheets names appear in the
Visualization/Selection page. To manipulate them, select one or several bodies or sheets and perform the actions present in the Create/Edit page or the actions coming from the right-click menu.
4-2.3.1 Selection
A body can be selected at any time by left-clicking on its name, it is then highlighted in the graphics
area. Multiple selections are made by <Ctrl>-left-clicking. If a body is already selected, <Ctrl>left-click unselects it. It is also possible to select bodies by left-clicking on them in the graphic area:
4-18
HEXPRESS
CAD Model
Geometry Definition
The body under the cursor is highlighted. If several bodies lie under the cursor, they can be
cycled by middle-clicking. The highlighted body can be selected/unselected by left-clicking.
pop-up menu
HEXPRESS
4-19
Geometry Definition
STL Model
Sew: merges sheets to make a body with a tolerance specified by the user.
It is also possible to hide all the bodies by pressing Hide All button, and to display all bodies by
pressing Show All button. The Select button allows a mouse picking selection of the bodies
(Figure 4.2.3-5).
4-3
STL Model
4-3.1
Introduction
subpanel
4-20
HEXPRESS
STL Model
Geometry Definition
4-3.2
Import
PRESS dialog box (see Figure 2.2.0-1 on page 2-3) or using Project/Import.../STL triangulation
menu. The additional property file with extension .prop if existing is also automatically imported.
4-3.3
STL Manipulation
There are two types of STL files, which can be imported in HEXPRESS. The first one is the
colored STL file in which groups are already created and the second one (non-colored) corresponds
to a STL format where groups are not present.
group tool
This dialog box needs the inputs STL Merge Tolerance and Feature Angle Tolerance so as to create the groups. The default values are shown in the dialog box. The actions associated to the buttons
Preview and Apply are the following:
Preview: when clicking on this button, it will generate the preview of the STL file in the
graphics area. It will show the groups with colors created by using above input parameters.
Apply: this button apply the settings and creates the groups. All created groups created will
be added to the data structure.
HEXPRESS
4-21
Geometry Definition
STL Model
Manipulation menu
a) Viewing/Selection
Select: this button in the Edit page provides the user various selection modes. When user clicks on
this button, an interactive tool for selecting the groups with the mouse is enabled, together with a
selection mode dialog box shown in figure 6 below. It has various group selection options described
below:
Single Selection: groups can be selected by left-clicking on the mouse. If user clicks on a
selected group again, then that group will become as non-selected group. The selection is
cumulative, which means that when clicking on several different groups (without the need
of pressing shift), the groups are added to the current selection. The shortcut <a> can be
used in the graphics area to select or unselect all groups at once.
Front Group can be used to select groups which are in front of the others (the ones
which are visible when shaded representation is active). The groups which are in the
back will not be selected.
Front and Back Groups: both front and back groups will be selected, if this option
is selected.
Selection mode
Rectangular Selection: groups can be selected by drawing rectangle around the groups to
be selected.
Inside Only option selects the groups which are inside the drawn rectangle.
Inside + Intersecting option selects the groups which are inside as well as intersecting the rectangle.
4-22
HEXPRESS
STL Model
Geometry Definition
Selection mode
Polygonal Selection: in this mode, a polygon is drawn around the groups to select.
Inside Only option selects the groups which are inside the drawn polygon.
Inside + Intersecting option selects the groups which are inside as well as intersecting the polygon.
Selection mode
View/Select page is a tree view (see Figure 4.3.3-2) in which all the group names present in the
STL file will be shown:
Press the left-mouse button to select the group under the mouse.
Press <Shift> + left-mouse button to add a group to the current selection.
Press <Ctrl> left mouse button to add a group to the current selection.
Press the right-mouse button to pop up the floating menu shown on
Selecting the Root of all the groups will select all the groups in the tree
HEXPRESS
4-23
Geometry Definition
STL Model
Upon selection in this menu, the related operation will be performed on all selected groups:
b) Manipulation
This is used to perform different operations on STL file such as merging or splitting groups. It is
also possible to undo the last operation. The functions of various buttons used in this menu are
explained below.
Merge: this button will be used to merge the selected groups of the STL file. To select or unselect
groups, left-click on the mouse. To quit the merge operation, right-click on the mouse.
Split: this button will be used to split the selected group in two groups. The required steps to perform the split operation are:
If the original STL file contains surface names, there are transferred to the domain
faces during domain construction.
4-24
HEXPRESS
STL Model
Geometry Definition
4-3.3.3 STL/Edit
HEXPRESS provides simple operations to edit the imported STL file in the menu bar.
a) Mirror geometry
STL/Edit/Mirror geometry mirrors the whole STL representation relative to a specified mirror
plane.
The following prompt controls the definition of the mirror plane:
PLANE: point =
>> 0. 0. 0.
PLANE: normal =
>> 1. 0. 0.
To quit this command before the end, enter <q> in the keyboard input area and press <Enter>.
b) Translate geometry
STL/Edit/Translate geometry translates the whole STL representation by the specified translation
vector.
The following prompt controls the definition of the translation vector:
Translation vector =
>> 1. 0. 0.
To quit this command before the end, enter <q> in the keyboard input area and press <Enter>.
c) Rotate geometry
STL/Edit/Rotate geometry rotates the whole STL representation by the specified angle around an
axis defined by a point and a direction vector.
The following prompt controls the definition of the mirror plane:
Rotation axis vector (q)
>> 0. 0. 1.
Rotation axis origin (q)
>> 0. 0. 0.
Rotation angle (q)
>> 10.
The angle is expressed in degrees.
To quit this command before the end, enter <q> in the keyboard input area and press <Enter>.
d) Clear all
STL/Edit/Clear all clears all groups and cell lists. The graphical representation is removed from
the view and deleted.
e) Information
STL/Edit/Information outputs information regarding the triangulation attributes to the console
shell. A typical output appears as follows:
HEXPRESS
4-25
Geometry Definition
STL Model
STLDiscretisation Information
--------------------------------> nb. triangles : 14330
---> nb. vertices
: 42990
---> nb. groups
: 13
---> groups
Flag
---0
1
2
3
4
5
6
7
8
9
10
11
12
unselected
nb. triangles
------------12059
936
37
10
38
39
42
982
46
10
44
45
42
0
These information can be useful to check the discretization of each face. The total amount of cells is
also computed to get an idea about how many triangles the complete domain will contain. Besides,
information about the minimum and the maximum coordinates are computed as well as the mean
coordinates and the volume of the geometry.
The user is also asked for a reference length. All triangle edges shorter than this reference length are
considered as degenerated and then collapsed.
Absolute Tolerance for size information =
>> 1e-6
To quit this command before the end and have no further information displayed in the console shell,
enter <q> in the keyboard input area and press <Enter>.
Additional information about potential degenerated triangles is displayed in the console shell.
Cell has min. length = 2.097351920513e-08
.........max. length = 4.128045738260e-03, flag = 1
--> count = 1828
--> node 0: 5.514487624168e-02 -2.437819911216e-12 2.495113313198e-01
--> node 1: 5.927037075162e-02 -1.448141693366e-11 2.493663281202e-01
--> node 2: 5.927037447691e-02 2.062554571580e-08 2.493663281202e-01
Cell has min. length = 2.986047331594e-08
.........max. length = 8.229180342422e-05, flag = 0
--> count = 4888
--> node 0: 9.326978772879e-02 -2.007243782282e-02 2.569002211094e-01
--> node 1: 9.335155040026e-02 -2.006312087178e-02 2.569002509117e-01
--> node 2: 9.335155040026e-02 -2.006312273443e-02 2.569002211094e-01
Cell has min. length = 2.097351920513e-08
.........max. length = 2.295982731667e-03, flag = 0
--> count = 7741
--> node 0: 5.917158722878e-02 -3.586173697840e-04 2.516319751740e-01
--> node 1: 5.927037447691e-02 2.062554571580e-08 2.493663281202e-01
--> node 2: 5.927037075162e-02 -1.448141693366e-11 2.493663281202e-01
Cell has min. length = 2.986047331594e-08
.........max. length = 5.724828521196e-05, flag = 0
--> count = 12855
--> node 0: 9.340154379606e-02 -2.003522962332e-02 2.569002509117e-01
--> node 1: 9.335155040026e-02 -2.006312273443e-02 2.569002211094e-01
--> node 2: 9.335155040026e-02 -2.006312087178e-02 2.569002509117e-01
STLDiscretisation: SIZE INFO
---> min. length = 2.097351920513e-08
---> max. length = 8.660253859303e-02
---> nb. degen. cells [reference dist. = 5.000000000000e-08] : 4
4-26
HEXPRESS
Geometry Definition
4-3.3.4 STL/Export...
a) Ascii stl format
STL/Export.../Ascii stl format is used to export an STL representation to an ASCII ".stl" file
and an associated property file with extension ".prop". The following prompt appears to define
whether all the groups should be exported or only those currently visible.
Export all [1] or visible cells only [0]?
>> 1
To quit this command before the end, enter <q> in the keyboard input area and press <Enter>.
When performing the action, the export operation is applied to the active domain only
and is resulting in an ASCII or binary STL file completed with a property file including
surface definitions for ASCII STL file.
4-4
The import of StarCD surface mesh files are described in section 2-3.6.1 on page 2-60. The conversion produces an ".stl" and associated ".prop" file. Starting with version 1.2, the orientation of the
triangles is checked automatically to ensure the same orientation of all the triangles (pointing all
outward or all inward).
HEXPRESS
4-27
Geometry Definition
4-5
The Internal Surface subpanel (Figure 4.5.0-1) commands allow the creation of points, curves and
surfaces. These are basic but very useful geometries functions allowing to include additional surfaces within the initial geometry to mesh.
subpanel
The additional surfaces are not modifying the limits of the domain but can be used during the adaptation step in order to refine the mesh in the neighbourhood of these new geometrical entities.
Please refer to section 2-5.2 for more details.
4-28
HEXPRESS
CHAPTER 5:
5-1
Domain Manipulation
Overview
This chapter is presenting the different domain operations necessary to clean or adapt a computational domain before generating the mesh within HEXPRESS. The resulting computational
domain is stored in a file with extension ".dom" (see section A-4 on page A-2 for a description).
When a first computational domain has been created, domain operations allow to improve its definition by splitting/merging its edges and faces. Finally, tools allow to check the validity of the
domain.
5-2
Domain Definition
The starting point of any simulation is the definition of an appropriate computational domain,
which, in most cases, can be interpreted as the complement of the solid parts present in the model.
HEXPRESS expects a "water-tight" computational domain. The computational domain consists
of a topology and a geometry part as presented in Figure 5.2.0-1.
The topology describes the skeleton of the model. Basically, it allows the definition of a
closed volume and provides information on the connection of the model surfaces (topological faces) with common curves (topological edges). Similarly, it connects curves together
by common corners (topological vertices).
The geometry part defines the actual geometry of the model. Each model surface is
described by a triangulation, each curve by a list of points connected by segments and the
corners are defined by a single point.
HEXPRESS
5-1
Domain Manipulation
Domain Manipulation
FIGURE 5.2.0-1
5-3
Domain Manipulation
As described in section 2-5.3 on page 2-86, the Domain Manipulation subpanel (Figure 5.3.0-1)
allows to transform edges and faces composing the domain of the mesh, as well as the domain
itself.
Both edges and faces composing the domain can be manually and/or automatically split and
merged.
A settings icon allows to define the shortest edge length after split and the feature angle. The
feature angle is the minimum angle between two edges or between the two normals of faces to
merge.
A "domain validity check" icon allows to control the domain before meshing.
An "undo" icon allows to undo the last performed operation.
5-2
HEXPRESS
Domain Manipulation
Domain Manipulation
Move Part
Undo
Settings
Delete Block
Domain validity check
FIGURE 5.3.0-1 Domain
manipulation subpanel
Split Edges: allows to split manually selected edge one by one using mouse picking. To select the
edge, just pick it in the graphics area at the position where it should split.
edge split
Merge Edges: allows to merge manually selected edge one by one using mouse picking. To select
the vertex, just pick it in the graphics area at the position where the edges should be merged (location of the vertex).
HEXPRESS
edge merge
5-3
Domain Manipulation
Domain Manipulation
Merge Edges Automatically: allows to merge automatically edge based on a feature angle.
When clicking on the icon, the following dialog box appears.
Define angle to be used for feature detection allows to define an angle over which the merging is
performed. The default feature angle is 140 degrees.
Display options allows to define the way the merging will be displayed:
Activate Zoom in to display the set of edges being merged to center the graphics area on the
merged edges.
Split Faces: allows to split manually selected face one by one using mouse picking. Faces can be
manually split by a new edge (two points) or a plane (three points).
Toggle <m> allows to select the way to split the face (by an edge or a plane).
The two points have to be specified to create this edge in the graphics area on the face to be split.
Selected face is displayed in green.
5-4
HEXPRESS
Domain Manipulation
Domain Manipulation
face split
In cases HEXPRESS cannot find an optimal split path just with two points, a third point (to
define a plane) in addition to the usual two points can be specified on the face boundary for identifying good split path.
Merge Faces: allows to merge manually faces based on a common existing edge. The edge has to
be specified to create the new merged face. To select the edge, just pick it in the graphics area. The
faces that are going to be merged together are displayed in green.
face merge
After this operation, two faces are unified in one but vertices are not automatically
merged. Users can decide to keep or merge the corresponding edges.
HEXPRESS
5-5
Domain Manipulation
Domain Manipulation
Merge Faces Automatically: allows to merge automatically face based on a feature angle.
When clicking on the icon, the following dialog box appears.
Define angle to be used for feature detection allows to define an angle over which the merging is
performed. The default feature angle is 140 degrees.
Display options allows to define the way the merging will be displayed:
Activate Zoom in to display the set of faces being merged to center the graphics area on the
merged faces.
Activate Merge faces and assign UND type to the resulting face to reset the boundary condition for the resulting faces.
Activate Do not merge faces to avoid merging of faces having different boundary conditions.
When clicking on OK to start the merging, the faces could then be merged one by one (Merge) or
fully automated (Merge All).
After this operation, two faces are unified in one but vertices are not automatically
merged. Users can decide to keep or merge the corresponding edges.
5-6
HEXPRESS
Domain Manipulation
Domain Manipulation
Merge Face Selection: allows to merge a set of selected faces in the graphics area or in the Merge
Faces dialog box. With this option, the user simply selects the faces he wants to merge and then
performs the merging by pressing the Merge button. Click on icon
merging operations.
A face can be selected by left-clicking in the face browser or interactively in the graphics area. This
face is then automatically visualized in the graphics area. It is possible to select several faces at
once in the following ways:
1.
2.
3.
4.
5.
While holding the <Ctrl> key down, select the desired faces in the browser.
While holding the <Shift> key down, select two faces delimitating a range of faces.
While pressing the left mouse button, drag the mouse and release the left button to select a range
of faces.
Pressing <Ctrl> + <a> keys down will select all patches.
Interactively in the graphics area depending of the selection options (shortcut <o>):
HEXPRESS
5-7
Domain Manipulation
6.
Domain Manipulation
Clicking on Select button and move mouse and left-click in the popup menu to select the type of
face selection.
Select All Blanked allows to select all blanked faces in the graphics area.
Select Face By Area allows to select all the faces with an area in the range specified by the
user.
Select Face By Name allows to select all the faces whose name match the input name. A
dialog box is provided to input the name. The name can be a regular expression (i.e. if the
input is "channel*" all the faces whose name begins with channel will be selected)
Select Geometrically Similar Faces allows to select all the faces with an area and a perimeter (under a tolerance of 0.03) identical to the selected face in the list.
Select Tangent Faces allows to select all the faces tangent to each other (neighbouring
faces presenting an angle above the specified angle), starting from the list of selected faces.
The shortcut <h> in the graphics area will display hints. There are information about mouse button
bindings and shortcuts.
Move Part: allows to translate and/or rotate and/or scale one or more parts of a domain consisting in
several disjoined parts (a part can also be a body onto a mirror patch). For instance, the option
5-8
HEXPRESS
Domain Manipulation
Domain Manipulation
allows to rotate a rudder of a boat, rotate a body around its pitch angle or to move the loads of an
aircraft.
The operations (translation, rotation, scaling) are applied to the parts selected in the left list of the
Move Parts dialog box after clicking on the Apply button:
for the rotation, the origin, axis and angle in degree have to specified,
for the translation, the translation direction has to be specified. The specified vector includes the
magnitude of the translation.
for the scaling, the scaling factor along X,Y,Z directions has to be specified.
When performing a scaling on a domain including a mirror face, it does not move during the scaling by translating the domain to the origin before the scaling and then translating back to its original place after the scaling.
An Undo button is directly available in the window to come back to the previous position.
Delete: allows to delete a domain when dealing with a multi-domains project. The option is available only for a multi-domain project without generated mesh and will delete existing FNMB connections related to the domain.
The "undo" operation does not restore FNMB connections. They have to be recomputed.
Replace Domain: allows to replace a domain in an existing project. The main objective to use an
existing HEXPRESS project on similar geometries (domain). The replacement works as follows:
1.
HEXPRESS
5-9
Domain Manipulation
2.
Domain Manipulation
Click on the Replace Domain icon (mesh should not be generated but mesh settings can be
present).
5.
6.
replacement inputs
All entities are matched: in this case, HEXPRESS will just give the message that the
domain replacement was successful.
Some entities did not match to each other (for instance, it is the case when a patch has been
splitted in two). In such scenario, the original and the replacement domains are represented
on the graphics area (the first one in red, the last one in blue) with a small shift between
them.
5-10
replacement status
HEXPRESS
Domain Manipulation
Domain Manipulation
The menu is divided in two tabs: edges and faces matching. They are dedicated to manual matching. The left column lists the faces/edges of the original domain whereas the right column gives the
list of the faces/edges of the replacement domain. Their number can be different (for instance, when
patches have been merged or split), in that case select one or several patches from the replacement
domain to match with one patch of the original domain (the contrary is not possible since we cannot
apply two different mesh settings to the same patch). For this purpose, the Match and Unmatch buttons are present below the lists.
When the Hide matched elements option is ticked, the geometrical entities which have been
already matched (automatically or manually) are hidden. Otherwise, matched entities are shown in
italic.
The Zoom in to selected entity option will allow to perform an automatic zoom each time a new
element is selected.
Once all entities are matched, or once the user decides that enough entities are matched, pressing
the Ok button will finish the procedure. Otherwise, the Cancel button comes back to the original
domain.
Domain replacement stops if the number of blocks are not the same.
Undo: allows to undo the last domain manipulation action.
HEXPRESS
5-11
Domain Manipulation
Domain Manipulation
Settings: allows to adapt the values for the feature angle and the shortest edge length after splitting.
By default the values are respectively 140 degrees and 0.0001 (based on imported geometry unit).
For instance, the surfaces with an angle of less than 140 degrees between them will not be available
for merging during the manual face merge action. To be able to merge more surfaces, reduce this
number. When defined, the automatic merging will:
merge edges and faces presenting an angle over the feature angle.
merge edges presenting a length under the shortest edge length.
5-12
manipulation settings
HEXPRESS
CHAPTER 6:
6-1
Mesh Wizard
Overview
The mesh wizard helps to build an unstructured hexahedral mesh into a valid HEXPRESScomputational domain see section on page 4-3). Recall that a computational domain is represented by
a set of topological faces (surfaces) connected together by topological edges (curves). A topological
edge separates two topological faces and may be connected by topological vertices (corners). Each
topological face is represented by a triangulation which linearly approximates the input CAD
geometry. Similarly, topological edges are defined by a list of points. When a topological edge is a
loop, it is denoted cyclic.
The mesh wizard involves five different steps (see Figure 6.1.0-1). Each step must be successfully
accomplished before proceeding to the next:
Initial mesh
HEXPRESS creates an initial mesh surrounding the computational domain (see section
6-5 on page 6-7 for more information).
Adapt to geometry
HEXPRESS adapts the initial mesh such that the cell sizes satisfy geometry dependent
criteria and removes afterwards cells intersecting the geometry or located outside the computational domain (see section 6-6 on page 6-10 for more information).
Snap to geometry
HEXPRESS projects the adapted mesh onto the geometry and recovers lower dimensional features such as topological edges (curves) and topological vertices (corners). Since
the technology in HEXPRESS is based on a top-down approach, the adapted mesh does
not conform to the geometry. A simple projection on the surface would not preserve ridges
or sharp corners, that is why a unique technology has been developed inside of HEXPRESS to perform this capturing while ensuring the highest quality mesh. Additional
cells (buffer insertion) are also introduced during this stage to obtain a smoothly conforming hexahedra mesh (see section 6-7 on page 6-33 for more information).
Optimize
Though the snapping step already ensures a high quality mesh, some distorted cells (concave or negative) may exist. A powerful mesh optimization tool is implemented in HEX-
HEXPRESS
6-1
Mesh Wizard
PRESS that allows the conversion of concave cells in convex ones (see section 6-8 on
page 6-42 for more information).
Viscous layers
Finally, HEXPRESS allows to insert layers of high aspect ratio cells tangentially to the
wall in order to correctly resolve boundary layers (see section 6-9 on page 6-45 for more
information).
6-2
6-2.1
Check Action
Wizard
The mesh wizard pad (see Figure 6.1.0-1) involves five boxes corresponding to the successive
mesh generation actions of HEXPRESS. An action can be checked or unchecked by left-clicking
on its corresponding box (Figure 6.2.1-1).
an action
After an action is checked, the pop-up window containing all the corresponding parameters can be
accessed by left clicking on the button beside the check box. The user can then modify the proposed
default values. The "Initial mesh", "Snap to geometry" and "Optimize" parameters should generally
be left at their default values. The parameters related to the "Adapt to geometry" action should be
modified by the user to select suitable mesh adaptation criteria (see section 6-6 on page 6-10 for
more details). Furthermore, the insertion of viscous layers ("Viscous layers" action) is also dependent on user choices (see section 6-9 on page 6-45 for more details).
6-2
HEXPRESS
6-2.2
Mesh Wizard
Execute Action
A checked action is executed during the next run of the mesh generation process. At the bottom of
the panel, the Start button (see Figure 6.2.2-1) launches the mesh generation process for all the
checked actions. The Step button steps through the first checked item and executes its corresponding mesh generation action until it is completed. The Stop button allows to suspend the executed
action.
- Step buttons
After completion of the mesh generation process, consisting of executing all checked actions, the
color of the action boxes turns either green or red. A green box means that the mesh generation
action is completed successfully while a red color indicates that a problem occurred (the user is
referred to the different sections of this chapter describing in more details the various mesh generation actions for a description of potential problems). A red color button indicates a blocking problem. Depending on the circumstances, it may indicate a mesh quality problem, a difficulty during
the step or may simply indicate some potential problems in the existing domain file.
A mesh generation action can be deactivated, returning to the previous action, by left-clicking on its
corresponding box. If a mesh was generated by the previous action, it will be loaded and a valid
previous state of the mesh will be recovered.
When an action is performed, the obtained mesh is saved in a temporary file. This
means that after performing four successive actions, four intermediate meshes are saved
(i.e. suffix "_init.hex", "_adapt.hex", "_snap.hex" and "_regularize.hex") and these are
finally saved in a subdirectory "/cache/" when saving the mesh (menu Project/Save or
Project/Save as...).
Example: Figure 6.2.2-2 presents a mesh wizard status in which the "Initial mesh", "Adapt to geometry" and "Snap to geometry" steps were completed successfully.
By left clicking on the "Snap to geometry" action, this last action is deactivated and the mesh status
after completion of the "Adapt to geometry" action is recovered.
HEXPRESS
6-3
Mesh Wizard
6-2.3
When the action is checked for execution, the window for the selected action can be accessed by
direct-clicking on the button itself. All the respective windows are containing the same buttons at
the bottom as shown in Figure 6.2.3-1:
action buttons
Ok. Exits the panel and saves the modifications on the parameters. This button is not available when action has been performed;
Go. Saves the parameters and launches the mesh generation process for the concerned
action, if this last action is checked for execution. The panel is closed upon completion of
the task. This button is not available when action has been performed;
Cancel. Exits the panel without saving any modification on the parameters.
6-3
The HEXPRESS user interface toolbar (see section 2-4 on page 2-76) contains a specific entry
for choosing between the 2D and 3D mesh generation modes (Figure 6.3.0-1).
6-3.1
The three dimensional mesh generation mode is the default selection. A two dimensional domain is
still three-dimensional, however it is then bounded in the Z-direction by two mirror planes (MIR),
parallel to the 2D mesh generation plane separated by an arbitrary distance. In this case, HEXPRESS will only generate one cell in the Z-direction.
Exactly two mirror (MIR) planes should be present (it cannot be more or less) per
block (domain).
6-4
HEXPRESS
Mesh Wizard
FIGURE 6.3.1-1 2D
The two dimensional grid generation mode must be selected before executing any
action on the mesh wizard. All specific mesh action parameters related to the Z-axis are
disabled in this mode. Therefore, changing mesh generation mode during the mesh generation will lead to an error message: the user is invited to delete completely the mesh to
change the mesh generation mode.
6-3.2
A two dimensional domain is still three-dimensional. HEXPRESS includes the possibility to generate an axi-symmetric mesh from a two dimensional domain. To perform such a generation, all the
steps below are necessary:
Generate a 2D mesh (see section 6-3.1 on page 6-4 for the constraints on 2D mesh generation).
In the Grid/Mesh transformation menu, apply an angle of 90 degrees to rotate the mesh
around the X or Y-axis so as to get 1 cell in the Y or X-direction respectively.
(optional) HEXPRESS does not support prisms cells. Hence in case the project is centered on
the Z-axis, apply a translation so as to have a gap with the Z axis.
HEXPRESS
6-5
Mesh Wizard
In the Grid/Mesh transformation menu, set the angle and the number of cells in theta direction. Click on <Apply> to generate the axi-transformation (see section 2-3.3.5 on page 2-52).
To create a rotation periodicity, first go to the Grid/Periodicity menu, and define a rotation
periodicity with an angle around Z axis (see section 2-3.3.5 on page 2-52). This angle should
correspond to the number of times the axi-symmetric should be repeated to get a 360 degrees
mesh.
Then change MIR faces to SOL in the Grid/Boundary Conditions menu and go to the Grid/
Non Matching Connections menu to manually add a FNMB connection with periodicity for
rotating patches (see section 2-3.3.3 on page 2-38).
A singular line is not allowed. To avoid singular line, the 2D mesh can be slightly
move from the origin but this may affect the mass flow if for instance the velocity is
imposed at the inlet and the mesh is too far from origin.
When imposing to small angle, that may introduce stiffness in the flow solver. While
imposing a too high angle may introduce error. Usually an angle of 5 degrees seems to be
a good compromise.
6-6
HEXPRESS
Mesh Wizard
6-4
Boundary conditions menu allows to define the type of boundary condition imposed on a patch or
a group of patches. The type of boundary condition for a patch can influence the mesh generation
process. For instance, a box from the Box adaptation will refine only Solid surfaces (SOL). The
other menu influenced by this choice is the Viscous layers menu: it will only list patches flagged as
Solid (SOL). In any case, they are mandatory for the flow solvers and should be correctly defined.
Please read carefully section 2-3.3.2 on page 2-33 to know more about how to work on this menu.
6-5
Initial Mesh
6-5.1
Overview
conditions window
HEXPRESS starts its mesh generation process from an initial mesh which encompasses the
whole computational domain. An initial mesh is automatically proposed (Figure 6.5.1-1) which
corresponds to an isotropic subdivision of the computational domain bounding box. The box can be
HEXPRESS
6-7
Mesh Wizard
Initial Mesh
rectangular or cylindrical. The section Subdivide the domain bounding box is dedicated to rectangular boxes and the section Create cylindrical mesh to initial cylindrical boxes. Furthermore, the
user is able to import his own unstructured mesh.
6-5.2
mesh parameters
6-5.2.1 Description
The bounding box of the computational domain is the parallelepiped which encloses the computational domain. It is automatically computed by HEXPRESS. To create an initial mesh, HEXPRESS computes the number of subdivisions in the X, Y and Z directions to generate isotropic
cells while limiting the total number of cells under the default number (1000).
6-8
HEXPRESS
Initial Mesh
6-5.3
Mesh Wizard
Cylindrical Mesh
6-5.3.1 Description
The objective of the cylindrical mesh is to provide facilities to produce an unstructured cylindrical
mesh which can be a better initial mesh for domains which are aligned with cylindrical coordinates
system.
cylindrical mesh
The refinement parameters menu is then modified according to the choice of an initial cylindrical
mesh: the target cell sizes X, Y and Z are replaced by R, Theta and Z in the adaptation criteria.
HEXPRESS
6-9
Mesh Wizard
Adapt To Geometry
6-5.4
The user can import ( ) an external mesh as an initial mesh for the mesh generation process. Any
hexahedral mesh (i.e. suffix ".hex") converted to the HEXPRESS format is valid. A file name can
be directly specified or a file selection box is activated.
The mesh refinement algorithm used in HEXPRESS (see section 6-6 on page 6-10)
assumes that all cells of the initial mesh are oriented in the same way with respect to the
X, Y and Z axis. This is true for the initial mesh obtained by subdivision of the computational domain bounding box. However, this is not necessarily the case for a HEXPRESS mesh obtained after snapping to the geometry. Indeed, the additional cells
introduced during buffer insertion (see section 6-7 on page 6-33) may be randomly oriented. In this situation, anisotropic refinement may lead to unexpected refinement patterns and isotropic refinement should be enforced.
6-6
Adapt To Geometry
6-6.1
Overview
This mesh generation action is probably the most important in terms of user interaction in HEXPRESS. Indeed, the parameters selection in this action directly dictates the computed mesh
obtained within HEXPRESS.
In this action, cells are successively subdivided such that specific geometrical criteria are satisfied.
Two classes of criteria are available:
Curve criteria
Cells which intersect curves are considered as candidates for refinement. Three criteria are
implemented and are respectively based on:
6-10
HEXPRESS
Adapt To Geometry
Mesh Wizard
Subdivisions in 2
Subdivisions in 4
Isotropic subdivision
modes of a hexahedron
For the criteria involving the user specification of target sizes (along the X, Y and Z axis) such as
the volume criterion and surface target size criterion, the mechanism used for anisotropic refinement depends on the orientation of the cell with respect to the Cartesian axes. In case of the default
initial mesh, the cells are simply oriented along the axes (X, Y and Z axis). Thus, cell sizes are independently compared to the target sizes and the cell refinement is triggered accordingly along each
axis.
HEXPRESS
6-11
Mesh Wizard
Adapt To Geometry
For surface refinement criteria, such as the distance and the curvature criteria, HEXPRESS computes target sizes in a reference framework attached to the surface with base vectors formed by the
two surface tangents and normal. These target sizes are mapped onto the cell reference axis and
compared to the actual cell size in order to determine the type of refinement to apply to the cell. In
practice, cells which are oriented sufficiently parallel to surfaces may be subdivided anisotropically.
A cell, oriented at 45 degrees between the surface tangent and the cell principal axis, will never be
refined anisotropically.
The anisotropic refinement can be controlled by a parameter available in the list of expert parameters of the surface adaptation criteria (see Figure 6.6.4-8 on page 6-26).
The Refinement and trimming parameters dialog box contains refinement and trimming parameters
as shown in Figure 6.6.1-3.
6-6.1.1 Refinement
This action consists of successive refinements of the initial mesh in order to satisfy the adaptation
criteria (Figure 6.6.1-4).
6-12
HEXPRESS
Adapt To Geometry
Mesh Wizard
The refinement parameters (available when clicking on Parameters... button - Figure 6.6.1-3) are
organized into a notebook, divided into 4 panels qualified as global, curve adaptation, surface
adaptation and box adaptation parameters (see Figure 6.6.2-1).
6-6.1.2 Trimming
The trimming step removes all the cells intersecting or located outside of the geometry. HEXPRESS automatically finds the cell located inside the computational domain. At the end of the
process, a staircase mesh is obtained including all the interior cells (see Figure 6.6.1-5).
6-6.2
Global Parameters
HEXPRESS
6-13
Mesh Wizard
Adapt To Geometry
a) Enable refinement
By default this parameter is activated and it gives access to Curve, Surface and Box refinement
tabs. If not, the relevant tabs will be grayed out.
b) Enable trimming
By default this parameter is activated and it allows users to access the trimming parameters in Trimming tab.
c) Refinement diffusion
When a cell is flagged for refinement, it is advisable to also tag its neighbours for refinement in
order to ensure a sufficiently smooth transition between fine and coarse cell regions. This process is
called "refinement diffusion". The integer value of the refinement diffusion parameter corresponds
to the number of layers of neighbours cells on which the diffusion of the refinement tag is applied.
For example, a value of 2 means that the neighbours of a cell are flagged for refinement together
with the neighbours of the neighbours. In addition, the type of diffusion applied in HEXPRESS
creates square shaped refinement regions for the sake of grid smoothness. Figure 6.6.2-2 shows the
diffusion of refinement to neighboring cells of surface intersecting cells. The default value is set to
2.
6-14
HEXPRESS
Adapt To Geometry
Mesh Wizard
HEXPRESS
of cells in gaps
6-15
Mesh Wizard
Adapt To Geometry
The final number of cells should not vary with and without this functionality. Only the
number of cells during the adaptation step changes.
This feature can decrease the RAM memory during the adaptation step. The gain is
more important for big cases. A speed up has also been observed for big cases.
For cases with initial anisotropic meshes, imposing isotropic refinement near domain
corners usually gives better results if trimming is activated.
6-16
HEXPRESS
Adapt To Geometry
Mesh Wizard
6-6.3
Curve Refinement
In addition to the surface and volume refinement (see next two sections), the adaptation step allows
mesh refinement along domain edges to give users the ability to achieve a higher level of refinement and capture edges more accurately, without the need to refine on the entire surface.
The Curve refinement tab gives access to the list of domain edges and to the edge refinement control parameters. The page is similar to the Surface refinement one.
The curve selection and the parameters controlling the edge refinement are the same
as for the surfaces. Refer to section 6-6.4 for more details.
HEXPRESS
6-17
Mesh Wizard
Adapt To Geometry
refinement
Best Practice:
This feature can be used in addition to Surface refinement to capture more accurately leading and
trailing edges of a wing or a blade, for instance. In this context, the refinement onto the surfaces can
be decreased and the number of refinements of the corresponding curves should be increased. As a
result, the number of cells will be less important for the same accuracy.
The number of refinement prescribed into the Curve refinement are disconnected
from the number of refinements of the surfaces from the Surface refinement menu. For
instance, for a surface with 4 curves, a number of refinements of 5 for curves and 3 for
the surface, will create 2 extra refinements on the curves.
6-6.4
Surface Refinement
The Surface refinement tab controls the mesh refinement process on a surface-by-surface basis.
These drivers involve three different adaptation criteria which can be activated or deactivated by
the user for each geometry surface with the following specific parameters:
Distance criterion
Curvature criterion
Target cell sizes criterion
6-18
HEXPRESS
Adapt To Geometry
Mesh Wizard
refinement
Usually, only solid surfaces ("SOL") are used for refinement but all surface types are
present in the list for particular cases (as internal flows for instance).
During each adaptation iteration, HEXPRESS detects all the cells which intersect the surfaces or
the geometrical surfaces created with the Geometry menu (more details in section 2-3.2 and section 2-5.2). The criteria specified for a specific surface are then applied. This actually results in
comparing the cell size to the target either computed automatically by the system (for distance and
curvature criteria) or specified by the user (for target cell sizes criterion).
HEXPRESS
6-19
Mesh Wizard
Adapt To Geometry
b) By picking
Geometry surfaces can also be selected interactively by left-clicking on the surface in the graphics
area (<Ctrl> - left-click or left-click allow multiple selection by picking depending of the option
selected (<o>)).
The selected surfaces are displayed in pink whereas a potential surface for selection is in green
(mouse in on the surface but did not select it). <Ctrl> + <a> combination selects or unselects all
surfaces.
c) Rectangle Selection
An other possible selection is to draw a rectangle in the graphics area to select all surfaces which
are completely or partially inside the rectangle (depending of selected option <o>). For this purpose, hold <Ctrl> key and drag the mouse with the left-click.
d) Select Identical
By right-clicking on a face or a group of faces, the action Select Identical will select all the faces
with the same settings from the list.
Select All Blanked allows to select all blanked faces in the graphics area.
6-20
HEXPRESS
Adapt To Geometry
Mesh Wizard
Select Face By Area allows to select all the faces with an area in the range specified by the user.
Select Face By Name allows to select all the faces whose name match the input name. A dialog
box is provided to input the name. The name can be a regular expression (i.e. if the input is
"channel*" all the faces whose name begins with channel will be selected)
Select Geometrically Similar Faces allows to select all the faces with an area and a perimeter
(under a tolerance of 0.03) identical to the selected face in the list.
Select Tangent Faces allows to select all the faces tangent to each other (neighbouring faces
presenting an angle above the specified angle), starting from the list of selected faces.
g) Blank/Unblank
It is possible to completely hide faces (or groups of faces) and make them unselectable, by using the
Blank/Unblank functionality (right-click in the menu or in the graphics area) or by double clicking
on the check box on the left of the surface name. The check box actually shows the state of the surface: unblank (ticked) or blank (unticked).
h) Invert Selection
It is possible to invert the current selection by using the Invert Selection functionality (right-click
in the menu or in the graphics area, or shortcut <i>).
i) Undo Selection
It is possible to undo the successive selections by using the Undo Selection functionality (rightclick in the menu or in the graphics area, or shortcut <u>).
HEXPRESS
6-21
Mesh Wizard
Adapt To Geometry
settings highlight
Pressing <Enter> in the highlighted input frame or pressing again the criteria will
apply the same setting for all surfaces.
6-6.4.3 Active
A geometry surface can be activated or deactivated by left-clicking on the Active check button. An
inactive surface does not interfere in the mesh refinement process, i.e. the adaptation criteria which
were previously defined for this particular surface will no longer be applied to its intersecting cells
(it will appear in grey in the adaptation window).
check button
6-6.4.4 Refinement
The maximum number of refinement per surface can be specified by entering a value in the Refinement sub-panel.
6-22
HEXPRESS
Adapt To Geometry
Mesh Wizard
The default value is an arbitrary large number such that the parameter is essentially inactive. In this
case, the global maximum number of refinements controls the adaptation process (see section 6-6.2
on page 6-13).
The maximum number of refinements per surface ultimately controls the refinement of cells intersecting that surface (if it is presenting a value lower than the global maximum number of refinements). This parameter supersedes any other selected adaptation criteria. Fine tuning of this
parameter is useful when it may be difficult to determine the appropriate cell target size, or if the
distance and curvature criteria yield a prohibitive number of cells.
adaptation criteria
a) Distance criterion
Description
The aim of the distance criterion is to allow enough refinements of the cells in order to fill any gaps
between very close surfaces with a sufficient amount of cells. HEXPRESS automatically precomputes the distances between nearby surfaces which are flagged as solid ("SOL") and/or any surface type ("MIR", "EXT",...) and/or geometrical surfaces created with the Geometry menu. This
distance is computed and saved in a file with suffix ".dist" for each triangle defining the surface.
The distances between surfaces is re-computed when a modification of boundary conditions occurs or if new geometrical surfaces are added in the computational domain.
The distance criterion works as follows: suppose we have a cell C in the initial mesh, and let SizeC
be the size of the cell C (let us consider only isotropic refinement for the sake of simplicity). Suppose C is intersected by a surface S, and S uses the distance criterion. The intersection data for cell
C contains the list of triangles of S that intersect C and the minimal normal distance Dmin from
those triangles to other surfaces of the domain. Let Ngap be the value of number of cells in gap from
the General tab. The value Dmin/Ngap is compared with SizeC, and the cell is marked for refinement as many times as it needed in order to make the size of children cells smaller than Dmin/Ngap.
The number of refinements based of the distance criterion can not be greater than the Max number
of refinements of the given patch.
Distance criterion works only for cells intersected by appropriate surfaces. If a cell lies
between two surfaces with active distance criterion and it is not intersected by them it
might be refined due to diffusion, but it will not be refined because of the distance criterion. That means that the distance criterion does not guarantee Ngap of cells between surfaces.
HEXPRESS
6-23
Mesh Wizard
Adapt To Geometry
A ray is traced from the centroid of the triangle parallel to the normal, its intersection with the other
surfaces is computed to give the distance to the closest surface. This distance is divided by the
required number of cells in gaps to provide a target cell size in the direction normal to the surface.
Cells which intersect the surface are given the computed target size. In fact, the target size is projected on the principal axis of the cell and compared to the actual cell size. If the cell is essentially
oriented parallel to the geometry, it is likely that it will be refined anisotropically tangentially to the
wall. The expert parameter Anisotropic extent (discussed on page 6-27) may be used to control the
trigger of anisotropic refinement depending on the cell orientation with respect to the surface.
Distance criterion works only for cells intersected by appropriated surfaces. If a cell
lies between two surfaces with active distance criterion and it is not intersected by them
it might be refined due to diffusion, but it will not be refined because of the distance criterion. That means that the distance criterion does not guarantee the number of cells in
gap between surfaces.
How to apply?
The distance criterion is activated by left-clicking on the Distance check button (Figure 6.6.4-5).
b) Curvature criterion
Description
The aim of this adaptation criterion is to automatically compute a target cell size suitable for resolving curved surfaces. Smaller cells are expected where the geometry has high curvature. The number
of triangles intersected by a cell are used to measure the local curvature of the surface (Figure 6.6.46). The following deviations are computed, after projecting the normals in the principal directions1
of the cell:
i
j = max n j min n k j
, j = 1 ,2 ,3
1. We define the principal directions of a cell by the three vectors joining the centroids of the three pairs of
opposite faces.
6-24
HEXPRESS
Adapt To Geometry
Mesh Wizard
How to apply?
The curvature criterion is enabled by left-clicking on the Curvature check button (Figure 6.6.4-5).
How to apply?
The target cell size criterion is enabled by left-clicking on the Target cell sizes check button
(Figure 6.6.4-5) and by specifying values for the cell size (Figure 6.6.4-7) in the X, Y and Z Cartesian axes (if 3D mesh):
cell sizes
di
Example (2D):
D = 1.0 (chord length = 1.0, 1 cell only)
dx = 1/50 = 0.02 (50 cells desired)
Resulting nx = 5.64
D = 1.0 (chord length = 1.0, 1 cell only)
dy = 0.1/15 = 0.0067 (15 cells desired)
Resulting ny = 7.23
HEXPRESS
6-25
Mesh Wizard
Adapt To Geometry
a) Aspect ratio
Description
In expert mode it is possible to modify the maximum allowable aspect ratio (Figure 6.6.4-8) for a
cell intersecting a surface. The maximum aspect ratio is computed as follows:
-
- -----
-
AR = max ----------------
-----------
where correspond to the cell size in the respective principal direction of the cell. The
default value for this parameter is set to 2. It is not recommended to increase this default value
above the current value, indeed larger values may alter the robustness of the geometry capturing
algorithms and lead to poor quality meshes.
Influence on refinement
When a cell is triggered for refinement along some of its principal directions, the aspect ratio of the
resulting subdivided cells is pre-computed. If the aspect ratio exceeds the maximum allowable
value then the cell is triggered for refinement in the other directions in order to limit the aspect ratio
of the new cells. Notice that this aspect ratio constraint only applies to cells intersecting surfaces.
Cells which are refined by diffusion of the refinement tags are not subject to this constraint. Therefore, after the trimming phase, the remaining cells may exhibit aspect ratio exceeding the prescribed
value.
6-26
HEXPRESS
Adapt To Geometry
Mesh Wizard
This criteria is used by HEXPRESS only when Curvature is used as adaptation criteria.
Backward compatibility is not ensured with the previous expert parameter present in
v2.8 and before since the nature of the parameters completely changed. The user is
invited to define advanced adaptation criteria again.
It is a positive factor which controls the size of the cell in curvature based refinement for particular
refinement level. It can be calculated as:
F = RC
where,
R = Radius of curvature,
C = Size of the cell,
F = Curvature refinement factor.
In the curvature based refinement, the cell will be marked for refinement only if the cell size C is
greater than the value (R / F), noted as CF.
The value of CF will only depend upon the value of curvature refinement factor F, since the radius
of curvature will be constant.
Influence on refinement
If the value of F is increased then the value of CF will be less important: the cell size after refinement will be decreased and hence the number of cells will be increased.
c) Anisotropic extent
This expert parameter controls the sensitivity of the anisotropic mesh refinement procedure. It controls how well a cell must be oriented with respect to a surface in order to be triggered for anisotropic refinement. For an application of the distance criterion, if a cell is perfectly oriented
tangential to a surface, the refinement will be triggered only tangentially to the wall, or normally to
the wall if the surface is highly curved.
This parameter is an angle specified in degrees and varying between 45 and 90 degrees. For values
close to 90 degrees, anisotropic refinement will occur only for cells which are well oriented with
respect to surfaces, on the contrary, for values close to 45 degrees, anisotropic refinement predominates over isotropic refinement. The default value of this parameter is 85 degrees.
Influence on refinement
The anisotropic extent parameter influences the refinement triggered by the distance criterion. The
distance criterion essentially computes a target cell size in the direction normal to the surface and
seeks to apply it to the intersecting cells. Therefore, for the well oriented cells with respect to the
surface, i.e. essentially tangential to the surface, refinement will be triggered to decrease the cell
size in the direction normal to the wall by subdividing the cell tangentially to the wall. The value of
the anisotropic extent parameter controls the maximum deviation that allows anisotropic refinement.
As described in section b) on page 6-24, the curvature criterion measures the maximum deviation
between the normal components of surface triangles intersecting by a cell in order to compute an
estimate of the surface curvature. Three deviation values are computed for the three Cartesian axis.
If one deviation is large compared to the others, the curvature of the surface measured in this partic-
HEXPRESS
6-27
Mesh Wizard
Adapt To Geometry
ular direction is much larger than in the other directions, which leads to a refinement of the cell in
this direction. The anisotropic extent parameter acts as a threshold value that controls refinement in
a particular direction.
d) Refinement diffusion
When a cell is flagged for refinement, it is advisable to also tag its neighbours for refinement in
order to ensure a sufficiently smooth transition between fine and coarse cell regions. This process is
called refinement diffusion and can be applied globally or locally.
By default the refinement diffusion is applied globally by specifying an integer value of the Refinement diffusion parameter under the Global parameters thumbnail. In addition for each curve, surface or volume box on which refinement parameters are applied, a local refinement diffusion
integer value can be imposed instead of the Global one.
The local refinement diffusion allows to impose a higher value of refinement diffusion on internal
surface as for the internal surface for Marine applications (for free surface capturing).
6-6.5
Box Refinement
The box refinement is based on the specification of a volume box or a cylindrical sector contained
within the computational domain.
refinement
For each iteration of the adaptation process, the cells inside or intersecting a volume box are tagged.
The size of the tagged cells is compared to user specified target cell size and refined if necessary.
6-28
HEXPRESS
Adapt To Geometry
Mesh Wizard
A sector is created by left-clicking on the New sector button (see Figure 6.6.5-1) and by specifying
the origin and axis of the cylinder, the mimimum/maximum radius, start/end angles and height of
the sector.
A sector can be modified or deleted by left-clicking and right-clicking on it in the list and select
respectively Edit Sector or Delete Sector (also left-clicking on the Delete button (see Figure 6.6.51)).
6-6.5.3 Active
A box or sector can be activated or deactivated by the user by left-clicking on the Active check button (see Figure 6.6.5-1). A deactivated box and sector do not influence the computational domain
refinement.
HEXPRESS
6-29
Mesh Wizard
Adapt To Geometry
box transformation
The operations (translation, rotation, scaling) are applied to the active refinement box/sector after
clicking on the Apply button:
For rotation: the origin, axis and angle in degrees have to specified;
For translation: the translation direction has to be specified. The specified vector includes the
magnitude of the translation;
For scaling: the scaling factor along the X, Y and Z directions should be specified. The scaling
factors have to be strictly positive.
6-6.5.5 Parameters
The maximum number of refinements per box/sector can be specified by entering a value in the
Parameters sub-panel.
The default value is an arbitrary large number such that the parameter is essentially inactive. In this
case, the global maximum number of refinements controls the adaptation process (see section 6-6.2
on page 6-13).
The maximum number of refinements per box/sector ultimately controls the refinement of cells
intersecting the solid surfaces and included in the box/sector (if it is presenting a value lower than
the global maximum number of refinements). This parameter supersedes any other selected adaptation criteria. Fine tuning of this parameter is useful when it may be difficult to determine the appropriate cell target size.
6-30
HEXPRESS
Adapt To Geometry
Mesh Wizard
The target sizes (Figure 6.6.5-3) correspond to the cell size measured along the Cartesian X, Y and
Z axes.
Every cell within (if button Volumic activated) or intersecting the box/sector is tagged for potential
refinement. The size of these cells is compared with respect to target size and if it is larger than the
target, the cell is flagged for refinement in the corresponding direction. The refinement is anisotropic.
For FINE/Marine users, this parameter is checked by default when defining boxes
and sectors for refinement.
HEXPRESS
6-31
Mesh Wizard
Adapt To Geometry
6-6.6
Trimming Parameters
The trimming step removes all the cells intersecting or located outside of the geometry. HEXPRESS automatically finds the cell located inside the computational domain.
HEXPRESS can avoid trimming on planar patches: Cartesian mesh is preserved after execution
of the adaptation step, thus leading to improve mesh quality.
Used for trimming: If this option is selected, the patches of the domain for which this flag is set
will be used in the trimming operation.
Not used for trimming: If this option is selected, the patches of the domain for which this flag
is set will not be used in the trimming operation.
When the user selects a flag from the combo box then the trimming behavior for the selected
patches is appropriately updated.
For MIRROR patches loaded from previous versions of HEXPRESS, the flag will
be automatically set to Not used for trimming in the patch list.
Only planar patches aligned with Cartesian axis are present in this menu.
The patch selector dialog box contains a list of the selectable patches. This list contains three columns:
6-32
HEXPRESS
Snap to geometry
Mesh Wizard
Multiple faces can also be selected by pressing the <Ctrl> key or the <Shift> key on the keyboard. All faces in the list can be selected by pressing the <Ctrl> + <a> keys. The selected faces
will be highlighted in the graphics window.
6-6.7
Best Practice
6-7
Snap to geometry
6-7.1
Overview
The aim of this fully automated mesh action is to project the staircase mesh obtained after the mesh
adaptation action on the surface to obtain a good quality body conforming mesh. In addition to a
simple projection on the geometry, this action involves sophisticated algorithms to recover lower
dimensional geometric features such as corners and curves in the mesh. These algorithms guarantee
that, when the mesh is projected onto the surface geometry, a mesh vertex is attached to each corner
of the geometry and that a path of mesh edges is attached to the curve.
HEXPRESS
6-33
Mesh Wizard
Snap to geometry
In addition, the snapping of the mesh onto the geometry may create highly distorted elements. Layers of additional cells (buffer insertion) are introduced into the mesh to create a body conforming
mesh.
Finally, the mesh is smoothed by moving points on the surface and in the volume in order to obtain
a mesh with a good but not guaranteed quality.
Occasionally, the corner or curve capturing algorithms may fail to capture all the corners or/and
curves of the computational domain. When such a problem occurs, the mesh snapping action
resumes and exits with a specific error code which is reported in the report file (".rep") and the
action box in the mesh wizard turns red indicating that a major failure occurred. A failure to capture
a corner is usually an indication that a problem is present in the geometry, e.g. the surface triangulation is not oriented properly (see section c) on page 4-17). A failure in the curve capturing can generally be solved by additional cell refinements in the vicinity of the curve, the parameters of the
adaptation action should be modified and this action resumed.
6-7.2
Advanced flags
By left clicking on the Advanced >>> button in the snapping parameters window, it gives access to
some expert parameters when Enable snapping action is checked.
The different options of the mesh snapping action (Figure 6.7.2-1) can be activated or deactivated
through check buttons. However, all steps should stay activated to obtain a good quality mesh.
parameters
6-34
HEXPRESS
Snap to geometry
Mesh Wizard
The projected mesh often contains highly distorted cells. Some facets of the surface mesh, with vertices connected to the same curve, may look like triangles. These are actually degenerate quadrilaterals with three vertices projected onto a curve. The same pattern may also appear inside of the
HEXPRESS
6-35
Mesh Wizard
Snap to geometry
volume. To overcome this situation and recover a high quality mesh, one or two layers of additional
cells are extruded from the surface mesh towards the inside of the computational domain
(Figure 6.7.2-2).
The buffer insertion algorithm introduces topologically additional cells, i.e. initially the cells
present a zero thickness, they are then inflated by application of smoothing.
6-7.3
Snapping operation can be unsuccessful because of curves capturing failure. In some cases, it may
be useful to ignore such curves for further operations.
Snapping menu
Snapping option for every curve can be chosen between the three following possibilities:
6-36
HEXPRESS
Snap to geometry
Mesh Wizard
Must be captured (default option): means that if the curve is not captured, then mesh generation process stops,
6-7.4
Buffer Insertion
This section gives the details of buffer insertion settings utility for domain curves. This utility is
used to set different types of buffer insertion to domain curves, such as type I and type II.
Insertion type
Depending upon the buffer insertion type settings to domain curves, the buffer insertion in snapping
process of the mesh generation will be affected.
HEXPRESS
6-37
Mesh Wizard
Snap to geometry
Insertion menu
There is a limitation of the method: if more than 3 curves are connected to a domain vertex, and one
of the curves is of type I, then all other curves connected to the vertex will be of type I too. Hence it
is not always possible to get the pattern of type II, even for convex edges and type I for concave
edges. In this case, HEXPRESS will automatically set the buffer of this problematic edge to the
default type and a message will be written in report file. Once the snapping is performed, the buffer
insertion menu displays the type effectively used during the snapping.
This menu shows the list view which contains all the edges present in the domain. The edges can be
selected from the list view in two ways:
6-38
HEXPRESS
Snap to geometry
Mesh Wizard
6-7.5
Best Practice
How to handle snapping failures in HEXPRESS? This check list will provide the necessary
actions to be performed by the user to find the reason of the possible snapping failures and how to
handle them.
Snapping problems can appear on vertices, edges, faces or can be due to holes in the
mesh.
Insertion menu
Curve marked as can be skipped in the Curve Snapping menu are highlighted in
blue as well.
HEXPRESS
6-39
Mesh Wizard
Snap to geometry
The blue curves are removed from display under one of the following circumstances:
The user unticks the Initial Mesh step (this also deletes the mesh).
After the adapt step has been completed.
After the optimization step has been completed.
If snapping step has been completed successfully and no curves failed to be captured.
Face viewer: the Face viewer dialog box contains information about patch names and IDs
(see section 2-5.5.2).
Topology constraints
6-40
HEXPRESS
Snap to geometry
Mesh Wizard
- Split the edge in the problematic zone and set the problematic part to must be ignored in the
expert parameters of the Curve Snapping menu (section 6-7.3).
Cyclic curves are not well captured by HEXPRESS. In this case, split the cyclic curve at the
kinks in order to create corners which will be captured by HEXPRESSor improve the triangulation in the CAD software.
2) Faces not captured
- Add refinements in adaptation menu. To do so, check visually after adaptation step if all faces
have enough cells around them to be captured. At least 5 cells in all direction should be present. If
there is no cell at all between close surfaces, add distance criteria to the corresponding surfaces.
- Check triangulation settings: check visually that all faces are well discretized by showing the triangulation on each surface. Otherwise, go back to CAD manipulation or to the CAD software to
improve them.
3) Sharp edges
- Add curve refinements in adaptation menu.
- Split the edge in the problematic zone and set the problematic part to must be ignored in the
expert parameters of the snapping step.
4) Holes detected
It sometimes happens that if the mesh refinement is not sufficient then the mesh contains holes.
That can happens, for example, in narrow gaps or in the vicinity of acute dihedral angles. In such
situations HEXPRESSwill report the presence of holes in the mesh and for each hole it identifies
two relevant domain faces. The holes detected will be shown in blue wire form in the graphics area.
Information for the holes will also be reported in the status line and report. The best way to check a
particular hole is to highlight two relevant domain faces in different colors and use zoom in and
rotation as shown in the example shown in Figure 6.7.5-2.
If there is a hole in the mesh attributed to a pair of domain faces and a domain edge
common to the same pair of faces is not captured then the mesh faces near this non-captured edge will be mistakenly identified as faces forming a hole.
Holes in the mesh attributed to a single domain face (i.e. a domain face close to itself)
can not be visualized because such holes are not detected.
HEXPRESS
6-41
Mesh Wizard
Optimization
6-8
Optimization
6-8.1
Overview
The mesh obtained after the snapping action may involve poor quality cells usually located close to
corners and curves. Some of these cells are twisted, concave or may even present a negative volume.
Twisted cell is a cell with distorted shape. For example shown in Figure 6.8.1-1, a cell is considered
as twisted when vertex c and d of the cell on the left switch their places.
FIGURE 6.8.1-1 A
A cell is defined as concave (the cell looks like a "boomerang") if at least one of tetrahedra constituting the cell has negative volume. In practice, the concave property is tested by checking the negativeness of the volume of the tetrahedral subdividing the cell (see Figure 6.8.1-2). This kind of
subdivision is, of course, not unique and should therefore be chosen carefully.
The number of poor quality cells can be checked using the mesh quality analysis tool (see section 23.3.4 on page 2-45).
HEXPRESS provides specific algorithms to convert concave cells to convex ones by slightly displacing their vertices. A novel approach is also implemented to improve the orthogonality of convex cells.
HEXPRESS
Optimization
Mesh Wizard
In most instances, convex cells are important to ensure the stability and the robustness of a flow
solver. Mesh adaptation applied to concave cells may also create negative children cells.
Negative cells should be prohibited. Usually, HEXPRESS is able to deliver a mesh without any
negative cell. However, the presence of negative cells is usually a sign of an inadequate choice of
cell sizes in a geometrical complex region. Further mesh refinements (adapt to geometry) will usually solve the problem.
The removal of all the concave cells of the mesh and their transformation to convex hexahedral are
usually accomplished. However, for some intricate geometries, the number of remaining concave
cells may be of the order of 1 to 5 per million cells. This depends on the adequacy of cell sizes with
respect to geometry length scales.
6-8.2
Advanced
The Advanced parameters of the "optimization" step are accessed by left-clicking on the Advanced
>>> button.
options panel
HEXPRESS
6-43
Mesh Wizard
Optimization
geometry
The number and the visualization of the relaxed cells can be done through the mesh
quality menu (see section l) "Relaxed Cells" on page 2-50) after the optimization step.
The CPU time can be significantly increased with increasing optimization iterations.
It is not guaranteed that extra optimization iterations always give better mesh quality.
6-44
HEXPRESS
Viscous Layers
Mesh Wizard
Limitation: possible improvements of mesh quality can be lost after insertion of viscous layers.
6-9
Viscous Layers
6-9.1
Overview
HEXPRESS proposes a very specific approach for the insertion of layers of large aspect ratio
cells to accurately resolve boundary layers. The technique is based on successive subdivisions of
the cells connected to the walls, this contrasts with other techniques which insert layers by extrusion. This refinement technique has the advantage of robustness and speed.
Any number of high aspect ratio cells can be introduced by anisotropic refinement tangential to the
surfaces.
The settings of the "viscous layers" action are accessed by right-clicking on the corresponding box
(when action checked) in Mesh Wizard and left-clicking on Edit.
HEXPRESS
6-45
Mesh Wizard
Viscous Layers
6-9.2
Global Menu
6-46
Reference length
Kinematic viscosity of the fluid (the heaviest fluid in case of multi-fluid simulation)
Reference velocity
Reynolds number.
y+
HEXPRESS
Viscous Layers
Mesh Wizard
y+ estimation
The Estimate button shown in Figure 6.9.2-2 is available only in FINE/Marine package. The
y+ is estimated through the equation shown:
yplus = max (yplus_min, min (30+(Reynolds-1.0e6)/1.0e9 * 270, yplus_max))
where:
yplus_max=300
yplus_min=30
The value of the first cell size is then appearing at the bottom as an indication and can be imposed
as First layer thickness when clicking on Apply button.
h i = h 0 ,i = 0 n 1
HEXPRESS
6-47
Mesh Wizard
Viscous Layers
This constraint is overcome with the inflation and insertion method of the viscous layers. In that
case, the inflation algorithm can be activated and the cells over a number of layers close to the solid
boundaries are progressively deformed so as to adapt to the user constraints. As a result, not only
the thickness of the buffer layer is modified, but deformation can also progress inside the inviscid
core so as to maintain a satisfactory stretching factor
6-48
HEXPRESS
Viscous Layers
Mesh Wizard
This inflation process ensures that the first cell size, stretching factor and number of layers selected
by the user to fill in the viscous layers can be satisfied. However, the user is allowed to relax this
constraint and define a range in the desired number of layers (instead of a fixed value). The number
of layers is then said floating, and be freely selected by HEXPRESS within a prescribed range
selected by the user.
Relaxing such a constraint can be largely beneficial since the inflation is strongly related to 3D
Laplacian smoothing algorithms, which makes this process iterative and CPU consuming with
respect to basic viscous layer insertion (without inflation).
This method, once activated in the global tab, allow the variation of the first layer thickness. It
requires three user-inputs for each: a geometric expansion factor, a number of layers and an aspect
ratio of the viscous layer that is adjacent to the surface-mesh.
Such a method would allow a smoother and better insertion of the viscous layers, for any refinement level. Currently, in case a surface contains several refinement levels, the inflation will be
working for the bigger cells, and then the viscous layers will be crushed into the first layer of the
Euler mesh for lower refinements. Such effect would not occur anymore as the first layer thickness
will be depending upon the local refinement level.
See section 6-9.3.4 for the details about the required inputs for each surface or groups of surfaces.
The inflation is always active for this method. Please read previous section for more information
about the inflation method.
In the advanced sub menu (Advanced >>> button), the Inflation factor has been
introduced to control the inflation speed performed at each iteration. Hence, if this factor
HEXPRESS
6-49
Mesh Wizard
Viscous Layers
is high, the inflation runs fast but can break down. On the contrary, if the factor is
smaller, the inflation is slower but more robust. The default is the optimum value.
6-9.3
Surface Settings
FIGURE 6.9.3-1 Viscous layer insertion parameters for the fixed first layer thickness method
The viscous layer parameters are available when clicking on Active button (Figure 6.9.3-1).
The shortcut <h> in the graphics area will display hints. There are information about
mouse button bindings and shortcuts.
6-50
HEXPRESS
Viscous Layers
Mesh Wizard
b) By picking
Geometry surfaces can also be selected interactively by left-clicking on the surface in the graphics
area (<Ctrl> + left-click or left-click allow multiple selection by picking depending of selected
option (<o>)). The selected surfaces are displayed in pink whereas a potential surface for selection
is in green (mouse in on the surface but did not select it). <Ctrl> + <a> combination selects or
unselects all surfaces.
c) Rectangle Selection
An other possible selection is to draw a rectangle in the graphics area to select all surfaces which
are completely or partially inside the rectangle depending of the option (<o>). For this purpose,
hold <Ctrl> key and drag the mouse with the left-click.
d) Enable/Disable
It is possible to completely hide faces (or groups of faces) and make them unselectable, by using the
Enable/Disable functionality (right-click in the menu or in the graphics area) or with shortcut <b>
or by double clicking on the check box on the left of the surface name. The check box actually
shows the state of the surface: enabled (ticked) or disabled (unticked).
e) Select Identical
By right-clicking on a face or a group of faces, the action Select Identical will select all the faces
with the same settings from the list.
f) Zoom In
By right-clicking on a face or a group of faces in the menu or in the graphics area, the action Zoom
in will zoom to all the selected faces.
g) Invert Selection
It is possible to invert the current selection by using the Invert Selection functionality (right-click
in the menu or in the graphics area, or shortcut <i>).
h) Undo Selection
It is possible to undo the successive selections by using the Undo Selection functionality (rightclick in the menu or in the graphics area, or shortcut <u>).
HEXPRESS
6-51
Mesh Wizard
Viscous Layers
settings highlight
Pressing <Enter> in the highlighted input frame will apply the same value for all surfaces.
6-9.3.3 Active
A selected surface can be activated or deactivated for viscous layer insertion by left-clicking on the
Active check button (Figure 6.9.3-1).
6-9.3.4 Parameters
a) For fixed first layer thickness method
Three parameters have to be set by the user to correctly insert viscous layers: First layer thickness,
Stretching ratio and Number of layers. For the description of the first two, please read section 69.2.1.
Concerning the Number of layers, the user must specify the number of viscous layers to be introduced in the first cell close to the solid surface.
When clicking on the Apply button, the "appropriate number of layers" based on the First layer
thickness and Stretching ratio can be imposed as Number of layers. This "appropriate number of
layers" is a proposal based on empirical laws. It could be not respected during the inflation method.
The "appropriate number of layers" can be computed only when an optimized mesh is
available (otherwise, the symbol "NA" is mentioned instead of a number).
When the imposed three parameters are generating viscous layers that are going
locally out of the first cell size close to the solid wall, this last cell will be uniformly split
respecting only the number of viscous layers imposed by the user (Figure 6.9.3-3).
6-52
HEXPRESS
Viscous Layers
Mesh Wizard
Layer Insertion
the Aspect ratio of the surface-mesh layer that is adjacent to the surface-mesh,
a factor of Geometric expansion in cell height,
the Number of layers.
Layer insertion by aspect ratio is computed one layer at a time using a simple marching scheme.
Similarly, each layer is computed one node at a time. The surface-mesh is the mesh onto the solid
patches. Figure 6.9.3-5 shows the calculation of the first layer thickness D0 thanks to the formula:
HEXPRESS
6-53
Mesh Wizard
Viscous Layers
L0
D 0 = --------AR 0
with AR0 the aspect ratio of the surface-mesh layer and L0 the average of the edges size connected
to the node where the insertion of the first layer is performed. L0 is computed with the formula:
N
L0 =
a 0i
i---------------=0 N
Then the next layer will be computed by the same method, except that the aspect ratio ARi evolves
thanks to the formula:
AR i + 1 = AR i f
FIGURE 6.9.3-6 2D
6-54
HEXPRESS
Viscous Layers
6-9.4
Mesh Wizard
Troubleshooting
The activation of the inflation method in the Graphical User Interface does not necessarily mean
that the inflation algorithm will be executed. Inflation is only necessary and active in cases where
the combination of the first cell size, stretching factor and number of layers do not match with the
thickness of the buffer layer. Therefore, in case the constraints fixed on these 3 parameters can be
fulfilled without the need to inflate the buffer layer, the inflation algorithm will not be executed,
whether inflation is or not active in the graphical user interface.
Effective execution of the inflation algorithm can however be controlled looking into the shell at
the average ratio real-to-target cell size. This parameter defines the average ratio between the current size of the buffer layer and some target value that HEXPRESS will try to reach iteratively
during the inflation process. In any case, inflation will be effective only if the ratio is smaller than 1.
In other cases, the buffer layer thickness is large enough to insert the viscous layers and insertion
will proceed directly without inflation. This process is usually very quick with comparison to inflation.
HEXPRESS
6-55
Mesh Wizard
Viscous Layers
An other situation can happen: inflation is activated and performed because the Average ratio real-to-target size is smaller than 0.9 has mentioned in Figure 6.9.4-2, but the
resulting mesh after optimization of the mesh with viscous layers is not of acceptable
quality because there are concave, twisted or negative cells remaining. Therefore the
inflation is cancelled and the normal viscous layers are inserted.
After the inflation, some mesh surface vertices might not be snapped to the geometry anymore. In
this context, mesh surface vertices mean the grid points on the geometry boundary. This limitation
is illustrated in Figure 6.9.4-3.
When HEXPRESS detects these unsnapped vertices, a warning as shown in Figure 6.9.4-4 will
appear in the shell and in the report file to inform the user. The geometry edges with unsnapped vertices will be listed as well. To avoid this problem, users can add additional refinements in the area
where a deviation from the geometry is found.
6-56
HEXPRESS
Viscous Layers
Mesh Wizard
HEXPRESS
file
6-57
Mesh Wizard
6-58
Viscous Layers
HEXPRESS
Plugins
7-1
Overview
Actions executed by the user through the HEXPRESS interface are recorded in a python-like
script giving added flexibility for automation of geometry creation and mesh generation. The
Project/Script... menu allows to edit and save the script while it can be executed using the Project/
Script.../Execute menu or the Execute Python script in the Welcome to HEXPRESS dialog box.
To launch a python script with HEXPRESS in batch, the command is:
hexpress -niversion 31_# -batch -script PATH_TO_SCRIPT/script.py -print
The script should contain the command open_project() to specify the project to work
on.
HEXPRESS
7-1
Project Commands
Recording
Project/Script.../Save All... is used to save the dynamic recording of all commands performed by
the user since the beginning of its session.
Project/Script.../Execute... is used to run a python script file containing HEXPRESS commands. A file chooser is opened to select a file with a ".py" extension. Upon selection of a valid file,
the script is executed in the current session and the result is visualized in the graphical window.
Depending on the content of the script, operations will be added to the current project or a new
project will be automatically opened before operations are performed (the previous project is
closed). If the script being run contains a syntactical error it will be aborted and a message will
appear in the shell.
Project/Script.../Re-execute Last can be used to rerun the last script that was run using the
Project/Script.../Execute... command. This option is most useful when writing own scripts manually to rapidly test it on the fly.
The supported commands for writing python scripts are described below, all other commands, even
if recorded, are not officially supported.
All actions running in HEXPRESS GUI cannot be all recorded as python scripts.
When replaying a python script that has been recorded automatically, it may be that the graphics
representations are not identical as in the initial session.
7-2
Project Commands
All the commands described below act on the active domain and associated block mesh. The user
can change the active domain by using the set_active_domain function, described below.
open_project(filename, loadMeshFlag, conversionMode, newFilename, finestLevel, coarsestLevel, resetNMBtoFNMB) opens an existing HEXPRESS (.igg) project or a structured
IGG project.
loadMeshFlag 1 to load the ".hex" file and 0 otherwise. If nothing is specified, 1 is chosen.
conversionMode 1 converts all PER/NMB/PERNM into FNMB and 0 keeps all PER/NMB/
PERNM.
newFilename is the name specified with full path for the converted HEXPRESS project file.
finestLevel is the finest mesh level to be kept.
coarsestLevel is the coarsest mesh level to be kept.
7-2
HEXPRESS
Project Commands
resetNMBtoFNMB 1 to reset all existing PER/NMB/PERNM into FNMB and 0 to retrieve the
missing ".nmb" file.
- Associated dialog box : the warning that appears when the appropriate ".nmb" file is not found
during the importation of a converted HEXPRESS project.
example 1: HXP.open_project("my_hexpress_project.igg",1)
example 2: HXP.open_project("my_IGG_project.igg", 1, 1, "/tmp/
my_converted_project.igg", 0, 2, 0)
conversionMode,
newFilename, finestLevel, coarsestLevel and resetNMBtoFNMB parameters matter only in silent mode.
import_2d_domain(filename,
zSize,
curve_resolution,
curve_chordal_tol,
max_chordal_length) imports an external geometry (.dat) file or a Parasolid model for 2D
domain creation. In case of .dat file import, the last three parameters can be omitted.
zSize is the size of the 2D domain in Z direction.
curve_resolution, curve_chordal_tol and max_chordal_length correspond to the discretization
parameters for Parasolid import.
example 1: HXP.import_2d_domain("my_dat_project.dat", 0.15)
example 2: HXP.import_2d_domain("my_parasolid_file.xmt_txt", 0.15, 0.01, 0.1, 0)
save_project(filename) saves the current project. filename is full path name of the project file.
It must have the extension ".igg". After a first save operation, the filename argument can be
omitted, In that case the project file is overwritten.
example 1: HXP.save_project("/tmp/my_hexpress_project.igg")
example 2: HXP.save_project() # overwrites my_hexpress_project.igg
export_fluent(filename) saves the mesh in Fluent format under the specified file name. Note
that the extension is ignored and ".msh" extension is used instead.
export_cgns(filename) saves the mesh in CGNS format under the specified file name.
export_nastran(filename, precision) saves the mesh in NASTRAN format under the specified
file name and precision format (1 for single, 2 for double).
export_foam(filename) saves the mesh in OpenFOAM format under the specified file name.
get_numeca_dir_() returns the path of the installation.
switch_HEXPRESS_to_FM(mode) switches HEXPRESS interface to FINE/Marine with
the mode specified.
mode = 5, save the mesh (1) + link the new mesh (4)
mode = 6, do not save the mesh (2) + link the new mesh (4)
mode = 9, save the mesh (1) + do not link the new mesh (8)
mode = 10, do not save the mesh (2) + do not link the new mesh (8)
HEXPRESS
7-3
7-3
Viewing Commands
7-3.1
Camera position
Viewing Commands
7-4
Geometry Commands
7-4.1
Global Functions
get_common_edges(refFace, otherFaces) returns the list of edges common to refFace and the
list of faces otherFaces. The returned list contain objects of type DomainEdge.
7-4.2
CAD Commands
export_parasolid(filename) exports all Parasolid entities in the current session into filename.
Filename must have the extension ".xmt_txt".
7-4
HEXPRESS
Geometry Commands
create_cube(name, p1, p2) creates a box named name by specifying two opposite points p1,
p2. p1 and p2 are of type Point.
example: HXP.create_cube("B1", Point(0, 0, 0), Point(1, 1, 1))
create_cylinder(name, center, axis, height, radius) creates a cylinder named name by specifying its center, axis, height and radius.
center and axis are of type Point.
height and radius are floats.
example: HXP.create_cylinder("B2", Point(0, 0, 0), Point(0, 0, 1), 1., 0.2)
create_cone(name, apex, axis, height, radius) creates a cone named name by specifying its
apex, axis, height and radius.
apex and axis are of type Point.
height and radius are floats.
example: HXP.create_cone("B3", Point(0, 0, 0), Point(0, 0, 1), 1., 0.2)
create_plane(name, origin, normal, vector, size) creates a plane by specifying its name, origin, normal vector, a vector perpenticular to the normal vector and size. The parameter vector
defines a direction such that two edges of the square will be parallel to this direction and the
other two edges will be normal to it.
origin, normal and vector are of type Point.
size defines the squared extend of the plane around the origin.
example: HXP.create_plane("B4", Point(0, 0, 0), Point(0, 1, 0), Point(-1, 0, 0), 5.)
create_sphere(name, origin, radius) creates a sphere with prescribed origin and radius.
origin is of type Point.
example: HXP.create_sphere("B5", Point(0, 0, 0), 0.5)
HEXPRESS
7-5
Geometry Commands
rotate_bodies(bodies, origin, axis, angle) rotates the list of bodies around an axis.
bodies is the list of body names that must be rotated.
origin is the origin of the rotation axis. It must be of type Point.
axis the the direction of the rotation axis.It must be of type Point.
angle is the rotation amount, in degrees.
example: HXP.rotate_bodies(["B1", "B3"] , Point(0, 0, 0) , Point(0, 0, 1) , 90.)
scale_bodies(bodies, scale_factors) scales the list of bodies along the X, Y and Z directions.
bodies is the list of body names that must be scaled.
scale_factors is a vector containing the scale factors along X, Y and Z. It must be of type Point.
example: HXP.scale_bodies(["B1", "B3"] , Point(2, 2, 2))
sew_bodies(tolerance, bodies) sews the list of bodies using the given tolerance.
bodies is the list of body names that must be sewed.
tolerance is the tolerance used during sewing
7-4.3
STL Commands
stl_create_domain(filename) creates a domain from the set of stl groups present in the session.
filename is the output file name where the domain is saved.
7-6
HEXPRESS
Geometry Commands
7-4.4
The Box class is mostly used to define the bounding box of a geometrical entity.
Box(xmin,xmax,ymin,ymax,zmin,zmax)
Constructs a bounding box by specifying the limits along the x, y and z directions.
xmin, xmax, ymin, ymax, zmin, zmax:
These are data members allowing to access the limits of the bounding box. They can be
accessed directly, without the need of a function call.
Example:
r = Box(3,5,1,10,1,7) # bounding box defined with x=[3,5],y=[1,10],z=[1,7]
print "Xmax is ",r.xmax # print the xmax value of the bounding box
get_max_size()
Returns the maximum length of the box.
get_min()/origin()
Returns the minimum point (origin) of the box as an object of class Point.
get_max()
Returns the maximum point of the box as an object of class Point.
get_center()
Returns the center of the box as an object of class Point.
dx()/dy()/dz()
Returns the length of the box along x, y and z.
contains(item)
Returns 1 or 0 if the item (object of class Point or class Box) is included or not in the box.
inflate(alpha)
Allows to inflate the box by a factor alpha.
printo()
Returns the minimum and maximum points of the box.
7-4.5
The BoxRTZ class is mostly used to define the bounding box of a geometrical entity in RTZ coordinates.
BoxRTZ(rmin,rmax,thetamin,thetamax,zmin,zmax)
Constructs a bounding box by specifying the limits along the r, theta and z directions.
rmin, rmax, thetamin, thetamax, zmin, zmax:
These are data members allowing to access the limits of the bounding box. They can be accessed
directly, without the need of a function call.
HEXPRESS
7-7
7-4.6
Geometry Commands
Domain Commands
get_domain_file_name() returns the name of the domain file. If the project is new and a
domain is imported, the return value is the name of the imported domain file. If an existing
project is loaded, the returned name is the name of the domain associated with the project.
delete_domain(name) deletes the domain specified. It is available only when two or more
domains are present.
example: HXP.delete_domain("my_domain")
translate_parts(id, vector) translates the list of parts (id) of the domain by a vector.
rotate_parts(id, origin, vector, angle) rotates the list of parts (id) of the domain along an axis
(origin and vector) by an angle in degree.
scale_parts(id, scaling) scales the list of parts (id) of the domain by the specified scaling factor
(scaling is a Vector type).
7-4.7
CartesianPoint class
7-8
HEXPRESS
Geometry Commands
curve_plane_intersection(point,vector,curve_list) creates a Cartesian point at each intersection between all curves of the list and the plane specified by a point and its normal. Returns the
list of points.
7-4.8
Curve Construction
new_polyline()
new_polyline(p1,..,pi)
new_polyline(name,p1,...pi)
Constructs a polyline. The first function defines an empty polyline. The other functions specify
points of the polyline. These points are objects of class Point. name is a unique name assigned to
the curve. This argument is optional but it is however strongly recommended to specify a name. It
must be surrounded by quotes.
Example: p3 = new_polyline("poly1",Point(1,0,0),Point(1,1,0),Point(1,1,1))
new_cspline()
new_cspline (p1,..,pi)
new_cspline (name,p1,...pi)
Constructs a cspline. See polyline for details about arguments.
HEXPRESS
add_point(p) adds a control point on the curve. The type of <p> can be one of the Point classes
insert_point(i,p) inserts a control point on the curve at ith location.
remove_point(i) removes the ith control point on the curve.
move_point(i,p) moves the ith control point on the curve at <p> location.
set_discretization(n) sets the curve discretization to n. n is the number of points to discretize
the curve.
7-9
Geometry Commands
7-4.9
BodyFace(id) : constructs a BodyFace object from the Parasolid id. The id must correspond to a
valid id in Parasolid database.
7-10
HEXPRESS
Geometry Commands
domain.get_faces( "^HULL" )
get_selected_faces() returns the list of selected faces. The returned value is a list of DomainFace objects. Cannot be used in batch mode.
clear_face_selection() clears the list of selected faces. Cannot be used in batch mode.
add_faces_to_selection(facelist) adds the input facelist to the list of selected faces.Cannot be
used in batch mode.
facelist is a list of DomainFace objects.
HEXPRESS
7-11
Geometry Commands
Example :
if (face.get_type() == "MIR"):
domain.add_patch_to_BC_group("MIR_GROUP",face._id)
If the face is a mirror patch, it will be added to the BC group called "MIR_GROUP". The faceID is
identified by face._id.
set_BC_group_name(bc_group_name, new_name) changes the name of the boundary condition group given by bc_group_name to new_name.
get_number_of_cells() returns the number of cell in the mesh associated with the domain.
get_mesh_bad_cells_count() returns the number of negative, concave and twisted cells in the
mesh attached to the domain.
Example:
neg,concave,twisted = get_active_domain().get_mesh_bad_cells_count()
print "Number of Negative Cells = ", neg
get_mesh_orthogonality() returns the min, max and average orthogonality, as well as its standard deviation
get_mesh_aspect_ratio() returns the min, max and average aspect ratio, as well as its standard
deviation
get_mesh_expansion_ratio() returns the min, max and, average expansion ratio, as well as its
standard deviation
split_face(face, x1, y1, z1, x2, y2, z2, smallEdgeLength, x3, y3, z3) splits a face in two with
three points (i.e. to use a plane) and returns the newly created faces.
face can be either the id of the face or an object of type DomainFace. The return value are two
faces of type DomainFace.
(x1, y1, z1) and (x2, y2, z2) are the coordinates of points on the two edges where splitting must
take place.
(x3, y3, z3) is a point anywhere on the face.
smallEdgeLength is the shortest edge length after splitting.
merge_faces(face1, face2) merges two faces of the Domain and return the newly created face.
face1 and face2 can be either the ids of the face or objects of type DomainFace. The return
value is of type DomainFace.
merge_face_list(facelist) merges the list of faces passed as input. The faces must belong to the
same domain and must be contiguous.
facelist is a list of DomainFace objects or a list of faces identifiers.
merge_all_edges(featureAngle) merges all possible pairs of edges of the domain whose angle
at the common vertex is larger than the featureAngle.
7-12
HEXPRESS
get_VL_group(name) returns the viscous layers group identified by name. The function
returns an object of type VLGroup.
7-5
7-5.1
Global Functions
get_active_domain() returns the active domain. The return value is an object of type Domain.
get_all_domains() returns the list of all domains in the project. The return value is a list of
Domain objects (see class description for a definition of the Domain class).
example: domains = get_all_domains()
for domain in domains:
print domain.get_name()
domain_face(faceID) returns the face of the active domain corresponding to its faceID. The
returned value is an object of type DomainFace.
domain_edge(edgeID) returns the edge of the active domain corresponding to its edgeID. The
returned value is an object of type DomainEdge.
HEXPRESS
7-13
smallEdgeLength is a small value. The vertex on the edge will be used to split the edge when
the distance between the split location and the vertex is less than smallEdgeLength.
split_face(faceId, x1, y1, z1, x2, y2, z2, smallEdgeLength) splits a face in two.
merge_faces(face1Id, face2Id) merges two faces together.
face1Id and face2Id are the two faces identifiers.
init_cartesian_mesh(nx, ny, nz) specifies the number of cells along the X, Y and Z directions
for the generation of an initial Cartesian mesh. This function does NOT generate the initial
mesh, its simply initializes its values.
set_global_number_of_refinements(num_refinement) specifies the global number of refinements during the mesh adaptation step.
num_refinement must be an integer.
7-14
HEXPRESS
create_refinement_cube(x1, y1, z1, x2, y2, z2) creates refinement with two opposite points.
get_number_of_refinement_boxes() returns the total number of refinement boxes.
delete_all_refinement_boxes() deletes all refinement boxes/sectors defined.
adapt_mesh() performs the adaptation step according to user-defined parameters.
snap_mesh() performs the snapping step.
enable_optimization(bool) enables or disables optimization step according to the input parameter bool.
bool should be True or False.
compute_number_of_layers(face,first_layer_thickness,stretchingRatio)
computes the
number of required layers for the input face (type DomainFace), according to the first layer
thickness and the stretching ratio.
set_viscous_layers_global_params(inflateFlag,
fixedNbLayer, minNbLayer, maxNbLayer, inflateFactor, fixedFirstLayerThickness) sets the global parameters for viscous layer
insertion control.
InflateFlag to inflate or not viscous layers (0: no inflation, 1: inflation).
fixedNbLayer is fixed (0) or floating (1) number of layers.
minNbLayer is the minimum number of layers.
maxNbLayer is the maximum number of layers.
inflateFactor is the inflation factor.
fixedFirstLayerThickness is constant (1) or variable (0) first layer thickness.
HEXPRESS
7-15
axisymetric_mesh(domain, 0, 2dAxis, origin, angle, nbLayersInTheta) performs axisymmetric transformation on active domain.
- Associated menu : Grid/Mesh Transformation/Axisymmetric
domain is the name of the active block or "All" for all blocks.
0 keeps as 0 as it is an obsolete parameter.
2dAxis is the direction for 2D block rotation.
origin is the origin point for 2D block rotation.
angle is the angle of axisymmetric transformation.
nbLayerInTheta is the number of cells equally spaced in theta direction.
example: HXP.axisymetric_mesh("All", 0, Point(1, -0, 0), Point (0, 0, 0), 0.2, 5)
new_periodicity(domainId) creates new periodicity object for domain specified with default
parameters. The default parameters can be changed by using set_periodicity_param(domainId, perId, type, ori_x, ori_y, ori_z, axis_x, axis_y, axis_z, nbRepetition).
- Associated menu : Grid/Periodicity... /New
example:
HXP.new_periodicity(0)
HXP.set_periodicity_param(0, 0, "ROTATION", 0, 0, 0, 0, 0, 1, 72)
create_fnmb(connection, 1stSidePatches, 2ndSidePatches, typeOfConnection, maxProjectDist, minProjectDist, nbOfSmoothingIter, per, perIndex, nbOfRepetition,
ReversedTriangulatedSide, vertexTol, hubShroudTol) creates FNMB connections with the
parameters specified.
- Associated menu : Non matching connections - Definition
connection is the name of the connection defined.
1stSidePatches is the list of the first side patches for a pair of FNMB.
2ndSidePatches is the list of the second side patches for a pair of FNMB.
typeOfConnection is the type of connection desired.
maxProjectDist is the maximum projection distance.
minProjectDist is the minimum projection distance.
nbOfSmoothingIter is the number of smoothing iterations for computing FNMB.
per is the Periodic connection. 1 is active and 0 otherwise.
perIndex is the periodicity index available in the Choose periodicity dropdown menu.
nbOfRepetition is the number of repetitions.
ReversedTriangulatedSide 1 to activate and 0 to deactivate.
vertexTol is the vertex tolerance. It is available for Rotor/Stator type of connection.
hubShroudTol is the tolerance to detect hub and shroud.
example: HXP.create_fnmb("connection_2",[[0, 10]], [[0, 9]], "Full non matching",
1000000, 1000000, 20, 1, 0, 1, 0, 1E-008, 1E-010)
7-16
HEXPRESS
7-5.2
DomainFace Class
DomainFace(id): constructor. id is the persistent identifier of the face (saved in the .dom file)
example 2:
HXP.set_silent_mode(1)
HXP.domain("my_domain").get_faces(6).set_type("MIR", 1)
set_target_sizes(nx, ny, nz) sets the target sizes along X, Y and Z axis. When using this function, the target size adaptation criteria is automatically enabled.
nx, ny, nz are real positive values. If 0 is specified, the face is refined the number of times specified by the global number of refinements.
HEXPRESS
7-17
set_viscous_layer_params(nbLayer, stretch, thickness, aspectratio, expansion) sets the viscous layers parameters for the face.
nbLayer is the number of inserted layers.
stretch is the stretching ratio between layers when constant first layer thickness is active.
thickness is the first layer thickness when constant first layer thickness is active.
aspectratio is the aspect ratio of the surface-mesh layer (by default set to 5) when variable first
layer thickness is active.
expansion is the geometric expansion in cell height (by default set to 1.2) when variable first
layer thickness is active.
get_edges() returns the list of edges of the face. The return value is a list of objects of type
DomainEdge.
get_common_edges(face) returns the list of edges that is also shared with face (of type
DomainFace). The return value is a list of objects of type DomainEdge.
7-5.3
DomainEdge Class
DomainEdge(id): constructor. id is the persistent identifier of the edge (saved in the .dom file)
7-18
HEXPRESS
set_max_aspect_ratio(ratio) sets the max aspect ratio ratio for the edge.
get_max_aspect_ratio() returns the maximum aspect ratio for the edge.
set_buffer_insertion_type(type) sets the inserted buffer type.
type is set to 0 for type I and 1 for type II.
HEXPRESS
7-19
get_vertices() returns the two vertices of the edge. The return values are of type DomainVertex.
Example:
v0,v1 = edge.get_vertices()
print "Vertex id 0 ", v0._id
get_min_angle_between_faces() returns the minimum angle (in degree) between the two adjacent faces of the edge. Typical values:
Angle between two flat surfaces: 180
Angle between two faces of a cube: 90
Angle for an accute edge: a few degrees
7-5.4
DomainVertex Class
7-5.5
SurfaceAdaptationGroup class
get_patches() returns the list of patches (DomainFace) defined in the adaptation group.
All the commands below have the same definition as the member functions from the
DomainFace class. Please read section 7-5.2 for more information about the functions.
HEXPRESS
patibility.
7-5.6
EdgeAdaptationGroup class
get_edges() returns the list of edges (DomainEdge) defined in the adaptation group.
All the commands below have the same definition as the member functions from the
DomainEdge class. Please read section 7-5.3 for more information about the functions.
HEXPRESS
7-21
7-5.7
RefinementBox class
set_position(x_min, y_min, z_min, x_max, y_max, z_max) defines a new position for the
refinement box specified.
example: HXP.refinement_box(0).set_position(0.013, -0.07, -0.01, 0.032, 0, -0.01)
set_adaptation_flags(bool1, bool2) enables or disables refinement for the refinement box/sector specified according to input value bool1 and defines the type of refinements according to
input value bool2.
bool1 should be 0 or 1 (0 to disable and 1 to enable refinement).
bool2 should be 0 or 1 (0 = surface only and 1 = volumic).
set_refinement_level(n_max) specifies the maximum number of refinements for the refinement box/sector specified.
n_max must be an integer.
set_target_size(nx, ny, nz) specifies the target sizes along X, Y and Z axis for the refinement
box/sector specified.
example: HXP.refinement_box(2).set_target_size(0.01, 0.01, 0.1)
set_max_aspect_ratio(ratio) specifies the maximum aspect ratio for the refinement cells.
set_diffusion_depth(diffusion) specifies the refinement diffusion for the refinement box/sector
specified.
diffusion must be an integer.
get_cube_parameters() returns all cube parameters. I.e. x_min, y_min, z_min, x_max, y_max
and z_max.
example output : (5.38, 0.065, 0.14, 5.43, 0.265, -0.06)
get_box_state() returns the status of the box. 1 for active and 0 for not active.
get_xyz_box() returns the bounding box containing the refinement box. The return value is of
type Box.
example :
mybox = refinement_box(1).get_xyz_box()
xsize = mybox.dx()
ysize = mybox.dy()
7-22
HEXPRESS
zsize = mybox.dz()
print str(xsize) + ", " + str(ysize) + ", " + str(zsize)
example output : 0.11, 0.11, 0.04
7-5.8
VLGroup class
get_patches() returns the list of patches (DomainFace) defined in the viscous layer group.
enable_viscous_layers(value) applies the function to each patch in the group.
set_viscous_layer_params(nbLayer,stretch,thickness) applies the function to each patch in
the group. See DomainFace class for more information about the function.
7-5.9
FNMB class
FNMB(name) constructs a new FNMB object, identified by its name. The FNMB must already
exist in the project. FNMB may also be found automatically by using the search_all_fnmbs
function.
HEXPRESS
7-23
7-6
The wording and options used throughout this section are directly taken from Tcl/Tk. The reader is
supposed to know basics of Tcl/Tk concepts. The following widgets can currently be constructed
from a python scripts:
Entry
Button
CheckButton
List
ComboBox
Label
The following container widgets (widgets that can contain other widgets) can be created:
Frame
LabelFrame
NoteBook
PanedWindow
DialogueBox
Each widget comes with an associated class with a (reduced) number of functions to modify or
access the value of the widgets.
These functions and classes aims at mimicking some functionalities of the Tcl/Tk
toolkit. It is not meant to provide extensive functionalities for creating advanced dialogue boxes. Only a reduced subset of features is provided. Any feature not described in
the above commands is not available.
7-6.1
Classes
7-24
HEXPRESS
HEXPRESS
7-25
command is an optional argument that can be either a function that requires no argument or an
object of type Command. Upon pressing the button, the command will be called automatically.
7-26
HEXPRESS
unit is a string that will appear next to the entry to indicate the entry units. This input is
optional. Note that if the text for the units uses [], it must be backslashed "\[m\]".
labelwidth is the width of the entry label. This input is optional.
focus forces the focus on the entry.
enable(state) changes the state of the entry (enabled or disabled). state is a boolean value.
getStringValue() returns the value in the entry as a string.
getFloatValue() returns the float value in the entry. An exception is raised (ValueError) if the
input is not a float.
appendItem(itemName) adds an item to the list and returns its id. itemName is the text appearing in the list.
removeItem(itemId) removes the item from the list. itemId is the id identifying the item.
getSelection() returns a tuple containing the ids of the selected items.
getItemFromId(id) returns the name of the item from its id in the list.
7-6.2
pack( side="left",fill = "x", expand = "no" , anchor = "", padx = 1, pady = 1) member
function which displays the widget in its parent according to the input parameters.
side specifies which side of the parent the widget will be packed against. Possible values are
"top", "bottom", "left", "right".
fill specifies how the widget should stretch with regards to the available space in its parent.
Possible values are: "", "x" , "y" or "both". For example "x" specifies that the widget must
stretch horizontally to fill the entire width of the parent.
expand specifies whether the widget should resize when its parent resizes itself.
HEXPRESS
7-27
anchor specifies where to position each widget in its parent. Possible values are: n, e, w or s.
Default is center.
padx specifies how much horizontal external padding to leave on each side of the widget.
pady specifies how much horizontal external padding to leave on each side of the widget.
7-6.3
7-6.4
The "Marine" module comes with various plugins including one to automatically create an internal
surface at a Z-constant coordinate (see section 2-3.7.3). One can open the corresponding python
script in "NUMECA_INSTALLATION/_python/_hexpress_plugins/Marine/" to see how the script
is build. Here is a description of the example (comments are added and marked by a symbol "#").
Import required librairies: "Tk" for dialogue boxes, "string" is dedicated to Python management and
"HXP" to enable HEXPRESS macro commands (defined in sections 7-2 to 7-5 of this chapter).
from Tk import *
import string
import HXP
The dialogue box is defined in a dedicated class. This class will contain 2 separate functions
"__init__" and "apply". The first one defines the dialogue box design whereas the second one gives
what the Apply button will do in HEXPRESS.
class ZConstantDialogue(DialogueBox):
def __init__(self):
DialogueBox.__init__(self, "Internal surface" )
self.show()
7-28
HEXPRESS
content.pack(side="top",fill="x",padx=10,pady=10)
buttonsFrame.pack(side="top",anchor = "se" , expand = "yes" )
self.entry = content.entry(label="Z = " , width = 20 , command = Command(self,ZConstantDialogue.apply) ) #definition of an entry with the title "Z=". The entry has a width
of 20
self.entry.pack( side = "left" , fill = "x" , expand = "yes", padx = 10 )
"pack" will show the entry in the dialogue box
#the action
#the action "pack" will show the button and put it on the
apply.pack(side="right")
def apply(self):
Z = self.entry.getFloatValue()
"Z" as a float
try:
domain = HXP.get_active_domain()
the active domain
b = domain.get_xyz_box()
mation in the variable "b"
#returns the box containing the domain and stores the infor-
HEXPRESS
7-29
c1 = new_polyline("c1")
c1.insert_point( 1, Point(b.xmin,b.ymin,Z) )
# inserts point
c1.insert_point( 2, Point(b.xmin,b.ymax,Z) )
c2 = new_cspline("c2")
c2.insert_point( 1, Point(b.xmax,b.ymin,Z) )
c2.insert_point( 2, Point(b.xmax,b.ymax,Z) )
lofted_surface([c1,c2],"ISurface_Z=" + str(Z))
points previously inserted
z = ZConstantDialogue()
7-30
HEXPRESS
APPENDIX A:
File Format
A-2
The format is specified as both in Ascii (printable character) format as well as in binary format.
HEXPRESS
A-1
File Format
The last line should be the keyword "endsolid". The lines between the above contain descriptions of
3 vertex facets including their normal. Note that the ordering of the vertices is very important since
it gives the orientation of the facet and should comply with the right hand rule.
The facet normals may remain unspecified and set by default to 0. 0. 0. and will generally be generated by the parsing software/system. The main restriction placed upon the facets in STL files is that
all adjacent facets have to share two common vertices.
It should be read simultaneously with the ".stl" file. The nth triangle in the ".stl" file is associated with the nth attribute in the ".prop" file. The number of attributes stored in the ".prop" file
is equal to the number of triangles in the ".stl" file.
An attribute is an integer value which corresponds to the ID of a topology face. For n topological faces, the attributes range from 0 to n-1.
Each group of triangles must be related.
The file format is the following:
ng
attribute0
:
:
attributen-1
where ng is the number of topology faces
n is the number of triangles in the .stl file to which the .prop file is
associated.
A-2
HEXPRESS
File Format
The topology describes the skeleton of the model. Basically, it allows the definition of a
closed volume and provides information on the connection of the model surfaces (topological faces) with common curves (topological edges). Similarly, it connects curves together
by common corners (topological vertices).
The geometry part defines the actual geometry of the model. Each model surface is
described by a triangulation; each curve by a list of points connected by segments and the
corners are defined by a single point.
FIGURE A.4.0-1
File header
Domain file is an ASCII file. It starts from a 3 line header as follows
Second line contains the domain file format version has the form
Version version
where version is the .dom format version written as a fixed point number. Example: Version 2.3
HEXPRESS
A-3
File Format
NUMBER_OF_BLOCKS N ,
where N is the number of blocks.
The file header is followed by N sections, each section defines a domain for one block.
Single block domain section
The first line of the block's domain description defines the name of the block
The next line contains the orientation check flag. If it is 1, the domain will be checked for correct orientation of triangulation during loading. The flag is set to 0 when the project is saved.
The next line contains 8 triangulation parameters which were used for creating the domain
from the corresponding Parasolid model. These parameters are
y z
seed_point_2
y z
...
y z
topo_vertex_2
y z
...
A-4
HEXPRESS
File Format
The next part of the file specifies the topology of the model. The number of topological edges
is specified on the next line, it corresponds to the number of curves
For each topological edge, the IDs of the topological vertices used as extremities are given.
For a cyclic topological edge, these IDs are (-1, -1). The type of the curve is specified, 1 for a
convex edge, 2 for a concave edge. In addition, the curve ID defining the topological edge is
given, it usually equals to the topological edge ID
topo_edge_ID_1 O_topo_vtx_ID D_topo_vtx_ID type curve_ID
topo_edge_ID_2 O_topo_vtx_ID D_topo_vtx_ID type curve_ID
topo_edge_ID_3 O_topo_vtx_ID D_topo_vtx_ID type curve_ID
...
HEXPRESS
A-5
File Format
A-6
HEXPRESS
Index
INDEX
Numerics
2D 6-4
3D viewing 2-97
A
action 6-2
active 6-22
adaptation 1-3, 3-4
box 6-28
curve 6-17
surface 6-18
anisotropic extent 6-27
ANSYS 2-11
aspect ratio 2-47, 6-26
auto button 6-8
axis 2-96
axi-symmetric 2-54, 6-5
B
background 2-94
batch mode 3-8
boundary conditions 2-33, 6-7
type 2-37
bounding box 4-1, 4-5, 6-8
box adaptation 6-28
buffer insertion 6-35, 6-37
C
CAD manipulation 1-1, 2-77
CAD model 4-4
cancel 6-4
capture
corner 6-35
curve 6-35
Cartesian point 2-26, 2-30, 2-31, 2-78
CATIA import 1-2, 2-10
CATIA V5 4-3
CEDRE 2-18
CEDRE (short names) 2-18
cell view 2-58
CGNS 2-11, 2-16
check 4-19
chunksize 2-20
clear cache 2-18
concave cells 2-47, 2-48, 2-49, 6-42
control points
adding new 2-24
HEXPRESS
deleting 2-24
hide 2-30
modifying 2-24
convention 1-5
convert
domain --> STL 2-60
StarCD --> STL 2-60
coordinate axis 2-96
corner capture 6-35
correction manual 2-51
create
box 4-5
curve 2-78
surface 2-78
create domain
Parasolid 4-15
curvature 6-24
curvature ref factor 6-26
curve
capture 6-35
create 2-78
delete 2-31
display curve 2-28
hide 2-30
modify
add control point 2-24
discretization 2-25
divide 2-25
modify control point 2-24
remove control point 2-24
reverse orientation 2-25
orientation 2-25, 2-30
select 2-26
show curve orientation 2-30
curve adaptation 6-17
curve snapping 6-36
cut-away 2-99
cutting plane 2-98, 2-100
cylindrical
sector 6-29
D
delete 4-14
curve 2-31
surface 2-31
Index
INDEX
delete text 2-59
diffusion 6-14
diffusion depth 6-28
discretization 2-25, 2-26, 4-17
display
curve 2-28
point 2-28
surface 2-29
distance 6-15, 6-23
domain
convert STL 2-60
definition 3-2, 5-1
import 2-8
manipulation 2-86, 5-2
validity 2-86, 5-2, 5-11
domhydro 2-67
driver 1-6
E
edge
merge 2-86, 5-2, 5-3
split 2-86, 5-2, 5-3
edit
mirror 2-23
rotate 2-23
scale 2-23
translate 2-22
export 1-2, 2-11, 4-27
Fluent 2-13
Samcef-Bacon 2-15, 2-16
StarCD 2-11
F
face
merge 2-86, 5-2, 5-5
merge list 5-7
select 2-35, 2-89, 5-8, 6-20
split 2-86, 5-2, 5-4
face displacement 2-58
face viewer 2-87
faceting 4-16
features 1-1
file management 1-4
files 1-4
filter 2-36
ii
HEXPRESS
Index
INDEX
interface 2-1
internal surface 2-22, 2-74
intersect 4-13
invert 2-36, 2-90, 5-8, 6-21
J
Jacobian 6-42
K
keyboard input area 2-95
L
layer 6-52
license 1-7
light bulb 1-5
M
manual correction 2-51
material 2-91
menu bar 2-3
merge 2-86, 4-3, 5-2
edge 5-3
face 5-5
face list 5-7
mesh
adapt 1-3
files 1-4
initial 1-3
optimize 1-4
snap 1-4
viscous layers 1-4
mesh generation 3-4
mesh wizard 6-2
meshing fundamentals 3-1
message area 2-95
mirror 2-23, 2-33, 2-76
geometry 4-25
modify
curve 2-23
mouse coordinates area 2-95
MSW driver 1-6
multi-domain 3-7
multigrid Level 2-57
N
NASTRAN 2-17
negative cells 2-46
new project 2-4
NURBS 4-3
HEXPRESS
O
open
existing project 2-4
new project 2-4
OpenFOAM 2-17
OPENGL driver 1-6
optimization 1-4, 3-6, 6-42
orientation 4-12
of curve 2-25, 2-30
original view 2-98
orthogonality 2-47
overview 2-1
P
pair of scissors 1-5
Parasolid 1-1
Parasolid import 2-9
patch
filter 2-36
visualization 2-34
periodicity 2-31
perspective 2-59
picking 4-11, 6-20, 6-51
plugins 2-61
marine 2-62
PNG 2-19
point
display point 2-28
preferences 2-19
print as PNG 2-19
Project 2-13
project
management 1-4
new 2-4
preferences 2-19
print 2-19
quit 2-3, 2-22
save 2-6
save as 2-7
project menu 2-3, 2-4
projection 6-35
projection distance 2-41
python 7-1
Q
quality 2-45, 2-75
iii
Index
INDEX
quick access pad 2-77
quit 2-3
quit project 2-22
R
refinement 3-4, 6-12
rendering 2-94
repetition 2-33, 2-60
reverse triangulation 2-42
rotate 2-23
geometry 4-25
rotation 2-52
rotor/stator 3-8
rotor/stator connection 2-43
S
Samcef-Bacon export 2-15, 2-16
save project 2-6
save project as 2-7
scale 2-23
script 2-18, 7-1
scrolling 2-97
sector 6-29
select
curve 2-26
face 2-35, 2-89, 5-8, 6-20
surface 2-27
selection 4-18
settings 2-86, 5-2, 5-12
sew 4-20
shading 2-99
shortcuts 2-102
shrink factor 2-58, 2-99
smoothing 6-36
snap surface 6-34
snapping 1-4, 3-6, 6-33
solid 4-19
split 2-86, 5-2
edge 5-3
face 5-4
StarCD 4-27
convert STL 2-60
StarCD export 2-11
start 1-1, 6-3
start interface 1-6
iv
step 6-3
STL import 2-10
STL model 4-20
stop 6-3
stretching ratio 6-47
structured 1-2, 2-5
substract 4-11
surface
create 2-78
delete 2-31
display surface 2-29
hide 2-30
modify
discretization 2-26
select 2-27
show lofting curves 2-30
surface adaptation 6-18
T
target cell size 6-25, 6-31
text
delete 2-59
insert 2-59
tolerance 2-44, 4-17
toolbar 2-76
topology 3-2, 5-1
transform
Parasolid 4-14
transformation 2-52
translate 2-22
geometry 4-25
translation 2-32, 2-53
transparency 2-99
triangulation 1-2, 4-2, 4-17, 4-19
reverse 2-42
trimming 3-5, 6-13, 6-32
twisted cells 6-42
U
undo 2-36, 2-86, 2-90, 5-2, 5-8, 5-11, 6-21
Parasolid 4-15
unite 4-11
unstructured 1-2
V
validity check 5-11
HEXPRESS
Index
INDEX
variable first layer thickness 6-49
vertex tolerance 2-44
view
cell 2-58
curve orientation 2-25, 2-30
original 2-98
perspective 2-59
repetition 2-60
subpanel 2-87
viewing buttons 2-96
viscous layers 1-4, 3-7, 6-45
visualization 4-18
volume 2-47
volumic 6-31
W
welcome 2-2
wireframe 4-19
X
X11 driver 1-6
X-projection 2-96
X-rotation 2-97
Y
Y-projection 2-96
Y-rotation 2-97
Z
zoom area 2-98
zoom in/out 2-97
Z-projection 2-96
Z-rotation 2-97
HEXPRESS